سبع الليل 发表于 2022-7-6 06:54:24

正确的dxf代码是什么

بسم الله الرحمن الرحيم
الحمد لله وحده و الصلاة و السلام على من لا نبي بعده ،، و بعد
以最仁慈、最仁慈的真主的名义
亲爱的善良的成员:
我有个问题:
我写了这个程序,,,
我想要的是用多段线实体附着钢筋信息,所以当我调用它时,我可以像任何其他属性一样得到它
这是代码
(defun c:bara ()
(setq n (getint "\nEnter number of bars"))
(setq d (getint "\nEnter diameter of bars"))
(regapp "barinfo")
(setq oldlist (entget (car (entsel))))
(setq barinfo '((-3 ("barinfo" (1005 . n) (1070 . d))))
(setq newlist (append oldlist barinfo))
(entmod newlist)
)
 
但这给了我一个糟糕的dxf函数,因为我输入的代码是错误的
我可以在这个例程中使用什么代码,或者如何修复它??
我希望你能理解我的意思,很抱歉我英语不好

fixo 发表于 2022-7-6 07:12:07

试试这个代码剪,把物品换成你的西装

;build extension data
(setq
xdata (list
(list -3 (list "barinfo"
(cons 1040 ps);real
(cons 1041 ln);distance
(cons 1000 hws);string
(cons 1000 hwr);string
;etc etc...
))
)
)
(setq xdlist (append elist xdata));append extension data to entity list
(entmod xdlist); setting data, modify entity list
(entupd en); update entity, optonal

MSasu 发表于 2022-7-6 07:27:29

通过使用引号而不是列表函数构建列表,您可以阻止对n和d变量的计算。此外,对于整数,必须使用DXF代码1070。还有一种不平衡的偏执。
(defun c:bara ()
(setq n (getint "\nEnter number of bars"))
(setq d (getint "\nEnter diameter of bars"))
(regapp "barinfo")
(setq oldlist (entget (car (entsel))))
(setq barinfo (list (list -3 (list "barinfo" (cons 1070 n) (cons 1070 d)))))
(setq newlist (append oldlist barinfo))
(entmod newlist)
)
 
另外,欢迎来到论坛!

Lee Mac 发表于 2022-7-6 07:42:19

欢迎来到CADTutor。
 
撇号将表达式标记为文字(按面值取,不计算),因此扩展数据列表中的符号“n”和“d”将不计算。有关撇号的更多信息,请参阅我的帖子。
 
此外,您正在使用DXF组1005(句柄)存储整数值,该组应为组1070或组1071,具体取决于整数值的大小。但是,由于您正在提示输入直径,我认为该值应该是实数(双精度)并使用组1040或组1041(距离),而不是整数。

سبع الليل 发表于 2022-7-6 07:50:13

Fixo先生
Msasu先生
李先生
 
真的非常感谢大家,,,
我不会忘记你的恩惠,,,
我现在明白什么是问题了,我把它修好了,它会帮我很多,我用5个小时做的东西,现在我用5分钟就可以做了。。。
我希望我的英语足够强,可以表达我对你的感谢
你真的很慷慨,谢谢大家

Lee Mac 发表于 2022-7-6 07:54:39

不客气!
页: [1]
查看完整版本: 正确的dxf代码是什么