
autolisp问题,如图所示,我想用程序得到图1,然后得到图2的圆角,但是按照我的程序 出来图3的圆角
autolisp问题,如图所示,我想用程序得到图1,然后得到图2的圆角,但是按照我的程序出来图3的圆角,请问一下怎么改?谢谢了……另外怎么通过autolisp来设置倒圆角...
autolisp问题,如图所示,我想用程序得到图1,然后得到图2的圆角,但是按照我的程序 出来图3的圆角,请问一下怎么改?谢谢了……另外怎么通过autolisp来设置 倒圆角是 是否修剪%……谢谢
程序中各点的位置…… 展开
程序中各点的位置…… 展开
1个回答
推荐于2016-11-10 · 知道合伙人软件行家
关注

展开全部
要添加选择点才可以。
(defun c:WQ10 ( / #os1 aa l1 l2 p1 p2 p3 p4 p5 p6 p7 p8)
(setq #os1 (getvar "osmode"))
(setq p1 (getpoint "\n请选择基点"))
(if (/= p1 nil)
(progn
(setq p2 (polar p1 pi 208)
p3 (polar p1 pi 288)
p4 (polar p2 (* 0.5 pi) 420)
p5 (polar p4 0 418)
p6 (polar p1 0 208)
p7 (polar p1 0 288)
p8 (polar p1 (* pi 0.5) 90)
)
(setvar "osmode" 0);关闭捕捉才可以绘制图元,否则会不正确
(command "LINE" p2 p4 "")
(setq L1 (entlast))
(command "LINE" p6 p5 "")
(setq L2 (entlast))
(command "ARC" p7 p8 p3)
(setq AA (entlast))
(command "fillet" "r" 50)
(command "fillet" (list AA p7) (list L2 p5))
(entdel AA)
(command "ARC" p7 p8 p3)
(setq AA (entlast))
(command "fillet" (list AA p3) (list L1 p4));加圆角的时候有选择点
(entdel AA);删除已经倒圆角的弧,在高版本里面圆弧会断线这个改变的圆弧要删除
(command "ARC" p7 p8 p3);绘制圆弧
(setvar "osmode" #os1)
)
)
(prin1)
);在高版本里面,直线也会变短达到你要绘制的要求。
程序绘制好以后如下:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询