在autol中使用突发命令
你好我正在制作一个lisp例程,该例程插入一个块并打断该块插入的行。插入的块是一个泵示意图,其中包括阀门、过滤器和控制点(标签)。我使用BREAKDIM属性(不可见)设置插入块的换行符的宽度。(你们中的一些老Lisp程序的人会记得代码BBlock.lsp)
我想在从lisp例程中插入块后将其打断。如果我使用代码
(C:突发)
它调用突发命令,但提示我:选择对象。
我想让它爆裂刚刚插入的块(entlast),或者让我输入块名。
另一种选择是使用(命令“.u explode”“L”“”)函数,然后删除属性Def-“BREAKDIM”。为此,我需要一些代码来找到带有标记“BREAKDIM”的属性def(不再在块中,因为它刚刚被分解),然后使用“command”erase“函数将其删除。
如果有人能帮忙,我们将不胜感激。
Mbuk公司 欢迎来到CADMBUK!我相信你会喜欢这里的
首先,你看到这个了吗?可能会做你想做的事。
由于您似乎想要删除不可见属性,您可能也想看到这一点。
祝你好运
李
谢谢李。
我要到下周六才有机会再做这件事。我会尽量在这周办理入住手续。我肯定想试试你的Lisp程序程序。它看起来真的令人印象深刻。非常感谢。这似乎是一个非常专业的网站。
关于删除不可见属性,你是对的。分解的唯一原因是允许在不反转属性文本的情况下镜像块。
我附上了我想插入的两个方块。(每个图形中有多个块。)我想你应该试着把它们和你的日常生活联系起来。
这就是问题所在。我只想提示用户输入a51-59B(P-XX)属性,其他属性应该能够在块分解后进行编辑,但称为BAS-HHA的块通常只由少数高级人员编辑。此外,我希望用户能够在需要时镜像泵和阀门,但这只是因为属性文本在镜像时不响应“mirrtext”setvar,否则我可以对整个过程进行镜像。所以我选择只插入未爆炸的块,然后让用户使用突发和镜像所有对象本身。这两个块的原因是这些块中的一些块需要两种颜色。如果用户希望示意图存在,则X。。。块将被插入,否则C。。块将被插入。新的和现有的颜色和线宽不一样。
我知道如何使用和修改我们拥有的大多数简单lisp例程。所附图纸是示意图的一部分,我将让用户从autoCAD菜单的传统部分的图像平铺中插入。也许更现代的方法是使用对话框编程,但我在这些方面没有太多经验,似乎找不到像样的书来学习。
只有在AutoCAD版本迁移期间修改菜单时,我才有机会处理这些问题。我们目前正在从2009年升级到2011年,所以我在有时间的时候尽可能多地添加,但我忘记了一些lisp编程。非常感谢你的帮助。
我已经看过你的网站了。你是一个了不起的程序员!我们公司已经开始在一些项目中使用Revit。您能够在Revit中编程吗?
再次感谢您的回复,
标记(Mbuk)
C泵-AFD。图纸
XC-PUMP-AFD。图纸 test_块。图纸
谢谢李,
有几个问题。我将如何修改“I第一个”。lsp“允许我从autolisp中输入(传递)块名?我熟悉autolisp,但不熟悉visual lisp。(我想从工具栏按钮传递块名。)我正在从菜单工具栏按钮插入这些块和图像平铺菜单。我用来插入块的命令代码是:
^C^C^P(C:hhasysSCH)(setq H_Blk“A22-26”)(BBLOCKSCH 1);\A22-26;(C:NRbblkins SCH)(普林斯)
hhasysSCH-检查块是否要插入到新层或现有层上,并检查是否已设置比例。
BBLOCKSCH-用于检查块(A22-26)是否将breakdim作为其第一个实体,并在通过NRbblkins SCH函数插入后断开线(NR代表未旋转-SCH代表示意图。您可能会认识1987年的BBLOCK函数)
我试过你的自动突破障碍程序。只要块边界框宽度与要修剪的宽度匹配,它就可以正常工作。(使用test_block-1b中的附加块-1a尝试您的例程。dwg中也有使用breakdim插入的相同块)。
我想使用autobreak块的修改版本,将一个块插入双线管道中,并使其打断穿过块边界区域的所有线。(另见测试块图纸中的2a和2b。)如果可以对其进行修改,使其可以通过类似于上述的命令行传递,我们将不胜感激。
你的网站太棒了。你是一个很好的程序员。
非常感谢你的帮助。(我只在周末做CAD工作-因此可能需要一些时间才能回复-请耐心等待)
谢谢
标记(Mbuk)
如果只提供了块名,LISP如何知道分解哪个块?该函数需要一个对象-无需修改,您可以通过隐含的选择集提供该对象,例如,分解最后创建的实体:
(sssetfirst nil (ssadd (entlast))) (c:iBurst)
我不会尝试你的附加块,因为这是一个由程序用于确定断点的算法引起的明显限制-这在我的网站上的程序描述中有说明。
我目前不打算修改这个程序。
当做
李
页:
[1]