分享

200行Python代码实现在CATIA中编绳子(附源码)

 复合材料力学 2022-01-19

在人类开始有简单的工具时,绳子就出现了。就算在科技发达的现代,从电力到建筑,从航运到我们生活的方方面面,绳子也是无处不在。制造绳子的方法有很多种,编织就是其中一种较为常用的方法,要对编制绳进行CAE分析,第一步就是首先要得到CAD模型,找到这张图,开始!

认真看了这个图,才发现,问题并没有我想的那么简单,圆管很容易搞定,直接扫掠就可以了,可是这个扫掠引导线过于花里胡哨,实在是难以下手。

只拿这个二维图也看不出什么啊,无论如何要用三维模型好好观察观察规律。终于,经过各种直线、曲线、阵列、相切、平移等一大堆操作后,把这一小段的引导线做好了!

再加个扫掠,完美!

看看混乱的历程图,手动创建还是太繁琐了。

这个方法要实现参数化过于麻烦,难不成改一次参数,掉一把头发??

这得换个思路

先拿一根来好好研究研究

我左看右看,上看下看,原来每个女孩都不简单……

咳咳~

多看看还是可以发现规律的

俯视图显然就是一个标准的三角函数图像

侧视图也就是几个周期不同的三角函数图像拼接起来的嘛

初中数学没有白学

说干就干

技术要点:

1.要在CATIA中画出标准的函数图像,最好使用知识工程里面的规则,如下图即为生成俯视图曲线的规则

2. 要实现参数化自动建模,最好使用CATIA二次开发,但CATIA二次开发内置的语言是VB,现学VB没必要,直接用学过的Python调用CATIA的COM接口,一样可以实现CATIA的二次开发。使用以下代码可以获得CATIA的com接口,并新建part。

from win32com.clientimport Dispatch

catia =Dispatch('CATIA.Application')

documents =catia.Documents

documents =documents.Add("Part")

part = documents.Part

3.建模需要的长度不止一小节,可以生成任意长度的的绳子,就在CATIA的规则里面加入if判断,下图即为生成侧视图曲线的规则,可以循环多个编织周期

4. 在编程时,查询命令语句可以用CATIA的宏录制功能,录的命令是VB格式,稍加改进即可,但是有些命令录制不到,就只能在安装目录下win_b64\code\bin\V5Automation.chm文档中查询。

Python编程思路:

1、 调用CATIA的COM接口

2、 创建所需基准直线

3、 创建规则所需函数表达式

4、 创建规则

5、 创建Y向的平行曲线

6、 创建Z向的平行曲线支持面

7、 创建Z向的平行曲线

8、 扫掠成圆管

代码中使用较多空行分割区域,并且加入了报错提示,共199行代码,实现效果

若对代码加以改进,可实现弯曲的绳子,有兴趣的朋友可以试试。

关于软件和Python库的几点说明:

  1. CATIA V5 ,本人使用的是R2016

  2. Python 3,本人使用的是Python 3.7.4,未使用特殊语法,理论上Python 3即可运行,Python下载安装免费,或者也可以直接下载Anaconda 3 ,里面包含了常用的库。

  3. Python 3需要有win32com 库,可使用cmd输入pip install win32com 自动安装,可以自行百度哈。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多