woodman78 发表于 2022-7-6 10:24:48

李,你能看看这个吗。我有点不知所措,不知该怎么办。
 
我不知道如何用字符串收集所选选项,以及如何用它们加载insert命令。。。
 
6

Lee Mac 发表于 2022-7-6 10:28:32

伍德曼,
 
我还没有看到你的DCL文件,你的帖子中有很多代码看起来像是无意中从Buzzard的一个例程中复制出来的——其中有很多是不必要的。
 
在您的帖子中,正在使用变量“SIZE”插入一个块,该变量在COND语句中没有正确定义。
 
不过,我已经编写了一些可能会有所帮助的代码,
 
(defun c:test(/*error*DCHANDLE INPT OV PT RTN S1\u LIST VL)(defun*error*(msg)(and DCHANDLE(unload\u dialog DCHANDLE))(and OV(mapcar'setvar VL OV))(或(wcmatch(strcase msg)“*BREAK,*CANCEL*,*EXIT*”(princ(strcat“**”error:“msg“**”))(princ))(setq S1\u LIST’(“***一般说明***”“与…相关的所有坐标”“所有尺寸单位均为m…”“所有级别到Malin Head…”“要传达的任何疑问…”“不可缩放的尺寸…”“有关此计划的信息…”“现有河流改道……”“-------------------------------”“***行人注释***”“受控ped十字路口…”“泡罩方向…”“下降路缘的最大投影…”“不受控制的ped穿越…”“-------------------------------”“***水管注释***”“所有用于室内的砌块砌体…”“室内使用的所有砂浆……”“所有闸阀应为右侧关闭……”“闸阀的腔室尺寸……”“楼板深度至少为200mm…”“-------------------------------”“***钢筋混凝土注释***”“所有混凝土均为35A级…”“所有钢材都要经过检查和批准……”“所有钢材应为2型变形460…”“切割和弯曲BS8666…”“EF-地球面,FF-远面…”“钢的最小保护层为50mm…”“最小搭接长度为38倍钢筋直径……”)(setq vl’(“CMDECHO”“CLAYER”“OSMODE”)ov(mapcar‘getvar vl))(cond((

woodman78 发表于 2022-7-6 10:30:28

好的,李,麦克。我会努力的。我在大学时很早以前就知道basic,但我真的很难理解Lisp。我买了一些关于它的书,并试着研究它,但我真的很努力。因此,即使最终代码有点粗,也更容易获取并修改有效的代码。无论如何,我会努力的。
 
lisp中的insert命令引发了一个错误。这就像(nth(atoi*def*)S1\u列表)导致例程在到达1 1 0之前结束

Lee Mac 发表于 2022-7-6 10:34:21

我建议您将代码逐行分解,并确保您了解每一行正在做什么以及它为什么存在——例如,如果删除这一行,会对代码产生什么影响。
 
至于insert命令的错误——我不确定您在返回对话框时想做什么——所以我猜是这样的。

Lee Mac 发表于 2022-7-6 10:37:31

顺便问一下,你在出租车上试过这个吗?
http://www.theswamp.org/index.php?topic=1392.0

woodman78 发表于 2022-7-6 10:41:05

李·麦克,
 
我用insert命令解决了这个问题,现在可以了。但它仍然只插入了一个块??
 
(defun c:insertnotes(/*error*DCHANDLE INPT OV PT RTN S1\u LIST VL Note)(defun*error*(msg)(and DCHANDLE(unload\u dialog DCHANDLE))(and OV(mapcar'setvar VL OV))(或(wcmatch(strcase msg)“*BREAK,*CANCEL*,*EXIT*”(princ(strcat“\n**error:”msg“**”))(princ))(setq S1\u LIST’(“***一般注释***”“与…相关的所有坐标”“所有尺寸单位均为m…”“所有级别到Malin Head…”“任何要传达给CCC NNRDO的疑问…”“不可缩放的尺寸…”“有关此计划的信息…”“现有河流改道……”“-------------------------------”“***行人注释***”“受控ped十字路口…”“泡罩方向…”“下降路缘的最大投影…”“不受控制的ped穿越…”“-------------------------------”“***水管注释***”“所有用于室内的砌块砌体…”“室内使用的所有砂浆……”“所有闸阀应为右侧关闭……”“闸阀的腔室尺寸……”“楼板深度至少为200mm…”“-------------------------------”“***钢筋混凝土注释***”“所有混凝土均为35A级…”“所有钢材都要经过检查和批准……”“所有钢材应为2型变形460…”“切割和弯曲BS8666…”“EF-地球面,FF-远面…”“钢的最小保护层为50mm…”“最小搭接长度为38倍钢筋直径……”)(setq vl’(“CMDECHO”“CLAYER”“OSMODE”)ov(mapcar‘getvar vl))(cond((

Lee Mac 发表于 2022-7-6 10:45:12

 
伍德曼,
 
您使用的是popup\u列表(就像在第一篇帖子中一样)还是list\u框?使用popup_列表,您只能选择一个选项。

woodman78 发表于 2022-7-6 10:48:00

我正在使用列表框。我连接dcl。
插入注释。dcl

Lee Mac 发表于 2022-7-6 10:51:38

试试这个:
 
(defun c:test(/*error*DCHANDLE INPT OV PT RTN S1\u LIST VL)(defun*error*(msg)(and DCHANDLE(unload\u dialog DCHANDLE))(and OV(mapcar'setvar VL OV))(或(wcmatch(strcase msg)“*BREAK,*CANCEL*,*EXIT*”(princ(strcat“**”error:“msg“**”))(princ))(setq S1\u LIST’(“***一般说明***”“与…相关的所有坐标”“所有尺寸单位均为m…”“所有级别到Malin Head…”“要传达的任何疑问…”“不可缩放的尺寸…”“有关此计划的信息…”“现有河流改道……”“-------------------------------”“***行人注释***”“受控ped十字路口…”“泡罩方向…”“下降路缘的最大投影…”“不受控制的ped穿越…”“-------------------------------”“***水管注释***”“所有用于室内的砌块砌体…”“室内使用的所有砂浆……”“所有闸阀应为右侧关闭……”“闸阀的腔室尺寸……”“楼板深度至少为200mm…”“-------------------------------”“***钢筋混凝土注释***”“所有混凝土均为35A级…”“所有钢材都要经过检查和批准……”“所有钢材应为2型变形460…”“切割和弯曲BS8666…”“EF-地球面,FF-远面…”“钢的最小保护层为50mm…”“最小搭接长度为38倍钢筋直径……”)(setq vl’(“CMDECHO”“CLAYER”“OSMODE”)ov(mapcar‘getvar vl))(cond((

Guest natsha61 发表于 2022-7-6 10:52:41

 
可以在此处创建相同的勾选框。因为相同的方法用于清单选项。。。。保存dwg后,是否可以保存chklist tic box
页: 1 [2]
查看完整版本: 从下拉列表中多选li