如何通过代码获取Sketch所依附的Reference plane并创建同平面Sketch
获取Sketch承载对象并创建同载体新Sketch
假设你使用的是Autodesk Fusion 360 API,以下是具体实现方案:
1. 获取目标Sketch的承载对象
通过Sketch对象的sketchPlane属性可直接获取其依附的平面/曲面载体,代码示例如下:
import adsk.core, adsk.fusion, traceback def get_sketch_carrier(sketch: adsk.fusion.Sketch): # 获取Sketch的承载平面/曲面 carrier = sketch.sketchPlane # 按需区分平面和曲面类型 if carrier.isPlane: carrier_plane = carrier.plane # 可进一步获取平面原点、法向等参数 elif carrier.isBRepFace: carrier_face = carrier.face # 可获取曲面几何信息用于后续处理 return carrier
2. 在同一载体上创建新Sketch
拿到承载对象后,直接传入SketchCollection.add()方法即可创建同载体的新Sketch:
def create_sketch_on_same_carrier(carrier: adsk.fusion.SketchPlane, component: adsk.fusion.Component): # 创建新Sketch new_sketch = component.sketches.add(carrier) # 可继续对新Sketch进行编辑,比如绘制几何图形 return new_sketch
注意事项
- 若Sketch基于构造几何平面创建,
sketchPlane返回构造平面;若基于实体表面创建,返回对应BRepFace的SketchPlane包装对象 - 调用API时需确保处于正确的设计上下文(如激活的组件环境)
内容的提问来源于stack exchange,提问作者tls
相关产品推荐
相关产品推荐

