找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1974|回复: 0

关于Inventor驱动尺寸中表达式的使用问题

[复制链接]

已领礼包: 17个

财富等级: 恭喜发财

发表于 2017-1-9 14:31:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
对于Inventor这种参数化/变量化设计数据控制的软件,用户在参数中使用各种变量引用和表达式描述,是必然的结果;而Inventor也为此提供了完整的计算规则、常用运算符和函数,这就有可能实现两个参数之间使用表达式进行比较复杂的计算并建立起关联。
1、可用的运算符号与函数
从Inventor的帮助中可以清晰地得到这些线索,参见下图:

2、在数据输入框中使用运算符号
在数据输入框中(所有的这类输入界面)都可以使算数运算符号,包括使用控制计算次序的圆括号。
在下图的情况下,正在标注的这个驱动尺寸,未来将遵从“d0*0.25”的关系,与尺寸d0形成确定的关联关系,进而实现参数关联的效果。
这是大家很熟悉的过程了…

3、在数据输入框中使用函数运算的问题
而函数运算,则不是这样简单地与我们现有常识相一致。例如这样的需求:现存尺寸d0,想要将目前的尺寸做成d0的取整之后2倍。按照前边的说法,可以这样写表达式:Round(d0)*2
但是Inventor认为不对,参见下图

什么错误?
所谓“预期的单位”是mm,因为这是个驱动尺寸;而“表达式的单位”是“无量纲(ul)”,两者不匹配而不能计算。
这种量纲匹配,类似于程序设计中的数据类型匹配,不匹配将不可运算。例如数字的2与字符型的2不可能进行加运算。这是问题的关键所在,而解决这个问题的方法就是设法使两者量纲匹配。

量纲统一的原理和方法
从Inventor自己的解释中可见,Round函数的结果数据类型(返回类型)是“无量纲”,而它的参数数据类型(希望类型)也是“无量纲”;我们要处理的数据量纲是mm,这些都不可能更改。
但是,我们需要完成这个表达式的使用。怎么办?需要者找到一种量纲转换的方法。
在Inventor的参数表中新建一个变量,量纲为ul,表达式为1(mm/mm),结果Inventor接受了,这样,就实现了mm量纲数据转换成ul量纲的过程,参见下图:
这是一个隐含的规则:mm除以mm等于ul。至少我们现在还没能从相关支持文档中看到类似的说明,但是这个方法确实管用,而且Inventor也认可。在其他领域中,此类问题的解决方法是采用无量纲化来得到无量纲变量。

应用实例
例如:当前尺寸准备引用现有尺寸d0,并将d0取整之后的两倍。具体过程是:
县创建尺寸d0
在设计数据表中添加用户变量(例如:dd0),设置量纲为ul,表达式为d0/1mm,因此将mm量纲的数据转换成无量纲数据
在新的驱动尺寸输入框中,引用dd0并写入表达式:Round(dd0)*2mm,参见下图:
在这个表达式中:
Round(dd0)是对dd0参数取整,而dd0是将参数d0转换成ul量纲的结果,返回值类型为ul;
*2mm中的2,是要求结果中“两倍”;
*2mm中的mm,是将最后结果转换成mm量纲,以满足驱动尺寸的量纲要求。

结论
可见,为了应付Inventor这些函数中量纲的规则,我们必须掌握量纲转换的基本技术:
将mm或者deg量纲转换成ul,就是除法,例如:d2=14.5deg,则:dd2=d2/1deg成为ul…
将ul转换成mm或者deg量纲,就是乘法,例如:dd2是ul量纲,则:dd2*1rad成为弧度(rad)角度…

Inventor视频教程:
【Inventor】QQ群:391164938

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-18 20:18 , Processed in 0.399217 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表