PL_004-小。图纸 你好,anupmadhu。
请试试这个Lisp程序。它仅适用于WCS上的LWDOLYLINE。选择过滤器不会忽略凸出或开放多段线,但我不会尝试这些类型的多边形。
(defun c:测试(/*错误*acDoc l2p 2d顺时针-p a b c d e i p q r ss w)(vl load com)(或*zigdist*(setq*zigdist*10.0))(setq acDoc(vla get activedocument(vlax get acad object))(vla startundomark acDoc)(defun*错误*(msg)(和msg(非(wcmatch(strcase msg)”*取消*,*退出*,*退出*)(princ(strcat“\n错误:“msg))(vla endundomark acDoc)(princ))(defun l2p(l)(如果l(cons(list(car l)(cadr l))(l2p(cddr l)))(defun 2d(p)(list(car p)(cadr p)))(defun顺时针-p(e/p1 p2 p a b f1 f2)(vla getboundingbox e‘p1’p2)(setq p(vlax curve getparamatpoint e(vlax curve getclosestpointtoprojection e)(mapcar’-(vlax safearray->list p1)’(1 1 0))'(1 0 0)))a(vlax curve getstartparam e)b(vlax curve getendparam e)f1(vlax curve getfirstderiv e(+a(rem(+p 0.1)(-b a)))f2(vlax curve getfirstderiv e(+a(rem(+p 0.1)(-b a))(>(*(car f1)(cadr f2))(*(car f2)(cadr f1)))(if(和(setq ss(ssget:L“((0.“LWDOLYLINE”)(210 0.0 0.01.0)(38.0.0))(或(和(setq d(strcat“\Specify zig zag distance:))(setq d(abs d))(setq d*zigdist*))(重复(setq i(sslength ss))(setq e(vlax ename->vla object(ssname ss(setq i(1-i)))p(l2p(vlax get e'坐标))a(/d2.0)b(vla get length e)w(*0.1 d)r nil q(顺时针-p e))(而(
谢谢stefan工作得很好,你为我们节省了很多时间 有趣的是,使用express tools从您的绘图中制作这张图大约需要1分钟。
之字形的拉链
页:
1
[2]