源码来自Lee mac,仅做一些小修改
用法:
 - ;填充和区域覆盖置底
- (K:SendToBack BlkNam (list "AcDbHatch" "AcDbWipeout"))
 - (defun K:SendToBack (BlkNam TypNam / LM:SortentsTable obj objLst)
- ;重新排序的空间
- (defun LM:SortentsTable (space / dict result)
- (cond
- ((not
- (vl-catch-all-error-p
- (setq result (vl-catch-all-apply
- 'vla-item
- (list (setq dict (vla-GetExtensionDictionary space)) "ACAD_SORTENTS")
- )
- )
- )
- )
- result
- )
- ((vla-AddObject dict "ACAD_SORTENTS" "AcDbSortentsTable"))
- )
- )
- (vlax-for obj (vla-item (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))) BlkNam)
- (if (member (vla-get-objectname obj) TypNam)
- (setq objLst (cons obj objLst))
- )
- );收集目标对象
- (if objLst
- (vla-movetobottom
- (LM:SortentsTable (vla-item (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))) BlkNam))
- (vlax-make-variant
- (vlax-safearray-fill
- (vlax-make-safearray vlax-vbobject (cons 0 (1- (length objLst))))
- objLst
- )
- )
- )
- );置底
- )
|