许可优化
产品
解决方案
服务支持
关于
软件库
当前位置:服务支持 >  软件文章 >  CATIA VBA 教学大纲全解析

CATIA VBA 教学大纲全解析

阅读数 4
点赞 0
article_banner

CATIA VBA 教学大纲

关于各个模块中代码的讲解,根据实际意义挑选讲解,catia二次开发中的代码太多啦

  1. 认识VBA

1 什么是VBA ,为啥要用vba?学习vba要有什么基础?

2 演示几个自己编写的小程序以吸引学者兴趣!

二次开发是对软件的用户化和专业化的有效手段,使软件更好的为客户服务

Catia提供多种二次开发的接口 V5 AUTOMATION 和caa

  1. VBA与VB语言的关系,VB语言的简单学习

1 vb程序设计基础(数据类型 变量 常亮 常用的内部函数)

2 顺序语句 选择语句 循环语句

3 数组介绍

4 键盘与鼠标事件过程

5 其他简单基础内容介绍(对catia vba的学习有辅助作用的)

编程访问catia多种不同的方法

Catia只是一个ole自动化对象服务器

进程内的脚本与进程外的脚本

VBA本身有一个完整的ide 集成开发环境

Automation API 是独立于语言的编程接口

宏的保存位置,路径 文档 和vba项目三种

Vbscript 是有一个变量类型 variant

常用的循环语法 for do—while

8 子函数的概念

9 宏编辑器 的简介

10 插入对象分辨率

11 对象浏览器 中 表明了 出自于哪一个reference

12 不推荐大家再catia宏工具中编写自己的代码

13 脚本运行方式(这一部分自己还得研究一下 不是重点)

14 自己创建一个vb程序,添加引用,就这一个就好 参考基础 书

15 factory显示声明 否则报错,什么是显示声明 隐式声明

Catia与vb关联

要对catia进行操纵 首先要链接到他的com端口 这个时候不一定非要用catia,可以使用任何其他名来作为object变量名

  1. catia vba 入门

1 宏的录制

2 宏的修改编辑以及运行

3 宏库介绍, catvba catscript catvbs 介绍,以不同的方式编写脚本

4 延伸内容,在vb6.0 visual studio 以及python中怎么与catia 互联并进行catia二次开发

5 automation 字典的介绍

6 简单实例演示及学习

  1. VBA操作界面介绍

1 工具条介绍

2 设置介绍

3 菜单介绍

  1. 基本操作内容介绍

1 catia文档结构

2 对catia编程的基本流程

3 application对象介绍

4 documents和document 对象

5 Cameras 和camera对象

6 Windows和window对象

7 Viewers和viewer对象

8 文件及视图操作的实例演示及学习

9文件及视图的操作实例

  1. 零件设计模块 二次开发介绍

1操作零件文档的步骤演示

2 part文件

3 originelements

4 sketches 对象

5 factory2d工厂对象

6 contraints 约束集合

7 shapefactory 工厂

8完整实例代码

9 附加一个练习实例

以上内容中设计很多代码,可以挑出重要的进行讲解

  1. 曲面设计模快讲解

1创建混合元素的一般步骤

2 hybridbodies集合

3 reference

4 hybridshapefactory

5 曲面模块中的实例讲解

第七章 装配模块二次开发介绍

1 操作product文件的方法

2 组件管理

3 组件的位置信息

4 约束管理

5 装配实例演示以及学习

第八章工程制图模块二次开发介绍

1操作工程图文档的步骤

2 页面管理

3view管理

4几何图形的创建与编辑

5 text的编辑

6 关于标题栏和明细栏

  1. 人机交互介绍

1 人机交互的方式

2 selection 对象

3选择集管理

4 编辑菜单命令

5 交互命令介绍

6 人机交互实例

  1. 其他模块二次开发介绍

1 fea模块

2 材料模块

3 spa 模块

4 fta模块 等

  1. 其他扩展内容

1 catia与execel word 等互联

2 catia如何引用其他库 以及实例

3 类模块的定义

4 标准模块的应用

5 常见错误bug的解决方法

5 其他扩展内容

  1. 个人创建的小插件

CATIA VBA 教学大纲

关于各个模块中代码的讲解,根据实际意义挑选讲解,catia二次开发中的代码太多啦

第一讲 认识VBA

1 什么是VBA ,为啥要用vba?学习vba要有什么基础?

