zbbz的lisp_求CAD lisp 程序,选择一条或多条多段线,输出其上点的x,y,z坐标。
时间: 2024-03-23 12:36:15 浏览: 140
以下是一个简单的CAD Lisp程序,可以选择一条或多条多段线,输出其上点的x,y,z坐标。
```
(defun c:pointsonpolyline ()
(setq sel (ssget '((0 . "LWPOLYLINE"))))
(if sel
(progn
(setq pline (ssname sel 0))
(setq numverts (vlax-get-property pline 'numvertices))
(setq verts (vlax-invoke-method pline 'getvertices))
(setq i 0)
(while (< i numverts)
(setq pt (vlax-get-property (nth i verts) 'coordinates))
(setq x (car pt))
(setq y (cadr pt))
(setq z (caddr pt))
(princ (strcat "\nX:" (rtos x) " Y:" (rtos y) " Z:" (rtos z))))
(setq i (1+ i)))
)
(princ "\nNo polylines selected."))
(princ)
)
```
使用方法:
1. 将上述代码复制到记事本中,保存为 .lsp 文件格式。
2. 在 CAD 中运行 APPLOAD 命令,加载该 .lsp 文件。
3. 运行 POINTSONPOLYLINE 命令,选择一条或多条多段线。
4. 输出所选择多段线上所有点的 x,y,z 坐标。
注意:该程序仅适用于 AutoCAD 系列软件。
阅读全文