吾生有涯 学海无涯
析模有界 知识无界

都快要被几何搞疯了

利用已有的CAD系统进行流程包装,以实现自动参数化建模,这是很多基于商业软件进行二次开发的主要方式。然而真正实践过的人就会发现,对于稍微复杂点儿的几何模型,采用这种方式的麻烦程度,不亚于重新开发一套小型的几何内核,而且可靠性也许还远远不如从底层重新开发。当然对于简单的几何模型来说,利用成熟的商业软件进行开发,可以在短时间内看到效果,的确能够在短短数小时或数天时间内,实现简单输入几何参数,一键输出几何模型。然而当模型复杂了之后,几何部件之间的拓扑连接及约束关系会把人搞疯,最主要的是调试起来极其的不便,大多数情况下出错了都不知道去哪里找错误。

最近基于ANSYS系统进行二次开发,采用的技术路线也挺简单的,总体来说就是利用SpaceClaim进行几何建模,利用Fluent Meshing生成网格,并在Fluent中完成计算与后处理。实现过程也不复杂,全程使用脚本实现参数化处理,开发的程序主要功能为脚本生成与脚本调用。在初期测试阶段,一切都很正常。然而随着后期模型复杂度增加,几何模型从初期的7个几何部件增加到后期的三百多个,噩梦也就开始了。

主要反映在几个方面:

  1. 几何间的依赖关系被打乱。原本建模采用单独零件建模再装配。在零件不多的时候,手工搜索装配关系工作量并不大,然而当几何部件多了后,一个个的装配几乎是不可能完成的任务。这时候需要程序能够自动识别几何体的特征,并进行大量的判断工作,对于非内核操作来讲,难度极大。
  2. 几何特征选择困难。在GUI操作中,利用鼠标进行几何选择非常简单,但是如果想利用程序实现某个位置的几何特征选择,则非常的困难。在SpaceClaim中,几何特征在内核中通过id进行存储,然而痛苦的是这个id并没有规律。换句话说,采用相同的建模方式创建的同一个几何体上的同一个面,它们的id可能都不相同。所以使用id进行几何索引非常的不可靠。现在能想到的办法是利用几何空间位置进行判断搜索,此方法在查找特殊边界时可以使用,但是当几何特征非常多时,此方法效率极低,因为每次都要遍历所有的几何特征。
  3. 后期应用的不确定性。在进行几何模型二次开发时,很难预料后期在使用的过程中会发生什么。大量参数的相互约束关系在后期应用过程中极可能会被打破,一旦约束关系被违反,几何模型则可能不会生成成功,甚至可能会导致程序崩溃。还有一个不灵活的地方在于,参数化处理无法改变几何的形状特征。比如说参数化处理的是一个圆,在后期是绝不可能生成一个矩形的。只能在尺寸大小上去做修改。
  4. 效率不高且资源消耗较大。利用现有的CAD软件进行几何建模过程中,需要启动CAD软件环境。额,现在的CAD软件环境那个不是资源大户。采用这种开发方法是的程序效率也不会高到哪里去,一起慢吧。

还有一堆的问题,人都要搞疯,强烈建议没事儿不要玩二次开发,就算开发也千万别碰几何与网格,最好的做法是从网格导入开始,做后半程的开发就好。


(完)

本篇文章来源于微信公众号: CFD之道

赞(1) 打赏
版权声明:未经允许,请勿随意用于商业用途。
文章名称:《都快要被几何搞疯了》
文章链接:https://www.topcfd.cn/41786/
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到

说两句 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者吧

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册