2 演示几个自己编写的小程序以吸引学者兴趣!

第二讲 VBA与VB语言的关系,VB语言的简单学习

1 vb程序设计基础(数据类型 变量 常亮 常用的内部函数)

2 顺序语句 选择语句 循环语句

3 数组介绍

4 键盘与鼠标事件过程

5 其他简单基础内容介绍(对catia vba的学习有辅助作用的)

Right

If Right(CATIA.ActiveDocument.Name, 8) = ".CATPart" Then

Set rootProd = CATIA.ActiveDocument.Product

If Right(CATIA.ActiveDocument.Name, 8) = ".CATPart" Then

Set doc = CATIA.ActiveDocument

Else

MsgBox "当前文档不支持此操作", vbInformation, "ERROR"

Exit Sub

End If

第三讲 catia vba 入门

1 宏的录制

Alt+F8快捷键的使用

Ide的意思 ,集成开发环境, integerate development environment

Alt+F11快捷键的使用

宏的修改编辑以及运行

宏库介绍, catvba catscript catvbs 介绍,以不同的方式编写脚本

延伸内容,在vb6.0 visual studio 以及python中怎么与catia 互联并进行catia二次开发

automation 字典的介绍

简单实例演示及学习

1.1宏脚本的两种语法,catvbs与catscript

1.2 宏库,part里 /目录里/ vbaproject ,option里面设置默认的目录,录制的宏可以存放在part文件里,也可以存放在路径或者是project文档中

1.3 录制一个宏(catvbs)

1.4 宏代码的解释

1.5 catmain开头 函数里 套用子函数被其他函数调用

1.6 catia宏是进程内的程序,可以直接调用catia对象

1.7修改宏,常用的循环语法解释 正选曲线的创建

1.8 使用inputbox 输入函数周期

1.9 创建圆柱 阵列的例子,输入阵列数量

1.10 添加宏到catia工具条

1.11 在ide中创建vba项目,创建圆柱 阵列的例子,输入阵列数量

1.12 使用userform定义变量

第四讲 catia automation的介绍

4.1 如何找到automation

4.2 对象的聚合关系! 下级是上级的属性,set给对象赋值

4.3 带箭头的实线表示继承关系,下级对象继承了上级对象所有的属性和方法

Partdocument是document的派生对象

4.4 collection对象 indext count name 英文工作环境和中文的 切换后会发生错误 这个一定要注意

4.5 anyobject可以代表除了collection和reference对象之外的任何对象

4.6 property 属性解释 hybridshapepointcoord

Sub CATMain()

Set jkjk = CATIA.ActiveDocument

Set Part = jkjk.Part

Set hybo = Part.HybridBodies.Item(1)

Set point1 = hybo.HybridShapes.Item(1)

Dim length1 As CATIALength’这个地方应该定义成length

Set length1 = point1.X

MsgBox length1.Value

aa = length1.ValueAsString 'x点的坐标值转换成字符串

End Sub

4.7 方法介绍

方法有返回值 (function)和没有返回值的举例说明

有返回值 比如果 workbench get

4.8 参考的解释

Createreferencefrombrepname “遍历孔的时候能用到

有的并不需要reference

4.9 automation查询技巧

4.10 示例代码

4.11 搜索功能

  1. VBA操作界面介绍

1 工具条介绍

2 设置介绍

3 菜单介绍

  1. 基本操作内容介绍,基础结构模块

1 catia文档结构

sub CATMain()

msgbox CATIA.caption

end sub

2 对catia编程的基本流程

3 application对象介绍

4 documents和document 对象

5 Cameras 和camera对象

6 Windows和window对象

判断是否打开了一个文件的方法

If CATIA.Windows.Count < 1 Then

infoBox "请打开一个产品文档!"

Exit Sub

ElseIf Right(CATIA.ActiveDocument.Name, 11) <> ".CATProduct" Then

infoBox "当前文档不是产品文档!"

Exit Sub

End If

7 Viewers和viewer对象

8 文件及视图操作的实例演示及学习

4 application对象的常见属性

System configuration/system service/excutescript

Catia.getworkbenchid 的方法把每个模块的代码都统计一下,枚举变量

5document对象 获取

有些文档 不具有窗口 或者显示属 性,是非正常关闭后的残留文档,可以通过命名规则来排除

Catia.documents.add(part) 类似part的创建的文件类型 可以在新建文件窗口 查看

