gazzalp 发表于 2022-7-6 12:20:03

在AutoC中创建图纸列表

大家好,我在一家结构工程公司工作,我们的很多工作都有100多张图纸。通常我们会创建一个图纸登记簿,在Excel中显示我们所有的图纸及其修订版,但我们也希望在头版上有一个图纸列表,这样当人们收到我们的图纸时,他们不需要查看登记簿来找到每个图纸。过去,我们曾尝试将excel电子表格链接到Autocad,但效果并不理想。
 
我所希望的是一个宏/lisp,它将从特定文件夹中读取DWG名称,并在autocad中创建文本,以放置在我们的第一个图形上。例如,我们希望01号图纸上有图纸列表。我们的DWG文件的命名类似于以下内容:200902-A-Level 1 Plan。dwg(作业编号修订图纸名称。我希望有某种方式可以提取信息(减去作业编号)并将其输入到第一张图纸的文本中。或者它可以从标题栏中读取图纸名称和修订。显然,宏只能从该作业文件夹中读取。
 
还有其他人做过类似的事情吗?还是有更好的选择?正如我所说,iver尝试将excel电子表格导出到第一张图纸中,但我们在尺寸、裁剪等方面存在问题。
 
谢谢你的帮助

JohnM 发表于 2022-7-6 12:24:04

您没有插入excel,而是考虑将数据处理到AutoCAD。
打开excel工作表
突出显示数据
使用CTRL+C或“编辑副本”或任何用于复制到剪贴板的工具
在AutoCAD中,转到“编辑”菜单并选择“过去特殊”
在对话框中,从列表中选择AutoCAD图元
单击“确定”并将其停驻。
需要全部10秒。

gazzalp 发表于 2022-7-6 12:27:42

是的,这是真的,但比起任何时候我们发布图纸,我们必须这样做,我们每天都发布图纸。我想要的东西,我不必打开excel,我宁愿只发行autocad图纸,而不担心任何其他程序。然后,我还必须将任何新的绘图添加到excel中,这意味着将它们打印出来并添加修订;但是我确信有一种方法可以让电脑帮我做这件事。

Cadologist 发表于 2022-7-6 12:30:11

你考虑过使用“SheetSet”吗?使用图纸集选项可以轻松完成此操作,但进入该阶段将非常耗时,必须重新创建使用的标题栏(插入字段而不是属性),然后在处理项目时,将所有图形(可以在现有图形中链接)链接到图纸集。这样,您可以选择将“自动填充”图形列表(以及其中的一系列其他选项)创建为表格格式。此表可以通过右键单击并使用“自动更新数据链接”轻松更新。
 
在不太超前的情况下,您可能希望查看“Sheetset”。

alanjt 发表于 2022-7-6 12:34:14

我会花时间设置图纸集,但这应该可以让你开始。。。
 
(defun c:Dir2Text (/ #Pnt1 #Pnt2 #List #String)
(cond
   ((and (setq #Pnt1 (getpoint "\nSpecify first corner: "))
         (setq #Pnt2 (getcorner #Pnt1 "\nSpecify opposite corner: "))
    ) ;_ and
    (setq #List   (vl-sort (vl-remove-if-not
                           '(lambda (x) (wcmatch x "*.dwg"))
                           (vl-directory-files (getvar 'dwgprefix))
                           ) ;_ vl-remove-if-not
                           '<
                  ) ;_ vl-sort
          #String ""
    ) ;_ setq
    (foreach x #List (setq #String (strcat #String (vl-filename-base x) "\\P")))
    (AT:MText #Pnt1 #String (abs (- (car #Pnt1) (car #Pnt2))) nil 1)
   )
) ;_ cond
(princ)
) ;_ defun

 
您将需要此子例程来创建文本:http://www.cadtutor.net/forum/showpost.php?p=278945&postcount=40

MarcoW 发表于 2022-7-6 12:36:15

@加扎尔普:
我完全明白你的意思!我到处寻求帮助,但并没有真正得到答案。所以我想试试我自己的。
 
首先是图纸集:它的工作方式与您和我想要的不同。我们需要一张rgister表,从标题栏中收集所有信息。
 
示例(只是一个简单的想法):
编号描述。日期大小
01-04一楼01-10-2009 ISOA1
02-04二楼01-10-2009 ISOA1
03-04三楼01-10-2009 ISOA1
04-04 4楼01-10-2009 ISOA1
 
每当修改其中一个标题栏时,应在寄存器中进行更改。
 
这就是你的意思,我说的对吗?
 
我的猜测是,这可以通过Autocad中的“eattext”命令来完成。在我的情况下它已经起作用了,只是有些问题我无法解决。(排序表等)
 
现在,我不能给你一个真正的解决方案,但你应该尝试使用这个命令。请随时问我,因为我只是需要你来解决这个问题。
 
也可以用关键词“eattext”或“drawinglist”搜索论坛。
听着,我一直在努力
http://www.cadtutor.net/forum/showthread.php?t=37813&highlight=eattext&page=3

gazzalp 发表于 2022-7-6 12:41:48

球童学家-我研究过其他东西的床单套装,我不能说我是他们的粉丝。他们需要花很多时间来适应,然后我又找了20个人来教,所以我认为这不是最好的解决方案。不过谢谢你。
 
Alanjt-这个lisp到底做什么?我该如何合并它?
 
马可-你是对的,这就是我想要的,但它不一定要从标题栏中阅读。我们的图纸名称还包括图纸编号、标题和版本,因此如果可能,可以从图纸名称中读取。我很快就会使用eattext命令,谢谢

gazzalp 发表于 2022-7-6 12:44:26

马可,我玩过eattext,效果很好。我发现了几个你可能知道如何克服的问题:
 
我从标题栏中提取,我们的图纸名称超过两行。因此,属性为“图纸标题线1”和“图纸标题线2”。提取此信息时,autocad将其放入表格中,但带有行“绘图标题行1”和“绘图标题行2”,而我更喜欢在表格中仅称为“绘图标题”,两个标题都位于该行下。关于如何解决这个问题有什么想法吗?
 
2.到目前为止,我唯一的另一个问题是,例如,我这样做是为了一份工作,然后再添加一张图纸。而不是再次执行此命令,或手动键入新图形,有方法更新吗?也就是说,只需将一张图纸按顺序添加到此表中?如果我第一次选择要从中提取的图形时,可以选择整个作业目录,那就太好了。这样以后,当我选择表格并“刷新”时,它会添加我添加的任何其他图形,因为它知道从目录中更新。

MarcoW 发表于 2022-7-6 12:45:56

我会尽量在今晚或者明天发布反应。(现在没有时间这么做……)
 
有一个问题,你来自(国家)哪里?

alanjt 发表于 2022-7-6 12:50:36

你真的试过吗?
页: [1] 2
查看完整版本: 在AutoC中创建图纸列表