理论教育 Revit参数化:快速掌握返回3个参数中的最大值

Revit参数化:快速掌握返回3个参数中的最大值

时间:2023-09-26 理论教育 版权反馈
【摘要】:4)为R2添加条件语句来提取a、b、c3个参数中的最大值。图9-61图9-625)打开“族类型”对话框,新建一个中间值mid来表示a和b的大小比值;再新建一个圆,用半径R3来表示mid和c的大小比值,如图9-63所示。图9-63图9-64此时R3读取的最大值是c值。单击“项目浏览器”中的“三维视图”,分别拖动3个参照点,观察R1、R2和R3的值。

Revit参数化:快速掌握返回3个参数中的最大值

1)新建概念体量,选择“公制体量.rft”并打开。

在标高1视图放置4个参照点(图9-49),并标注4个点的距离,如图9-50所示。

978-7-111-55826-2-Part01-975.jpg

图9-49

978-7-111-55826-2-Part01-976.jpg

图9-50

选中尺寸标注,单击选项栏“标签”后面的下拉列表(图9-51),在其中选择“<添加参数...>”,分别添加参数a、b、c,如图9-52所示。

978-7-111-55826-2-Part01-977.jpg

图9-51

978-7-111-55826-2-Part01-978.jpg

图9-52

2)在参照点的左右两边,绘制两个圆,如图9-53所示。分别为两个圆添加半径为R1和R2的类型参数,如图9-54、图9-55、图9-56、图9-57、图9-58所示。

978-7-111-55826-2-Part01-979.jpg

图9-53

978-7-111-55826-2-Part01-980.jpg

图9-54 图9-55

978-7-111-55826-2-Part01-981.jpg

图9-56

978-7-111-55826-2-Part01-982.jpg

图9-57

3)打开“族类型”对话框。先为半径R1添加if条件语句来提取a和b中的最大值。公式为“if(a>b,a,b)”,公式的意思是“如果a大于b,则R1取值为a,反之则取值为b”,如图9-59所示。

4)为R2添加条件语句来提取a、b、c3个参数中的最大值。公式为“if(a>c,if(a>b,a,b),if(b>c,b,c))”,公式的意思是“当a大于c时,c值就不考虑,则让a和b进行比较并输出值;当a小于c时,a值就不考虑,则让b和c进行比较并输出值”。通过两两之间的比较判断,输出最大值,如图9-60所示。

978-7-111-55826-2-Part01-983.jpg

图9-58

978-7-111-55826-2-Part01-984.jpg(www.daowen.com)

图9-59

978-7-111-55826-2-Part01-985.jpg

图9-60

此时,a、b、c3个参数中b值最大,所以R2的取值为b值,如图9-61所示。下面任意拖动参照点,观察圆的变化,如图9-62所示。

978-7-111-55826-2-Part01-986.jpg

图9-61

978-7-111-55826-2-Part01-987.jpg

图9-62

5)打开“族类型”对话框,新建一个中间值mid来表示a和b的大小比值;再新建一个圆,用半径R3来表示mid和c的大小比值,如图9-63所示。公式为“mid=if(a>b,a,b)”和“R3=if(mid>c,mid,c)”,如图9-64所示。

978-7-111-55826-2-Part01-988.jpg

图9-63

978-7-111-55826-2-Part01-989.jpg

图9-64

此时R3读取的最大值是c值。单击“项目浏览器”中的“三维视图”,分别拖动3个参照点,观察R1、R2和R3的值。

本小节中比较3个数值的大小,主要是先通过比较第一个和第二个数值,再把它们中的较大值与第三个数值进行比较,最终输出3个数中的最大值。读者还可绘制不同形状,在尺寸标注上添加数值,并用if条件语句比较出最大值。

常见错误原因及解决办法如下:

1)原因:括号数目不对。解决办法:仔细数一遍。因为括号都是成对出现的,如果括号的总数是奇数,或者左括号和右括号数目不一致,那就是输入有误了。

2)原因:单位不一致。解决办法:统一单位,使之一致。

3)原因:条件顺序不一致。当条件的变化没有保持同一个方向而打乱顺序时,结果可能就会发生错误。例如要表达a<2000,b=1000;2000=<a<4000,b=2000;4000=<a<5000,b=2500;5000=<a<9000,b=4500;9000=<a,b=6000)。

错误的公式为

c=if(a<2000,1000,if(a<9000,4500,if(a<5000,2500,if(a<4000,2000,6000))))。

解决办法:正确的公式为b=if(a<2000,1000,if(a<4000,2000,if(a<5000,2500,if(a<9000,4500,6000))));

因为在c的公式中,9000的分段界限安排在了4000和5000的前面,当a的值在2000到9000之间时,会始终取4500作为结果,而不去执行后面的4000和5000的分段界限。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