调用Inventor命令 - 续

Inventor SDK入门---API创建零文档类型的Ribbon命令按钮 Inventor SDK入门---API创建零文档类型的Ribbon命令按钮,本文制作一个ZeroDoc环境下的Ribbon命令按钮。 阅读详情

在上次的文章里,我介绍了如何直接调用Inventor命令

http://blog.youkuaiyun.com/autodeskinventorapi/article/details/17138055

这在某些情况下能减少点代码,交由Inventor本身的功能完成。对于个别情形没有相关API的功能,这种方法也不失为一种解决方案。但是,这不是万能的,当执行某个命令后,控制权就交由Inventor,基本上是等待用户交互,输入参数,弹出对话框等。某些需求,这样的过程也足够了,例如,以下代码选择了一个拉伸特征,执行弹出【特征编辑】对话框的功能。

Sub editExtrudeF()

    Dim oPartDoc As PartDocument
    Set oPartDoc = ThisApplication.ActiveDocument
    
    Dim oDef As PartComponentDefinition
    Set oDef = oPartDoc.ComponentDefinition
    
    Dim oEF As ExtrudeFeature
    Set oEF = oDef.Features.ExtrudeFeatures(1)
    
    Dim oSel As SelectSet
    Set oSel = oPartDoc.SelectSet
    
    oSel.Clear
    oSel.Select oEF
    
    ThisApplication.CommandManager.ControlDefinitions("EditExtrudeCtxCmd").Execute

End Sub


可某些需求,例如草图里的 裁剪,延伸,打断等操作,即便代码选择好了草图实体,执行对应的命令,Inventor仍旧需要用户选择实体。例如以下代码选择好一个草图直线,然后执行【延伸】命令,Inventor并没有直接出延伸结果,而是让用户选择需要延伸哪个实体。

Sub ExtendSketchEnt()

    Dim oPartDoc As PartDocument
    Set oPartDoc = ThisApplication.ActiveDocument
    
    Dim oDef As PartComponentDefinition
    Set oDef = oPartDoc.ComponentDefinition
    
   Dim oSketch As Sketch
    Set oSketch = oDef.Sketches(1)
    
    Dim oSketchEnt As SketchEntity
    Set oSketchEnt = oSketch.SketchLines(1)
    
    Dim oSel As SelectSet
    Set oSel = oPartDoc.SelectSet
    
    oSel.Clear
    oSel.Select oSketchEnt
    
    ThisApplication.CommandManager.ControlDefinitions("SketchExtendCmd").Execute

End Sub

这是为什么呢?

其实,如果直接在用户界面手动操作:先选择好一个草图线,接着点击【延伸】,你会发现,选择好的草图线不再是选中状态,Inventor也会让用户选择延伸哪个草图实体。因此,其实刚才代码的行为和用户手动操作的行为时一致的。

这背后与该命令的机制有关系。大家知道,当你做延伸时,例如一条最普通的直线,如果在选择这条直线,拾取点靠近起点,则Inventor将以起点作为延伸对象,同样,若靠近终点,则以终点作为延伸对象。这样才能有唯一的结果。而预先选择实体,用户可能是框选,多选,Inventor无法得知到底哪个对象是来延伸。反过来再看代码,难道你没发现代码也是无法去指定是靠近起点拾取还是终点拾取么?

总之,对于这样的情形,执行命令就无能为力了。

这时,通常我们需要去看API有无具体化的功能。例如,对于编辑拉伸特征,弹出对话框后仍旧要用户输入编辑。假设你想用代码都做完,可以是自行获取ExtrudeDefinition ,对其中的参数进行修改,例如修改拉伸距离用ExtrudeDefinition.SetDistanceExtent 。

而对于【延伸】草图实体,很遗憾,目前API没有具体化的功能。你能做的可以是研究Inventor如何延伸,自行设计出算法。 例如:

http://blog.youkuaiyun.com/autodeskinventorapi/article/details/17680531

inventor二次开发-课程2-连接你的inventor 文章目录1.外部程序是怎么影响inventor的数据?2.在程序里导入.dll接口文件3.连接inventor的代码(1)方法4.获得当前打开的文件对象(1)原文Application.ActiveDocument PropertyDescriptionSyntax(2)例子5.Documents的常用属性 1.外部程序是怎么影响inventor的数据? 使用inventor提供的API开发的外... 阅读详情

相关推荐

使用APP inventor来制作一个属于自己的蓝牙串口软件

使用APP inventor来制作一个属于自己的蓝牙串口软件 本文主要讲述蓝牙的发送和接收功能的制作 一、准备 1.APPinventor的网址:http://app.gzjkw.net/ 二、蓝牙APP界面的设置 首先我们新建一个项目,在这里我用的是本地服务器,如果没有本地离线版的可以用上面那个网址,用qq登录就行 接着我们找到水平布局,拖出一个放到屏幕中 找到用户界面中的列表选择框和按钮,拖出来放到刚刚的水平布局中,其中列表选择框的作用是选择要连接的蓝牙,按钮的作用是用作断开连接 点击列表选择框1

