c# solidworks 工程图获得展开视图不在固定面螺纹特征的位置

body 上扫到圆边后,对邻面调 GetFeature(),只接受 HoleWzd/AdvHole 且在 candidates 里的;普通 Cut 直接跳过。这比纯半径可靠,也比特征面直接投影更贴近展开几何。

有相关讨论,但没有一条帖子完全对应咱们这个问题 (展开 FlatPattern body 上 Face.GetFeature() 回 FlatPattern、孔边归属 HoleWzd、工程图平板型式视图自动标螺纹孔)。

下面按「最接近 → 可参考 API 路径」整理。


1. 官方论坛:孔 ↔ 特征关联本身就难

Hole Callout Check(2018)

John Alexander 写宏检查「零件里每个孔是否在工程图上有孔标注」,原话:

I had to do some shenanigans in order to collect my list of hole features and associate the hole callouts with their respective HoleWizardFeatures.

也就是说:SW 没有直接 API 把工程图孔标注/圆边一键绑回 HoleWzd,大家都得绕路------和你们现在的处境一致。

Counting Hole Instances(2018)

Feature.GetFaces() 扫 HoleWzd 会漏掉线性阵列/镜像生成的孔,说明从特征面反查实例本身就不完整


2. 官方论坛:平板型式 + 孔向导几何不一致

Flat pattern is incorrect when hole wizard is applied...(2017)

折叠态/展开态对孔的处理不一致,展开图孔形和 HoleWzd 特征不一定一一对应;帖子里提到图上的孔标注是对的,但展开几何表现异常 ------侧面说明:不能假设 HoleWzd 特征面 = 展开 body 上的边


3. 官方论坛:平板型式自动标注(但不针对螺纹孔)

Macro to dimension flat pattern

Add Dimension on Flat Pattern

讨论的是 bounding box、折弯线、坐标尺寸等,**没有「从 body 边反查 HoleWzd / GetFeature 归属」**这类内容。


4. 官方 API 索引帖(论坛里的宏合集)

论坛 Macro 搜索索引 里列了这些官方示例,比零散帖子更有用:

主题 相关性
How to access Hole Wizard feature from Hole-callout in a drawing? 孔标注 ↔ HoleWzd(反向)
How to access information about a hole generated by the Hole Wizard IWizardHoleFeatureData2
SheetMetal: Using Multi-Body Flat Patterns In a Drawing 多 body 展开图
Get Corresponding Entities Between Parts and Views 折叠/展开/视图实体对应

5. 第三方社区(比论坛更贴 API 实现)

Selecting Edges and Faces Associated with a Hole Feature(2026,SolidWorks API Forum / CAD Overflow)

结论:不能指望选中孔特征就拿到所有边 ;应走 IFeature.GetFaces + IWizardHoleFeatureData2.GetSketchPoints(),而不是从 body 边反查。

Entities and GetCorresponding (CadBooster)

钣金有折叠/展开两套配置,edge/face 对象在不同配置/视图下不是同一个指针 ,要用 GetCorresponding / GetCorresponding2 映射------这解释了你们「特征边 3D 和可见边对不上」的现象。

Find specific edge in drawing view (CodeStack)

工程图自动化标准套路:零件里定位 edge → GetCorresponding 到视图空间 → 再标注

On sheet metal unfolding Part 13: hole mapping(Analysis Situs 技术博客)

讲得很直白:展开后「哪个轮廓对应哪个孔」不是天然给的 ,要靠修改历史/特征链 做 mapping------和你们用 body.GetFeatures() + HoleWzd 语义、展开几何分离的思路一致。


6. 论坛里几乎没人讨论的点(正是你们踩的坑)

问题 论坛情况
展开 body 上 Face.GetFeature() 返回 FlatPattern 而非 HoleWzd 没找到专门帖子
平板型式视图 GetVisibleEntities 的边 vs 模型边 3D 不一致 散落在 GetCorresponding 类文章里
多个同半径非攻牙孔 vs 螺纹孔区分 没有成熟方案帖

结论

  • SW 论坛有讨论「孔特征 ↔ 几何 ↔ 工程图标注」难关联 ,尤其是 218874 Hole Callout Check 和孔向导 API 示例索引。
  • 没有 找到一篇帖子完整描述「FlatPattern body + GetFeature 失效 + 平板型式自动标 M5」------这属于 API 边界问题,社区常见做法是:
    1. 语义从 HoleWzd 特征树取IWizardHoleFeatureData2、特征名 M5)
    2. 几何从展开配置 body / 可见边取
    3. 用 GetCorresponding 或图纸 XY 拼起来(CodeStack / CadBooster 路线)

你们现在的分层方案(特征认孔 + FlatPattern body 找边 + 图纸匹配)和论坛/博客里的共识一致;上一版纯靠 GetFeature 标不出来,也和 214328 里「展开几何 ≠ 孔向导特征拓扑」的现象吻合。

相关推荐
qq_8573058191 小时前
python语法
开发语言·python·算法
AI行业学习2 小时前
CC-Switch v3.16.1 官方下载 | 安装配置详细教程【2026.6.10】
java·开发语言·vue.js·python·mysql·eclipse·html
周杰伦的稻香2 小时前
Go + Redis:本地部署高性能图片主色调提取服务
开发语言·redis·golang
吴梓穆2 小时前
Python 语法基础 函数
开发语言·python
不负岁月无痕2 小时前
C++ 模板核心内容与高频面试题汇总
java·开发语言·c++
Kobebryant-Manba2 小时前
学习文本处理
开发语言·python
H178535090963 小时前
SolidWorks_基于草图的实体特征11_特征范围管理
3d建模·solidworks
福大大架构师每日一题3 小时前
2026年6月TIOBE编程语言排行榜,Go语言排名第13,Rust语言排名12。关于Rust已进入平台期的报道似乎为时过早。
开发语言·golang·rust
无限进步_3 小时前
从零实现一个迷你Shell——深入理解Linux命令行解释器
linux·运维·服务器·开发语言·c++·chrome