在当前装配体中新增加零件产品 addnewcomponentfromfiles

6document属性和方法

Fullname name selection close

7 save as 可以保存其他格式的文件,但是 并不能改变属性

9 不进行提示直接覆盖已经有的文件的解决方法

10 exportdata的使用方法

11 selection的介绍

Selection对象是document的一个属性

12 用户交互选择,单选和多选两种方式

Selectelement2 sfilter定义数组的时候不能指定为字符类型

Seletion.item.leafproduct 应用

Selectionelement3的应用

Ifilter type 的枚举类型 可以automation 搜一下 catselectionfilter(特征的拓扑形式)

13 复制粘贴操作

14 selection在不同的零件 或者装配体之间进行操作的时候 应该怎么定义

Product.selection 还是 partdoc.selection 重点介绍!

15 删除 先把关联的关系删除,再删除特征

16 图形显示属性


Sub CATMain()

Set jkjk = CATIA.ActiveDocument

Set opart = jkjk.Part

Set pa = opart.Parameters

Set obody = opart.Bodies.Item(1)

Set oshape = obody.Shapes.Item(1)

Set oparams = pa.SubList(oshape, True)

For Each param In oparams

If param.IsTrueParameter Then

On Error Resume Next

Set Relation = param.OptionalRelation

Relation.deactive

Set Selection = jkjk.Selection

Selection.Add Relation

Selection.Delete

Selection.Clear

On Error GoTo 0

End If

Next

Selection.Add oshape

oselection.Delete

oselection.Clear

End Sub

17 search 介绍

18 常见的边界或者尖点对象类型,在选择的集合中排除边界和尖点

19 枚举变量是常量数组,枚举变量不属于automation ,在使用vb的时候需要添加引用才可以用

20 catia选项 settingcontroller可以直接修改 option

21 判断catia界面是中英文

Sub CATMain()

A = Left(CATIA.StatusBar, 1)

If A > "~" Then

MsgBox "中文"

Exit Sub

End If

MsgBox "英文"

End Sub

22 视图控制

23 截图到某一个文件夹中

24 显示文档结构树

25 msgbox的使用

IntMsgRtrn = MsgBox("Do you want to Continue ?", vbYesNo, "Continue printing")

If IntMsgRtrn = vbYes Then

直接将msgbox定义成块

Function infoBox(text)

infoBox = MsgBox(text, vbInformation, "斤口")

End Function

Function yesNoBox(text)

yesNoBox = MsgBox(text, vbYesNo + vbQuestion, "헝朞嶝")

End Function

Function yesNoCancelBox(text)

yesNoCancelBox = MsgBox(text, vbYesNoCancel + vbQuestion, "헝朞嶝")

End Function

Function warringBox(text)

warringBox = MsgBox(text, vbExclamation, "쒸멩")

End Function

Function errorBox(text)

errorBox = MsgBox(text, vbCritical, "댄轎")

End Function

判断当前打开的文档是不是产品文档

If Right(CATIA.ActiveDocument.Name, 11) <> ".CATProduct" Then

infoBox "当前文档不是产品文档!"

Exit Sub

End If

另外一种方法 直接用typename

草图设计模块

1 sketch对象的方法和属性

2 创建一个定位草图 ? 有点鸡肋

3 创建草图特征

4 草图约束

  1. 零件设计模块 二次开发介绍

1操作零件文档的步骤演示

2 part文件

3 originelements

4 sketches 对象

5 factory2d工厂对象

6 contraints 约束集合

7 shapefactory 工厂

8完整实例代码

9 附加一个练习实例

以上内容中设计很多代码,可以挑出重要的进行讲解

1userproperty 用户自定义属性 应用

2 extract bom比较有局限性

3 obody.inworkobject

4 add shketch on plane之前需要对plane进行更新,让plane已经存在

5 factory对象需要进行显示的声明

曲面设计模快讲解

1创建混合元素的一般步骤

2 hybridbodies集合

3 reference

4 hybridshapefactory

5 曲面模块中的实例讲解

1hybridshapefactory 可以创建基于曲面的实体对象

2 obody.inserthybridshape oplane

3 GetGeometricalFeatureType 获取某个集合元素的拓扑类型

Sub CAMain()

Set jkjk = CATIA.ActiveDocument

Set opart = jkjk.Part

Set pa = opart.Parameters

