- A+
所属分类:CAD二次开发
详细大家在CAD里面看到过画椭圆,也被自己遇到过,如果单纯是只是画一个图还无所谓,对于加工的来说,必须把你这个椭圆处理一下,软件在能识别处理线条。但是在CAD里面椭圆无论怎么打散分解,都不能把椭圆分解炸开。但是无法分解椭圆我们可以读取现在的椭圆参数在重新建一个椭圆,在创建之前把(setvar "pellipse" 1)系统变量设置1,现在创建的椭圆由原来的ELLIPSE线型变成POLYLINE线型,只要变成POLYLINE线型,就可以使用系统的分解命令直接炸开,在使用pe多段线命令重新组合,就是多段线了。
(defun c:bb(/);
(setvar "pellipse" 1)
(setq p1 (getpoint "\n请指定对象上的任意点:"))
(setq e (nentselp p1);图元
e (car e)
et10(cdr (assoc 10 (entget e)));中心
et11x(car(cdr (assoc 11 (entget e))));a轴长x
et11y(cadr(cdr (assoc 11 (entget e))));y
et40(cdr (assoc 40 (entget e)));比长
etabx(* et40 et11x);Bx轴长
etaby(* et40 et11y);
et11x(list(+(car et10)et11x)(+(cadr et10)et11y))
etaby(list(+(car et10)etabx)(+(cadr et10)etaby))
)
(command "_ellipse" "c" et10 et11x etaby) ;重新创建椭圆
(setq et10(ENTLAST));新图源
(command "chprop" et10 "" "c" 5 "");颜色
(setvar "pellipse" 0)
(princ)
)
复制
使用POLYLINE线型创建的椭圆,貌似发现和原来的默认的有的不重合,所有说,要是在加工中,就需替换所有的椭圆装配的地方,否则不一致。