首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CATIA二次开发VBA入门——语法、名词等的解释

CATIA二次开发VBA入门——语法、名词等的解释

原创
作者头像
Arya
发布2025-02-07 19:32:28
发布2025-02-07 19:32:28
9061
举报
文章被收录于专栏:后端开发专栏后端开发专栏

引出

简介:CATIA二次开发VBA入门——语法、名词等的解释

本篇博客文章分享一些CATIA vba基础相关的代码,包括On Error错误控制,执行字符串代码,执行宏,CATIA选择文件并打开,轴系的设定选择,if语句的简写,参数可有可无等


判断那一句有错误

采用On Error 包住可能有错误的代码,然后输出错误的number属性,就可以找出哪一行代码出的错

代码语言:java
复制
Sub errtest()
On Error Resume Next
Dim A As String

A = "STRING"

'MsgBox "我是中国人"
MsgBox Err.Number

End Sub

执行字符串代码

CAITA的函数,可以用来执行字符串定义的代码段

代码语言:java
复制
Sub JKJ()
Set AA = CATIA.ActiveDocument
Set serv = CATIA.SystemService

 Dim params()
 Dim codeToEvaluate
 codeToEvaluate = "Sub CATMain()" & vbNewLine & _
                  "MsgBox " & Chr(34) & "Hello World" & Chr(34) & vbNewLine & _
                  "End Sub"
                  
 serv.Evaluate codeToEvaluate, 0, "CATMain", params


End Sub

执行一个宏文件

执行宏文件,宏文件的函数为CATMain,通过CATIA.SystemService进行脚本的执行

代码语言:java
复制
Attribute VB_Name = "Module1"
Sub JKJ()
Set AA = CATIA.ActiveDocument
Set serv = CATIA.SystemService
Dim params()
serv.ExecuteScript "D:\dd", 1, "macro1.catvbs", "CATMain", params '这里的参数1是枚举类型 意思是目录类型
End Sub

选择文件并打开

CATIA自带的函数选择某个文件,并打开

代码语言:java
复制
Function BrowseForFile() '(FileTypeName As String) As String
FileTypeName = "CATPart"
FilePath = CATIA.FileSelectionBox("Select a text file", "*." & FileTypeName, CatFileSelectionModeOpen)
BrowseForFile = FilePath
End Function

日期格式化

代码语言:java
复制
Sub CATMain()

mon = Format(Now(), "m")
MsgBox mon

MyStr = Format(Time, "h:m:s")    ' Returns "17:4:23".
MsgBox MyStr
MyStr = Format(Time, "hh:mm:ss AMPM")    ' Returns "05:04:23 PM".
MsgBox MyStr
MyStr = Format(Date, "dddd, mmm d yyyy")    ' Returns "Wednesday,
MsgBox MyStr

End Sub

激活第n个窗口

CATIA多个窗口的时候,通过输入数字进行激活对应的窗口

if写在一行,冒号可以用来连接两个语句

装配体零件加载

caita装配体的操作

代码语言:java
复制
Sub CATMain()

MsgBox "Select what part you want to load. You can check with DESK command"

Set objSel = CATIA.ActiveDocument.selection

CATIA.StartCommand "Load"
objSel.Clear

End Sub

多窗口显示

startcommand的使用,从多个角度显示零件

代码语言:java
复制
'Any command is accessible through CATScript command with following trick:
'- Command can be written to "powerinput" as c:Multi-View
'- All commands that can be written there, can be included to catvbs with following syntax:
'=> This toggles multi-view on and off through script, even when there is no actual VB-command for multi-view!
 

Sub CATMain()
CATIA.StartCommand ("Multi-View")
End Sub

窗体变量

窗体变量是全局的,可以保存下来

递归调用

代码语言:java
复制
Private Function fact(n) As Double
If n > 0 Then
fact = n * fact(n - 1)
Else
fact = 1
End If
End Function

模拟键盘输入

代码语言:java
复制
Sub SplitUpSendKeys()
InputStr = "AsString"
Dim WC As Integer
WC = 1
While WC < Len(InputStr)
    Dim SubStr As String
    SubStr = Mid(InputStr, WC, 1)
    SendKeys SubStr, True
    CATIA.RefreshDisplay = True
    WC = WC + 1
Wend

枚举

Enum枚举类型

关于行号

作为标识

轴系

关于CATIA的轴系,可以定义多个轴系,把轴系设置为当前的轴系

代码语言:java
复制
Sub mis()
Dim opart As Part
Set opartdoc = CATIA.ActiveDocument

Set opart = opartdoc.Part

Set axises = opart.AxisSystems
Set axisSystem1 = axises.Item(1)

axisSystem1.IsCurrent = True


End Sub

函数参数可有可有

可选择参数,Optional

方法需不需要加括号

Object的方法有返回值的时候 方法后面需要加括号

用户自定义类型type

有时候可以注释掉类型

当 我把view1 声明为drawingview时候,size命令出现错误

注释掉就ok

代码语言:java
复制
Sub jk()
Dim view1 'As DrawingView

Set view1 = CATIA.ActiveDocument.Sheets.ActiveSheet.Views.ActiveView

MsgBox view1.Name
Dim factory2d1 As Factory2D

Set factory2d1 = view1.Factory2D

Set texts1 = view1.Texts
Set gb = view1.GenerativeBehavior
Dim arr(3)
view1.Size arr

Dim xmin, xmax, ymin, ymax
xmin = arr(0) - view1.xAxisData
xmax = arr(1) - view1.xAxisData
ymin = arr(2) - view1.yAxisData
ymax = arr(3) - view1.yAxisData

End Sub

总结

CATIA二次开发VBA入门——一些代码合集

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引出
    • 判断那一句有错误
    • 执行字符串代码
    • 执行一个宏文件
    • 选择文件并打开
    • 日期格式化
    • 激活第n个窗口
    • if写在一行,冒号可以用来连接两个语句
    • 装配体零件加载
    • 多窗口显示
    • 窗体变量
    • 递归调用
    • 模拟键盘输入
    • 枚举
    • 关于行号
    • 轴系
    • 函数参数可有可有
    • 方法需不需要加括号
    • 用户自定义类型type
    • 有时候可以注释掉类型
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档