[Cad] Which CAD Kernel Should the FOSS and OSHW Communities Focus On?

Bryan Bishop kanzure at gmail.com
Mon Nov 9 23:11:21 EST 2015


On Mon, Nov 9, 2015 at 9:59 PM, Jeremy Wright <wrightjmf at gmail.com> wrote:

> 1. OpenCASCADE (B-Rep)
> 2. CGAL (F-Rep)
> 3. OpenNURBS (NURBS)
>

1. OpenCASCADE requires a tremendous amount of work to become high-quality
source code that can be regularly maintained without a legion of bored
postdocs. The best effort with OpenCASCADE towards this is the "Community
Edition" version over here: https://github.com/tpaviot/oce
my notes taken while reading OpenCASCADE source code:
http://diyhpl.us/wiki/cad/opencascade/

2. no comments on CGAL

3. OpenNURBS itself is somewhat high quality source code, and BRLCAD wrote
a wrapper around OpenNURBS and then implemented the missing surface-surface
intersection methods that Rhino kept closed-source:
http://brlcad.org/wiki/User:Phoenix/GSoc2013/Reports
https://github.com/kanzure/brlcad/tree/master/src/other/openNURBS
https://github.com/kanzure/brlcad/blob/master/src/other/openNURBS/opennurbs_intersect.cpp

The BRLCAD team is highly available over freenode IRC in the #brlcad
channel during "normal business hours".

Most recently I have been pointing people towards verbnurbs and solvespace:

verbnurbs:
https://github.com/pboyer/verb
https://github.com/pboyer/verb/blob/master/src/verb/eval/Intersect.hx
http://verbnurbs.com/
http://verbnurbs.com/examples/surfaceIntersection.html
http://heybryan.org/shots/2015-10-25-101304--verbnurbs-com-examples-surfaceIntersection-html-1445785971891.png

solvespace:
http://solvespace.com/index.pl
https://github.com/whitequark/solvespace/blob/for-upstream/src/srf/surfinter.cpp
https://github.com/whitequark/solvespace

I think a verified kernel sounds like a reasonable think to work on,
although not necessary for open-source CAD reasons... I think eventually
FreeCAD is going to voluntarily switch to either verbnurbs, solvespace or
brlcad under the hood instead of OpenCASCADE.

I also think that cadquery does sane things, and I am eager to convince
people to write a cadquery interface around the pythonized version of
verbnurbs (it uses haxe which apparently cross-compiles to python, but I
haven't investigated whether that works or is reasonable).

- Bryan
http://heybryan.org/
1 512 203 0507
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.mit.edu/pipermail/cad-rg/attachments/20151109/27ca763f/attachment.html


More information about the CAD-rg mailing list