找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 724|回复: 1

[每日一码] 填充实体边界(LOOP)的拓扑关系的确定(一)

[复制链接]

已领礼包: 145个

财富等级: 日进斗金

发表于 2017-3-7 19:17:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
填充环拓扑.gif


下面代码演示了XDRX API 得到填充实体的边界LOOP拓扑关系的过程,
1、拾取填充
2、在一个边界附近拾取测试点
3、该边界实体品红色显示,该边界内部的所有LOOP黄色显示

  1. (defun c:tt ()
  2.   (if (and (setq e (xdrx_entsel "\n拾取填充<退出>:" '((0 . "HATCH"))))
  3.            (xdrx_pickset_redraw e)
  4.            (setq p (getpoint "\n在填充环附近点一点<退出>:"))
  5.       )
  6.     (progn
  7.       (xdrx_begin)
  8.       (setq mp (xdrx_hatch->mpolygon e)
  9.             mp (entlast)


  10.       )
  11.       (if (and (setq closestLoop
  12.                       (xdrx_getpropertyvalue mp "ClosestLoopTo" p)
  13.                )
  14.                (setq childLoops
  15.                       (xdrx_getpropertyvalue
  16.                         mp
  17.                         "childloops"
  18.                         closestloop
  19.                       )
  20.                )
  21.           )
  22.         (progn
  23.           (setq loopdata (xdrx_getpropertyvalue mp "MPolygonLoopAt" closestloop))
  24.           (xdrx_polyline_make loopdata)
  25.           (xdrx_setpropertyvalue (entlast) "constantwidth" 20.0 "color" 6)
  26.           (setq i -1)
  27.           (mapcar '(lambda (x)
  28.                      (setq loopdata (xdrx_getpropertyvalue
  29.                                       mp
  30.                                       "MPolygonLoopAt"
  31.                                       x
  32.                                     )
  33.                      )
  34.                      (xdrx_polyline_make loopdata)
  35.                      (xdrx_setpropertyvalue
  36.                        (entlast)
  37.                        "constantwidth"
  38.                        20.0
  39.                        "color"
  40.                        2
  41.                      )
  42.                    )
  43.                   childloops
  44.           )
  45.         )
  46.       )
  47.       (xdrx_entity_delete mp)
  48.       (xdrx_pickset_redraw e t)
  49.       (xdrx_end)
  50.     )
  51.   )
  52.   (princ)
  53. )


论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 769个

财富等级: 财运亨通

发表于 2017-3-8 15:58:05 | 显示全部楼层
回的人少,我来小顶一下
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-18 12:55 , Processed in 0.341130 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表