abra-CAD-abra 发表于 2022-7-5 18:29:48

“_.-ScaleListEdit”-错误-n

我要疯了,想让它工作。
 
有人能帮我摆脱痛苦吗?
 
(defun c:demo (/ xprt lst)
;Add Annotation Scales - Metres
(setq xprt (getvar 'Expert)) (setvar 'Expert 5)
(setq lst '("2000" "2500" "200" "250" "500" "5000"))
(foreach annoscale lst
   (command "_.-ScaleListEdit" "Add" (strcat "1:" annoscale "m") (strcat "1:" (rtos (/ annoscale 1000.00) 2 2))
"Exit")
)
(Setvar 'Expert xprt)


(princ))
 
 
干杯

Tharwat 发表于 2022-7-5 18:44:22

将字符串除以一个数字,因此需要将其转换为数字。
 

(/ (read annoscale) 1000.00)

abra-CAD-abra 发表于 2022-7-5 18:57:07

谢谢Tharwat-太简单了!非常感谢。

Tharwat 发表于 2022-7-5 19:03:36

随时欢迎你

abra-CAD-abra 发表于 2022-7-5 19:11:17

嗨,塔瓦,
 
“Read”函数并没有解决这个问题,所以我尝试了“atof”,它也不起作用。它在提示输入比例时失败了。因此,我以一种全新的思维选择了一种不同的方法,它似乎如预期的那样发挥作用。
 
(defun C:Demo (/ xprt lst)
(setq xprt (getvar 'expert)) (setvar 'expert 5)
(setq lst (list   
'("1:1000m" "1:1.0")
'("1:2000m" "1:2.0")
'("1:2500m" "1:2.50")
'("1:200m" "1:0.20")
'("1:250m" "1:0.25")
'("1:500m" "1:0.50")
'("1:5000m" "1:5.0")))
(foreach annoscale lst
   (command "_.-ScaleListEdit" "_A" (car annoscale) (cadr annoscale) "_E")
)
(Setvar 'expert xprt)
(princ)
)
 
 
我仍然希望第一个代码能够正常工作。我在努力使它尽可能简洁,这并不是必须的,它只是一个学习曲线。
 
干杯

BlackBox 发表于 2022-7-5 19:22:33

考虑ATOI函数。

abra-CAD-abra 发表于 2022-7-5 19:39:23

谢谢你,黑盒子
 
如果有机会,我将使用“atoi”函数再次访问代码。
 
干杯
页: [1]
查看完整版本: “_.-ScaleListEdit”-错误-n