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

关注公众号拿干货

CATIA论坛公众号
加入联盟

扫微信(sakula)入联盟

CATIA软件
风格切换

catia教程

搜索

CATIA联盟论坛

[CATIA插件] CATIA VBA二次开发工具|一键锁定图纸的所有视图

[复制链接]
※鱼鱼╰☆ 发表于 2019-1-23 17:33:37 | 显示全部楼层 |阅读模式
※鱼鱼╰☆
2019-1-23 17:33:37 3237 0 看全部

  前言:本文主要探讨如何基于CATIA VBA实现一键锁定图纸的所有视图的功能。此外,还将探讨.catvba和.catvbs的使用方法。

  高清视频请访问如下链接查看:http://pan.baidu.com/s/1uvKWepkSJbHvJ6k79PTUfA

  1编程思路

  正常我们锁定视图是通过选择视图,右键,属性中勾选lock进行锁定,而现在我们希望通过代码来实现:

  本程序比较简单,核心代码只有一句:

  PropertyLockStatus(        )Asboolean

  ViewToWorkOn.LockStatus=True

  然后就是分几种情况来写代码:

  1)快速锁定/解锁所有视图

  2)输入sheet名,锁定/解锁其所有视图

  3)使用Select选择视图进行锁定/解锁

  4)使用Select选择sheet进行锁定其下的视图
CATIA VBA二次开发工具|一键锁定图纸的所有视图73

  等等......

  特别注意,我们在使用item获取View时,item(3)才是Frontview,这个地方要特别注意!!!

  CATIA.ActiveDocument.Sheets.Item("Sheet.1").views.Item(3).LockStatus=True
CATIA VBA二次开发工具|一键锁定图纸的所有视图2

  3几种好用的模块

  下面分享几种好用的模块,供大家参考:
CATIA VBA二次开发工具|一键锁定图纸的所有视图19

  1.通过文件选择对话框打开Drawing图档
CATIA VBA二次开发工具|一键锁定图纸的所有视图72

  2.判断是否为Drawing视图以及使用实例
CATIA VBA二次开发工具|一键锁定图纸的所有视图50

  3.Select方法做成函数模块
CATIA VBA二次开发工具|一键锁定图纸的所有视图31

  4获取视图对象的方法和属性

  >>>获取sheet
CATIA VBA二次开发工具|一键锁定图纸的所有视图25

  >>>获取Views
CATIA VBA二次开发工具|一键锁定图纸的所有视图45

  >>>判断是否为详图
CATIA VBA二次开发工具|一键锁定图纸的所有视图26

  >>>更新视图
CATIA VBA二次开发工具|一键锁定图纸的所有视图99

  >>>强制更新所有视图
CATIA VBA二次开发工具|一键锁定图纸的所有视图77

  5锁定视图

  >>>锁定视图
CATIA VBA二次开发工具|一键锁定图纸的所有视图14

  注意:

  1.锁定视图情况下,强制更新视图会出现Error

  2.解锁视图只需让布尔值为False即可。

  6简谈代码使用方法

  之前我们都是用VBA来写的,生成的是.catvba的文档,通过选项打开Macro
CATIA VBA二次开发工具|一键锁定图纸的所有视图78

  选择Macro库,在库类型里选择VBA工程。有的小伙伴可能没有VBA工程,那么多半是CATIA在安装时自带的VBA程序安装失败,需要用户手动安装。VBA的安装软件在CATIA的安装包里是找的到的。
CATIA VBA二次开发工具|一键锁定图纸的所有视图79

  在弹出的对话框里选择.catvba文件打开
CATIA VBA二次开发工具|一键锁定图纸的所有视图86

  然后选择模块后,点击Run即可。
CATIA VBA二次开发工具|一键锁定图纸的所有视图7

  我之前做了一个VBA的程序,设计的界面如下:
CATIA VBA二次开发工具|一键锁定图纸的所有视图85

  大家可以自己设计个更好看的界面,自己填程序,这个程序比较简单。

  我们本次尝试用.cvtvbs来写,写法基本就是去掉dim类型的版本,因为没有提示,所以其实对于新人并不友好,这也是为什么我直到现在才开始用这个写的原因。

  这种写法最大的好处是避开了很多变量导致的Error问题,代码精简了很多,最最重要的是直接双击下面的图标就可以执行,运行很方便。当然,它不能做美观的界面,这是个缺点,交互性也就不是特别的好了。

  库里调用的话参考下图:
CATIA VBA二次开发工具|一键锁定图纸的所有视图66

  7详细代码
CATIA VBA二次开发工具|一键锁定图纸的所有视图96

  >>>输入sheet名,快速锁定其所有视图
CATIA VBA二次开发工具|一键锁定图纸的所有视图74

  >>>输入sheet名,快速解锁其所有视图
CATIA VBA二次开发工具|一键锁定图纸的所有视图79

  >>>选择视图,快速锁定
CATIA VBA二次开发工具|一键锁定图纸的所有视图59

  >>>选择视图,快速解锁
CATIA VBA二次开发工具|一键锁定图纸的所有视图69

  7参考资料

  DSYAutomation.chm帮助文档

  CATIA二次开发技术基础+电子工业出版社_200....pdf

  本文涉及到的代码请访问如下链接下载:http://pan.baidu.com/s/1yYZdm5BwX7gzxV1zM2kqjw  提取码:kk9i

  复制这段内容后打开百度网盘手机App,操作更方便哦复制这段内容后打开百度网盘手机App,操作更方便哦

  • 您可能感兴趣
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则 返回列表

查看:3237 | 回复:0

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


CATIA技术群

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