许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  【PyCatia】Python实现CATIA装配体的旋转平移

【PyCatia】Python实现CATIA装配体的旋转平移

阅读数 26
点赞 0
article_banner

1. CATIA中的旋转平移操作:

在CATIA中可以用CATIA的Move属性来改变组件的空间位置,其旋转操作平移操作通过长度12的数组来表示,前9个数值组成的3×3的矩阵描述了物体的旋转 信息 ,后三个数值描述了物体的原点位置,用于平移。该数组结构如下所示:
在这里插片描述

   ux,uy,uz描述了u轴在(o, x ,y,z)坐标系中的各个分量(一长度单位投影)。

   vx,vy,vz描述了v轴在(o,x,y,z) 坐标 系中的各个分量(一长度单位投影)。

   wx,wy,wz描述了w轴在(o,x,y,z)坐标系中的各个分量(一长度单位投影)。

   Tx,Ty,Tz描述了T点在(o,x,y,z)坐标系中的位置。

1.1 绕X、Y、Z轴的旋转矩阵:

绕X、Y、Z轴旋转矩阵如下所示,其对应矩阵为:
在这里插入图片描述

1.2 坐标 系统

整个坐标系描述了一个相对于绝对坐标的三维坐标系统(T,u,v,w)。
在这里插入图片描述

2. python的pycatia包实现装配体旋转平移操作:

遍历CATIA中已打开装配体的所有组件,将其整体沿x轴旋转90,并沿x轴正方向平移10mm。

from pycatia import catia
from pycatia.product_structure_interfaces.product_document import ProductDocument
from math import sin, cos, radians


def rotation(arr0, arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8, arr9, arr10, arr11):
    caa = catia()
    documents = caa.active_document  # 激活窗口
    doc_com = ProductDocument(documents.com_object)  # 接口
    product = doc_com.product  # 定义对象
    # 循环查找装配体下所有组件
    for part_ind in range(0, product.products.count):
        part_obj = product.get_child(part_ind)  # 通过索引获取各个product下各个组件
        rotation_obj = part_obj.move.movable_object  # 设置旋转对象
        # 元组赋值进行夹具单元旋转
        rotation_obj.apply(i_transformation_array=(arr0, arr1, arr2, arr3, arr4, arr5, arr6, arr7,
                                                   arr8, arr9, arr10, arr11))  # 元组数据类型输入


if __name__ == '__main__':
    rotation(1, 0, 0, 0, cos(radians(90)), sin(radians(90)), 0, -sin(radians(90)), cos(radians(90)), 10, 0, 0)

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空