6 ms·
Verb - A CAD Library for the Web
- sgdread 12y agoIt's a very nice 3d primitives collection, but I don't see how it is CAD (at least in context of mechanical engineering). - First of all, as a mechanical engineer, you're not dealing with surfaces, you're dealing with 3D objects, created using sets of operations: extrusion, revolution, sweep, etc. (ideally you want to reproduce the manufacture process of a part; in some systems then you can export these operations into series of commands for CNC machine). - Secondary, if the output is not CNC machine, it's usually paper. Then the end result of CAD 3D modelling is a series of sections, projections, tools to annotate dimenstions, put tolerances, etc.
- MadManE 12y agoI agree. This is awesome, and an impressive project, but I just don't see the usefulness -- yet. Are these able to be output in a STEP or IGES format? Compatibility with the current standards is a major step. (I am so sorry for the pun)
- AndrewKemendo 12y agoCorrect me if I am wrong, but our work with 3D CAD models in revit, Max and autocad all point to surfaces/meshes being created when 3D functions (extrusion etc...) are applied. When we look at the file hierarchy within an FBX for example we see surfaces/meshes as the core geometry regardless of how they were built. Are you saying there is a functional difference between a vertex/spline/NURBS square that has been extruded and a similar block built as a native 3D object? AFAIK the latter just basically "automates" the extrusion process from the outset instead of having a function or second extrusion step.
- kanzure 12y agoNote that even if Solidworks or Autocad has a parametric nurbs-based representation of the model, that they still might be storing a bag of triangles as well. I know they definitely store screenshots in the file for quick file icon rendering....
- sgdread 12y agoI just wanted to point that ability to display surfaces is not CAD. CAD gives you tools you need to do your job efficiently in specific context.
- sgdread 12y agoThere're different point of views: - If you're 3D modeller, then yes, you're operate in terms of splines, surfaces, NURBS curves, etc. 3D model is your product. - If you're mechanical engineer (and CAD usually appear in engineering context), then in most cases 3D model is just a tool to produce something useful for manufacturing. Engineer models manufacturing process by applying specific primitive operations in specific order(order is important) which will emulate available manufacturing operations (like sweeping, drilling). In other words, when I need to add hole in a part, I don't create surface (or bunch of these - in case if hole intersects other surfaces), I just add extrusion operation; an operation tree will log info "extrusion with diameter 6 at this coordinates from base A and B", not "surface a,b and c". CAD will build all necessary surfaces for me as well as will have all necessary parameter for CNC machine. In 99%* you don't interact directly with surfaces/meshes. At least that's what you do if you work with Autodesk Mechanical Desktop/Autodesk Inventor/SolidWorks/CATIA/Unigraphics. * 1% are rare cases when you have to deliver something really complex like auto body parts (though making those is a whole new story).
- bhouston 12y agoFunny thing, most commercial CAD tools (AutoCAD, Revit, Inventor, CATIA, SolidWorks) are built on a single C++ library from Seimens called Parasolid.
- delhanty 12y agoEx Parasolid (1989-1995), D-Cubed (1995-2000), and SolidWorks (2001-2002) dev here. Many are built on Parasolid, but many are not. Of your list only SolidWorks is built on Parasolid. Siemens own products (NX, SolidEdge) are built on Parasolid. CATIA uses its own CATIA kernel. Dassault would like to move SolidWorks to the CATIA kernel, but they will encounter user resistance. Autodesk has its own kernel ShapeManager ( http://en.wikipedia.org/wiki/ShapeManager http://en.wikipedia.org/wiki/ShapeManager ) that it uses in Inventor and probably AutoCAD and Revit. ShapeManager was forked from Acis. There was a court case over the fork. Before the fork Autodesk used to use Acis. Dassault owns Acis ( http://en.wikipedia.org/wiki/ACIS http://en.wikipedia.org/wiki/ACIS ) which is also widely used, especially amongst the smaller players. SpaceClaim uses Acis. IIRC ProEngineer has its own kernel.
- themodelplumber 12y agoCool work by @ptrbyr. Wondering what his big picture idea is, because CAD libraries are not exactly easy to just pick up and start building one's own dream CAD client on (for example).
- phkahler 12y agohttp://en.wikipedia.org/wiki/Parasolid http://en.wikipedia.org/wiki/Parasolid
- kanzure 12y agoI have looked at basically all available open-source CAD kernels, and verbnurbs is the absolute cleanest and most well written I have ever encountered. Verbnurbs beats the pants off OpenCASCADE, OpenNURBS, CGAL, BRL-CAD and a hundred others, any day of the week. Most existing implementations are huge and written by large teams that don't completely understand the entire system, and as a result they all end up bloated, poorly written and poorly maintained. It doesn't help that OpenCASCADE (for example) does not distribute the majority of their tests, making it hard for open source contributors to refactor or delete their code. Verbnurbs has been able to maintain trajectory all the way up to curve-curve intersections, and I am sure surface-surface is going to work pretty well. Here's what the competition looks like: http://diyhpl.us/wiki/cad/opencascade http://diyhpl.us/wiki/cad/opencascade As for the others complaining about usability, I would guess that something like https://github.com/dcowden/cadquery https://github.com/dcowden/cadquery would be a suitable direction....
- desdiv 12y ago>It doesn't help that OpenCASCADE (for example) does not distribute the majority of their tests, making it hard for open source contributors to refactor or delete their code. So you're saying that this[1] isn't the whole test suite? I've been considering using OpenCASCADE, but if they don't open source their tests then that's a huge red flag. https://github.com/tpaviot/oce/tree/master/test https://github.com/tpaviot/oce/tree/master/test
- kanzure 12y agoWell... more like this stuff: http://git.dev.opencascade.org/gitweb/?p=occt.git;a=tree;f=tests/bugs;h=91f464799202d78722c76dd032898d210e23ca1f;hb=HEAD http://git.dev.opencascade.org/gitweb/?p=occt.git;a=tree;f=t... And then all the other not included tests.... Btw, the OCE team has done some great work, especially considering what their task is and what they have to work with. If you must use OpenCASCADE, then use OCE.
- desdiv 12y agoSorry, I'm still not following you. OpenCASCADE is the upstream; OCE is the downstream. OpenCASCADE is LGPL 2.1 and OCE is LGPL 2.1, so that means OCE can pull every single line of code from OpenCASCADE. Are you saying OCE is not pulling certain tests downstream despite being free to do so? Or are you saying that some OpenCASCADE test are still close sourced? If so, then what would be the motivation behind keeping these tests close sourced?
- fudged71 12y agoIs there a way to export to STL file format?
- bhouston 12y agoWe, https://Clara.io https://Clara.io, would love to integrate this into our 3D editor and work with you on that. Are you interested?
- galfarragem 12y agoDisclaimer: I just posted the link. I'm not the author.
- ph0rque 12y agoVery cool. Seems like it would complement OpenJSCad (http://openjscad.org http://openjscad.org).
- bhouston 12y agoVery nice. Is OpenJSCad considered stable and compatible with existing CAD formats? I'm interested in expanding my 3D polygon editor to CAD: https://Clara.io https://Clara.io Basically if I can find a stable and fast kernel, I can integrate it and get great results -- but I only want to do this with a kernel that works well in all cases.
- ph0rque 12y agoNot sure, just a fan, and a dreamer of an existence of a powerful online CAD program.