马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
下面代码演示了XDRX API 得到填充实体的边界LOOP拓扑关系的过程,
1、拾取填充
2、在一个边界附近拾取测试点
3、该边界实体品红色显示,该边界内部的所有LOOP黄色显示
 - (defun c:tt ()
- (if (and (setq e (xdrx_entsel "\n拾取填充<退出>:" '((0 . "HATCH"))))
- (xdrx_pickset_redraw e)
- (setq p (getpoint "\n在填充环附近点一点<退出>:"))
- )
- (progn
- (xdrx_begin)
- (setq mp (xdrx_hatch->mpolygon e)
- mp (entlast)
- )
- (if (and (setq closestLoop
- (xdrx_getpropertyvalue mp "ClosestLoopTo" p)
- )
- (setq childLoops
- (xdrx_getpropertyvalue
- mp
- "childloops"
- closestloop
- )
- )
- )
- (progn
- (setq loopdata (xdrx_getpropertyvalue mp "MPolygonLoopAt" closestloop))
- (xdrx_polyline_make loopdata)
- (xdrx_setpropertyvalue (entlast) "constantwidth" 20.0 "color" 6)
- (setq i -1)
- (mapcar '(lambda (x)
- (setq loopdata (xdrx_getpropertyvalue
- mp
- "MPolygonLoopAt"
- x
- )
- )
- (xdrx_polyline_make loopdata)
- (xdrx_setpropertyvalue
- (entlast)
- "constantwidth"
- 20.0
- "color"
- 2
- )
- )
- childloops
- )
- )
- )
- (xdrx_entity_delete mp)
- (xdrx_pickset_redraw e t)
- (xdrx_end)
- )
- )
- (princ)
- )
|