编辑属性和视口
早上/下午/晚上好。我已经成为这里的会员几年了,但已经有一段时间不在这个行业了(也忘记了用户名),所以我把自己设置为一个新会员。
在过去的几个月里,我最近再次开始使用AutoCAD,我正在寻找一位对我刚刚学习的项目有更多了解的人。我需要改变2000(给予或采取一些)图纸到一个新的图纸集。属性几乎相同(从新图纸集中一起删除了一对属性)。是否有lisp允许我将属性从一个图纸集复制到新的?。
该公司还制定了一些标准,目前正在模型/图纸领域开展工作。原始图纸(包括图纸)在模型空间中绘制。
我现在已经准备好了图纸集,可以开始了,但是有没有办法让这个过程自动化?
主图纸模型中有两个视口。一个比例为1:1,另一个比例为5:1。我在一家塑料公司工作,所以个人资料通常很小。
如果有人能帮我解决这个问题,我会非常感激。我期待着您的回复(祈祷)
干杯
李
(附:如果我解释得不够清楚,请告诉我——我最大的问题是没有正确解释) 有很多方法可以自动化重复的过程,有很多人经常参加这个论坛,他们对此非常精通。不管你在找什么,我相信你会在这里找到的。
我自己没有使用过图纸集,但有一个关于它们的帮助文件。也许你的答案就在那里?
如果没有,也许你可以解释一下你接受一份旧的工作的过程。dwg并将其更新为新标准。AutoCAD中的大多数命令都可以自动执行,如果只需运行一系列复杂的简单命令来确定一个模式,然后整合并运行该模式,这将稍微耗时,但最终值得一试。我们需要的只是一个命令列表,以及为什么调用它们、修改什么类型的对象等等的推理。 谢谢你的回复。
好的,我要做的第一个任务是从一张图纸中提取属性,并将其转移到新的图纸中。这些是,图纸的发起者,日期,修订等。我认为总共有10个。
第二个任务是在模型空间中创建轮廓。这些已在旧图纸中创建,但未标注1:1的尺寸。只有缩放版本。(根据轮廓的大小,每个图形有1:1和5:1或10:1)。
我已经用视口设置了新的图纸空间布局,我想知道是否可以采用缩放的轮廓(带有尺寸),并以1:1的比例传输到新图纸。
客户需要1:1模型(尺寸)。图纸空间视口将负责缩放。我会上传一张旧的表格和新的提案,这可能会让它更清楚一点。
如果有人能给我一个关于如何上传DWG的线索??
干杯 展示。。这很棘手。。
将数据从一个文件传输到下一个文件可能需要一个中间文件。有很多方法可以做到这一点,我脑海中浮现的第一个方法是创建一个提取数据并写入文件的LISP,然后是一个单独的LISP或脚本,从该文件读取并输入数据。我知道有LISP可以读取块属性数据(一个真正的概要),然后可以将其导出到所述文件中,本论坛最近的一个主题讨论了创建脚本,然后将数据放回其所属位置。脚本文件是使用创建的。bat文件,但同样的事情可以直接在收集数据的LISP中完成。
第二个问题很棘手。它似乎需要复制1:1的配置文件(我假设这是在模型空间中?)并将其粘贴到新图形中。我肯定这是可以做到的,但尺寸标注可能很棘手。如果所有轮廓都以特定的方式设置,则可能只需从10:1的轮廓复制尺寸并将其缩小,这也可能是自动完成的。
附加一些示例将非常有用,我相信可以从中编写一些代码。回复帖子时,在论坛帖子窗口的顶部,一张笑脸旁边有一个回形针。你应该能够通过它连接。 好的,我已经开始研究其中的一些,我马上就看到了可能阻碍我的事情。
旧格式图纸的尺寸标注在“尺寸”层上。
新型图纸的尺寸标注在“dim”层上。
由于新格式具有正确的线宽和笔设置,因此旧样式表需要对应。
在一些早期的DRG上,一些尺寸被分解,尺寸线被打断。
这里有几个例子。。。。旧风格和新风格。
为迄今为止的建议干杯。
哦,我不得不清除新的图纸,这样所有预设的线型和块都会丢失。但校长仍然在那里。在完成这个测试drg后,我意识到仍然需要大量的手动工作来配置视口和DIM。我看不出有什么办法。
A450-C.dwg
新建Dwg图纸。图纸 你好
为了从外部图形中检索数据(不使用bat或脚本),我给出了两个lisp作为示例。
这里和这里
@+ 谢谢你的回答,帕特里克,我的法语不太好,所以我可能需要一些翻译,我的lsp知识也很少。我会看看我能用这些做些什么。非常感谢。
李 我的英语也很差。
目标不是翻译lisp,而是理解如何使用objectdbx响应您的请求
你们两个例子。
@+ 吴,很抱歉耽搁了,我的同事和我正在使用Excel LISP以及。。嗯,实际工作
我不能创造一个神奇的“为你做一切”Lisp程序,但我确实解决了一些事情,应该节省一些时间。
; Coba utilities
; by Mark Mercier, 04-30-09
(defun c:cobaGet()
(getBlkAttsFile "C:\\ttlblk.txt")
(copyMSpace)
)
(defun c:cobaPut()
(giveBlkAtts)
(pasteMSpace)
)
(defun copyMSpace( / ss)
(if (setq ss (ssget "X" (list (cons 410 "Model") (cons 2 "IPCSHT")))) (command "erase" ss ""))
(if (setq ss (ssget "X" (list (cons 410 "Model") (cons 2 "DRGSHEET")))) (command "erase" ss ""))
(command "copyclip" (ssget "X" (list (cons 410 "Model"))) "")
(command "undo" 2)
(princ)
)
(defun pasteMSpace()
(setvar "tilemode" 1)
(command "pasteclip" (list 0 0 0))
)
(defun getBlkAttsFile(file / ent file)
(setq ent (car(entsel)))
(setq file (open file "W"))
(if (= (cdr (assoc 66 (entget ent))) 1)
(progn
(setq ent (entnext ent))
(while (/= (cdr (assoc 0 (entget ent))) "SEQEND")
(if ent (write-line (strcat (cdr (assoc 2 (entget ent))) "\n" (cdr (assoc 1 (entget ent)))) file))
(setq ent (entnext ent))
)
)
)
(close file)
(princ)
)
(defun giveBlkAtts( / )
(setq getFrm (open "C:\\ttlblk.txt" "R"))
(setq linChk 1)
(while linChk
(if (and (setq line1 (read-line getFrm))
(setq line2 (read-line getFrm))
)
(progn
(setq ssAtBk (ssget "X" (list (cons 66 1))))
(setq ssVar 0)
(repeat (sslength ssAtBk)
(setq getBkN (ssname ssAtBk ssVar))
(setq ent (entnext getBkN))
(while (/= (cdr (assoc 0 (entget ent))) "SEQEND")
(setq attLst (entget ent))
(if (= (cdr (assoc 2 attLst)) line1)
(progn
(princ line2)
(setq attLst (subst (cons 1 line2) (assoc 1 attLst) attLst))
(entmod attLst)
(entupd ent)
)
)
(setq ent (entnext ent))
)
(setq ssVar (1+ ssVar))
)
)
(setq linChk nil)
)
)
(close getFrm)
(princ)
)
我假设你有很多文件和一个模板,或者至少有其他一些新文件,可以将旧文件中的所有数据放入其中。
保存并加载我刚刚发布的代码后,打开旧文件,运行“COBAGET”。这将把一些东西复制到你的剪贴板,并在你的“C:\”目录中创建一个文本文件。
打开新文件,将所有内容放在其中,然后运行“COBAPUT”。这应该会将一堆东西粘贴到你的模型空间中,并更新标题栏中的许多信息。我不确定它是否能得到所有东西,甚至它是否能正常工作,因为我不在你们的终端和所有的爵士乐。但是,希望Lisp程序的魔力能够显现出来。
让我知道它是否有效,或者它是否节省了一些时间^^
非常感谢您的回复,根据您的指示,我从lisp获得以下信息。(从命令窗口复制)。
cobaget;
选择对象:M.GOODWIN
五十、 格里斯利
2.5:1
2.5:1
DRG公司
A107号
描述
箭头切口详图
COBA公司
各种
毫米
毫米
K、 D.READ阅读
K、 D.阅读
材料
见A100
黑色/灰色
见A100
模具
; 错误:错误的参数类型:streamp nil
命令:
cobaput;
coba。lsp已成功加载。
命令:
命令:
命令:cobaput
; 错误:错误的参数类型:FILE nil
命令:
我可以在命令窗口中看到属性结果,这就是我要找的。
还需要尝试将实际尺寸配置文件放入新的Drgsheet模型空间。今天和他们坐下来后,我现在已经设置好了表单,因此所有纸张选项卡都有视口/笔层等。我甚至为轮廓设置了一个中心点,这意味着每张纸都有一个漂亮的中心轮廓。我再次清除了它,所以所有层都不正确。
我们之前考虑过是否可以打开目录a101-a、102-c等a456-f(所有随机修订)中的每个文件,然后创建一个新图形(从新的coba模板)并将其命名为a101-a*??
真的需要用lisps重新开始,只做了几个简单的,那是在90年代初
干杯
李
页:
[1]
2