求cad lisp 框选图纸中的直线,转化为10宽的多段线,覆盖直线也可以。 30
1个回答
展开全部
(princ"\n请选择直线")
(setq ss(ssget '((0 . "LINE")))n(sslength ss)m 0)
(while(< m n)
(setq a(ssname ss m)m(1+ m)
e(entget a)
p1(cdr(assoc 10 e))
p2(cdr(assoc 11 e))
p1(list 10(car p1)(cadr p1))
p2(list 10(car p2)(cadr p2))
)
(entmake(list(cons 0 "LWPOLYLINE")(cons 8(cdr(assoc 8 e)))(cons 6(if(assoc 6 e)(cdr(assoc 6 e))""))
(cons 62(if(assoc 62 e)(cdr(assoc 62 e))256))(cons 370(if(assoc 370 e)(cdr(assoc 370 e))0))
(cons 48(if(assoc 48 e)(cdr(assoc 48 e))1))(cons 100 "AcDbEntity")(cons 100 "AcDbPolyline")
(cons 90 2)(cons 43 10)
(cons 39(if(assoc 39 e)(cdr(assoc 39 e))0))p1 p2))
(entdel a))
(setq ss(ssget '((0 . "LINE")))n(sslength ss)m 0)
(while(< m n)
(setq a(ssname ss m)m(1+ m)
e(entget a)
p1(cdr(assoc 10 e))
p2(cdr(assoc 11 e))
p1(list 10(car p1)(cadr p1))
p2(list 10(car p2)(cadr p2))
)
(entmake(list(cons 0 "LWPOLYLINE")(cons 8(cdr(assoc 8 e)))(cons 6(if(assoc 6 e)(cdr(assoc 6 e))""))
(cons 62(if(assoc 62 e)(cdr(assoc 62 e))256))(cons 370(if(assoc 370 e)(cdr(assoc 370 e))0))
(cons 48(if(assoc 48 e)(cdr(assoc 48 e))1))(cons 100 "AcDbEntity")(cons 100 "AcDbPolyline")
(cons 90 2)(cons 43 10)
(cons 39(if(assoc 39 e)(cdr(assoc 39 e))0))p1 p2))
(entdel a))
追问
好像有问题,用不了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询