多段线的橡皮筋怎么才能弄出来?
一直没搞明白,多段线的橡皮筋怎么才能弄出来? 请大神指点下~~(defun c:fz (/ *error* d en p0 p1 p2 r snap ss ssnext)
(setvar "ORTHOMODE" 1);开启正交
;;取得当前颜色为#os6
(setq #os6 (getvar "Cecolor"))
(setvar "cecolor" "211")
(setq pt1 (getpoint))
(command "_pline" pt1 "w" 0.5 0.5 "N" 270 (setq d (distance pt1 (setq pt2 (getpoint)))) "C" )
;颜色还原
(setvar "Cecolor" #os6)
(setq an 4.71239);角度
(setq pt3(polar pt1 an d))
(command "_insert" "G-DZPJT1" pt3 "" "" "" "" "" "" "" "")
(defun ssnext (en / ss)
(setq ss (ssadd))
(while (setq en (entnext en))(ssadd en ss))
)
(defun *error* (s)(command ".UNDO" "E"))
(setq snap (getvar "osmode"))
(setvar "cmdecho" 0)
(if (setq ss (ssget))
(if (setq p0 (getpoint "\n指定基点:"))
(progn(command ".UNDO" "BE")
(while t (princ "\n指定下一点或距离:")
(if d (princ (strcat "<" (rtos d) ">:")))
(setq en (entlast))
(command ".copy" ss "" p0 pause)
(setq p1 (getvar "lastpoint")p2 (mapcar '+ p1 p1))
(if (equal p0 p1)
(progn
(setq p1 (polar p0 r d))
(if (< snap 16384)(setvar "osmode" (+ snap 16384)))
(command ".move" (ssnext en) "" p2 p1)
(setvar "osmode" snap)
(setq snap (getvar "osmode"))
)
(setq d (distance p0 p1) r (angle p0 p1)))
(setq ss (ssnext en) p0 p1 )
)
)
)
)
(princ)
)
对应43码
(length ps) 0)====线宽0
(length ps) 0.5)====线宽0.5
pl的宽度W 0.5改为0试试 说一下橡皮筋 wzg356 发表于 2022-11-9 11:53
说一下橡皮筋
就是多段线设定第一点后,第二点跟着鼠标走的多段线预效果,就是正常平时使用多段线的效果。但现在如果使用lisp,要等输入完第一点后是看不到多段线的,需要输入完第二点才会直接出现多段线。 q2284555 发表于 2022-11-9 12:46
就是多段线设定第一点后,第二点跟着鼠标走的多段线预效果,就是正常平时使用多段线的效果。但现在如果 ...
(defun c:plpl ( / ps p1 e)
(setq ps(list(setq p1(getpoint "\n第一点"))))
(while(setq p1(getpoint p1 "\n下一点"))
(if e(entdel e))
(setq ps(cons p1 ps))
(setq e(entmakex(append
(mapcar 'cons (list 0 100 100 90 43)(list "LWPOLYLINE" "AcDbEntity" "AcDbPolyline"
(length ps)0))(mapcar '(lambda (p)(cons 10 p)) (reverse ps))
)))
;(command "pline")
;(repeat (setq n(length ps))(command(nth(setq n(1- n))ps)))
;(command "")(setq e(entlast))
)) wzg356 发表于 2022-11-9 14:36
(defun c:plpl ( / ps p1 e)
(setq ps(list(setq p1(getpoint "\n第一点"))))
(while(setq p1(getpoint ...
非常感谢指点, 如果我想加入线宽为0.5 ,怎么加入 线宽 等组群码信息?
(mapcar 'cons (list 0 100 100 90 43)(list "LWPOLYLINE" "AcDbEntity" "AcDbPolyline"
(length ps)0))(mapcar '(lambda (p)(cons 10 p)) (reverse ps)) (length ps)0)) ==> (length ps)0.5))
页:
[1]