如何获得某个区块
在发布这篇文章之前,我做了一些搜索,但我找不到可以解决我好奇心的东西。我想插入使用LISP在另一个文件中定义的块。
例如,我有一个DWG库(比如anno.DWG),它有几个注释符号。我想加载立面符号块并插入到活动文件中。其目的是保持动态块行为。因为如果我将每个块单独保存为一个文件,我将失去动态功能。
你们能指导我怎么做吗。我是Lisp程序的新手,所以请对我温柔一点
谢谢 设计中心(Ctrl+2)与工具选项板结合使用,(Ctrl+3)没有其他本机autocad功能可以提供对块的处理 我知道设计中心和工具选项板。
我只是希望我们能用LISP做到这一点。另一种方法是加载我的模板所需的所有块。但是如果我有很多积木,它会变得太大。。。或者我需要几个模板
我明白了,奥凯多基,你打算怎么做?您的问题:
1、知道从外部图纸中检索哪个块?(我们在这里谈论的是外部参照吗?)不知道特定块所在的文件。
(我想浏览一个文件夹)
2.存在局部块(仅存在于该特定文件上的块)和块(即DWG库)。。这些“符号块”是你图书馆的一部分吗?,请记住,这些是块从一个图形重新定义到另一个图形的实例。(这种情况经常发生,你会感到惊讶)
3、外部图纸当前是否打开?(你猜这就是为什么当你剪切粘贴时,它会失去其动态行为。)
可以通过ObjectDBX收集非活动或关闭图形上的信息(但如果块不是DWG库的一部分,则无法确定是否可以抓取块)(我指的是本地块)
捕获块名称并将其重新插入到活动图形中很容易,但重新创建它们将需要大量工作
只是列出你的选择,伙计,我仍然认为设计中心是一条路要走 您可能会喜欢这样:
http://lee-mac.com/copyblockfromdrawing.html 我“真正”想要的是能够将另一个DWG中的块重新定义为当前块。即使通过ObjectDBX,这似乎也不容易。
我不确定我是否明白你的意思-你说的“重新定义”另一个图形中的块是什么意思? 谢谢你,李。不错。我需要做类似的事情,但有作为我自己的程序的一部分的功能。我来检查一下程序。还有很长的路要走,因为我刚刚开始学习AutoLISP basic。
好我会成为一个猴子叔叔,有一种方法可以通过Lisp程序做到这一点
我收回了我说的一切。
它就像设计中心,“相同但不同”
很好,李 假设您有2个DWG文件。让我们称它们为A和B。每个块中都有一个名为X、Y和Z的块。您当前在ACad中有一个打开的。您希望更新A中X、Y和Z的块定义,以与B中的块定义相匹配。正如您可以通过DC一次更新一个块定义一样,只需右键单击-->重新定义即可。但是你想在一个步骤中对多个块执行此操作。
这是ACad从未拥有过的东西。这是一个类似BricsCAD的标准。E、 g.将DWG作为块插入时,ACad会检查该DWG的文件名是否与当前图形中已定义的块相同。如果是这样,它会问你是否想重新定义。但无论您对此的回答是什么,如果插入的图形包含与您已有的名称相同的嵌套块。。。您得到的只是一条消息:块的重复定义被忽略。
在BricsCAD中,您会收到一条额外的消息,询问您是否也要重新定义该/那些块:Yes/No/Yes to All/No to All。(不管你对可能的第一个问题的答案是什么)这就好像ACad只是假设你总是对所有的问题都回答“不”。
页:
[1]
2