目录
- 引出
- VBA与VB的关系和区别
- vb基础
- 关于什么时候用set
- 字符串函数
- 数学:三角函数,不等于,随机数
- 日期、脚本、空格
- 数组
- 顺序、选择、循环
- 可视化编程基础
- 按钮文字
- 输入框的输入
- 窗口控件
- 全局变量
- vb基础进阶
- msgbox详解
- 背景颜色
- 按钮能否点击
- 插入图片
- 颜色框,文件对话框
- 控件和鼠标事件
- 文件的操作
- vb其他函数,进阶
- 总结
- 认识CATIA二次开发
- 刘瑞欣 vb程序设计教程
- Excel中的vba开发
- catia中的vba开发
- 宏的录制、回放和编辑
- 宏代码精简
- 画圆柱阵列
- 宏Macro文件的3种类型
- 宏的保存:文件夹,项目,catia文件
- 宏加入到工具条中
- 插曲:工具条的恢复
- 发生肾么事了??
- 鼠标中键旋转不了
- 解决:特征树不显示参数关系
- 我的窗口去哪了?
- 插曲:草图工具的调出
- 插曲:颜色工具栏显示
- 弹窗警告
- 警告:创建约束是临时的
- 操作技巧
- 技巧:快速隐藏不相关元素
- 异形弹簧
- 新建几何体
- 草图编辑,画一条样条线
- 进行扫掠,圆心和半径
- 画出曲面上的螺旋线
- 再次选择扫掠,圆心和半径
引出
最近在研究catia二次开发,发现网上的资料非常有限,尤其是博客文件比较少,这个系列文章是本人的学习笔记,分享出来,只为抛砖引玉,希望对你有帮助。
CATIA二次开发VBA入门(3)——vb语言基础,可视化编程基础,消息框等
VBA与VB的关系和区别
VBA
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。它也可说是一种应用程式视觉化的 Basic 脚本。
在这里插入图片描述
从语言结构上讲,VBA是VB的一个子集,它们的语法结构是一样的。两者的开发环境也几乎相同。但是,VB是独立的开发工具,它不需要依附于任何其他应用程序,它有自己完全独立的工作环境和编译、链接系统。VBA却没有自己独立的工作环境,它必须依附于某一个主应用程序,专门用于Office的各应用程序中,如Word、 Excel、 Access等。
与VB的区别
1、VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(EXCEL等)自动化。
2、VB具有自己的开发环境,而VBA必须寄生于已有的应用程序。
3、要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件(*.EXE),而VBA开发的程序必须依赖于它的父应用程序。
原文链接:https://blog.csdn.net/weixin_45797022/article/details/105400270
vb基础
关于什么时候用set
不是对象类型,数值类型时,不能用set
字符串函数
字符串的拼接
字符串函数
字符串分割
去除空格函数Trim
数学:三角函数,不等于,随机数
不等于用 <>
三角函数sin,cos
随机数
需要设置随机数的中Randomize
日期、脚本、空格
日期函数,当前时间now
shell命令,执行Windows上的exe
空格,换行等
Space(2), 空两个字符
Char(13),换行符
数组
下标从1开始
顺序、选择、循环
条件判断
循环
do while 循环
do until 循环
可视化编程基础
按钮文字
按钮上文字,caption的两种修改方法
输入框的输入
需要字符串转成数值
如果没有转成数字,就是字符串的直接拼接
类型是string
通过Val() 将文本框的输入转为数字
窗口控件
关闭窗口,
unload me
tab order
tab键的顺序
设置输入的焦点,setFocus
输入框
label
标签
单选框
单选框选中,则value值为true
多选框
列表框
添加其他的控件
全局变量
vb基础进阶
msgbox详解
消息框的类型,图标
代码换行 空格 + 下划线
背景颜色
按钮能否点击
能否进行点击的设置
通过一个按钮控制另一个按钮是否可以点击
插入图片
插入图片和图片自适应
图片的显示和隐藏
颜色框,文件对话框
内置的框,保存文件的对话框,颜色选择对话框,字体对话框
控件和鼠标事件
鼠标的移动事件
鼠标的显示类型
十字光标
键盘的按下事件
每次按下键盘,按钮就移动
文件的操作
文件的写入
Sub he()
' 选择文件,往里面写
Dim i As Integer, str As String
i = 100: str = "hee"
Open "D:\MyPrograme\catiaMacro\1.txt" For Output As #1
'Print #1, "peter"
'Write #1, "apple" '会用逗号隔开
Write #1, i, str
Close #1
End Sub
Sub read()
' 读取文件
Dim i As Integer, str As String
Open "D:\MyPrograme\catiaMacro\1.txt" For Input As #1
Input #1, i, str
Close #1
MsgBox i
MsgBox str
End Sub
Sub killText()
'删除文件
Kill "D:\MyPrograme\catiaMacro\1.txt"
End Sub
Sub rename()
' 重命名
Name "D:\MyPrograme\catiaMacro\83.txt" As "D:\MyPrograme\catiaMacro\12.txt"
End Sub
vb其他函数,进阶
盘符是否存在
找字符串,处理
获得零件名
取个位数
数组元素相连接
大小写转换
延迟函数
定义类型
总结
CATIA二次开发VBA入门(3)——vb语言基础,可视化编程基础,消息框等
其他内容
认识CATIA二次开发
V5 AUTOMATION开发
刘瑞欣 vb程序设计教程
Excel中的vba开发
catia中的vba开发
宏的录制、回放和编辑
宏代码精简
录制到项目中,录制成一个模块
catia的vba开发环境设置,取消dim的限值,这样就可以不用定义变量,便于简化录制的宏程序
Sub CATMain()
Set partDocument2 = CATIA.Documents.Add("Part")
Set part2 = partDocument2.Part
Set body1 = part2.Bodies.Item("零件几何体")
Set sketches1 = body1.Sketches
Set originElements1 = part2.OriginElements
Set reference1 = originElements1.PlaneYZ
Set sketch1 = sketches1.Add(reference1)
part2.InWorkObject = sketch1
Set factory2D1 = sketch1.OpenEdition()
Set circle2D1 = factory2D1.CreateClosedCircle(0#, 0#, 20)
sketch1.CloseEdition
part2.InWorkObject = sketch1
Set hybridShapeFactory1 = part2.HybridShapeFactory
Set hybridShapeDirection1 = hybridShapeFactory1.AddNewDirectionByCoord(0#, 0#, 0#)
Set reference2 = part2.CreateReferenceFromObject(sketch1)
Set hybridShapeExtrude1 = hybridShapeFactory1.AddNewExtrude(reference2, 60#, 60#, hybridShapeDirection1)
hybridShapeExtrude1.SymmetricalExtension = 0
body1.InsertHybridShape hybridShapeExtrude1
part2.InWorkObject = hybridShapeExtrude1
part2.Update
End Sub
画圆柱阵列
Sub CATMain()
Set partDocument2 = CATIA.Documents.Add("Part")
Set part2 = partDocument2.Part
Set body1 = part2.Bodies.Item("零件几何体")
Set sketches1 = body1.Sketches
Set originElements1 = part2.OriginElements
Set reference1 = originElements1.PlaneYZ
Set sketch1 = sketches1.Add(reference1)
part2.InWorkObject = sketch1
Set factory2D1 = sketch1.OpenEdition()
'--------------------------------------------
For i = 0 To 99
Set circle2D1 = factory2D1.CreateClosedCircle(50 * i, 0#, 20)
Next
'--------------------------------------------
sketch1.CloseEdition
part2.InWorkObject = sketch1
Set hybridShapeFactory1 = part2.HybridShapeFactory
Set hybridShapeDirection1 = hybridShapeFactory1.AddNewDirectionByCoord(0#, 0#, 0#)
Set reference2 = part2.CreateReferenceFromObject(sketch1)
Set hybridShapeExtrude1 = hybridShapeFactory1.AddNewExtrude(reference2, 60#, 60#, hybridShapeDirection1)
hybridShapeExtrude1.SymmetricalExtension = 0
body1.InsertHybridShape hybridShapeExtrude1
part2.InWorkObject = hybridShapeExtrude1
part2.Update
End Sub
每次画完都自动更新,这样能实时看到caita的变化
宏Macro文件的3种类型
宏的保存:文件夹,项目,catia文件
保存到文件中的两种后缀格式,catiaScript和vbScript,即catia脚本和vb脚本
catvba模式的导出
宏的默认编辑器设置
宏加入到工具条中
选择catiavba项目作为当前的宏库
工具,自定义选项卡
可以设置图标
按住,拖到工具条中
方式一:工具条中,点击图标运行,显示弹窗
方式二:作为catia脚本,直接双击运行
插曲:工具条的恢复
发生肾么事了??
鼠标中键旋转不了
解决:特征树不显示参数关系
我的窗口去哪了?
插曲:草图工具的调出
插曲:颜色工具栏显示
如果没有看到能更改颜色的工具栏,则点击如下
弹窗警告
警告:创建约束是临时的
操作技巧
技巧:快速隐藏不相关元素
快速隐藏不相关的元素
异形弹簧
新建几何体
草图编辑,画一条样条线
进行扫掠,圆心和半径
画出曲面上的螺旋线
定义直线,选择曲线的角度/法线
在曲线上创建点
支持面选择扫掠面,角度7度,终点设置大一点,选中支持面上的几何图形
再次选择扫掠,圆心和半径
双击修改,调整一下样条曲线