我们在工作中可能会遇到这种CAD多段线:
它是一圈闭合的轮廓线,并没有点要素。现在需要生成一圈点,使这一圈点围成的轮廓与已有的多段线轮廓一致,并且要求生成点的数量与多段线各拐角点的数量一致。该如何快速实现?
这里提供一个快速、高效的方法,就是编写一个AutoLISP脚本,然后通过加载lisp脚本一键生成所有的点。没用过LISP脚本的朋友也不用担心,比较简单,本文会详细介绍过程。
① 首先新建一个txt文本,文本名称可以命名为“GetPoints.txt”。
② 打开文本,复制如下代码:
(defun c:GetPoints (/ ent obj coords i)(if (setq ent (car (entsel "\n选择闭合多段线: ")))(progn(setq obj (vlax-ename->vla-object ent))(setq coords (vlax-get obj 'Coordinates))(setq i 0)(repeat (/ (length coords) 2)(command "_.POINT" (list (nth i coords) (nth (1+ i) coords)))(setq i (+ i 2)))))(princ)
)
③ 保存之后,修改txt文本后缀名,将”.txt”改为”.lsp”。
④ CAD工具栏点击“工具”-“加载应用程序”(或者命令栏输入APPLOAD),找到你编写的LISP脚本,选择后点击加载:
⑤ 在命令栏输入命令:GetPoints,选中多段线后点击enter,即可自动生成所有轮廓点: