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

一些开源的CAD库

前阵子在做某软件的二次开发工作,遇到的最麻烦的事情是前期几何处理工作。

找了一圈,能打的不多,还是简单做个总结,留存备忘。

目前最好的开源几何建模库应该是OpenCASCADE(后面简称OCCT,https://dev.opencascade.org/),此开源库也有不少的成功案例,最典型的是FreeCAD和Salome。然而OCCT是基于C++的,很不幸的是我开发外壳程序使用的C# Winform,导致没有办法直接使用OCCT,想要使用OCCT还得自己去做接口封装,这活儿显然是吃力不讨好的,毕竟用C#开发几何处理软件的属于非主流,就算封装好了似乎也是一次性的工作。

OCCT自己提供了一个C#绑定库OCCTProxy,但这玩意儿目前只支持3种几何格式(Brep、Iges、Step)的导入和5种格式(Brep、Iges、Step、STL、BMP或Gif)的输出。只能说查看几何还勉强能用,但想要真正用起来还得做不少的外部开发工作(如鼠标操作、视图操作、显示控制等),工作量其实还不小。目前市面上倒是有一些基于OCCT的C#绑定库,如AnyCAD Rapid .NET,可以通过Nuget安装,但这个是商业收费版。我一直没找到这玩意儿去哪里买,不买的化它每次会给出一个授权购买窗口,然后还在显示区随机释放一个二维码,跟牛皮癣小广告一样。

基于OCCT的Python绑定倒是不少,比较新且功能较为齐全的有2个:

1、PythonOCChttps://github.com/tpaviot/pythonocc-core

pythonocc 的主要功能特点:

  1. 从 Python 完全访问近一千个 OpenCascade C++ 类。类以及方法/函数使用相同的名称,并尽可能保持相同的签名。
  2. 通过最著名的 Python 图形用户界面(tkinter、pyQt5 和 6、PySide2 和 6、wxPython)实现 3D 可视化。
  3. 使用 threejs 或 x3dom 框架在网页浏览器中实现 3D 可视化。
  4. 在 jupyter notebook 中实现 3D 可视化与操作。
  5. 支持使用最常见格式(IGES/STEP/STL/PLY/OBJ/GLTF)进行数据交换。
  6. 提供用于拓扑操作、惯性计算等的实用 Python 类/方法。

2、CadQueryhttps://github.com/CadQuery/cadquery

CadQuery的主要功能特点:

  1. 使用脚本构建 3D 模型,其描述方式尽可能接近向他人描述对象的方式。

  2. 创建参数化模型,使最终用户能够非常轻松地进行自定义。

  3. 输出高质量(无损)的 CAD 格式,如 STEP 和 DXF,以及 STL、VRML、AMF 和 3MF。

  4. 提供一种非专有的纯文本模型格式,仅使用网页浏览器即可编辑和执行。

  5. 提供高级建模功能,例如倒圆角、曲线拉伸、参数化曲线和放样。

  6. 通过单个零件和其他装配体构建嵌套的装配结构。

各位道友有遇到更好的能支持CAD几何的开源库么?包括几何建模或几何显示,最好是能支持C#的,望不吝赐教,感激不尽。


(完)

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

赞(0) 打赏
版权声明:未经允许,请勿随意用于商业用途。
文章名称:《一些开源的CAD库》
文章链接:https://www.topcfd.cn/40981/
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到

说两句 抢沙发

评论前必须登录!

 

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

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

支付宝扫一扫

微信扫一扫

登录

找回密码

注册