gaics 发表于 2012-4-11 23:19:00

求一个在三维里拉伸成实体后保持原图层的程序!

在网上找了一个程序,但似乎不能用,请高手帮忙修改或者重编一个,谢谢!

;|extrude拉伸实体,保持原图层-----------陌生人v1.1 2003.12 增加对未封闭的pl线条是否封闭后拉伸的选项增加 undo 处理|;(defun c:ez (/ ss i n2 n ext_h ent entl entn i la e70)(princ "\n ez=====extrude拉伸实体,保持原图层-----------陌生人.2001.6")(princ "\n 当前选项 : 对不封闭的实体自动封闭并拉伸;") (princ "   拉伸高度")(princ ext_h)(command ".undo" "be")(setq ss (ssget '((0 . "*POLYLINE,CIRCLE,ELLIPSE,region")))i 0n2 0n (sslength ss)cl_key T)(while (not(setq ext_h (getdist "\n<改变选项: 对不封闭的实体不处理>/拉伸高度:")))         (setq cl_key nil)         (princ "\n 当前选项 : 对不封闭的实体不处理"))(repeat n    (setq ent (ssname ss i)entl (entget ent)entn (cdr(assoc 0 entl))i (1+ i)la (cdr(assoc 8 entl))e70 (cdr(assoc 70 entl))    )    (if (and (= "LWPOLYLINE" entn) cl_key)      (command ".pedit" ent "Close" "")    )    (command "_.extrude" ent "" ext_h "0")    (setq e (entlast))    (command "_.change" e "" "p" "la" la ""));end repeat(command ".undo" "e")(princ (strcat "\n选中" (rtos n) "个"))(princ (strcat "\n" (rtos n2) "个不成功."))(princ))(princ "\n ez=====extrude拉伸实体,保持原图层V1.1-----------陌生人.2001.6 2003.12")

gaics 发表于 2012-4-12 12:11:31

自己已解决感谢原作者,可惜已经联系不上

999999 发表于 2020-8-26 11:26:53

谢谢大神的分享
页: [1]
查看完整版本: 求一个在三维里拉伸成实体后保持原图层的程序!