请教大佬下面的代码在2024里面运行有结果,但是点击确认后还有其他命令
请教大佬下面的代码在2024里面运行有结果,但是点击确认后还有其他命令(附图),不能像在低版本上正常结束:或者大佬们有其他LSP能快速或者长度并弹窗的,要能获取所有类型的长度,万分感谢,用了ChatGPT,写的代码不能运行。
===============以下是代码=====================
(defun c:ss()
(setq ss (ssget)
n 0
sum 0)
(repeat (sslength ss)
(setq en (ssname ss n))
(command "lengthen" en "")
(setq sum (+ sum (getvar "perimeter"))
n (+ n 1))
)
(ALERT (STRCAT "总长度:" (rtos sum 2)))
)
===============以上是代码=====================
(defun c:tt (/ en n ss sum)
(setq ss (ssget))
(if (not ss)
(alert "未选择对象。")
(progn
(setq n 0 sum 0.0)
(repeat (sslength ss)
(setq en (ssname ss n))
(setq sum (+ sum (vla-get-length (vlax-ename->vla-object en)))) ; 直接获取长度
(setq n (1+ n))
)
(alert (strcat "总长度:" (rtos sum 2)))
)
)
(princ)
) 统一网名 发表于 2025-4-20 17:36
(defun c:tt (/ en n ss sum)
(setq ss (ssget))
(if (not ss)
感谢大佬,貌似圆、弧线,样条曲线都不能获取长度 hiviki 发表于 2025-4-20 17:59
感谢大佬,貌似圆、弧线,样条曲线都不能获取长度
(defun get-dxcd (ename / dxcd obj)
(setq obj (vlax-ename->vla-object ename));对象转换为 Vla对象
(setq dxcd (vlax-curve-getdistatparam obj (vlax-curve-getendparam obj)))
dxcd
)
(defun c:tt (/ en n ss sum)
(setq ss (ssget))
(if (not ss)
(alert "未选择对象。")
(progn
(setq n 0 sum 0.0)
(repeat (sslength ss)
(setq en (ssname ss n))
(setq sum (+ sum (get-dxcd en))) ; 直接获取长度
(setq n (1+ n))
)
(alert (strcat "总长度:" (rtos sum 2)))
)
)
(princ)
) 感谢大佬,可用非常感谢
页:
[1]