moshanghuaw的博客 2万+

在 autodesk inventor 工程图环境中,零件代号同步关联工程图名称。VB代码

在 Autodesk Inventor 中,您可以使用 Visual Basic for Applications (VBA) 代码来实现将零件代号与工程图名称同步关联。 首先,您需要打开 Inventor 中的 VBA 编辑器,可以在 Inventor 的“工具”菜单中找到。然后,您可以使用以下代码来设置零件的代号,并将其与工程图名称同步关联: ' Declare variables Dim o...

weixin_35756130的博客 1358

Inventor SDK入门---环境搭建

Inventor SDK入门---环境搭建,快速建立一个Inventor Addin项目

guoll8952的专栏 2221

在 autodesk inventor 工程图零部件环境中,零件描述&零件代号同步关联工程图名称。VBA代码...

在 Autodesk Inventor 中,零部件是指用于创建机械装配体的独立元素。零件描述是指在创建零件时,在属性面板中输入的信息,包括零件的名称、材料、尺寸和其他特性。这些信息可以在零件的设计过程中用于参考,也可以在装配体设计中用于制定零件的使用要求。 ...

weixin_35756637的博客 548

【新版】Inventor二次开发学习指南

以前曾写过一篇文章:http://blog.youkuaiyun.com/autodeskinventorapi/article/details/8120770。由于Autodesk University 中国已关闭,文章中很多链接失效,而且有些内容也需要更新。特作废以前那篇文章,另外撰写一篇新的,大部分内容雷同。软件预备Inventor 产品:可从Autodesk官方网站的Inventor产品目录下载试用...

Gear Up Cloud 1万+

INVENTOR结构件生成器,新建型材

我们在使用INVENTOR结构件生成器的时候,或多或少会存在型材库里没有自己想要的情况,很多人会发现INVENTOR中增加型材截面根本找不到地方,所以,我总结了一下,在此写个word版的教程供大家参考,希望能帮助各位。 第一步:必须在资源中心新建一个可读写的零件库,步骤如下 按以上步骤建完之后点确定即可。这一步的目的只是为了创建一个可读写的库目录,如果发现原来存在一个可读写的库目录,可以跳过这一步。 第二步:新建需要创建的截面零件 我建的圆管模型中,外径和内径是草图尺

qq_31052733的博客 6503

Inventor文件中保存自定义数据 - 2

第二种方式是Attribute。我们叫做属性,和iPRoperties以示区别。很多Inventor对象都提供了添加属性的功能,包括文档。属性的操作也有大量文章,本文推荐两个材料: 第一是帮助文档。专门有个章节讲解:     另外就是Brian的博客文章。我还没来得及翻译。  http://modthemachine.typepad.com/my_weblog/2009/0

Gear Up Cloud 1851

AutoCAD中导入Inventor模型

大家知道,Inventor能产生工程图,但有一部分用户更习惯在AutoCAD中去进行工程图的设计。从AutoCAD 2013开始支持导入Inventor模型,生成对应的工程图。有两种模式: 模式一: 将Inventor模型导入后,插入为块(block),在Insert >> Import 里可选择Inventor的 *.ipt或*.iam文件。这篇博客介绍了详细的步骤。 http://auto

Gear Up Cloud 5587

调用Inventor命令

通过API可以实现大部分Inventor的功能,但偶尔可能API尚未提供对应功能,或者Inventor的对话框比较复杂,你不想自己也写个对话框,用API实现每个按钮功能。那这时可以考虑直接调用Inventor命令。其实,基本所有在用户界面看到的功能都可以找到对应的命令,包括二次开发创建的命令。如果你写过插件,肯定熟悉如何创建一个按钮,其中有个ControlDefinition对象,它就是所谓的命令

Gear Up Cloud 4697

Inventor SDK基础教程:实现无文档Ribbon命令按钮

Inventor SDK是Autodesk Inventor软件的软件开发工具包,它允许开发者创建和扩展Inventor的功能。通过SDK提供的API和接口,开发者可以自定义用户界面,增加新的工具和命令,以及实现与Inventor环境集成的外部应用程序。SDK支持多种编程语言,包括但不限于.NET和C++。Ribbon用户界面是一种流行的界面设计,其取代了传统的菜单和工具栏,提供了更为直观和灵活的用户体验。Ribbon界面主要由以下几个部分构成:标签页(Tabs)

weixin_36364707的博客 799

inventorVBA资料

VBA开发inventor的范例和基本了开发方法

App inventor Web调用百度UNIT(二)

1、前言 上节把百度端UNIT配置好了,这节主要记录App inventor测的实现。 2、基本原理 UNIT调用时,需要读取系统为机器人分配的access _token。这个token有有效期为1个月。为了方便,本次是手动获取并更新。其实可以能过网络微数据库来管理。 在获取access_token后。调用百度语音识别,识别结束后,通过web的post操作把问题推给机器人。 取得返回json文档后...

sadanubis2008的博客 4390

Inventor API英文詞彙(Inventor VBA二次開發)

