前几年同事推荐的脚本建模工具OpenSCAD让我眼前一亮,一直想自己实现一个简单的。先说下OpenSCAD,OpenSCAD是一款基于脚本的开源三维建模工具,官网:OpenSCAD - The Programmers Solid 3D CAD Modellerhttp://www.openscad.org/
该项目基于GPL协议,开发语言为C++, 用到的库有CGAL,OpenCSG,Clipper等开源库,之前编译过。用的脚本是自定义的脚本OpenSCAD,文件后缀为.scad,脚本可以引用其他脚本。该项目一直很活跃,而且github上有不少基于该工具开发的脚本库。我一直想在window上编译该项目,奈何水平太菜,一直未能构建成功,直到前段时间(应该是去年了)才在本机编译通过,以下为编译文章链接:CSDNhttps://mp.csdn.net/mp_blog/creation/editor/121368077
下面说下SharpCAD,C#脚本建模工具,除了建模用到OCCT开源库外,其他基本都是c#库。用到的开源库有:
OCCT(OpenCasCade)------------------------全球唯一一个开源几何造型内核(LGPL)
ScriptCs-------------------------------------------c#脚本引擎(Apache2)
SharpGL------------------------------------------c#版本的OpenGL(MIT)
FastColoredTextBox----------------------------文本编辑器(LGPL)
SharpCAD目前实现了OpenSCAD少部分功能,现在只能算是个dempo,目标是实现OpenSCAD全部功能并实现法线计算、纹理贴图等。
以下为演示,SharpCAD摒弃了OpenSCAD布尔运算的union,difference,intersection方法,改用" * + -"运算符替换交、并、 差运算,脚本执行成功会有相应提示,脚本出错会提示具体出错行号。目前只是实现了非常简单的建模,后续考虑更加复杂的建模方式,如拉伸、放样、扫掠、车削、切割、CSG布尔运算、投影等。