DD21988 发表于 2022-7-5 19:45:13

缩放Lisp例程错误

第一次贴海报,如果我在这里出错,我提前道歉。如果我需要添加更多信息,请让我也知道。我试图学习AutoLISP,我被困在这个Lisp例程中,我试图编写:
 
 
;* C: BSCALE更改现有块的X、Y和/或Z值,而不
;* 影响属性或属性。它使用DXF和UREAL函数,
;* 必须加载。
(定义C:B刻度(/en ed old41 old42 old43 new41 new42 new43)
(如果(和(setq en(entsel“\n选择要重新缩放的块:”);抓住障碍
(=(dxf 0(setq ed(entget(car en)))“插入”);测试是否插入
);和
(entmod;更新实体
(setq old41(dxf 41 ed);提取旧X
old42(dxf 42 ed);老Y
old43(dxf 43版);旧Z
new41(ureal 1”““X比例因子”old41);提示输入新X
new42(ureal 1”““Y比例因子”old42);新建Y
new43(ureal 1”““Z比例因子”old43);新建Z
;更改实体列表中的数据
ed(subst(cons 41 new41)(cons 41 old41)ed);更改X
ed(subst(cons 42 new42)(cons 42 old42)ed);更改Y
ed(subst(cons 43 new43)(cons 43 old43)ed);更改Z
)                                                                              ;setq返回ed
);entmod
);如果
(普林斯);干净利落地结束
);德芬
(普林斯)
;*
 
 
当我运行lisp例程时,我得到错误消息:无函数定义:SETQMSG。lisp例程DXF和UREAL本身可以很好地工作,但如果有帮助的话,我也可以发布它们。如果你们能告诉我为什么我会收到这个错误消息,以及如何修复它,我将不胜感激。

BIGAL 发表于 2022-7-5 20:32:43

对于很多行来说,仅仅有一个setq可能就是问题所在,把你的问题转移到entmod之前。
 
只需我使用VL pick object等即可(vla put XScalefactor obj new41)
 
在尿毒症后也是如此。

DD21988 发表于 2022-7-5 21:04:32

感谢您的回复。对不起,我回复得太晚了。今天工作很忙。当我看到其中的错误时,我正在将UREAL defun放在这里。我是新手。无论如何,问题解决了。谢谢你的帮助。
页: [1]
查看完整版本: 缩放Lisp例程错误