文章目录
文件和视图操作
《CATIA 二次开发技术基础》第二章的项目
生成exe
窗口切换
CATIA.Windows.Item(1).Activate '打开多个文件时,指明某个文件处于选择状态,窗口切换
隐藏罗盘
截图时要用到,截完图再显示出来
按名称找对象
选中对象
newfrom打开文件
新问价和原文件不是一个,只是内容相同。
登录功能
注意N要设为全局的,不然每次点击按钮,N都是初始值
罗盘位置复位
字符拼接和状态栏可编辑
类型名
是否显示结构树和几何图形
Sub CATMain()
Dim MyWindow As SpecsAndGeomWindow
Dim MyViewer As Viewer3D
Set MyWindow = CATIA.ActiveWindow
MsgBox "See how it looks a Window in CATIA if you write in a line MyWindow.Layout = catWindowGeomOnly (only geometry)"
MyWindow.Layout = catWindowGeomOnly '只显示几何图形
MsgBox "See how it looks a Window in CATIA if you write in a line MyWindow.Layout = catWindowSpecsOnly (only specification tree)"
MyWindow.Layout = catWindowSpecsOnly '只显示结构树
MsgBox "See how it looks a Window in CATIA if you write in a line MyWindow.Layout = catWindowSpecsAndGeom (geometry and spec tree)"
MyWindow.Layout = catWindowSpecsAndGeom '结构树和几何图像都显示
End Sub
不弹出提示框,直接执行代码
workbench的切换
获取workbench的id和切换
工作层,是否只读状态,切换到不可视空间
Set doc = CATIA.ActiveDocument
doc.CurrentLayer = "General"
jb = doc.ReadOnly '是否是只读状态的文档,返回true和false
doc.SeeHiddenElements = True '切换到不可视空间
部分更新
注:part.update是把整个part文件给更新
得先设置更新为手动
product导出结构树到txt文本
Dim productdocument1 As Document
Set productdocument1 = CATIA.ActiveDocument
productdocument1.ExportData "D:\xxx.txt", "txt"
批量关闭文件
法一:
法二:推荐
法三:某些版本得catia可以
展开结构树
换行符
几何图形集是否存在某一个元素
Function HybridShapeExists(InputStr As String, curset As HybridBody) As Boolean
On Error GoTo blast
Set HHH = curset.HybridShapes.Item(InputStr)’不存在得话,会报错,直接跳到blast
HybridShapeExists = True
Exit Function
blast:
HybridShapeExists = False
End Function
Sub f()
Set opartdoc = CATIA.ActiveDocument
Dim ohybridbody As HybridBody
Set ohybridbody = opartdoc.Part.HybridBodies.Item(1)
MsgBox HybridShapeExists("Point.3", ohybridbody)
End Sub
平行模式与透视模式切换
Dim specsAndGeomWindow1 As SpecsAndGeomWindow
Dim viewer3D1 As Viewer3D
Dim viewpoint3D1 As Viewpoint3D
Set specsAndGeomWindow1 = CATIA.ActiveWindow
Set viewer3D1 = specsAndGeomWindow1.ActiveViewer
Set viewpoint3D1 = viewer3D1.Viewpoint3D
If viewpoint3D1.ProjectionMode = 1 Then
viewpoint3D1.ProjectionMode = 0
ElseIf viewpoint3D1.ProjectionMode = 0 Then
viewpoint3D1.ProjectionMode = 1
End If