Set obody = opart.Bodies.Item(1)

'Set oshape = obody.Shapes.Item(1)

Set Selection = jkjk.Selection

Set aa = opart.HybridBodies.Item(1).HybridShapes.Item(1)

Set hsf = opart.HybridShapeFactory

Set ref1 = opart.CreateReferenceFromObject(aa)

mm = hsf.GetGeometricalFeatureType(ref1)

'aa.SetShow 1

'aa.SetShow catVisPropertyNoShowAttr

End Sub

4 GSMvisibility直接控制某个几何元素的可见性

5 几何图形集

6 提高 gsd的练习,创建离散元素的集合

7 创建旋转楼梯

8 catia的交互界面就是catia的绘图区域

9 临时堆栈

10 扫略曲面的创建方法 选一个进行讲解

11旋转楼梯实例

12什么是混合元素

第七章 装配模块二次开发介绍

1 操作product文件的方法

2 组件管理

3 组件的位置信息

4 约束管理

5 装配实例演示以及学习

Sub CATMain()

Set aa = CATIA.ActiveDocument

Set product1 = aa.Product

'massvalue = product1.Analyze.Mass

Set product2 = product1.Products.Item(2)

Dim arr(11)

product2.Position.GetComponents arr

End Sub

1product 对象 ,文档对象 用referenceproduct 来获取,用来获得一个产品的本质对象

Referenceproduct相当于 part文件中的 product属性

2userrefproperties 的应用

3产品文档本身不包含零件信息,他只是对各个组件在产品中相互关系的描述

4 product products的对应关系

5 缺省表达对象是啥意思 不懂

Sub CATMain()

Dim aa As Product

Set aa = CATIA.ActiveDocument.Product

Set p1 = aa.Products.Item(2)

Set ref1 = p1.ReferenceProduct

Set ddd = aa.Products.AddComponent(ref1)

End Sub

Sub CATMain()

Dim aa As Product

Set aa = CATIA.ActiveDocument.Product

Set p1 = aa.Products.Item(2)

Set ref1 = p1.ReferenceProduct

Set bb = CATIA.Documents.Item(CATIA.Documents.Count)

Set GearBox = aa.Products.AddExternalComponent(bb)

End Sub

Sub CATMain()

Dim aa 'As Product

Set aa = CATIA.ActiveDocument.Product

Set p1 = aa.Products.Item(2)

Set B = aa.Products.ReplaceComponent(p1, "H:\Part1.CATPart", True)

End Sub

6组件位置信息 (可以做一个错误的演示)

7 setcomponents与move apply的区别

Sub CATMain()

Dim aa 'As Product

Set aa = CATIA.ActiveDocument.Product

Set p1 = aa.Products.Item(2)

Dim iAxisComponentsArray(11)

'x axis components

iAxisComponentsArray(0) = 1

iAxisComponentsArray(1) = 0

iAxisComponentsArray(2) = 0

'1y axls components

iAxisComponentsArray(3) = 0

iAxisComponentsArray(4) = 0.707

iAxisComponentsArray(5) = 0.707

'1 Z axlsconIponents

iAxisComponentsArray(6) = 0

iAxisComponentsArray(7) = -0.707

iAxisComponentsArray(8) = 0.707

''origin point coordinates

iAxisComponentsArray(9) = 10

iAxisComponentsArray(10) = 20

iAxisComponentsArray(11) = 30

p1.Position.SetComponents iAxisComponentsArray

End Sub

约束

Sub CATMain()

Dim aa 'As Product

Set aa = CATIA.ActiveDocument.Product

Set p1 = aa.Products.Item(2)

Dim oConstraints As Constraints, oConstraint As Constraint

Set oConstraints = aa.Connections("CATIAConstraints")

Set oConstraint = oConstraints.AddBiEltCst(catCstTypeOn, reDPtl, reDPt2)

End Sub

8装配模块将摸一个子部件下的零件全部固定的vbs

Sub jk()

Dim aa As String

Set dd = CATIA.ActiveDocument.Selection.Item(1).LeafProduct

Set cc = CATIA.ActiveDocument.Product.Products.Item(1)

Set nn = CATIA.ActiveDocument.Product.Products.Item(1).ReferenceProduct

Set xx = CATIA.ActiveDocument.Product.Products.Item(1).ReferenceProduct.Parent

Set mm = CATIA.ActiveDocument.Product.Products.Item(1).ReferenceProduct.Parent.Product

