ScrewHole2 是 ScrewHole 的弯曲型材适配版。两者功能相似(在型材立柱上生成螺钉过孔+工艺孔),但定位方式不同:
| 方面 | ScrewHole(直线版) | ScrewHole2(弯曲版) |
|---|---|---|
| 定位方式 | 点投影到 Brep | 扫掠面 + CurveBrep 求交 |
| 第3个输入 | 投影向量 (V) — 指定投影方向 | 基线 (C) — 弯曲型材的截面轨迹曲线 |
| 适用场景 | 直面型材立柱 | 弯曲型材立柱("适应横向弯曲") |
| 切线计算 | 直接用输入向量 V | 从 CurveBrep 交点在基线上求切线方向 |
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| 螺钉基点 (P) | Point | 必需 | 型材位置的螺钉基点(默认隐藏)。 |
| 基点转换 (X) | Transform | 必需 | 转换矩阵(默认隐藏),将基点映射到世界坐标。 |
| 基线 (C) | Curve | 必需 | 弯曲型材的截面轨迹曲线(默认隐藏),用于定位孔在弯曲表面上的位置。 |
| 投影面 (B) | Brep | 必需 | 螺钉定位参考面(默认隐藏),用于 CurveBrep 求交确定最终孔位。 |
| 半径 (R) | Number | 可选 | 手动半径,覆盖规格查表。连接后仅输出过孔。 |
| 孔长度表 (D) | Number | 可选 | 3个数字列表,默认 [-150, 130, 150]。 |
| 圆孔长度 (L) | Number | 可选 | 手动模式下的圆孔长度(默认 40)。 |
| 名称 | 类型 | 说明 |
|---|---|---|
| 过孔 (Via Hole) (VH) | Brep | 螺钉过孔段。使用 GKR/2 半径。 |
| 工艺孔 (Process Hole) (PH) | Brep | 加工工艺孔段。使用 GYKR/2 半径。手动半径模式不输出。 |
G 到 基线的起点 创建连接线段Brep.CreateFromSweep(C, line.ToNurbsCurve(), false, 0.01) 沿基线 C 扫掠得到辅助面Intersection.CurveBrep(mergedEdges, B, 0.01, out curves, out points),获取交点在参考面上的位置与 ScrewHole 直接使用输入向量 V 不同,ScrewHole2 使用基线上交点处的切线方向作为孔道的轴向:
curve1.TangentAt(tempt) 获取该点的切线向量 V与 ScrewHole 完全相同:按 Len 三段偏移 → 构造两条线 → CreatePipe 生成管体 → HoleInfo 附着。
CurveBrep 返回空点集,组件报错并中止。| 名称 | 单元体螺钉孔_弯曲适配 |
| 英文名 | 螺钉孔 (ScrewHole2) |
| 分类 | LK → Hole |
| 基类 | RighrClick_ButtonComponent + IGH_VariableParameterComponent |
| 特色 | 扫掠面+求交定位、弯曲适配、按钮(正向/反向)、动态参数 |
| GUID | {ECA30629-1191-4837-87A7-CECAB2412583} |
更新日期:2026-06-29