调用Inventor命令
来源:互联网 发布:网上的淘宝兼职可信吗 编辑:程序博客网 时间:2024/04/26 16:59
通过API可以实现大部分Inventor的功能,但偶尔可能API尚未提供对应功能,或者Inventor的对话框比较复杂,你不想自己也写个对话框,用API实现每个按钮功能。那这时可以考虑直接调用Inventor命令。其实,基本所有在用户界面看到的功能都可以找到对应的命令,包括二次开发创建的命令。如果你写过插件,肯定熟悉如何创建一个按钮,其中有个ControlDefinition对象,它就是所谓的命令容器。通过API你可以获取所有命令列表,例如:
这段代码遍历所有命令,写入一个文本文件。DisplaName是命令在用户界面显示的名字,若中文版则是中文。而InternName是唯一名,任何版本都一样。当你拿到这样的文本文件,通常可以根据显示名,查找哪个命令可能是你需要的,例如,要弹出【另存文件】的对话框,显示名(我是英文版)是Save Copy,则可查到其内部名是: AppFileSaveCopyAsCmd。
注意Execute和Execute2的区别。
Sub dumpCommands() '准备一个文本文件用来存储命令信息 Open "c:\temp\inventorcommands.txt" For Output As #1 '遍历每个命令 Dim oEachCol As ControlDefinition For Each oEachCol In ThisApplication.CommandManager.ControlDefinitions Write #1, "[命令显示名] " & oEachCol.DisplayName & "[命令内部名] " & oEachCol.InternalName Next Close #1 End Sub
这段代码遍历所有命令,写入一个文本文件。DisplaName是命令在用户界面显示的名字,若中文版则是中文。而InternName是唯一名,任何版本都一样。当你拿到这样的文本文件,通常可以根据显示名,查找哪个命令可能是你需要的,例如,要弹出【另存文件】的对话框,显示名(我是英文版)是Save Copy,则可查到其内部名是: AppFileSaveCopyAsCmd。
接着,你可以直接调用该命令:
Sub executeCommand() Dim oTheCol As ControlDefinition Set oTheCol = ThisApplication.CommandManager.ControlDefinitions("AppFileSaveCopyAsCmd") '异步执行。只在你自己命令结束后才执行 oTheCol.Execute '或立即执行 'oTheCol.Execute2 TrueEnd Sub
注意Execute和Execute2的区别。
但有些命令没有显示名,或者实在无法从内部名获取线索。可先启动UserInputEvents.OnActivateCommand事件,在用户界面里手动调用该命令,看.OnActivateCommand触发时出现的命令内部名是什么。例如,假设我们想考察【驱动约束】对话框
先写段代码,启动UserInputEvents.OnActivateCommand,然后手动执行,OnActivateCommand触发时会显示出命令内部名是:"AssemblyDriveConstraintCtxCmd"
- 调用Inventor命令
- 调用Inventor命令 - 续
- App Inventor
- inventor 二次开发
- APP inventor
- python调用调用Linux命令
- C# 调用cmd命令 调用dos命令
- Open Inventor 简介
- Basic Open Inventor
- Practical Open Inventor
- Open Inventor 简介
- App Inventor for Android
- Inventor Pro v2008
- 一个Open Inventor程序
- App Inventor试用体验
- Open Inventor学习资源
- open inventor 映射实例
- Basic Ope Inventor
- c++程序链接的过程原理详解
- 记录创建企业Wiki的几个开源项目
- 常用jquery方法 总结
- cocos2d-x 3.0 开发(一) Hello_New_World
- Dell 服务器 I1912报警
- 调用Inventor命令
- 关于PHP连接处理中set_time_limit()、connection_status()和ignore_user_abort()深入解析
- PHP 伪静态技术
- 状态模式 VS 职责链模式
- linux mysql 插入显示乱码问题
- mysql 常用查询
- redis中各种数据类型对应的jedis操作命令
- android中的Filter接口简介
- Windows codeblocks MinGW配置 [李园7舍_404]