在 SolidWorks 中提取边界框(即模型的最小外接长方体尺寸),可通过以下几种方式实现,适用于不同使用场景:一、通过界面操作提取边界框(适用于普通用户)
适用于 SolidWorks 2018 及上面版本,支持零件和装配体:插入边界框
菜单栏点击:插入 → 参考几何体 → 边界框。
在左侧属性管理器中设置参数(如是否包含所有实体、参考平面等),点击 ✓ 确认。
查看尺寸
边界框会显示在模型外部,并在特征树中生成一个“边界框”特征。
尺寸(长、宽、高)会自动写入配置特定的自定义属性中。
调用到工程图或文件属性
在工程图中,可通过注释链接这些属性,例如:$PRPSHEET:"长度"。
文件属性路径:文件 → 属性 → 自定义,切换到“配置特定”选项卡查看
⚠️ 注意:边界框特征可隐藏或压缩,但其生成的尺寸属性仍保留,建议删除旧边界框后重新创建以确保数据最新
二、通过编程提取边界框(适用于二次开发)
1. C 获取装配体边界框
使用 SOLIDWORKS API 的 GetBox() 方法,返回 [Xmin, Ymin, Zmin, Xmax, Ymax, Zmax],单位为米,需转换为毫米:csharp
ModelDoc2 swModel = swApp.ActiveDoc as ModelDoc2;
if (swModel.GetType() != (int)swDocumentTypes_e.swDocASSEMBLY) return;
AssemblyDoc swAssy = swModel as AssemblyDoc;
object box = swAssy.GetBox((int)swBoundingBoxOptions_e.swBoundingBoxIncludeRefPlanes);
double[] boxArray = (double[])box;
double length = (boxArray:ml-citation{ref="3" appearance="aggregated" data="citationList"} - boxArray[0]) * 1000; // 转换为毫米
double width = (boxArray:ml-citation{ref="4" appearance="aggregated" data="citationList"} - boxArray:ml-citation{ref="1" appearance="aggregated" data="citationList"}) * 1000;
double height = (boxArray:ml-citation{ref="5" appearance="aggregated" data="citationList"} - boxArray:ml-citation{ref="2" appearance="aggregated" data="citationList"}) * 1000;
支持选项包括是否包含参考平面等,详见 [CSDN 博客 2026 年 1 月更新]
2. Python 获取零件边界框
使用 win32com.client 连接 SolidWorks,调用 GetBodyBox():python
import win32com.client
import pythoncom
sw_app = win32com.client.Dispatch("SldWorks.Application")
active_doc = sw_app.ActiveDoc
if active_doc.GetType() != 1: 1 表示零件文档
print("当前不是零件文档")
return
bodies = active_doc.GetBodies2(0, False)
first_body = bodies[0]
bbox = first_body.GetBodyBox()
xmin, ymin, zmin, xmax, ymax, zmax = bbox
length = (xmax - xmin) *
width = (ymax - ymin) *
height = (zmax - zmin) *
注意:部分版本需使用 GetPartBox() 替代,且需处理单位转换
三、注意事项
边界框 vs 最小外接矩形:边界框是基于坐标轴对齐的最小外接长方体;若模型倾斜,可能不反映真实最小尺寸。此时可考虑使用“最佳拟合”方向(需手动设置参考平面)
单位问题:API 返回值通常为米,工程中需乘以 1000 转换为毫米
版本兼容性:装配体边界框功能从 SolidWorks 2019 开始稳定支持
如需自动化批量处理,推荐使用 C 或 Python 脚本结合 SOLIDWORKS API;若仅偶尔查看尺寸,直接使用插入 → 边界框即可
武汉格发信息技术有限公司 | 许可分析,许可优化,许可管理,许可授权,软件授权