【CATIA的二次开发07】草图编辑器对象结构及应用
草图编辑器(SketchEditor)是用于创建和编辑2D草图的核心对象。其对象结构遵循CATIA的层级关系,以下是详细说明及代码示例:
一、核心对象结构图
Application
│
└─ Documents
│
└─ Document (.CATPart)
│
└─ Part
│
└─ Sketches (集合对象)
│
└─ Sketch (单个草图)
│
├─ SketchEditor (编辑入口)
│ │
│ ├─ Factory2D (几何创建工厂)
│ │ ├─ CreateLine(x1, y1, x2, y2) → Line2D
│ │ ├─ CreateCircle(x, y, r) → Circle2D
│ │ └─ CreateConstraint(...) → Constraint
│ │
│ └─ GeometricElements (几何元素集合)
│ ├─ Line2D
│ ├─ Circle2D
│ └─ ...
│
└─ 草图属性
├─ Name (草图名称, 如"Sketch.1")
├─ Plane (草图平面参考)
└─ Constraints (约束集合)
Sketcher Object Model Map
Sketch Object
二、关键对象说明
1、SketchEditor
- 作用: 草图的编辑入口,所有几何操作需在此模式下进行。
- 必须通过Sketch.OpenEdition()显式进入编辑模式。
- 属性
属性 |
类型/返回值 |
说明 |
Factory2D |
Factory2D |
2D几何和约束的创建工具 |
GeometricElements |
GeometricElements |
当前草图中的几何元素集合 |
ShowConstraints |
Boolean |
设置是否显示约束(True/False) |
方法 |
类型/返回值 |
说明 |
CreateLine(x1, y1, x2, y2) |
→ Line2D |
创建线段(起点和终点坐标) |
CreateCircle(x, y, radius) |
→ Circle2D |
创建圆(圆心坐标和半径) |
CreatePoint(x, y) |
→ Point2D |
创建点 |
CreateRectangle(x1, y1, x2, y2) |
→ 矩形边集合 |
创建矩形(对角坐标) |
Dim editor As SketchEditor
Set editor = sketch.OpenEdition() ' 必须显式打开编辑模式
2、Sketches集合
- 作用: 管理零件(Part)中的所有草图(Sketch),支持创建、访问和删除草图。
- 通过Part.Sketches.Add(Plane)创建新草图。
- 支持通过名称或索引访问:
sketch = part.Sketches.Item("Sketch.1")
。
- 属性
属性 |
类型/返回值 |
说明 |
Count |
Long |
返回当前零件中草图的数量(例如:part.Sketches.Count) |
Item(index) |
Sketch |
通过索引或名称获取草图(索引从1开始)。例如:part.Sketches.Item(1) 或 part.Sketches.Item(“Sketch.1”) |
方法 |
参数/返回值 |
说明 |
Add(Plane) |
→ Sketch |
在指定平面上创建新草图,返回 Sketch 对象。参数为平面参考(Reference) |
Item(index/name) |
→ Sketch |
通过索引(整数)或名称(字符串)访问草图 |
Remove(index/name) |
无 |
删 |