flowerrobot 发表于 2022-7-6 11:36:17

 
伙计,你怎么找到我的名字的?,我曾经发过一次是一些代码。

SteveK 发表于 2022-7-6 11:38:15

呵呵,你的懒人的系统变量线程在沼泽。抱歉,如果这是一个秘密,它也在你的电子邮件地址中

flowerrobot 发表于 2022-7-6 11:40:02

啊,鬼鬼祟祟的鬼鬼祟祟的,不,伙计,这不是一个秘密,只是标记了我,因为我认识的一些人甚至不知道我的真名。。必须说你很细心

cadiehl 发表于 2022-7-6 11:43:57

是否有任何方法可以修改此代码,以简单地创建新图形,并使我在主图形中选择的插入点在新文件中变为0,0,0?我不想在主文件中创建任何内容,没有块,什么都不想。现在它实际上是删除我在主文件中选择的内容,而不是保留它。如果我能让它正常工作,这是一个很棒的工具。这可以节省大量时间。
 
提前感谢!
光盘

SteveK 发表于 2022-7-6 11:49:05

 
对不起,我不太清楚你在找什么。在主图形中拾取的插入点在新文件中已为0,0。
如果不想将新创建的块放回主文件中,则可以删除一行(如下所示):
7

cadiehl 发表于 2022-7-6 11:50:21

谢谢史蒂夫。。。。这样做会在主cad文件中保留选择集吗?现在它消失了。。。。就像我在“wblock”对话框中选择“从图形中删除”。

cadiehl 发表于 2022-7-6 11:55:58

史蒂夫,这是我正在使用的代码。。。它工作得很好,除了我在主cad文件中选择的选择集在每个新cad文件创建后消失。
 
(默认c:qwblock(/DIR ENTXT SS TXT PT)
(setq Dir(getvar“DWGPREFIX”))
(while(和(vl-file-directory-p Dir))
(setq enTxt(car(entsel“\n选择块名称文本:”))
(等式(cdr(assoc 0(entget enTxt)))“TEXT”)
(setq txt(cdr(assoc 1(entget enTxt)))
(非(findfile(setq txt(strcat Dir txt)))
(setq pt(getpoint“\n点击插入点:”)
(setq ss(ssget))
 
(vl cmdf“ucs”“o”pt);将0,0,0移动到新点)
(vl cmdf“-wblock”txt“pt ss”)
)
)
(普林斯)
)

SteveK 发表于 2022-7-6 11:58:59

你好
 
这段代码所做的一切就是获取一些用户输入,然后运行wblock命令,该命令将实体制作成块后删除(因此选择集被删除)。我高亮显示要删除的前一行,然后将该块插入到主模型中-我以为您不希望这样。也许您希望将实体保留在主文件中,但不是作为块,在这种情况下,我只能考虑再次插入块,然后分解它。不确定你还能尝试什么。。
 
史提夫

cadiehl 发表于 2022-7-6 12:02:37

Steve,下面是我想要的代码。
 
(默认c:qw(/DIR ENTXT SS TXT PT TXT0 oldos)
(setq oldos(getvar“osmode”))
(setq Dir(getvar“DWGPREFIX”))
(命令“_undo”“be”)
(vl cmdf“ucs”“w”“))
(while(和(vl-file-directory-p Dir))
(setq enTxt(car(entsel“\n选择块名称文本:”))
(等式(cdr(assoc 0(entget enTxt)))“TEXT”)
(setq txt0(cdr(assoc 1(entget enTxt)))
(非(findfile(setq txt(strcat Dir txt0)))
(setq pt(getpoint“\n点击插入点:”)
(setq ss(ssget))
)
(程序
(vl cmdf“ucs”“o”pt);将0,0,0移动到新点)
(vl cmdf“-wblock”txt“pt ss”)
(setvar“osmode”0)
(vl cmdf“_-insert”(strcat TXT0”=“txt)”比例““pt”)
(vl cmdf“ucs”“w”)
(setvar“osmode”oldos)
)
)
(命令“_undo”“end”)
(普林斯)
)
页: 1 [2]
查看完整版本: 需要重复Wblo的帮助