乐筑天下

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

[编程交流] 舱口顶部的挡块

[复制链接]

57

主题

183

帖子

126

银币

后起之秀

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

铜币
285
发表于 2022-7-6 05:30:15 | 显示全部楼层 |阅读模式
知道舱口上方是否有障碍物的最简单方法是什么
 
我有以下代码
 
  1.            (setq selec33 (ssget "_WP" lis_coords
  2.            (list
  3.                        (cons 0  "HATCH")
  4.                        (cons 8  "H1,H2,H3")
  5.           )
  6.           )
  7.           )
  8.           (setq b 0)
  9.           (if (not (equal  selec33 nil))
  10.           (progn
  11.                (repeat (sslength selec33)
  12.                (setq entblk33 (ssname selec33 b))     
  13.                (setq lis_ent33x (entget entblk33))     
  14.                (setq nomeblk33 (cdr(assoc 8 (entget entblk33))))
  15.                (setq valor_hatch (vla-get-area (vlax-ename->vla-object entblk33)))
  16. ..................
  17.            (So far the code works, I got the hatch)
  18. ..................
  19.            (NEW!   I need to check if there is a block on this hatch , the block name is TESTER. If it is over this hatch sending an alert and continue code)
  20. ..................
  21.                 (setq b (+ b 1))
  22.    )
  23.   ))
回复

使用道具 举报

57

主题

183

帖子

126

银币

后起之秀

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

铜币
285
发表于 2022-7-6 06:27:49 | 显示全部楼层
063019joiovi1y1if3airv.jpg
 
图像示例(图案填充绿色上的块)
回复

使用道具 举报

GP_

8

主题

248

帖子

245

银币

初来乍到

Rank: 1

铜币
42
发表于 2022-7-6 06:57:37 | 显示全部楼层
对于仅包含线段的图案填充边界,请尝试此操作。
 
  1.     (setq EL (entlast))            
  2.    (vl-cmdf "_-hatchedit" entblk33 "_B" "_P" "_N")
  3.    (if (/= EL (entlast) (setq bnd (entlast)))
  4.        (progn
  5.            (mapcar
  6.                '(lambda (x)
  7.                     (if (eq (car x) 10)
  8.                         (setq Lv (cons (list (cadr x) (caddr x)) Lv))
  9.                     )
  10.                 )
  11.                (entget bnd)
  12.            )
  13.            (entdel bnd)
  14.            (if
  15.                (or
  16.                    (ssget "_F" Lv (list '(0 . "INSERT")(cons 2 "TESTER")))
  17.                    (ssget "_WP" Lv (list '(0 . "INSERT")(cons 2 "TESTER")))
  18.                )
  19.                (alert "The block TESTER is on the hatch.")
  20.            )
  21.        )
  22.    )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 18:46 , Processed in 0.506125 second(s), 60 queries .

© 2020-2025 乐筑天下

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