乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 19|回复: 19

[编程交流] 连续圆角LISP

[复制链接]

1

主题

8

帖子

7

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 18:36:02 | 显示全部楼层 |阅读模式
你好有没有人有可以运行连续圆角的LISP。我想要圆角一束交叉的线,而不必反复执行命令。它只需将上一条选定的线与下一条线(例如,楼梯的示意图轮廓)剪裁在一起。如果它也能自动转换成Pline,那将很酷,但不是nec。
谢谢
亚伦
回复

使用道具 举报

0

主题

172

帖子

173

银币

限制会员

铜币
-1
发表于 2022-7-5 18:41:57 | 显示全部楼层
不是Lisp程序,但试着将菜单按钮改为-
 
*^C^C_圆角
 
“*”告诉它重复这个命令,所以一旦你点击了它,如果你想给它一个半径,你只需要继续拾取你想要圆角的线。
按Esc键停止重复。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-5 18:43:09 | 显示全部楼层
走出门,所以我无法完成,但它基本上就在那里。。。
 
  1. (defun c:CF (/ e1 e2)
  2. (while (and (setq e1 (entsel "\nSelect curve: "))
  3.              (or (vl-position (cdr (assoc 0 (entget e1))) '("ARC" "LINE" "LWPOLYLINE"))
  4.                  (alert "Invalid object!"))
  5.              (setq e2 (entsel "\nSelect other curve: "))
  6.              (or (vl-position (cdr (assoc 0 (entget e2))) '("ARC" "LINE" "LWPOLYLINE"))
  7.                  (alert "Invalid object!"))
  8.              (vl-cmdf "_.fillet" e1 e2)
  9.              (vl-cmdf "_.pedit"

 
很抱歉
回复

使用道具 举报

1

主题

8

帖子

7

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 18:46:21 | 显示全部楼层
酷,这是一个快速的选择,但它仍然需要我选择一行两次。感谢*上的提示。
回复

使用道具 举报

1

主题

8

帖子

7

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 18:51:37 | 显示全部楼层
 
我也在试这个。我不太精通LISP,所以可能需要一点时间。谢谢
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-5 18:53:23 | 显示全部楼层
对不起,我没有时间提前完成。。。
 
  1. (defun c:CF (/ e1 e2)
  2. (vl-load-com)
  3. (while (and (setq e1 (entsel "\nSelect curve: "))
  4.              (or (vl-position (cdr (assoc 0 (entget (car e1)))) '("ARC" "LINE" "LWPOLYLINE"))
  5.                  (alert "Invalid object!")
  6.              ) ;_ or
  7.              (setq e2 (entsel "\nSelect other curve: "))
  8.              (or (vl-position (cdr (assoc 0 (entget (car e2)))) '("ARC" "LINE" "LWPOLYLINE"))
  9.                  (alert "Invalid object!")
  10.              ) ;_ or
  11.              (vl-cmdf "_.fillet" e1 e2)
  12.              (if (zerop (getvar 'peditaccept))
  13.                (vl-cmdf "_.pedit" "_m" (ssadd (car e1) (ssadd (car e2))) "" "_y" "_j" "" "")
  14.                (vl-cmdf "_.pedit" "_m" (ssadd (car e1) (ssadd (car e2))) "" "_j" "" "")
  15.              ) ;_ if
  16.         ) ;_ and
  17. ) ;_ while
  18. (princ)
  19. ) ;_ defun
回复

使用道具 举报

1

主题

8

帖子

7

银币

初来乍到

Rank: 1

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

使用道具 举报

22

主题

272

帖子

254

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
111
发表于 2022-7-5 19:00:29 | 显示全部楼层
试试这个:
http://www.nyacad.com/NYacadFREE.htm
 
安装并使用ff运行。
除此之外,还有很多其他商品。
除非李突然有了新的想法。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-5 19:02:52 | 显示全部楼层
不客气。它按你的要求做。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 19:06:10 | 显示全部楼层
您可以在所有直线上绘制一条直线,然后计算每条交叉线的交点,并根据从起点到新点的直线长度进行排序。
 
然后它只是圆角pt1 pt2,pt1=pt2,新的pt2,圆角pt1 pt2等
 
我这样做是为了房屋平面图墙的自动尺寸标注。对不起,代码是版权所有的,但如果可能的话可以提供帮助。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-12 13:26 , Processed in 0.819653 second(s), 74 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表