autolisp问题,如图所示,我想用程序得到图1,然后得到图2的圆角,但是按照我的程序 出来图3的圆角

autolisp问题,如图所示,我想用程序得到图1,然后得到图2的圆角,但是按照我的程序出来图3的圆角,请问一下怎么改?谢谢了……另外怎么通过autolisp来设置倒圆角... autolisp问题,如图所示,我想用程序得到图1,然后得到图2的圆角,但是按照我的程序 出来图3的圆角,请问一下怎么改?谢谢了……另外怎么通过autolisp来设置 倒圆角是 是否修剪%……谢谢
程序中各点的位置……
展开
 我来答
朱06CAD
推荐于2016-11-10 · 知道合伙人软件行家
朱06CAD
知道合伙人软件行家
采纳数:4172 获赞数:18078
高中,熟悉AutoCAD。会autolisp及VBA程序。

向TA提问 私信TA
展开全部

要添加选择点才可以。

(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)
);在高版本里面,直线也会变短达到你要绘制的要求。

 程序绘制好以后如下:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式