基于块插入例程
大家好,首先,我是一个非常基本的lisp用户。我可以写非常简单的lisp(可能写得不太好,但很管用!)每天都是无聊的任务。
我试着写一个lisp,根据文件名的一部分插入一个块。
我将用以下方式命名一个块。
零件号1-2。图纸
当用户想要插入块时,可能有任何一个零件号。因此,只能输入1个零件号。
我需要使用lisp通配符块名。
我在“wcmatch”上搞得一团糟,但我真的没法想清楚,嘿,我说过我是一个基本用户!!
无论如何。经过数天、数小时的试错和网络搜索,我找到了一个代码,它几乎满足了我的需要。
唯一的问题是在插入块后,用户需要设置缩放和旋转。我花了很长时间试图找出“”将去哪里,以消除用户必须这样做,但就我而言,我无法让它工作。
此外,我还提供了一个线索,如果我想分解块,我会在哪里添加“*”。
提前感谢你们的帮助。
这是密码。
(defun c:test(/file dir files itm n fil qt)(setq file(getstring“\n输入要插入的部分块名:”)(if(and(setq dir“c:\\test\\test\\Blocks\”);;更改搜索路径(setq文件(vl目录文件dir(strcat“*”file“*.dwg”)1))(progn(cond((=(length files)1)(命令“_.insert”(strcat(car files)))(while(>(getvar'cmdactive)0)(命令暂停))(>(length files)1)(setq itm 0)(textcr)(foreach n files(print(strcat”“(rtos itm 2 0)”“file” 这个代码我很熟悉。
也许是这样的:
(defun c:test(/file dir files itm n fil qt)(setq file(getstring“\n输入要插入的部分块名:”)(if(and(setq dir“c:\\test\\test\\Blocks\”);;更改搜索路径(setq files(vl directory files dir(strcat“*”file“*.dwg”)1))(progn(cond((=(length files)1)(命令“_.insert”(strcat“*”dir(car files))pause“”)(>(length files)1)(setq itm 0)(textcr)(foreach n files(print(strcat”“(rtos itm 2 0)”“file” 非常好,谢谢。
我想这可能是你的代码在第一位看到你的用户名铃声!
再次感谢&很抱歉回复太晚,我们暂时休息了一下&只需阅读、应用和测试代码。
现在有另一个问题,但在另一个我一直在写的代码,所以期待一个新的步伐!! 不客气。
很高兴我能帮忙。
亨里克
页:
[1]