不管学哪个三维软件,旋转楼梯都是个比较经典的练习。

这些牛逼的操作,用CATIA知识工程阵列就能实现  catia 第1张

  

  关于它在CATIA中的建模方法,小编也发了不止一篇文章。比如,用UDF+Loop的方法:【旋转楼梯】之三UDF+Loop实现旋转楼梯的创建!

  

  

  

  

  5db9fc26960d611fce65bcca82db97f7.jpg (49.05 KB, 下载次数: 28)

这些牛逼的操作,用CATIA知识工程阵列就能实现  catia 第2张

  下载附件

  2019-7-24 09:14 上传

  

这些牛逼的操作,用CATIA知识工程阵列就能实现  catia 第3张

  或是用宏代码来创建:【二次开发】VBA基础知识及一个简单的小例子

  

  然而今天我们要介绍的是知识工程阵列/KnowledegwarePattern,相当于KWA模块中Loop命令的进阶版。它可以用EKL语言写出各种循环、判断等规则,从而实现更为复杂的实例化。

  

这些牛逼的操作,用CATIA知识工程阵列就能实现  catia 第4张

  理论总是很枯燥很难理解,所以接下来,我们就通过一个例子,看一看传说中的知识工程阵列到底是怎么用的!

  

  这个例子,小编选择《CATIA二次开发技术基础》这本书最后一章——综合实例中的“鱼眼灯花”。书中是用Automation二次开发的方式做的,我们今天要用知识工程阵列实现。至于两者的优劣势,小编在这里不做评价。

  

  

  

  

  f0ef313588747fdf512b88c33ffa1da0.jpg (66.6 KB, 下载次数: 33)

  下载附件

  2019-7-24 09:14 上传

