guitarguy1685 发表于 2022-7-6 09:03:37

插入块,不插入

我正在创建一个lisp,以使用dimlinear绘制结构图的梁。我正在做的是创建一个自定义用户箭头,以在梁的末端创建一个间隙。对于力矩连接,我使用基准和填充基准。我也使用点的阻力连接和铰链结束框。然而,股票箭头并没有出现缺口。
 
起初,我打算为他们创建更多自定义的。当我尝试这样做时,我发现编辑具有快速属性的箭头并不容易。如果箭头已经是“Userd arrow”,我不能简单地再次选择并找到它。我必须先点击股票,然后返回“用户箭头”。所以我所做的是编辑股票,给我我想要的差距。这将使其感觉与Revit类似。
 
这就是Lisp程序的原因。我编写了一个lisp来在正确的图层上绘制梁,并跳过文本输入。我想要我的lisp做的是插入我编辑的“stock”箭头块,如果它们不存在的话。我不知道如何使用tblsearch来查找它们是否存在。
 
我想做的是插入我想要的5个块,而不是实际选取插入点,然后必须删除它们。我希望这有意义。下面是我想做的事情的图片。
 

BlackBox 发表于 2022-7-6 09:41:50

打开模板文件(.DWT),插入所有自定义箭头块,然后删除模型空间中显示的实例。。。确保保留块引用(即,不要清除块引用)。甚至可以设置默认标注样式。拯救
 
现在,每次从模板打开新图形时,自定义箭头都已可用。
 
希望这有帮助!

alanjt 发表于 2022-7-6 09:56:28

像RenderMan说的那样,我会将它们保存在模板中,但我也会将它们放在单独的DWG中,并在启动时将它们插入到图形中。这样,您可以安全地清除或打开未使用模板创建的图形,并且仍然具有所需的箭头块。
我将此方法用于dim/text/mleader样式。
 
这是我在我们的阿卡多克中保存的代码。LSP文件:
(command "_.insert" "CES-DIMSETUP=" nil)
(command "_.purge" "_b" "CES-DIMSETUP" "_n")
 
第一行仅插入块定义,这将引入DWG中现有的所有样式和块定义。第二行是可选的,但它只是清除插入的块定义,保留实际需要的所有内容。

guitarguy1685 发表于 2022-7-6 10:23:34

太棒了,谢谢你的帮助。(命令“…)线路很好用。显然,它不适用于(vl cmdf“_.insert”“block nill)。它一直给我一个错误。
 
我确实在模板中有它。我只是想在lisp中编写一个故障保护程序,以防在维护过程中清除这些块。Lisp程序看起来像这样。
 
页: [1]
查看完整版本: 插入块,不插入