会员登录 立即注册

搜索

[CATIA VBA] CATIA的VBA二次开发测量

[复制链接]
CATIA正版多少钱 发表于 2019-12-18 14:11:46 | 显示全部楼层 |阅读模式
CATIA正版多少钱
2019-12-18 14:11:46 3160 0 看全部
  CATIA的VBA二次开发测量

  初次接触CATIA,走了好多弯路,由于会使用CATIA VB,所以上来就写代码,然后发现方向不对,又回过头来看catia的特性结构和相关实例。

  这里建议CATIA二次开发的初学者们参考CATIA v5文档和CATIA二次开发技术基础这本书。

  接下来介绍一下,结构图如下(从自带的文档中截取的):
9829f005451a4fd7edd1d0c626a0d06a.jpg

  首先获得Application
  Set CATIA=GetObject(,"CATIA.Application")
  或者创建一个
  Set CATIA=CreateObject("CATIA.Appliaction")
  然后就可以由Application获取document了

  '判断是不是零件文档
  Function IsPartDocument(ByVal pDoc As Document)As Boolean
  If(UCase(TypeName(pDoc))="PARTDOCUMENT")Then
  IsPartDocument=True
  Else
  IsPartDocument=False
  End If
  End Function

  '判断是不是产品文档
  Function IsProductDocument(ByVal pDoc As Document)As Boolean
  If(UCase(TypeName(pDoc))="PRODUCTDOCUMENT")Then
  IsProductDocument=True
  Else
  IsProductDocument=False
  End If
  End Function

  获取某一个product的原点的旋转矩阵和偏移向量
  dim base(11)
  product1.Position.GetComponents(base)

  这里说一下,base(0)-base(8)是该产品在当前工作台中的旋转矩阵,base(9)-base(11)是该产品的坐标原点的偏移向量。
  在catia的装配体中,是以第一个零件的坐标系作为装配体的坐标系的,我把它理解为世界坐标系。

  获取点的偏移向量
  dim ps(2)
  Set mMeasurable=rootWorkBench.GetMeasurable(ref1)
  mMeasurable.GetPoint(ps)
  这里ps获得偏移向量是相对于世界坐标系的偏移向量。

  于是有下图:
  世界坐标系原点为O,基准坐标系原点为B,所计算的零件重心点坐标为P
  根据向量关系有:BP=OP-OB

  获得MP向量后,根据基准面相对于世界坐标系的旋转矩阵,进行投影,也就是与矩阵进行相乘即可。
  Function CalcMatrix(ByRef base()As Double,ByRef part()As Double,ByRef pt()As Double)As Double()
  Dim ret(2)As Double
  Dim p(2)As Double
  Dim i As Integer

  '世界坐标下的向量bp(基准坐标原点到重心点的向量)
  p(0)=pt(0)-base(9)
  p(1)=pt(1)-base(10)
  p(2)=pt(2)-base(11)

  '根据旋转矩阵,将向量进行投影转换
  For i=0 To 2
  ret(0+i)=p(0)*base(0+3*i)+p(1)*base(1+3*i)+p(2)*base(2+3*i)
  Next
  Debug.Print(ret(0)&""&ret(1)&""&ret(2))
  CalcMatrix=ret
  End Function

  到此,就获得了CATIA各个零件的重心点到各个基准面的距离了,且带有正负方向。
  • 您可能感兴趣

查看:3160 | 回复:0

  • CATIA标注文字链接参数

      CATIA标注文字链接参数   随意创建一个实体,如下:   新建一个标注,如下,

    阅读:241|2020-10-09
  •   CATIA工程图转AUTO CAD设置详解   汽车设计行业相比其他行业来说待遇要好上许多

    阅读:189|2020-10-09
  •   CATIA转化IGS格式   IGS格式文件,对于使用3D设计软件工作的筒子们,应该不陌生

    阅读:166|2020-10-09
  •   CATIA转化STL格式   关于STL格式的介绍,请参考百度百科,在此不做赘述。   

    阅读:146|2020-10-09
  •   CATIA快捷键无法设置?也许你需要进入CATIA管理模式   随着对软件的熟悉程度不

    阅读:177|2020-10-09
  •   CATIA 3D产品爆炸图制作实例   今天给大家分享如何在CATIA工程图中创建下面的爆

    阅读:173|2020-10-09
  •   catia软件零基础快速入门,手柄实例带你了解整套建模流程。   创建复杂的模型

    阅读:166|2020-10-09
  •   CATIA有限元官方教程   汽车设计行业相比其他行业来说待遇要好上许多,在当前就

    阅读:127|2020-10-09
  •   小狼聊CATIA二维图 故事背景   小编读书那个年代,学校里教的画二维图的软件是A

    阅读:308|2020-09-23
  •   阀门上面的代号表示什么,看完懂了!   阀门是用来开闭管路、控制流向、调节和

    阅读:259|2020-09-23
CATIA下载| CATIA安装| CATIA教程| CATIA视频教程| CATIA二次开发| CATIA入门教程| CATIA V5教程| CATIA V6教程| CATIA吧| CATIA论坛
联系电话:18982019507 地址:成都市青羊区二环路西一段155号天祥广场4栋1801 ICP备案号: ( 蜀ICP备14018086号 )
Copyright © 20017-2020 CATIA论坛 All Rights Reserved.  
快速回复 返回顶部 返回列表