前阵子在做某软件的二次开发工作,遇到的最麻烦的事情是前期几何处理工作。
找了一圈,能打的不多,还是简单做个总结,留存备忘。
目前最好的开源几何建模库应该是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个:
pythonocc 的主要功能特点:
CadQuery的主要功能特点:
使用脚本构建 3D 模型,其描述方式尽可能接近向他人描述对象的方式。
创建参数化模型,使最终用户能够非常轻松地进行自定义。
输出高质量(无损)的 CAD 格式,如 STEP 和 DXF,以及 STL、VRML、AMF 和 3MF。
提供一种非专有的纯文本模型格式,仅使用网页浏览器即可编辑和执行。
提供高级建模功能,例如倒圆角、曲线拉伸、参数化曲线和放样。
通过单个零件和其他装配体构建嵌套的装配结构。
各位道友有遇到更好的能支持CAD几何的开源库么?包括几何建模或几何显示,最好是能支持C#的,望不吝赐教,感激不尽。