明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 188|回复: 2

【K:SendToBack】块内目标对象置底

  [复制链接]
发表于 昨天 14:45 | 显示全部楼层 |阅读模式
源码来自Lee mac,仅做一些小修改

用法:
  1. ;填充和区域覆盖置底
  2. (K:SendToBack BlkNam (list "AcDbHatch" "AcDbWipeout"))

  1. (defun K:SendToBack (BlkNam TypNam / LM:SortentsTable obj objLst)
  2.     ;重新排序的空间
  3.     (defun LM:SortentsTable (space / dict result)
  4.       (cond
  5.         ((not
  6.           (vl-catch-all-error-p
  7.             (setq result (vl-catch-all-apply
  8.                             'vla-item
  9.                             (list (setq dict (vla-GetExtensionDictionary space)) "ACAD_SORTENTS")
  10.                           )
  11.             )
  12.           )
  13.         )
  14.         result
  15.         )
  16.         ((vla-AddObject dict "ACAD_SORTENTS" "AcDbSortentsTable"))
  17.       )
  18.     )
  19.     (vlax-for obj (vla-item (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))) BlkNam)
  20.         (if (member (vla-get-objectname obj) TypNam)
  21.             (setq objLst (cons obj objLst))
  22.         )
  23.     );收集目标对象
  24.     (if objLst
  25.         (vla-movetobottom
  26.           (LM:SortentsTable (vla-item (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))) BlkNam))
  27.           (vlax-make-variant
  28.             (vlax-safearray-fill
  29.                 (vlax-make-safearray vlax-vbobject (cons 0 (1- (length objLst))))
  30.                 objLst
  31.             )
  32.           )
  33.       )
  34.     );置底
  35. )

评分

参与人数 1明经币 +1 收起 理由
hi7720 + 1 赞一个!

查看全部评分

回复

使用道具 举报

发表于 昨天 15:05 | 显示全部楼层
感谢大嘴巴苦茶大神
回复 支持 反对

使用道具 举报

 楼主| 发表于 昨天 15:46 | 显示全部楼层
czb203 发表于 2025-8-11 15:05
感谢大嘴巴苦茶大神

回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-8-12 09:29 , Processed in 0.169952 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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