Juergen 发表于 2022-7-5 16:01:00

计算圆数

嗨,论坛用户,
 
我试图重写LISP代码-“radct”。
(定义C:RADCT(/rad ss count)
(setq rad(getdist“\n计数半径:”)
ss(ssget(列表’(0。“圆”)(cons 40 rad)))
计数(sslength ss)
)
(警报(itoa计数))
(普林斯)
)
 
我的条件:我有一个矩形,里面是圆(直径=9.5毫米)
我想数一数,然后将结果作为文本写入绘图中。
上面的代码可以做到这一点,但结果显示在消息框中。
请帮帮我。
谢谢。
尤尔根

BIGAL 发表于 2022-7-5 16:15:53

对原始代码的轻微改进
 

(defun C:RADCT (/ rad ss count obj)
(setq obj (vlax-ename->vla-object (car (entsel "\nSelect circle to count: "))))
(if (= (vla-get-objectname obj) "AcDbCircle")
(progn
(setq rad (vla-get-radius obj))
(setq ss (ssget (list '(0 . "CIRCLE")(cons 40 rad))))
(if (/= (setq count (sslength ss)) 0)
(alert (strcat "There are " (itoa count) " items matching"))
(alert "no circles match")
)
)
)
(command "Text" (getpoint) "" (itoa count))
(princ)
)

Juergen 发表于 2022-7-5 16:27:31

嗨,比格尔,
 
它起作用了。
完美的
谢谢

SLW210 发表于 2022-7-5 16:45:40

请阅读代码发布指南,并编辑代码以包含在代码标签中。
Your Code Here=
Your Code Here

Juergen 发表于 2022-7-5 16:54:28

嗨,论坛用户,
 
我试图重写LISP代码-“radct”。
我的条件:我有一个矩形,其中是圆(直径=9.5 mm)
我想数一数,然后将结果作为文本写入绘图中。
上面的代码可以做到这一点,但结果显示在消息框中。
请帮帮我。
谢谢。
尤尔根

BIGAL 发表于 2022-7-5 17:07:30

(命令“Text”(getpoint)”(itoa计数)
页: [1]
查看完整版本: 计算圆数