乐筑天下

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

[编程交流] 关闭门Autolisp

[复制链接]

2

主题

6

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 13:10:03 | 显示全部楼层 |阅读模式
大家好,我想在auto cad中关闭一扇门。基本上我想在弧的中心和起点之间延伸一条线。但基本上,我正在尝试循环绘制一个图形,并对所有门(有很多!)执行此操作。我附上了一张照片,门是紫色的,我试图延伸的部分是蓝色的。如果我能让墙(红色)来做这个扩展,那就更好了。注意:圆弧和连接的紫色线不是一条实心多边形线,而是单独的实体(但它们位于同一层上),而墙(红色)是一个单独的层。
 
谢谢
 
A.
 
141008xcpud6cb4w6nwcxd.png
回复

使用道具 举报

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-5 13:18:29 | 显示全部楼层
如果我是你的话,我已经手动绘制了这条线-我的意思是-你是如何绘制门规格的-你肯定没有在墙开口之间使用自动插入。。。即使你们有门挡——但你们说它是直线和圆弧,你们可能必须根据墙的位置手动将它们定位在正确的方向上。。。所以我的建议-你没有数百万个门需要处理,只要画出那条线,在门的最后冻结层。。。
回复

使用道具 举报

2

主题

6

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 13:21:41 | 显示全部楼层
你好,马克,谢谢你的回复。
 
我实际上没有设计这些图纸,也不是建筑师或土木工程师。我对autocad和autolisp(基本工作熟练度)相当陌生,负责某些事情的自动化。这些线背后的想法是最终创建边界。我设法将我的平面布置图简化为前后平面布置图,并突出了差异。我无法手动绘制这些线的原因是,我不知道最终需要处理多少dwg文件,因此我正在寻找一种通用解决方案。
 
现在,我有三层破碎的墙,并试图通过90度角连接它们。一张图片可能更好地说明了这一点。
 
这就是我希望实现的目标。
 
[编辑:请不要担心文本,我已经删除了它。而且泛黄的圆形对象也不是什么大问题]
 
谢谢
 
A.
 
141010zsiovu52uw0spfs5.png 141012vkawvagvugvho3ik.png
141018m5f4z554biof8m4k.png
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 13:28:06 | 显示全部楼层
同意Marko的观点,如果我画了一扇门,我画了所有的门,包括门框,但我有一个lisp来做,它会问相关的问题,离门的边缘大小有多远,左,右,进/出,都做了。它受版权保护。
 
 
141020k75jxlcmxc0clo8y.jpg
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 13:29:54 | 显示全部楼层
如果门是块,只需将该线条添加到另一层的块定义中即可。别介意,仔细阅读你的帖子。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 13:34:45 | 显示全部楼层
Serach for door lisp我肯定有一些免费的,我的考虑了它插入的墙的智能。
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 13:38:37 | 显示全部楼层
你可以使用带有遮罩的动态块,然后你就不需要打破墙壁。
回复

使用道具 举报

2

主题

6

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 13:42:59 | 显示全部楼层
谢谢大家,我将尝试实施这些解决方案。
 
A.
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 13:48:27 | 显示全部楼层
张贴你的绘图样本,如果你需要代码来清理这些现有的计划,我有一个主意。
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 13:52:08 | 显示全部楼层
尝试关闭由“a\u DOOR\u FULL”层上的直线和圆弧组成的门。。看那张图,我首先推荐一些一致性
  1. (defun c:foo (/ _get b c d s)
  2.   ;; RJP » 2018-10-12
  3.   ;; Closes doors on a common layer that consist of an arc and a line
  4.   (defun _get (e) (list (vlax-curve-getstartpoint e) (vlax-curve-getendpoint e)))
  5.   (cond
  6.     ;; Layer filter below '(8 . "A_DOOR_FULL")'
  7.     ((setq s (ssget "_x" '((0 . "line,arc") (8 . "A_DOOR_FULL"))))
  8.      (foreach a        (vl-remove-if 'listp (mapcar 'cadr (ssnamex s)))
  9.        (if (= "LINE" (cdr (assoc 0 (entget a))))
  10.          (setq b (cons (_get a) b))
  11.          (setq c (cons (_get a) c))
  12.        )
  13.      )
  14.      (foreach p        b
  15.        (cond
  16.          ((setq        d (vl-some '(lambda (x)
  17.                               (if (or (equal (setq e (car p)) (car x) 1e-8)
  18.                                       (equal (setq e (car p)) (cadr x) 1e-8)
  19.                                       (equal (setq e (cadr p)) (car x) 1e-8)
  20.                                       (equal (setq e (cadr p)) (cadr x) 1e-8)
  21.                                   )
  22.                                 x
  23.                               )
  24.                             )
  25.                            c
  26.                   )
  27.           )
  28.           (setq d (vl-remove-if '(lambda (x) (equal e x 1e-8)) (append d p)))
  29.           (entmakex (list '(0 . "LINE") (cons 10 (car d)) (cons 11 (cadr d)) '(8 . "DoorClosed")))
  30.          )
  31.        )
  32.      )
  33.     )
  34.   )
  35.   (princ)
  36. )

141023foyigzbwd7ahgw7w.png
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-15 08:34 , Processed in 2.256652 second(s), 75 queries .

© 2020-2025 乐筑天下

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