CATIA UDF进阶:阵列复制Loop技巧大公开

前面已经给大家详细的讲述了UDF的创建方法,通过UDF可以大大减少我们重复建模的次数和时间,但是如何将UDF进行批量的复制则需要我们用到另外一种命令Loop来实现。例如下面这个实例,在螺旋线上均匀分布了35个球体,而且从上至下球体的大小逐渐增大;显然通过UDF可以实现不同位置的单个球,但是要一次实现所有的球阵列复制出来,就需要我们结合Loop的命令实现,本文将详细介绍Loop的创建过程。

CATIA UDF之阵列复制Loop的图1


Step 1 : 首先创建需要用到的参数:Number(控制球体的个数),Ratio(球体在曲线的位置),R(球体的半径)

创建输入几何图形: 螺旋线

创建输出的UDF几何图形:点(点在曲线上),球面(点和半径),封闭曲面实体化

并将比例Ratio和球径R分别用公式将参数一一关联起来

CATIA UDF之阵列复制Loop的图2



Step 2 : 创建UDF模板,点击特征树上的 点、球面、球体以及参数Ratio和R作为内部组件,直到右侧仅出现输入组件螺旋线说明创建成功

CATIA UDF之阵列复制Loop的图3

同时注意切换到参数对话框,将Ratio和R务必激活为Yes状态,创建完成后可以修改UDF属性名称,特征树知识模板组下面会出现刚才创建的UDF特征,其控制参数也在下面

CATIA UDF之阵列复制Loop的图4



Step 3 : 创建Loop语句 :

切换到知识工程顾问模块下面,如下所示,打开Loop命令

CATIA UDF之阵列复制Loop的图5


如下图所示,将对应的参数加入列表

CATIA UDF之阵列复制Loop的图6

1.      Input列表:将UDF特征模板和Number参数加入进来,注意所有Loop语句中出现的变量参数需要加入至列表中

2.      Input Name : 可以自定义修改Input列表中的出现的参数名称,且名称必须与下面语句引用的完全一致,否则出错。

3.      Context : 为复制后的UDF特征存放的几何集名称,即阵列后的实体全部在该几何集特征树下。

4,From  To : From 后为变量的初始值或者起始值,To后为变量的终值,中间步进增量        为1,为了保证与Number进行实时更新,需要用f(x)将Number用公式关联起来。

5.   Loop 循环语句编写: (本文最关键的地方)


第一行: ball_$i$ isa Ball

ball_$i$ 是表示生成的UDF特征实体的属性名称,i是变量(在Loop中i是唯一约定的变量),例如本例中将会生成如ball_1、ball_2、ball_3…ball_35,注意Loop中的变量i必须要用$i$ 来引用,相当于将字符i变量化

Isa 为固定语句,不可修改,其后接UDF模板的名称

Ball需与创建的UDF模板属性名称一致,如果Input name中对UDF名称修改了,则应与Input name中保持一致。


第二行和末行: 中间控制参数的语句编写都必须有{}


第三行: R=1mm*(1+0.1*$i$)

表达式含义为球体的半径将在1mm基础上以0.1递增,注意因为R是带单位的参数,所以在创建表达式过程中必须右边也带参数,所以需要将mm单位带上

第四行:Ratio=1*$i$ / Number

表达式含义为球心在曲线的百分比位置以1/35、2/35…1。由于Ratio本身定义的就是实数类型,所以无需加上单位

创建完成后确认即可实现图一的效果,且球的数量,大小都可以同步更新变化。

但是需注意,更改完参数后还需要再次打开Loop然后再关闭才可看到更新的变化。

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空