尘缘一生 发表于 2016-4-15 18:06:26

求个“动态”fillet"程序

本帖最后由 尘缘一生 于 2016-4-15 19:16 编辑

       我们画图经常用到圆角,比如:画屋面墙角防水圆角,由于比例问题,到底倒角半径输入多少不知道合适,总试用几遍成功,现求一个“动态圆角”程序,就是拉动显示的那种。



      意思就是,不要求输入圆角的半径,拉动,满意完成,动态圆角半径,常用的就是两根直线、多义线即可,不要求批量。

永不言弃 发表于 2016-4-15 20:58:01

本帖最后由 永不言弃 于 2016-4-16 19:15 编辑

只能倒角直线
代码很乱,大神们优化一下吧
(defun c:tt ()
;;;动态倒角
(vl-load-com)
(setq ent1 (car (entsel)))
(setq ent2 (car (entsel)))
(setq pt2 (cadr (grread 1 2 1)))
(setvar "Filletrad" 0)
(command "fillet" ent1 ent2)
(setq cct 1)
(while (= cct 1)
   
    (setq pt1 (grread 1 4 0))
    (cond
      ((= (car pt1) 5)
       (command "UNDO" 1)
       (setq dia (distance pt2 (cadr pt1)))
;;;       (print (strcat "当前半径<" (rtos dia 2 3)">"))
       (princ)
       (command "redraw" )
       (grdraw pt2 (cadr pt1) 3 1)
       (setvar "Filletrad" dia)
       (command "fillet" ent1 ent2)
      )
      ((= (car pt1) 3)
       (setq cct 2)
       (command "UNDO" 1)
       (command "redraw" )
       (setvar "Filletrad" dia)
       (command "fillet" ent1 ent2)
      )
    )
)
)

冒个烟圈 发表于 2016-4-15 22:10:45

虽然没有这个程序,也用不到,,还是帮你顶上去。。。

434939575 发表于 2016-4-16 11:12:25

虽然没有你要的。但有好多动态可以参考,。http://bbs.mjtd.com/thread-91313-1-1.html

Atsai 发表于 2016-4-16 11:19:29

http://bbs.mjtd.com/thread-101039-1-1.html
這個擴展後應該可以符合你的需求。

434939575 发表于 2016-4-16 13:09:12

http://bbs.mjtd.com/thread-86814-1-1.html
页: [1]
查看完整版本: 求个“动态”fillet"程序