立即注册 登录
晓东CAD家园-论坛 返回首页

eachy的个人空间 http://bbs.xdcad.net/?14 [收藏] [复制] [分享] [RSS]

日志

调整实体显示顺序

热度 2已有 1257 次阅读2013-5-5 19:01 |个人分类:Lisp

调整实体显示顺序

VxSetDrawOrder - Changes draw order of object(s) by given method

;
; -- Function VxSetDrawOrder
; Changes draw order of object(s) by given method.
; Copyright:
; ©2004 MENZI ENGINEERING GmbH, Switzerland
; Arguments [Type]:
; Obl = Object list [LIST]
; Tob = Target object [VLA-OBJECT] *)
; or nil
; Mde = Draw order method [SYMBOL]
; Methods:
; - 'MoveToTop
; - 'MoveToBottom
; - 'MoveAbove
; - 'MoveBelow
; Return [Type]:
; - True = VxSetDrawOrder succeed [BOOLEAN]
; - False = VxSetDrawOrder failed [BOOLEAN]
; Notes:
; *) Draw order methods 'MoveAbove and 'MoveBelow require
; a target object (Tob) as target of the draw order.
; - AutoCAD 2k5+ only (Bug? <2k5 missing class 'AcDbSortentsTable')
;
(defun VxSetDrawOrder (Obl Tob Mde / ExtDic SreTbl)
(or Gb:AcO (setq Gb:AcO (vlax-get-acad-object)))
(or Gb:AcD (setq Gb:AcD (vla-get-ActiveDocument Gb:AcO)))
(setq ExtDic (vla-GetExtensionDictionary (vla-get-ModelSpace Gb:AcD)))
(if (vl-catch-all-error-p
(setq SreTbl (vl-catch-all-apply
'vla-Item (list ExtDic "ACAD_SORTENTS")
)
)
)
(setq SreTbl (vla-AddObject ExtDic "ACAD_SORTENTS" "AcDbSortentsTable"))
)
(cond
((vl-position Mde '(MoveToTop MoveToBottom))
(not (vlax-Invoke SreTbl Mde Obl))
)
(Tob
(not (vlax-Invoke SreTbl Mde Obl Tob))
)
)
)
1

路过

雷人

握手
1

鲜花

鸡蛋

刚表态过的朋友 (2 人)

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

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

GMT+8, 2025-12-13 14:34 , Processed in 0.260794 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

返回顶部