| 会员登录 立即注册

CATIA教程

搜索

    [CATIA入门教程] CATIA宏命令使用教程

    [复制链接]
    红娘看破 发表于 2018-12-12 14:17:22 | 显示全部楼层 |阅读模式
    红娘看破
    2018-12-12 14:17:22 18969 1 看全部
      CATIA宏(MACRO)是CATIA向用户提供的一种记录、重放用户操作的工具(CATIAVBAPROJECT也属于宏,本书中把VBAPROJECT放在CATIAVBA一节中讲,本节重点讲宏脚本)。当用户激活录制宏操作时,系统把用户操作历史录制成脚本代码。

      CATIA宏脚本具有两种语法,分别是CATSCRIPT和CATVBS。在catiav5R7之后的UNIX系统下已经不再使用CATSCRIPT语法,取代它的是CATVBS。系统在CATVBS语法中取消了原有的类型声明代码,使得宏代码更加精简。在WINDOWS系统中仍保留CATSCRIPT,是为了向下兼容早期版本宏代码。

      在CATIA中录制宏时,如果使用者没有指明宏目录,则宏被保存在系统临时目录或CATIA文档中,当文档被移除后,则可能失去已经录制或编辑的宏。建议读者在CATIA中设置默认目录并指向本地硬盘路径,保证所有录制的宏不会因为文档关闭而丢失。设置默认目录的方法如下:

      点击“工具->选项...”,弹出CATIA选项卡,选择常规->宏,在“默认宏库”下拉框中选择“目录”,点击浏览文件夹,添加默认目录。
    773e27b07dc5b2eef19afb895122446a.jpg

      1、现有宏的调用


      1.用WINZIP或同类其他软件将压缩包内的模型文件解压到本地计算机任意路径下,如桌面。

      2.通过CATIAV5菜单栏启动:工具-宏-宏,或通过点击ALT+F8直接激活宏程序加载窗口。
    88804a3f2fbb98b5e8cd004753d43244.jpg

      3.通过“宏库...”按钮,浏览至解压路径,点击“加载到当前库”后,选中解压后的CATSCRIPT文件。
    267fb4acc121d49a1763e57a5705f76b.jpg

      4.点击“运行”按钮,给出生成饿原始文件的保存路径,如C:\PARTS等。
    304877020a6884ea42ba63b089d7e46d.png

      5.5  运行宏,加载模型数据。

      2.录制第一个宏文件

      在CATIA窗口中点击“工具->宏->启动录制…”,如下图:
    b3a8f40312f9008085e1405cb50b718c.jpg

      弹出用户界面如下:
    d87b3532c3d48d9e4803c5c558f9ae80.jpg

      可以选择默认宏目录,以方便宏文件的管理和维护。或新建宏目录,方法是点击右上角“宏库…”按钮,在“库类型”中选择“目录”,然后点击右侧“创建新库”按钮,在弹出的窗口中设置宏文件存放目录。如下图所示:
    6bf971699ad388ac13c810f8e1e0a6ef.jpg

      “使用语言”选择MSVBSCRIPT(即CATVBS),用户可以自定义宏名称,设置完成后点击“开始”,CATIA开始记录用户操作。此时用户界面出现宏录制停止按钮。

      创建一个新零件,并进入“创成式曲面设计”模块。在零件中插入几何图形集,创建任意3个点,并创建样条曲线,如下图所示:
    a4900d476389eac11664d1d79e25fd9c.png

      2.宏代码解释

      (1)宏文件结构

      用文本编辑器或CATIA宏编辑器打开刚才操作所录制的宏文件,可以发现操作历史被记录在CATMAIN()函数体中,以ENDSUB结束。其结构如下:

      说明:CATIA宏脚本需要有一个入口函数,即CATMAIN()。在入口函数之外,用户也可以添加自定义子函数,子函数可以被其他函数调用。

      (2)新建PART文档,并添加几何图形集

      CATIA宏是进程内程序,可以直接引用“CATIA”对象(CATIA二次开发根对象)。几何图形集(GEOMETRICALSET)对应的对象为HYBRIDBODY,从HYBRIDBODIES(COLLECTION类型)中创建。我们录制的宏代码的前几行是这样的(英文字符单引号后面为注释内容):

      [VB]VIEWPLAINCOPY

      1.SETDOCUMENTS1=CATIA.DOCUMENTS‘获取CATIA中文档集合

      2.SETPARTDOCUMENT1=DOCUMENTS1.ADD("PART")‘添加一个新的零件文档

      3.SETPART1=PARTDOCUMENT1.PART‘获取PART对象。PART对象是零件操作根对象

      4.SETHYBRIDBODIES1=PART1.HYBRIDBODIES‘获取PART中的几何图形集集合对象

      5.SETHYBRIDBODY1=HYBRIDBODIES1.ADD()‘添加一个几何图形集

      6.PART1.UPDATE‘更新零件显示

      (3)创建3个坐标点

      如果用户要在零件中创建线框和曲面几何元素,首先要获得HYBRIDSHAPEFACTORY(“混合形状工厂”)对象。然后调用创建坐标点的方法ADDNEWPOINTCOORD(X,Y,Z)创建几何点,最后用HYBRIDBODY1.APPENDHYBRIDSHAPE方法用来把坐标点添加到几何图形集中。

      [HTML]VIEWPLAINCOPY

      1.SETHYBRIDSHAPEFACTORY1=PART1.HYBRIDSHAPEFACTORY‘获得HYBRIDSHAPEFACTORY对象

      2.SETHYBRIDSHAPEPOINTCOORD1=HYBRIDSHAPEFACTORY1.ADDNEWPOINTCOORD(0.000000,0.000000,0.000000)

      3.HYBRIDBODY1.APPENDHYBRIDSHAPEHYBRIDSHAPEPOINTCOORD1

      4.PART1.INWORKOBJECT=HYBRIDSHAPEPOINTCOORD‘定义当前工作对象,此行代码可以不要

      5.PART1.UPDATE

      6.‘创建第二个几何点

      7.SETHYBRIDSHAPEPOINTCOORD2=HYBRIDSHAPEFACTORY1.ADDNEWPOINTCOORD(0.000000,100.000000,0.000000)

      8.HYBRIDBODY1.APPENDHYBRIDSHAPEHYBRIDSHAPEPOINTCOORD2

      9.PART1.INWORKOBJECT=HYBRIDSHAPEPOINTCOORD2

      10.PART1.UPDATE

      11.‘创建第三个几何点

      12.SETHYBRIDSHAPEPOINTCOORD3=HYBRIDSHAPEFACTORY1.ADDNEWPOINTCOORD(0.000000,100.000000,100.000000)

      13.HYBRIDBODY1.APPENDHYBRIDSHAPEHYBRIDSHAPEPOINTCOORD3

      14.PART1.INWORKOBJECT=HYBRIDSHAPEPOINTCOORD3

      15.PART1.UPDATE

      (4)创建样条线

      宏文件中使用ADDNEWSPLINE方法创建样条线,并定义了样条线格式:第一个参数SETSPLINETYPE选择样条线类型,0表示选择三次样条曲线;SETCLOSING方法用来设置样条曲线是否首尾相接,0表示首尾端点不相接。然后分别为样条曲线指定型值点,即上一步中创建的三个几何点。

      [VB]VIEWPLAINCOPY

      1.SETHYBRIDSHAPESPLINE1=HYBRIDSHAPEFACTORY1.ADDNEWSPLINE()

      2.HYBRIDSHAPESPLINE1.SETSPLINETYPE0

      3.HYBRIDSHAPESPLINE1.SETCLOSING0

      4.‘指定样条曲线的型值点

      5.SETREFERENCE1=PART1.CREATEREFERENCEFROMOBJECT(HYBRIDSHAPEPOINTCOORD1)

      6.HYBRIDSHAPESPLINE1.ADDPOINTWITHCONSTRAINTEXPLICITREFERENCE1,NOTHING,-1.000000,1,NOTHING,0.000000

      7.SETREFERENCE2=PART1.CREATEREFERENCEFROMOBJECT(HYBRIDSHAPEPOINTCOORD2)

      8.HYBRIDSHAPESPLINE1.ADDPOINTWITHCONSTRAINTEXPLICITREFERENCE2,NOTHING,-1.000000,1,NOTHING,0.000000

      9.SETREFERENCE3=PART1.CREATEREFERENCEFROMOBJECT(HYBRIDSHAPEPOINTCOORD3)

      10.HYBRIDSHAPESPLINE1.ADDPOINTWITHCONSTRAINTEXPLICITREFERENCE3,NOTHING,-1.000000,1,NOTHING,0.000000

      11.HYBRIDBODY1.APPENDHYBRIDSHAPEHYBRIDSHAPESPLINE1‘添加样条曲线到几何图形集中

      12.PART1.INWORKOBJECT=HYBRIDSHAPESPLINE1

      13.PART1.UPDATE

      3.编辑宏

      参考CATIAAUTOMATION中关于对象属性和方法的定义,并依照VBSCRIPT语法可以对录制出的宏文件进行编辑,以扩展或增强宏文件功能。对于上节中的宏文件,我们简单编辑一下,可以实现在CATIA零件中用样条曲线模拟正弦曲线。

      为了用样条曲线模拟正弦曲线,需要创建多个正弦曲线离散点作为样条曲线控制点。控制点越密,生成的样条曲线越接近于正弦曲线。

      假设我们用含有100个控制点点的样条曲线模拟正弦曲线,我们已知控制点的坐标规律(按照正弦规则变化),创建点的过程可以在循环中实现。这里提到的循环是指某个变量在一个范围内变化时,多次执行循环体内的代码,直到满足循环结束条件。VBSCRIPT中常用的循环语法是DO循环和FOR循环。例如计算0+2+4+6+…+100的算法可以写成如下代码:

      [HTML]VIEWPLAINCOPY

      1.DIMSUM

      2.SUM=0

      3.FORI=0TO100STEP2‘STEP2表示循环时I每次自加2。当省略STEP关键字时默认STEP=1

      4.SUM=SUM+I

      5.NEXT

      创建单个几何点和样条曲线的方法可以参考已经录制宏中的代码。每个创建完成的几何点,都在循环过程中依次指定样条曲线的控制点。为了节省代码,我们每创建一个点,直接指定它为样条曲线控制点,这样我们可以把在一个循环中完成两件事情。假设正弦曲线所在的平面为XZ平面,编辑之后代码如下(对应的代码见SINCURVE1.CATVBS):

      [VB]VIEWPLAINCOPY

      1.SUBCATMAIN()

      2.PI=3.1415926'定义圆周率常量

      3.T=2.5'T是正弦曲线周期

      4.A=100'A是放大量,适当增大纵坐标比例,使得曲线看起来协调

      5.N=100'N是控制点数量

      6.SETDOCUMENTS1=CATIA.DOCUMENTS

      7.SETPARTDOCUMENT1=DOCUMENTS1.ADD("PART")

      8.SETPART1=PARTDOCUMENT1.PART

      9.SETHYBRIDBODIES1=PART1.HYBRIDBODIES

      10.SETHYBRIDBODY1=HYBRIDBODIES1.ADD()

      11.PART1.UPDATE

      12.SETOHSF=PART1.HYBRIDSHAPEFACTORY

      13.SETHYBRIDSHAPESPLINE1=OHSF.ADDNEWSPLINE()

      14.HYBRIDSHAPESPLINE1.SETSPLINETYPE0

      15.HYBRIDSHAPESPLINE1.SETCLOSING0

      16.'通过循环完成多个点的创建

      17.FORI=0TON-1'假设用N个点模拟样条曲线

      18.'在ZX平面创建曲线,Y坐标为0

      19.SETCTRPT=OHSF.ADDNEWPOINTCOORD(A*PI*I/N,0.0,A*SIN(T*(2*PI)*I/N))

      20.HYBRIDBODY1.APPENDHYBRIDSHAPECTRPT

      21.SETREFERENCE1=PART1.CREATEREFERENCEFROMOBJECT(CTRPT)

      22.HYBRIDSHAPESPLINE1.ADDPOINTWITHCONSTRAINTEXPLICITREFERENCE1,NOTHING,-1.000000,1,NOTHING,0.000000

      23.NEXT

      24.HYBRIDBODY1.APPENDHYBRIDSHAPEHYBRIDSHAPESPLINE1

      25.PART1.UPDATE

      26.ENDSUB

      运行结果如下图:
    00c67e522dc03f960733d51d771ef87d.jpg

      如果希望周期T是可变的,用户可以用简单的输入框实现用户数据输入。在VBSCRIPT语法中,输入数据可以用INPUTBOX实现,例如把上述宏程序中给T赋值的语句改成下面的代码:

      [VB]VIEWPLAINCOPY

      1.<SPANSTYLE="FONT-SIZE:10PX;FONT-WEIGHT:NORMAL;">T=INPUTBOX("请输入正弦曲线周期,实数类型","正弦曲线程序")</SPAN>

      执行时弹出对话框如下图所示。当用户输入实数时,程序按照用户输入的周期绘制曲线。(对应的代码见SINCURVE2.CATVBS)
    0fb92f80d68763e3284f21c675800410.png

      4.创建宏

      当用户熟悉CATIAV5AUTOMATION的语法之后,也可以在宏目录中新建宏,并手动编辑调试。如图,点击“宏”对话框右侧的“创建”按钮,弹出“创建新宏”对话框。在窗体中可以输入新建宏的文件名。
    807ff6bc9d9e38b249561308b235a032.jpg

      点击确定,在宏列表中出现并默认选中了刚才创建的宏文件,此时点击右侧的“编辑”按钮,在弹出的“宏编辑器”窗口中可以看到自动生成CATMAIN()函数结构,其内容为空,用户可以在其中编辑自己的代码。

      3.添加宏到工具条

      CATIA工具条是具有一定功能的图标按钮组合,一般停靠在用户窗口周围或浮动在界面上。用户可以通过工具条快捷调用特定操作,使用起来比较方便。

      CATIA提供了自定义工具条机制,可以把CATIA宏或VBA项目添加到指定模块的工具条中,供用户随时的调用。假设需要将前面讲到的创建正弦曲线的宏文件在创成式曲面设计(GSD)模块下添加工具条,其操作步骤如下:

      (1)打开“定制…”菜单

      先把当前CATIA环境切换到创成式曲面设计(创建完成后的工具条在当前模块中出现),然后点击“工具->定制…”(或“工具->自定义…”,不同版本汉化时有差异),弹出对话框如下图:

      选择“命令”选项卡,在左侧列表“类别”中选择“宏”,此时右侧可见当前宏库中的宏文件。我们选择SINCURVE2.CATVBS,在“显示属性…”中为此命令选择图标并设定快捷键。
    e2ad26bf5686147867810330aad18b26.jpg

      选择“工具栏”选项卡,单击右侧“新建…”按钮,在弹出的对话框中输入工具栏名称,如“正弦曲线”,则左侧列表中出现正弦曲线条目。
    9790749549c05c5eea4fb5a7536bad47.jpg

      点击“添加命令…”按钮,在命令列表中选择SINCURVE2.CATVBS,操作完成,在CATIA窗口中出现新工具条。点击此工具条,则系统开始执行SINECURVE2.VBS,完成正弦曲线的创建。

      关于宏的入门内容就介绍到这里了,因为是第一篇介绍,有些地方说的很细,导致篇幅太大。下一篇博客将介绍VBAIDE中如何快速实现程序设计,有了第一篇的基础后面的内容就简单多了。
    b6df7a7682f05bb14e8389261c1d989d.jpg
    荒野樵夫 发表于 2018-12-13 22:18:36 | 显示全部楼层
    荒野樵夫
    2018-12-13 22:18:36 看全部
    很好很强大,慢慢消化。( ^ ^ )/□
    • 您可能感兴趣

    查看:18969 | 回复:1

    CATIA下载| CATIA安装| CATIA教程| CATIA视频教程| CATIA二次开发| CATIA入门教程| CATIA V5| CATIA V6| CATIA论坛| CATIA论坛
    版权声明 wanqiang@rydit.com.cn ICP备案号: ( 蜀ICP备14018086号-5 )
    Copyright © 20017-2020 CATIA论坛 All Rights Reserved.  
    快速回复 返回顶部 返回列表