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控件说明,比较明确。





0 0
原创粉丝点击