Tuesday, February 07, 2012

 

ImplicitCAD 0.0.1

For the last few months, I've been working on a new CAD program, ImplicitCAD. I'm now pleased to announce the release of ImplicitCAD 0.0.1.

One really awesome feature ImplicitCAD provides is rounded... well, everything. For example, look at the following extopenscad code (we provide a parser for an extended version of openscad, in addition to a Haskell API). The r=x is the rounding!
linear_extrude (40, r=8)
union (r=5) {
translate ([-10,-10]) square (30, r=3);
translate ([ 10, 10]) square (30, r=3);
}

ImplicitCAD also provides higher order modules, as this variable twist extrusion code demonstrates (note how twist is a function):

linear_extrude (height = 40, center=true, twist(h) = 35*cos(h*2*pi/60)) {
union ( r = 8) {
circle (10);
translate ([22,0]) circle (10);
translate ([0,22]) circle (10);
translate ([-22,0]) circle (10);
translate ([0,-22]) circle (10);
}
}




We also provide proper programmatic functionality, like variable assignment in loops, that was missing in OpenSCAD.

Check out ImplicitCAD on GitHub and the release notes for 0.0.1.

Important Aside: The third Toronto RepRap User Group meetup is happening on Feb. 27th at hacklab! If you're in Toronto/the GTA/Southern Ontario, please join us!

Labels: , ,


Comments:
What CAD file formats can it read and write?
 
Presently we support:

2D: SVG, gcode*
3D: STL

Any triangle mesh or line segment based format can be quite easily added :)

* Experimental, only presently supports Hacklab's laser cutter. 3D gcode will come at some point as well :)
 
That's a problem because not a single CAD file format is mesh based.
They all use solids. Most in a parametric way.
 
Ack, sorry, I misunderstood your question and provided the list of formats it can export. Should have read more carefully.

As demonstrated in the post, one can use a extended version of OpenSCAD to describe your object. Since it's (trying to be) backwards compatible with OpenSCAD, I imagine that would count as an imported CAD format.

Haskell programs based on the Haskell bindings are also arguably a CAD format, though since they're the native format it's not really importing :)

Parsing a CSG based format or similar is entirely feasible. I don't really see support for non-progrmatic CAD formats coming in the near future, though.

So I guess I can't import much. On the other hand, I'm not sure that it's a huge problem. Lock into different CAD tools is a hard problem to solve, but projects like OpenSCAD have been very successful despite it :)
 
I think outputting GCode from a CAD program is a bad idea. CAD is CAD, CAM is CAM.
Leave slicing to slic3r (or SFACT, if you wish)
For 2D it is a little more acceptable, but I'd rather see that as a generic SVG-reading thing than as a part of a CAD program.
 
Post a Comment

<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to
Posts [Atom]