buildwitharch 发表于 2022-7-5 18:36:02

连续圆角LISP

你好有没有人有可以运行连续圆角的LISP。我想要圆角一束交叉的线,而不必反复执行命令。它只需将上一条选定的线与下一条线(例如,楼梯的示意图轮廓)剪裁在一起。如果它也能自动转换成Pline,那将很酷,但不是nec。
谢谢
亚伦

nukecad 发表于 2022-7-5 18:41:57

不是Lisp程序,但试着将菜单按钮改为-
 
*^C^C_圆角
 
“*”告诉它重复这个命令,所以一旦你点击了它,如果你想给它一个半径,你只需要继续拾取你想要圆角的线。
按Esc键停止重复。

alanjt 发表于 2022-7-5 18:43:09

走出门,所以我无法完成,但它基本上就在那里。。。
 
(defun c:CF (/ e1 e2)
(while (and (setq e1 (entsel "\nSelect curve: "))
             (or (vl-position (cdr (assoc 0 (entget e1))) '("ARC" "LINE" "LWPOLYLINE"))
               (alert "Invalid object!"))
             (setq e2 (entsel "\nSelect other curve: "))
             (or (vl-position (cdr (assoc 0 (entget e2))) '("ARC" "LINE" "LWPOLYLINE"))
               (alert "Invalid object!"))
             (vl-cmdf "_.fillet" e1 e2)
             (vl-cmdf "_.pedit"
 
很抱歉

buildwitharch 发表于 2022-7-5 18:46:21

酷,这是一个快速的选择,但它仍然需要我选择一行两次。感谢*上的提示。

buildwitharch 发表于 2022-7-5 18:51:37

 
我也在试这个。我不太精通LISP,所以可能需要一点时间。谢谢

alanjt 发表于 2022-7-5 18:53:23

对不起,我没有时间提前完成。。。
 
(defun c:CF (/ e1 e2)
(vl-load-com)
(while (and (setq e1 (entsel "\nSelect curve: "))
             (or (vl-position (cdr (assoc 0 (entget (car e1)))) '("ARC" "LINE" "LWPOLYLINE"))
               (alert "Invalid object!")
             ) ;_ or
             (setq e2 (entsel "\nSelect other curve: "))
             (or (vl-position (cdr (assoc 0 (entget (car e2)))) '("ARC" "LINE" "LWPOLYLINE"))
               (alert "Invalid object!")
             ) ;_ or
             (vl-cmdf "_.fillet" e1 e2)
             (if (zerop (getvar 'peditaccept))
               (vl-cmdf "_.pedit" "_m" (ssadd (car e1) (ssadd (car e2))) "" "_y" "_j" "" "")
               (vl-cmdf "_.pedit" "_m" (ssadd (car e1) (ssadd (car e2))) "" "_j" "" "")
             ) ;_ if
      ) ;_ and
) ;_ while
(princ)
) ;_ defun

buildwitharch 发表于 2022-7-5 18:55:17

 
这类似于将“*”添加到comand。更好的是,它使新线成为多段线。那部分很酷。这就是我的想法<我希望能够选择线(在图表A中)7、A、6、B、5、C。。。。等等,通过按顺序单击仅选择这些线来实现附件B中的多段线楼梯模式。现在我必须点击7,然后点击A,再点击A,再点击6,再点击6,再点击B等等。这有意义吗?
 
我非常感谢你的帮助。谢谢

mdbdesign 发表于 2022-7-5 19:00:29

试试这个:
http://www.nyacad.com/NYacadFREE.htm
 
安装并使用ff运行。
除此之外,还有很多其他商品。
除非李突然有了新的想法。

alanjt 发表于 2022-7-5 19:02:52

不客气。它按你的要求做。

BIGAL 发表于 2022-7-5 19:06:10

您可以在所有直线上绘制一条直线,然后计算每条交叉线的交点,并根据从起点到新点的直线长度进行排序。
 
然后它只是圆角pt1 pt2,pt1=pt2,新的pt2,圆角pt1 pt2等
 
我这样做是为了房屋平面图墙的自动尺寸标注。对不起,代码是版权所有的,但如果可能的话可以提供帮助。
页: [1] 2
查看完整版本: 连续圆角LISP