乐筑天下

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

[编程交流] 自动修剪和扩展LISP

[复制链接]

12

主题

48

帖子

40

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-5 20:25:55 | 显示全部楼层 |阅读模式
我有一个简单的LISP例程,我用它创建两条线,从中心线偏移,并把它们放在一个特定的层。我希望自动化的一个小问题是,在创建线之后,它们会修剪并延伸到最近的对象。这样可能吗?
 
我已经包括了电流输出和期望输出的屏幕截图。提前谢谢大家!
 
  1. (defun c:MJ8 (/ #Entlast)
  2. (setq #Entlast (entlast))
  3. (command "_.mline" "_st" "Standard" "_s" 0.375 "_j" "_z")
  4. (while (> (getvar 'cmdactive) 0)
  5.    (princ "\nSpecify next point: ")
  6.    (command PAUSE)
  7. ) ;_ while
  8. (and (not (eq #Entlast (entlast)))
  9.       (or (tblsearch "layer" "03-JOINT") (alert "03-JOINT layer does not exist!"))
  10.       (progn
  11.         (command "_.change" (entlast) "" "_p" "_la" "03-JOINT" "")
  12.         (command "_.explode" (entlast))
  13.       ) ;_ progn
  14. ) ;_ and
  15. (princ)
  16. ) ;_ defun

 
212559s6234zjp66okjuhp.jpg
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 22:01:02 | 显示全部楼层
这是一个可能的答案,通过lisp,你可以选择两个cnr点,然后做一个小窗口搜索,找到其他4条线(ssget),现在做两条线,但记住这两条线是对象(entlast),然后使用对象集合进行修剪/延伸。我做了一些自动多圆角,所以我知道该方法应该也适用于修剪,抱歉没有代码。如果其他人不先做,我会看看我是否能抽出时间。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 09:14 , Processed in 0.949836 second(s), 59 queries .

© 2020-2025 乐筑天下

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