明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 841|回复: 3

[【PyCAD】] PYCAD 一键炸开嵌套块

[复制链接]
发表于 2022-5-4 15:12 | 显示全部楼层 |阅读模式

# -*- coding: utf-8 -*
from pycad.runtime import *
from pycad.system import *

@command()
def deep_ex(doc):
    with dbtrans(doc) as tr:
        btr = tr.opencurrspace()
        def bre_expcoll(obj):
            print(obj)
            dbobjcoll = acdb.DBObjectCollection()
            obj.Explode( dbobjcoll)
            tr.erase(obj)
            return dbobjcoll
        def check(coll):
            for x in coll:
                xid=tr.addentity(btr,x)[0]
                if xid.ObjectClass.DxfName == 'INSERT':
                    check(bre_expcoll(xid.GetObject(acdb.OpenMode.ForWrite)))
        obj_id = edx.entsel("\n选择操作对象").ObjectId
        dxfname = obj_id.ObjectClass.DxfName
        if dxfname == 'INSERT':
            check(bre_expcoll(tr.getobject(obj_id)))





发表于 2022-7-2 09:03 | 显示全部楼层
楼主辛苦,感谢提供!
发表于 2023-11-10 16:24 | 显示全部楼层
测试反馈:嵌套块的子块为属性块时,属性值不是当前值
发表于 2023-11-11 16:42 | 显示全部楼层
oldstone 发表于 2023-11-10 16:24
测试反馈:嵌套块的子块为属性块时,属性值不是当前值

用cad自带的炸开命令也是这样
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-5 00:06 , Processed in 0.278125 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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