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 里「展开几何 ≠ 孔向导特征拓扑」的现象吻合。

相关推荐
小钻风33666 分钟前
Spring Boot 文件上传详解:深入理解 MultipartFile 的使用与原理
java·开发语言
qq_452396231 小时前
第二篇:《Go 开发环境搭建:SDK、IDE、Module 与 Hello World》
开发语言·ide·golang
EIP低代码平台1 小时前
EIP低代码平台系统-字典功能讲解
低代码·c#·工作流
天青色等烟雨..1 小时前
全流程ArcGISPro空间分析、三维建模、可视化及Python融合应用技术
开发语言·python
丰锋ff2 小时前
1.2 Qt常用基础类型
开发语言·qt
冰暮流星2 小时前
javascript之String方法介绍
开发语言·javascript·ecmascript
吉普赛的歌2 小时前
YARP负载均衡配置了多个相同接口导致的报错
c#·yarp
nianniannnn3 小时前
Qt QMessageBox知识点
开发语言·数据库·qt
故乡de云3 小时前
AWS 添加付款方式失败排查清单:卡片、银行风控与账号状态逐项定位
开发语言·php
J_yyy3 小时前
【Qt核心组件类框架】
开发语言·qt