Inventor API英文詞彙(Inventor VBA二次開發)對照,Inventor二次開發實用英語詞彙。

App Inventor学习环境搭建(详细)

App Inventor学习环境搭建及使用 APP INVENTOR由谷歌实验室开发,后移交麻省理工学院,是一款可视化编程环境,采用搭积木的方式快速建立应用程序,并且可以结合AI伴侣,极其便利的在手机上进行测试和应用。 麻省理工学院的App Inventor是一个直观、可视化的编程环境,它允许每个人——甚至是孩子——为智能手机和平板电脑构建功能齐全的应用程序。那些麻省理工学院的新应用程序...

cnds123的专栏 7万+

Inventor--API示例演示VBPPT课件.pptx

Inventor--API示例演示VBPPT课件.pptx

SAP ABAP开发避坑:BAPI_MATVAL_PRICE_CHANGE调用报‘估价未维护’的完整解决流程

本文深入解析SAP ABAP开发中调用BAPI_MATVAL_PRICE_CHANGE函数时遇到的'估价未维护'错误,提供从基础配置检查到CKML_PRICE_SEND表维护的完整解决方案。通过实战案例和代码示例,帮助开发者快速定位问题并实现批量价格更新的自动化处理,提升开发效率。

weixin_28705087的博客 427

App Inventor学习环境搭建

APP INVENTOR由谷歌实验室开发,后移交麻省理工学院,是一款可视化编程环境,采用搭积木的方式快速建立应用程序,并且可以结合AI伴侣,极其便利的在手机上进行测试和应用。 APP INVENTOR是完全基于网页的在线编程工具,国内外都有一些可用的服务器。 麻省理工学院的服务器登录地址:http://appinventor.mit.edu/explore/ 广州服务器登录地址:http:/...

binbinqin的专栏 4万+

FID指标实战:如何用Python快速计算生成图像的质量分数(附完整代码)

本文详细介绍了如何使用Python计算Fréchet Inception Distance(FID)指标,以评估生成图像的质量。通过完整的代码示例和优化技巧,帮助开发者快速实现FID计算,并解读分数背后的实际意义,适用于GAN和扩散模型的性能评估。

weixin_28718487的博客 376

App inventor:使用BLE蓝牙

一、前言 最近用NRF52832蓝牙SOC做了一个车用测速的板子,由于目前还没有安卓编程的基础,做不了蓝牙控制APP,后来想到在学校的时候使用App inventor做了一个蓝牙APP来控制小车,想着这里也可以做来搞搞,没想到蓝牙一直连接报错507,查阅网上不少资料才知道,App inventor本身的蓝牙组件支持蓝牙2.0和3.0,但NRF52832是蓝牙5.0,所以没法用。那么需要安装BLE扩展组件,才能使用,而且我发现,除了蓝牙组件,还有其他的MQTT组件,这意味着我们可以自制APP通过WIFI控制

INT_TANG的博客 2万+

STM32F407最小系统硬件设计与CubeMX工程实践

嵌入式最小系统是MCU功能实现的物理基础,其核心涵盖供电网络、时钟架构、复位机制与调试接口四大模块。基于Cortex-M4内核的STM32F407对电源纹波、晶振稳定性及信号完整性提出严苛要求:模拟电源VDDA需<10mV纹波,HSE晶振布线须满足短距直连与匹配电容精准配置,SWD调试接口依赖50Ω阻抗控制与端接防护。这些硬件约束直接映射至STM32CubeMX配置——如RCC时钟树参数必须与实物晶振频率严格一致,GPIO模式需匹配外设电气特性(如I2C必选开漏),否则将引发通信失败或启动异常。典型应用场景

weixin_35592186的博客 173

实干派!网易易盾增强版滑块验证码,全方位讲解识别思路(含源码)

该验证码是异形滑块验证码中的一种,缺口旋转+偏移的处理需要你有很好的图像处理知识,能很好的处理透明通道,同时,该验证码需要你能很好的处理缺口和背景之间匹配的关系,该验证码的处理难点就是两个缺口之间如何找到正确的,两个检测框都有很强的相似度,且加上背景图的干扰,在图像处理和有优化上难度大大增加。

码王吴彦祖的博客 2015

APP INVENTOR调用HTTPClient

APP INVENTOR调用HTTPClient APP中使用HTTPClient调用api 这里使用的是聚合数据提供的API,使用所有的API都是大同小异,参数的参数有所不同 我们这里使用post方式,传回的是json格式,在解析了以后,我们可以使用列表中的查找来获得对应的键值对。 这是两个核心的代码块,传入我们需要的参数和解析返回的列表。 ...

季科的博客 4484

zemax像差参数Ray Fan/Spot Diagram/MTF/....讲解三

zemax像差参数Ray Fan/Spot Diagram/MTF/....讲解三

weixin_72050316的博客 1386
上一篇: 为按钮提供扩展帮助
下一篇: 草图直线做延伸(Extend)初探
autodeskinventorapi
博客等级 码龄14年 313粉丝 164原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值