CATIA VBA二次开发(二) 快速入门之VBA IDE
来源:互联网 发布:淘宝店铺一年有多少分 编辑:程序博客网 时间:2024/04/25 23:06
本文为作者原创,拒绝任何形式转载
接上一篇,本文介绍如何在CATIA IDE中创建VBA项目,仍然以创建正弦曲线为例。点击“工具->宏->宏…”(或者按下ALT+F8),弹出“宏”窗口。在窗口右上角点击“宏库”弹出新的窗口。
在“宏库”窗口中的“库类型”下拉列表中选择“VBA项目”,然后点击“创建新库…”,输入新建宏的名称(如果有必要请编辑路径),点击确定,退出创建宏窗口。操作过程如下图所示:
再次点击“工具->宏->Visual Basic编辑器”(或按下ALT+F11),弹出CATIA VBA IDE(IDE意思是集成开发环境)。在项目列表中能看到刚才创建的宏库。右键单击项目列表中的宏库,选择“Insert->UserForm”,可以在IDE中看到新建的窗体,如下图所示:
在弹出的UserForm1中选择添加三个Label,三个Textbox,连个CommandButton空间,调整控件位置,修改控件名称(其中三个Textbox的名称分别为周期tb_T,振幅tb_A,控制点个数tb_N)和默认值,绘制如下图所示的窗体:
窗体绘制完成之后,双击确定按钮,进入代码编辑页面。把sincurve2.catvbs中主函数体内的代码复制到“确定”按钮的单击事件响应函数中,编辑代码。删除Option Explicit语句(删除后,不必强制在使用之前定义变量)。在菜单中选择“Tools-Options…->Editor”,取消勾选“RequireVariable Declairation”。编辑赋值语句:
T = Me.tb_TA = Me.tb_A 'A是放大量,适当增大纵坐标比例,使得曲线看起来协调N = Me.tb_N 'N是控制点数量
返回用户窗体,双击“取消”按钮,在单击事件函数中输入Me.Hide,程序完成。UserForm1中的代码如下:
Private Sub cmbKO_Click() Me.HideEnd SubPrivate Sub cmbOK_Click() Pi = 3.1415926 '定义圆周率常量 T = Me.tb_T A = Me.tb_A 'A是放大量,适当增大纵坐标比例,使得曲线看起来协调 N = Me.tb_N 'N是控制点数量 Set documents1 = CATIA.Documents Set partDocument1 = documents1.Add("Part") Set part1 = partDocument1.Part Set hybridBodies1 = part1.HybridBodies Set hybridBody1 = hybridBodies1.Add() part1.Update Set oHSF = part1.HybridShapeFactory Set hybridShapeSpline1 = oHSF.AddNewSpline() hybridShapeSpline1.SetSplineType 0 hybridShapeSpline1.SetClosing 0 '通过循环完成多个点的创建 For i = 0 To N - 1 '假设用N个点模拟样条曲线 '在ZX平面创建曲线,Y坐标为0 Set CtrPt = oHSF.AddNewPointCoord(A * Pi * i / N, 0#, A * Sin(T * (2 * Pi) * i / N)) hybridBody1.AppendHybridShape CtrPt Set reference1 = part1.CreateReferenceFromObject(CtrPt) hybridShapeSpline1.AddPointWithConstraintExplicit reference1, Nothing, -1#, 1, Nothing, 0# Next hybridBody1.AppendHybridShape hybridShapeSpline1 part1.UpdateEnd Sub
运行程序,可以看到执行效果和sincurve.catvbs一致,但在界面中可以输入三个变量,变量的含义有对应的Label控件说明,比较明确。
- CATIA VBA二次开发(二) 快速入门之VBA IDE
- CATIA VBA二次开发(一)快速入门之宏脚本
- ArcGIS二次开发方式之VBA
- Excel+VBA+之快速上手
- VBA入门
- VBA入门
- Catia CAA二次开发系列二
- Excel Vba 编程的快速入门
- vba
- vba
- vba
- vba
- VBA
- vba
- VBA
- VBA
- VBA
- VBA
- 把二维数组存到数据库的一个字段中
- Java堆内存
- Sofia-SIP辅助文档十八 - Sofia SIP用户代理库 - "bnf" - 字符串解析模块
- Sofia-SIP辅助文档十九 - Sofia SIP用户代理库 - "nth" - HTTP事务模块
- 欢迎使用CSDN-markdown编辑器
- CATIA VBA二次开发(二) 快速入门之VBA IDE
- Sofia-SIP辅助文档二十 - Sofia SIP用户代理库 - "http" - HTTP解析模块
- json解析
- 拓展kmp(带注释版)
- 工作日志2016-5-2
- Sofia-SIP辅助文档二一 - Sofia SIP用户代理库 - "soa" - SDP提议/响应引擎模块
- 使用ZeroNet搭建P2P全球网站
- Sofia-SIP辅助文档二二 - Sofia SIP用户代理库 - "sdp" - SDP模块
- myeclipse 安装maven