视频演示
高清视频链接请打开:https://pan.baidu.com/s/1-DWnfpVMHsQAwDPyzfjETA
1基本概念
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
通过编程来访问CATIA的对象有很多种不同的方法。对于其他程序或脚本来说,CATIA只是一个OLE(Object Linking and Embedding,对象连接和嵌入,简称OLE技术。)自动化自动化对象服务器。任何能访问COM(Component Object Model,对象模型)对象的程序或脚本都能访问CATIA的对象并对其进行操作。本书的例子都是在Windows进程内通过Visual Basic Application(VBA)来访问的。
一般来说, CATIA VBA二次开发学习的重点应该放在编程思路的培养上。编程的熟练程度体现在你对于CATIA 内部API接口的理解程度,而VBA编程的能力反而要求并不高。
2CATIA文档结构

3编程的基本流程

4花色绣球建模思路


5花色绣球编程思路


6客制化API思路
CATIA的绝大多数命令在编程的时候,默认需要写很多重复代码才能正常运行,我们举个例子:CATIA的GSD 的Point命令

CATIA默认的Point命令是这样写的:
Dim initPoint001 As Point, RefinitPoint001 As Reference
Set oPoint = oHSF.AddNewPointCoord(0, 0, 0)
oHBody.AppendHybridShape oPoint
Set refoPoint = oPart.CreateReferenceFromObject(oPoint)
oPoint.Name = “initPoint_001”
接下来用Function将Point命令客制化
Function CreatePointCoord(iX As Double, iY As Double, _ iZ As Double,oPoint As Point, refoPoint As Reference , _ oPointFeatureName AsString ) As HybridShapePointCoord
On Error Resume Next
Set oPoint = oHSF.AddNewPointCoord(iX, iY, iZ)
oHBody.AppendHybridShape oPoint
oPart.InWorkObject = oPoint
Set refoPoint = oPart.CreateReferenceFromObject(oPoint)
If oPointFeatureName <> “” Then
oPoint.Name = oPointFeatureName
End If
On Error GoTo 0
End Function
客制化后Point命令这样写:
Dim initPoint001 As Point, RefinitPoint001 As Reference
Call CreatePointCoord(0, 0, 0,initPoint001, RefinitPoint001, “initPoint_001”)
我们再挖一个坑,如果要实现每次生成的 Point的颜色都不一样,可以先客制化一个为对象生成随机颜色的ChangeRndcolor函数:
Function ChangeRndcolor(Element As Object)
oPart.Update
Dim oSelection As Selection
Set oSelection = oPartDoc.Selection
oSelection.Clear
oSelection.Add Element
Dim oRed As Long, oGreen As Long, oBlue As Long
oRed = Int(Rnd(1) * 255 + 1)
oGreen = Int(Rnd(1) * 255 + 1)
oBlue = Int(Rnd(1) * 255 + 1)
oSelection.VisProperties.SetRealColor oRed, oGreen, oBlue, 1
oSelection.Clear
End Function
然后调用客制化的ChangeRndcolor函数就可以了,程序这样写:
Call ChangeRndcolor(initPoint001)
客制化API的本质就是通过调用子函数并传递参数,来简化我们的编程,从而把更多的精力集中在建模和编程思路上。
更多精彩客制化API敬请下载原代码查看。。。。。。
6程序代码
程序代码请在百度云盘中下载。
链接:
https://pan.baidu.com/s/1flOq0AUfzwGhupgSGD4gcw
提取码:jbsz
复制这段内容后打开百度 盘手机APP,操作更方便。
教程来自慧舟软件
PLM应用工程师
伍松 提供
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!