修改倒角和圆角
下午看到个帖子,说是很急,要求点选一个矩形框(左理角为L=1.0的倒角,右下角为R=1.0的圆角),要求把倒角和圆角都改成0.9,当时想写的,结果耽搁了,现在写出来找不到那个帖子了,也没记住那位兄弟的名字,只好给他放这里了(defun c:DJYJ(/ a b continue);;
(defun plinexy(e / a q m p);;;LWPolyline,POLYLINE顶点,去掉完全重合点
(setq a(vlax-ename->vla-object e)
q(vlax-safearray->list(vlax-variant-value(vla-get-Coordinates a)))
m(vla-get-objectname a)a 0
m(if(= m"AcDb3dPolyline")3 2))
(repeat(/(length q)m)
(cond((= m 2)(setq p1(list(nth a q)(nth(+ a 1)q))))
((= m 3)(setq p1(list(nth a q)(nth(+ a 1)q)(nth(+ a 2)q)))))
(setq p(if(member p1 p)p(append p(list p1)))
a(+ a m)))
p)
(setq continue t)
(while continue
(if (setq a(car(entsel"选择要修改倒角的圆角的多线段右键退出")))
(progn
(setq b(entget a))
(if(vl-string-search"LINE"(cdr(assoc 0 b)))
(entmod(setq a(vl-sort(plinexy a)'(lambda (s1 s2)(< (cadr s1) (cadr s2))))
b(subst(list 10(-(car(car a))0.1)(cadr(car a)))(cons 10(car a))b)
b(subst(list 10(+(car(cadr a))0.1)(cadr(cadr a)))(cons 10(cadr a))b)
b(subst(list 10(car(caddr a))(-(cadr(caddr a))0.1))(cons 10(caddr a))b)
b(subst(list 10(car(cadddr a))(-(cadr(cadddr a))0.1))(cons 10(cadddr a))b)))
)
)
(setq continue nil))
)
) 漂亮,真是我所要的! MENGZE 发表于 2013-12-2 23:45 static/image/common/back.gif
漂亮,真是我所要的!
你能用得上就好,反正我是用不上的
你好,我很需要这个程序,不知大师可以帮我修改变成我如图那样吗>谢谢了
llsheng_73 发表于 2013-12-3 15:59 static/image/common/back.gif
你能用得上就好,反正我是用不上的
(defun c:txy(/ s s2 e1 e2 m n)
(if(setq s(ssget'((0 . "circle,arc")(40 . 4.5))))
(progn
(setq s2(ssadd)n 0)
(repeat(sslength s)
(setq e1(ssname s n)n(1+ n))
(if(setq e2(ssget"X"(list'(0 . "circle,arc")'(40 . 7)(assoc 10(entget e1)))))
(progn(setq s2(ssadd e1 s2)m 0)
(repeat(sslength e2)
(setq s2(ssadd(ssname e2 m)s2)
m(1+ m))
))
)))
)
(sssetfirst nil s2)
)
73大师,看到你回复别人的贴子,弄同心圆的,能不能改成手动输入 要不就点选两个圆做参照?
页:
[1]