;;;;XUYANYAN;;;;2026/6/26;;;;多线“厚度”封闭(vl-load-com);;;图选多段线生成点列(defun getplvtx( / ent obj coords i vlxlst)(setq ent(car(entsel "\n选取多段线: ")))(if ent(progn(setq obj (vlax-ename->vla-object ent)i 0 vlxlst nil)(if (wcmatch (vla-get-objectname obj) "*Polyline")(setq coords (vlax-safearray->list(vlax-variant-value(vla-get-coordinates obj)))))(repeat(/(length coords)2)(setq vlxlst(append vlxlst(list(list(nth i coords)(nth(1+ i)coords))))i(+ 2 i)))))vlxlst);;;测试函数命令"THCK"(defun c:thck(/ pllst chk drawplst)(setq drawplst(lambda(lst lay color closed);;;点列、图层、颜色、是否封闭(entmake(append(list'(0 . "LWPOLYLINE")'(100 . "AcDbEntity")(cons 8 lay)(cons 62 color)'(100 . "AcDbPolyline")(cons 90(length lst))(cons 70 closed))(mapcar'(lambda (pt)(cons 10 pt))lst)))))(setq pllst(getplvtx)chk(getreal"\n输入偏移厚度<0.3>:"))(if(null chk)(setq chk 0.3))(drawplst(append pllst(thickcd pllst chk))"封闭厚度"1 1)(princ))
已关注
关注
重播 分享 赞


夜雨聆风