End Sub

prod.ApplyWorkMode (DESIGN_MODE)

jk()

Set oProduct = CATIA.ActiveDocument.Product

Set aa = oProduct.Products.Item(3)

Set bb = aa.Parent

Set mm = aa.ReferenceProduct.Parent

End Sub

第八章工程制图模块二次开发介绍

1操作工程图文档的步骤

2 页面管理

3view管理

4几何图形的创建与编辑

5 text的编辑

6 关于标题栏和明细栏

7 sheet的scale属性的写法,特殊性

8视图对象的定位

9 drawingview的generative behavior对象的 document属性使得视图与零件文件相关联

10 osheetview 的definefront view的方法

知识工程与专家系统

1 遍历参数的效率很低 , 所以自定义参数

2 获取某一个元素下面的参数集合

Sub CAMain()

Set jkjk = CATIA.ActiveDocument

Set opart = jkjk.Part

Set pa = opart.Parameters

Set obody = opart.Bodies.Item(1)

'Set oshape = obody.Shapes.Item(1)

Set Selection = jkjk.Selection

Set aa = opart.HybridBodies.Item(1).HybridShapes.Item(2)

Set bb = opart.Parameters.SubList(aa, True)

'Set hsf = opart.HybridShapeFactory

'Set ref1 = opart.CreateReferenceFromObject(aa)

'mm = hsf.GetGeometricalFeatureType(ref1)

'aa.SetShow 1

'aa.SetShow catVisPropertyNoShowAttr

End Sub

3新建参数集合

Sub CATMain()

Set aa = CATIA.ActiveDocument

Set oPart = aa.Part

Set oroot = oPart.Parameters.RootParameterSet

Set newpa = oroot.ParameterSets.CreateSet("新件衬衫 ")

End Sub

4 create releation

Sub CATMain()

Set aa = CATIA.ActiveDocument

Set oPart = aa.Part

Dim width

Set width = oPart.Parameters.CreateReal("width", 1#)

End Sub

  1. 人机交互介绍

1 人机交互的方式

2 selection 对象

3选择集管理

4 编辑菜单命令

5 交互命令介绍

6 人机交互实例

Filtercrrespondence这个方法常和SelectElement2 方法连用,参数和示例请详见过滤器部分。

如下代码在当前选择集中搜索Pad 特征。

Dim FoundObject As AnyObject

Set FoundObject = Selection. FindO均ect( "CA TIAPad" )

2 若文档中不存在符合条:

件的元素,则该命令会产生一个错误,要使用错误控制。

运行交互命令 startcommand

7 indicateorselectelement3d的应用

8 过滤器的解释

  1. 其他模块二次开发介绍

1 fea模块

2 材料模块

3 spa 模块

4 fta模块 等

  1. 其他扩展内容

1 catia与execel word 等互联

2 catia如何引用其他库 以及实例

3 类模块的定义

4 标准模块的应用

5 常见错误bug的解决方法

5 其他扩展内容

1 提高中 有读取文本文件和excel文件实例

2 文件对话框

3 打开文件的方法

Sub CATMain()

FilePath = CATIA.FileSelectionBox("Select a text file", "*.txt", CatFileSelectionModeOpen)

CATIA.SystemServices.Print "The selected file is " & FilePath

End Sub

脚本语言中打开文件

Sub jk()

Set ie = CreateObject("internetexplorer.application")

With ie

.Visible = True

.Navigate ("about:blank")

Do Until .readystate = 4

Loop

End With

End Sub

4调用外部脚本的方法 executescript

5 宏脚本加密

6 vba界面简介 option选项的解释

7控件事件

8启动一个窗体 分为从 moudule 启动 以及从窗体直接启动

两种情况 对窗体的模态有影响

9 VBa项目的使用限制 ,定义selection的时候 将as selection注释掉 或者 定义为object 同理 measurable 也是同样的情况

10 vb.net 库的版本兼容

11 在automation中,每个对象都包含在某一个接口中,点击framework就可以找到

12 对象浏览器解释

13 自定义函数封装

14 如何使用模板工作

15 声明变量可以减少键入错误 问题查找所用掉的时间

16 结构化编码

17 编写代码的一些规范


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
相关文章
QR Code
微信扫一扫,欢迎咨询~

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

* 公司名称:

姓名不为空

手机不正确

公司不为空