直接复制代码
# 分解明细表,已在明细表创建中调用
def split_bom_name(block_name):
# 获取 GStarCAD 应用程序实例
acad = win32com.client.Dispatch("自己的cad")
acad.Visible = True # 显示 GStarCAD 窗口
# 获取活动文档
doc = acad.ActiveDocument
model_space = doc.ModelSpace
# 遍历模型空间中的所有对象
for obj in model_space:
# 检查对象是否为块参照
if obj.ObjectName == "AcDbBlockReference" and obj.EffectiveName == block_name:
# 调用 Explode 方法分解块
obj.Explode()
# print(f"块 {block_name} 已成功分解!")
break
else:
print(f"未找到名为 {block_name} 的块引用!")