cafa 发表于 2024-9-25 14:31:54

请教PLINE 点循环

本帖最后由 cafa 于 2024-9-25 15:22 编辑

需要一段代码可以做到如下效果,能够输入任意数量的点来绘制多段线。怎么写可以做到?望大佬不吝赐教
(setq pt1 (getpoint))
(setq pt2 (getpoint pt1))
(setq pt3 (getpoint pt2))
(setq pt4 (getpoint pt3))
(setq pt5 (getpoint pt4))
(setq pt6 (getpoint pt5))
...
(command "_.pline" pt1 pt2 pt3 pt4 pt5 pt6 ... "c" "")
...
生成图形




飞雪神光 发表于 2024-9-25 18:58:47

(setq pt(getpoint"\n指定起点:"))
(command "pline" pt)
(while (not (zerop (getvar "cmdactive")))
        (command PAUSE)
)

ashan 发表于 2024-9-25 15:01:18

;;;循环画pline线
(defun plw (/ pt end_f)
(setq end_f T)
(setq pt (getpoint))
(command "._pline" pt "_w" 0 "")
(while end_f
    (setq pt (getpoint pt))
    (if pt
      (command pt)
      ;;else
      (setq end_f nil)
    )
)
(command "")
(princ)
)

cafa 发表于 2024-9-25 15:09:13

本帖最后由 cafa 于 2024-9-25 15:29 编辑

ashan 发表于 2024-9-25 15:01
;;;循环画pline线
(defun plw (/ pt end_f)
(setq end_f T)

感谢大佬回复。效果不错,感谢感谢:handshake

ashan 发表于 2024-9-25 15:31:46

cafa 发表于 2024-9-25 15:09
感谢大佬回复。效果不错,感谢感谢

熟悉pline命令就可以举一反三,把(command "")改为(command "c")就可以闭合了

cafa 发表于 2024-9-25 16:26:36

ashan 发表于 2024-9-25 15:31
熟悉pline命令就可以举一反三,把(command "")改为(command "c")就可以闭合了

嗯嗯,微调了一下。

寒潮大冬瓜 发表于 2024-9-28 01:14:00

本帖最后由 寒潮大冬瓜 于 2024-11-13 01:20 编辑

波总院长指导)FD点取起点坐标后画d多段线每画一条线换一个颜色枯燥的画图变得绚丽多彩(感谢波总院长指导)

;可用于指定变化颜色的色号在255内且尾数不是6789(因为这几个颜色实际上在屏幕里是看不见至少是我看不见)随时间变化生成的自定义函数
(defun lsp20230905();自定义函数开始
      (setq SJ1(menucmd "M=$(edtime,$(getvar,date),SS)"))
      (setq SJ11(atoi SJ1));(atoi x)将字符串转换成整数
      (setq SJ12(* SJ11 0.1));让个位数成为小数点后面的数值
;OS2024捕捉设置
(defun os2024 ()
      (command "viewres" "y" "1000");圆和圆的精度—数值为1000
页: [1]
查看完整版本: 请教PLINE 点循环