
catia 关于用宏做标题栏.pdf
2页关于用宏制作标题栏 amdufhvk 用宏编的图框,一般会包括上面的内容如果你根本不知道上面的图是怎么来的,那么你也 没必要读下去了 首先说说为什么图里面会显示那几个子程序 也就是说, 宏里面的子程序很多, 为什么上面的图里面只显示那些子程序呢?看一下宏程序 就会发现,子程序有这么几类: 1、Sub CATMain() 这个程序,是直接双击宏程序时,所运行的语句而我们编的宏程序,通常是通过上面的那 个图框所对应的图标来调用的 2、以 Sub CATDrw_开头的子程序 这些程序就是显示在上面图里的子程序每个子程序实现一个功能 3、以 Sub 开头,但没有 CATDrw_前缀的子程序 这些程序不显示在上面的图里,仅供别的程序调用,无返回值 4、以 Function 开头 这些是函数,用于返回某个特定值 下面分别说明图里面的各个子程序的运行过程 1、Creation 它会调用以下几个程序 a) CATInit,给变量付值 b)CATCheckRef 它是用来获取当前图纸的 MacroID,以确定图纸是否已经存在图框 c)CATStandard,获取一些图纸基本信息,比如长、宽等等 d)CATReference,在图纸里面创建一个 DrawingText,其名字为”Reference_” + MacroID,内 容为空,位置在图的右下角。
表明该图纸已有图框,作为以后 CATCheckRef 的对象 e)CATFrame,画出边框 f)CATTitleBlock,画出标题栏 2、Deletion 它会调用以下几个程序 a)CATInit b)CATCheckRef c)CATRemoveAll,删除所有的几何元素和文字 3、Resizing 如果图纸的大小发生变化,用它来改变标题栏的大小它会调用以下几个程序 a)CATInit b)CATCheckRef c)CATMoveReference,把表明 MacroID 的那个文字移动到当前图的右下角 d)TranslationX,TranslationY,获取图纸大小 X,Y 的增量;如果图纸大小变了,将删除或 者移动当前的标题栏内容其中图框是删除了再重新画,文字是直接移动 4、Update 更新一些内容,主要是 CATLink 这个子程序,用于更新图号(根据生成 DRAWING 的 3D 模型的 PARTNUMBER 确定) ;也可以把系统的当前时间和登陆用户名更新进去;主要看语 句怎么写了 5、CheckedBy,添加“校对”这一角色的名字 6、AddRevisionBlock,添加版本记录栏 以上所说的,只是宏的基本框架;整个宏程序还有很多子程序,所有的内容都是通过子程序 间的调用来完成的。
用宏编的图框/标题栏,可以根据需要自动(准确的说,是半自动)的改变大小,可以说是 一劳永逸的方法其开发过程,包括的内容,都是根据具体需要来进行的,一般的大公司, 都开发了自己的东西 至于其他的做法 比如:直接在 BackGround 里面画出来,然后保存,以后利用 Insert BackGround 等来实现;或者用 AutoCAD 画完导入到 CATIA;或者直接在 CATIA 的一个视 图(VIEW)里面画出图框;等等诸如此类的方法,由于图幅一变,标题栏就不能用了, 或者说,那些做法,根据需要,必须画出 N 个大小不同的图框,我觉得在 CATIA 实在不该 继续沿用了 时间与水平所限,就写这么多吧 学习 CATIA,必须要学习宏的编写和使用,因为许多功能通过宏将会得到很大的效率提升 而且,宏也不难,跟 VB 差不多,如果没有专门的编程工具,用写字版就能编辑希望诸位 CATIA 的学友提起对宏的兴趣国外公司的介绍,都是说本公司通过 CAA、宏、文档模板 等方法,实现了某方面的自动化/简单化,而国内的水平却还停留在某个功能怎么实现,某 个图标怎么用,差距太大了。
