| 会员登录 立即注册
关注公众号

关注公众号拿干货

CATIA论坛公众号
加入联盟

扫微信(sakula)入联盟

CATIA软件
风格切换

catia教程

搜索

CATIA联盟论坛

[CATIA V5软件] CATIA宏/VBA/二次开发——2自动化对象

[复制链接]
chaojiwantong 发表于 2019-3-1 15:05:30 | 显示全部楼层 |阅读模式
chaojiwantong
2019-3-1 15:05:30 4606 0 看全部
  看了上一篇二次开发入门的文章之后,相信很多小伙伴都开始兴致勃勃地录宏,改宏,似乎大学时候仅仅考计算机二级才有的程序猿的梦一下子又重新燃烧起来!

  然而,当你在2D工程图模块里画了一个圆,添加了一个文本之后,录出来的代码确是空空如也(此处BGM:我懵懵懂懂过了一年……)

  你可能怀疑是不是自己操作不当,或者软件Bug导致没录出来代码。但如果小狼告诉你,这个操作就是录不出来的时候,你心里那团刚刚燃起的小火苗可能又瞬间被浇灭了。

  是的,不知道各位有没有注意,第一篇文章中,小狼有个地方特意强调了:并不是所有的操作都能录成宏代码。那是不是意味着这些录不出来的操作,我们就无法用宏来执行呢?

  这个话题我们暂时放这,来看另一个你可能会有的疑问:

  我们前面录的代码里,提到了Factory2D.CreateClosedCircle。那么问题来了:Factory2D是个什么东西?它除了可以。CreateClosedCircle还能“点”什么呢?是不是我写。CreateRectAngle就能创建矩形呢?除了Factory2D,还有些其他的什么呢?它们又能“点”什么呢?

  带着上面的若干疑问,我们来介绍几个CATIA VBA二次开发中虽然枯燥但无法避免的几个基本概念:(自动化)对象,方法,属性。

  此时,请打开CATIA安装目录xxx/code/bin下面(就是右键桌面CATIA图标打开目标文件夹那个目录),名为V5Automation.chm的文档:
   CATIA宏/VBA/二次开发——2自动化对象84

  如上图所标识的,我们拿手机来举例子:

  黄色的对象集合

  我有叁个手机,那“我的手机们”就是集合。集合一般都可以通过Item的方法获取里面具体的对象,比如“我的手机们。Item(1)”表示我的第一个手机,或者“我的手机们。item(“华为Mate20Pro”)”表示我的名为“Mate20Pro”的手机。

  紫色的抽象对象

  手机,就是一个抽象对象。它表示可以通讯的一类东西,但它不指具体的哪部手机。通常抽象对象会衍生出一些子类,比如智能手机,老年机等等,它们除了具有手机的基本特性之外,还有一些属于各自的额外特性。

  蓝色的常规对象

  华为Mate20,就是一个常规对象。比如,我们可以写“Dim 小白 As 华为Mate20“,即定义了一个名为小白的变量,其类型为Mate20。
   CATIA宏/VBA/二次开发——2自动化对象21

  对象的属性

  属性指对象的特性,它分为两种,一种是只读属性,一种是非只读属性。

  只读属性:a=小白。颜色,或者b=小白。内存等,这些颜色或是内存,是小白,或者说是Mate20的只读属性,我们可以把它的此类属性信息读出来使用,但不能对其进行赋值更改。

  非只读属性:c=小白。电量,也可以写小白。电量=c。与上面的只读属性不同,我们可以读取手机当前的电量,也可以对电量赋值,让手机的电量是多少(充电或耗电至某个值)。

  对象的方法

  方法指对象可以做什么,它更像是一个动作。它也分两种,一种是无参数的,一种是有参数的。

  无参数方法:手机。振动,即让手机执行“振动“的动作

  有参数方法:手机。拨号(number),这里要跟上一个号码参数,或者手机。播放音乐(歌名,随机模式,重复模式,是否定时关机等),这种跟多个参数的方法。
   CATIA宏/VBA/二次开发——2自动化对象49

  看到这里,你可能会恍然大悟:我们第一篇文章中讲到的CreateClosedCircle就是Factory2D这个对象的一个方法,它后面要跟叁个参数,分别表示圆的x坐标,y坐标以及半径。

  所以,接下来让我们用稍微专业一点的语言,重新描述一下前面的那一堆疑问:我要如何知道CATIA中有哪些像Factory2D这样的对象呢?这些对象又有哪些方法和属性呢?

  这些问题,我们可以通过查询刚刚说到的V5Automation文档来得到答案。

  前面我们说过,每个自动化对象都好比一个身怀绝技的士兵,而Automation这个手册里就清晰地表明了这个军营上下级的层级关系,以及每个士兵都有哪样的技能。需要提到的一点是,不管哪个士兵,往上追根溯源,它们的大boss,都是Application(CATIA)这个对象。
  

  接下来,我们就从源头开始,来查一查这个图谱:

  先点击打开文档后的默认界面里,PartDocument右边的红色小箭头
   CATIA宏/VBA/二次开发——2自动化对象38

  再继续往下找,点击Part下面Sketch右边的红色小箭头

  你就会发现,我们之前录制的代码里那个Factory2D是Sketch下面的一个对象。
   CATIA宏/VBA/二次开发——2自动化对象57

  而你再点击去这个Factory2D,它的所有属性Properties和方法Method就都显示出来啦!包括我们前面用到的CreateClosedCircle

  并且,当你点进去某个方法时,会有详细的说明和用法
   CATIA宏/VBA/二次开发——2自动化对象43

  看到这,如果你正因为自己发现了这样一本“秘籍“而沾沾自喜,那么,我劝你低调,因为这只是个开始(新手村都没出的意思),距离修炼成为一代编程大侠,路,还长着呢!
   CATIA宏/VBA/二次开发——2自动化对象60

  还有相关技术和就业问题,可以扫描下方二维码,下载登录IND4汽车人app,在“问答”页面提问。也可以点击“阅读原文”,直接向作者发问。
CATIA论坛官方公众号
  • 您可能感兴趣
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 返回列表

查看:4606 | 回复:0

CATIA教程| CATIA视频| CATIA培训| CATIA下载| CATIA安装| CATIA插件| CATIA入门| CATIA V5| CATIA V6| CATIA论坛
联系电话:18982019507 地址:成都市青羊区二环路西一段155号天祥广场4栋1801
版权所有 ©软易达 •( 蜀ICP备14018086号 )Copyright © 2001-2013 Comsenz Inc. All Rights Reserved.   Powered by Discuz! X3.4
联盟微信客服:
silhouette023CATIA软件


CATIA技术群

微信公众号 CATIA微信公众号
“CATIA联盟”