这些牛逼的操作,用CATIA知识工程阵列就能实现  catia 第5张

  

  本篇文章在3DE(V6)中演示,V5中的操作除了命令的图标和位置不一样,剩下的完全相同。

  

  关于单个灯花的结构与建模方法,我们不多讨论,请原谅小编从pdf的扫描版书中截了下面的满是马赛克的图片。

  

  

  

  

  83c1ecdb0de42e86ab9c771b439ea303.jpg (21.47 KB, 下载次数: 33)

  下载附件

  2019-7-24 09:14 上传

  

  不管用VBA还是用知识工程阵列,我们要考虑的点都是如何对上面模型的输入条件进行替换以实现实例化。

  

  在阅读下面的内容时,如果你是初学者,可能会有很多疑问,比如UDF怎么创建,EKL语言语法的问题等等,请先不要纠结它们,把通篇文章看完。文章的结尾会告诉你这些疑问该怎么解决。

  

  Step1基础元素和参数的创建

  

  在做这种实例化的东西之前,我们一定要清楚自己做的东西需要哪些输入条件。比如这里我们需要知道基准曲面,两个方向的等分线(在上面做等分点)和脊线,以及单个灯花大小、灯花数量的参数等等。

  

  根据上面的图片,我们不难创建出如下参数、基础元素。

  

  

  

  

  76b92112e437eb4d0ad2b5d954350acf.jpg (52.86 KB, 下载次数: 30)

  下载附件

  2019-7-24 09:14 上传

  

  Step2单个灯花的UDF制作

  

  

  

  

  a54a3ded237cb4b7a80992921e26c87d.jpg (44.74 KB, 下载次数: 35)

  下载附件

  2019-7-24 09:14 上传

  

  UDF,全称是UserDefineFeature,用户自定义特征。单个灯花单元的建模不难,就是相交、做样条线以及填充。

  

  

  

  

  c4569e50b51907570df9ad9d830ad453.jpg (69.73 KB, 下载次数: 29)

  下载附件

  2019-7-24 09:14 上传

  

  最终UDF的输入条件如下,并没有多什么额外的元素,证明我们做的是没有问题的。

  

  

  

  

  e35af8eee5cbafd12855309c6fa443cc.jpg (64.62 KB, 下载次数: 30)

  下载附件

  2019-7-24 09:14 上传

  

  别忘了把使用到的参数发布出来~

  

  

  

  

  81a27c93477bef3e208b2e05aa272fb0.jpg (70.17 KB, 下载次数: 30)

  下载附件

  2019-7-24 09:14 上传

  

  3DE中,我们需要加一步操作,就是把这个UDF添加到ResourceTable中。由于V5版本不需要此操作,这里就不做演示了。

  

  Step3打开知识工程阵列/KnowledgePattern命令界面

  

  3DE中,该命令在EngineeringRulesCaptureApp里面。

  

  

  

  

  81a27c93477bef3e208b2e05aa272fb0.jpg (70.17 KB, 下载次数: 31)

  下载附件

  2019-7-24 09:14 上传

  

  CATIA v5版本中,该命令在PKT模块的TemplatesCreationToolbar中。

  

  

  

  

  df39f08c5826cf0f6e88bd2bf3d65d8f.png (5.98 KB, 下载次数: 32)

  下载附件

  2019-7-24 09:14 上传

  

  点开命令,我们会进入到代码的编写界面。

  

  Step4写代码

  

  4.1_创建列表

  

  首先记住一点:我们要做的是阵列,因此不管是建模过程中的构造元素,还是最终的结果,都会是一个动态的List/列表。换言之,参数或输入条件一旦改变,这些List是要动态更新的。

  

  所以首先,我们要在知识工程阵列里创建一系列动态列表,用来存放我们建模的过程元素或者结果元素。

  

  创建列表的方法很简单,只要点Add击按钮即可。当然,重新给个有意义的命名是个好习惯。这里我们需要三个列表,分别用来存放H方向的点,V方向的点,以及最终的元素。

  

  

  

  

  5e7d3ae6dbe39c9c17b4df4ab84737d2.png (14.33 KB, 下载次数: 34)

  下载附件

  2019-7-24 09:14 上传

  

  4.2_编写创建H、V方向点的循环语句

  

  

  

  

  5b97bb46b60930b3c14d91e3d6bf740c.png (9.07 KB, 下载次数: 31)

  下载附件

  2019-7-24 09:14 上传

  

  4.3_编写实例化UDF的语句

  

  

  

  

  9f92194bd01e723368d7ab268860f37c.jpg (70.51 KB, 下载次数: 30)

  下载附件

  2019-7-24 09:14 上传

  

  上面两段代码,其实没有分享文本文档的必要。因为你的元素、图形集、参数什么的和小编的命名不一样的话,直接copy-paste是没办法运行的。而且上面大部分内容都是通过鼠标点选元素,而不是手敲的。

  

  Step5执行参数化阵列

  

  由于参数化阵列背后的计算量一般比较大,因此我们通常都会调成手动更新模式。执行阵列的动作很简单,只需要右键,选择Execute即可。最终效果如下图演示。

  

  

  

  

  2ff2c738321fcea84df6679669577804.gif (1.24 MB, 下载次数: 29)

  下载附件

  2019-7-24 09:14 上传

  

  当然如果你喜欢,可以把这整个文档做成一个模板。这样调入其它零件时,选择几个输入条件,更新一下阵列,模型就出来了!

  

  结束语

  

  最近总有小伙伴,问我有没有参数化建模的教程。其实,CATIA软件本身的建模就是参数化的,你画个草图,拉伸个凸台,高度20;双击特征,可以把20改成30,模型会更新。这,就是参数化!

  

  参数化设计与其说是方法,不如说它是一种思维方式!而CATIA知识工程的各个模块,不过是辅助你实现这样思维方式建模的工具!

  

  实际上,我们今天展示的知识工程阵列,也只是CATIA知识工程众多参数化设计工具中的冰山一角。

  

  那么,从哪里能系统完整地学到知识工程的全部内容呢?CATIA知识工程视频教程,那可是心扉大牛独家授权的!

  

  而心扉老师的知识工程教程,估计全网也就能找到这么一份(某宝盗版翻录那些除外,何况那些盗版的视频,买了你有素材吗?遇到问题有人答疑吗?)

  

  而这些售后,我们这统统有!