如何用ANSYS ACT Python API(2023R1)基于原点与基矢创建坐标系?
使用ANSYS Workbench 2023R1 ACT API通过原点与基矢创建坐标系
在ANSYS Workbench的ACT API中,确实没有直接传入原点+三个基矢一步创建坐标系的方法,但可以通过分步设置原点与各轴方向向量来实现——本质就是用基矢分别定义X、Y、Z轴的方向。以下是具体实现方案:
核心思路
坐标系的基矢本质是三个正交的方向向量(建议先确保基矢为单位正交向量,避免后续WB自动调整出现偏差),通过API分别设置坐标系的原点、X轴、Y轴、Z轴方向即可完成创建。
代码示例
# 导入ACT内置的点与向量类 from Ansys.ACT.Interfaces.Mesh import Point3D, Vector3D # 获取当前项目中的几何对象(需确保Geometry系统已激活) geo = ExtAPI.DataModel.Project.Model.Geometry # 替换为你实际的原点与基矢数据 origin = Point3D(0.5, 1.2, 2.0) # 原点坐标(x,y,z) x_basis = Vector3D(0.866, 0.5, 0.0) # X轴基矢 y_basis = Vector3D(-0.5, 0.866, 0.0) # Y轴基矢 z_basis = Vector3D(0.0, 0.0, 1.0) # Z轴基矢 # 创建新坐标系 custom_cs = geo.CoordinateSystems.Create() custom_cs.Name = "Basis_Vector_CS" # 绑定原点与各轴方向 custom_cs.Origin = origin custom_cs.XAxis = x_basis custom_cs.YAxis = y_basis custom_cs.ZAxis = z_basis # 刷新几何系统,确认坐标系创建生效 geo.Update()
关键细节
- 若基矢未正交,WB会自动对其做正交化处理,但可能导致最终坐标系与预期偏差,建议提前对基矢做正交归一化。
- 无需同时设置三个轴:比如仅定义X和Y轴,Z轴会自动通过叉乘生成;同理定义X和Z轴也能自动生成Y轴,可根据你的基矢数据灵活选择。
- 如果当前项目中有多个Model,可通过
ExtAPI.DataModel.GetObjectsByType("Model")[0]指定目标Model(索引按需调整)。
内容的提问来源于stack exchange,提问作者jake77
相关产品推荐
相关产品推荐

