第3个回答 2013-10-22
(转载)给一个简单的源代码,你自己测试后可以修改编辑让它更符合你的要求:(princ "\n程序:统计线段长度 命令:test")(defun C:TEST (/ CURVE TLEN SS N SUMLEN) (vl-load-com) (setq SUMLEN 0) (setq SS (ssget '((0 . "CIRCLE,ELLIPSE,LINE,*POLYLINE,SPLINE,ARC")))) (setq N 0) (repeat (sslength SS) (setq CURVE (vlax-ename->vla-object (ssname SS N))) (setq TLEN (vlax-curve-getdistatparam CURVE (vlax-curve-getendparam CURVE))) (setq SUMLEN (+ SUMLEN TLEN)) (setq N (1+ N)) ) (princ (strcat "\n共选择 " (itoa (sslength SS)) " 条线段. 线段总长: " (rtos SUMLEN 2 3) "米."))(princ) ) 将以上代码复制在记事本内后“另存为”→“统计线段长度.lsp”打开CAD,运行“appload”命令加载刚保存的“统计线段长度.lsp”文件按命令提示“程序:统计线段长度 命令:test”输入命令test选择要统计长度的线段即可。附:我的命令行操作提示命令:命令: appload已成功加载 统计线段长度.lsp。命令:程序:统计线段长度 命令:test命令:命令: test选择对象: 指定对角点: 找到 4 个选择对象:共选择 4 条线段. 线段总长: 1667.294米.命令:]