iCAx开思网

标题: 有谁能详细介绍一下CATIA二次开发的方法 [打印本页]

作者: shinanda    时间: 2005-8-30 09:36
标题: 有谁能详细介绍一下CATIA二次开发的方法
各位高手,小弟想做一个CATIA二次开发的东东?不知从何下手,希望有牛人详细指点一下。不胜感激
作者: dreambzy    时间: 2005-9-18 15:12
我也想知道阿。谢谢给我高手给点建议。
        要是有相关的资料就更加感激拉/
作者: cms_nuaa    时间: 2005-9-18 15:32
这个题目也太大了点~~
能不能把范围缩小一点?呵呵。
作者: dreambzy    时间: 2005-9-18 19:53
我以前用VBA做过AutoCAD的,所以现在想了解怎么用VBA对CATIA进行开发。
同时,我现在在学习C#,在C#中引用com的时候,CATIA的有太多啦,不知道应该引用哪一个?

当然,我不局限在这两个里边,其他的我一样感兴趣,只要他可以实现我想要的功能就好。呵呵。

谢谢各位高手啦。
作者: zhaoyakun    时间: 2009-4-13 20:36
用VB做的简单的宏  这个也属于二次开发
Language="VBSCRIPT"

Sub CATMain()


Set partDocument1 = CATIA.ActiveDocument

Set selection1 = partDocument1.Selection

selection1.Clear

Set part1 = partDocument1.Part

Set hybridBodies1 = part1.HybridBodies



Set OBlines = hybridBodies1.Item("input")       'input document

Set OBarranged = hybridBodies1.Item("arranged lines")   'output document


For i = 1 To OBlines.HybridShapes.Count

Set hybridShapeCurveExpliciti = OBlines.HybridShapes.Item(i)

selection1.Add hybridShapeCurveExpliciti

Next

selection1.Copy





Set partDocument1 = CATIA.ActiveDocument

Set selection2 = partDocument1.Selection

selection2.Clear

Set hybridBodies1 = part1.HybridBodies

Set hybridBody1 = hybridBodies1.Item("arranged lines")

selection2.Add hybridBody1

selection2.Paste

End Sub


该宏是将("input") 中的东西复制,然后粘贴到("arranged lines")
作者: zhaoyakun    时间: 2009-4-13 20:50
帮忙看看这个程序,好像是a数组和b数组的数据类型不对。我编的这个宏是想实现存放在input中的线(弧线,直线等) 按照一定的方向排列(原先的线是乱序排列的,创造线时顺序不一样)。具体思想是先找到每条线的中点,根据中点的坐标值进行冒泡排序,并且这些线也会重新排列。其中总是出现错误错误是
object doesn't support this property or method :“a”   “b“

Sub stripelinearray()

Dim a(500)   ' a(500) lines   b(500) middle point  c(500)array lines
Dim b(500)
Dim c(500)
Dim i, j
Dim temp
Dim temp1, temp2
Dim tab7(3)


'=====================================



'=====================================
Set partDocument1 = CATIA.ActiveDocument

Set part1 = partDocument1.Part

Set hybridShapeFactory1 = part1.HybridShapeFactory

Set hybridBodies1 = part1.HybridBodies


Set OBlines = hybridBodies1.Item("input")       'input document

Set OBmiddle = hybridBodies1.Item("middle")

Set OBarranged = hybridBodies1.Item("arranged lines") 'output document


For i = 1 To OBlines.HybridShapes.Count





Set a(i) = OBlines.HybridShapes.Item(i)       '====load curves
Set b(i) = OBmiddle.HybridShapes.Item(i)      '====load curves' middle points
  Set pointInit1 = b(i)
  pointInit1.GetCoordinates (tab7)



c(i) = tab7(2)                           '====lines middle point's coordinate x value

                 '============make a relation between lines and point's x coordinate in structure
Next







For i = 0 To OBmiddle.HybridShapes.Count - 2
   For j = i + 1 To OBmiddle.HybridShapes.Count - 1
     If c(j - 1) < c(j) Then
     temp = c(j - 1)
     c(j - 1) = c(j)                              '====sort lines' direction by x value
     c(j) = temp
     
     temp1 = b(j - 1)
     b(j - 1) = b(j)                          '====sort lines' direction by x value
     b(j) = temp1
     
    temp2 = a(j - 1)
     a(j - 1) = a(j)                          '====sort lines' direction by x value
     a(j) = temp2
     End If
   Next
Next





Set partDocument1 = CATIA.ActiveDocument

Set selection1 = partDocument1.Selection

selection1.Clear

Set part1 = partDocument1.Part

Set hybridBodies1 = part1.HybridBodies

For i = 1 To OBlines.HybridShapes.Count     '==============COPY AND PASTE


Set hybridShapeCurveExpliciti = a(i - 1)

selection1.Add hybridShapeCurveExpliciti

Next

selection1.Copy



Set partDocument1 = CATIA.ActiveDocument

Set selection2 = partDocument1.Selection

selection2.Clear

Set hybridBodies1 = part1.HybridBodies

Set hybridBody1 = hybridBodies1.Item("arranged lines")

selection2.Add hybridBody1

selection2.Paste








End Sub
作者: weiminxiaohai    时间: 2009-5-19 16:55
太难了,搞不懂啊
作者: fuyao10    时间: 2009-6-26 16:20
很难很深奥  学习




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3