Thanks for the detailed response. The following is a bit long, so if anybody wants to skip it here's the TL;DR:
I'm a vfx artist not a cad modeler. People like me will be coming at 3d printing from a different perspective, with different ways of solving problems. Tinkercad is a good idea and I wish y'all GREAT SUCCESS!
RE: Open Source
I've come into the 3d printing market from a visual effects background.
The VFX industry has a history of excellent software made by brilliant people just up and disappearing. Not because the software was bad, quite the opposite. Usually the company makes a poor strategic move or gets acquired, and the software goes off the market.
This is the main reason why I mentioned Open Source. Too many great ideas & implementations in graphics software just disappear, taking years to reappear in another package, if at all. I've long wished that the companies owning the source would just open it, and walk away. At least the community could breathe new life into the software, or at a minimum keep porting it to modern operating systems. Like John Carmack's open source game engines, there is much young programmers could learn from studying the code.
Another aspect is that most 3d software is expensive and never becomes cheaper. Maya, Max, Houdini, Z-Brush, etc. are still priced way out of the average consumers budget. The 3d printers now cost less than the software to make stuff for 'em! If there was an OS alternative, at least people would have something to work with. (To the Blender lovers, I have no hate in my heart for it. I just find the workflow kinda nuts and counterintuitive… Maybe its more intuitive compared to Houdini.)
RE: CAD modeling.
Again, I come into this ecosystem from a visual effects background. We rarely use CAD software. Everything you just described about Dasault and the ACIS kernel, is totally new information to me. Apologies if this is common knowledge to most group members. I know SUB-D, poly modeling, and if I think back hard enough, I might even be able to make some trimmed NURBS models. The only "solid modeling" software I've used, aside from 20 minutes with Tinkercad, is openSCAD (just to try out the boolean operations.) My workflow and my modeling experience is probably very different than people who work with Solidworks or other software that is designed around fabrication of practical, real world objects.
I think there are probably a lot of folks like me who are interested in, or just starting out with 3d printing. Technical, but artistic minded. People who have worked in Max, Maya, Houdini, Z-Brush, Modo, & Softimage. One of the things we were all taught long ago, is "booleans are bad!" (
http://zheng3.wordpress.com/2012/05/16/cross-disciplinary-confusion/). It is rarely important in VFX that geometry is water tight. I've got dozens of old models that I've been prepping and printing. Most of these models are either dead polygons, or sub-d surfaces. They are made this way because it is what we were taught. The methods are perfectly appropriate for the original end goal, but can be challenging to make printable.
Many young people are learning Z-Brush and MudBox today. And with 3d printers hitting the $2000 range (and less) they are going to buy printers and try to their models. Because of how they have been created, these models do not always print well (w/o lots of tweaking.) Functionality that hasn't been necessary in the past (better booleans), will rapidly become essential. Maybe I'm a bit too out of touch, and the kids are already out there somewhere discussing and solving these problems. (let me know if you find em!)
Finally, to answer your question regarding shrink wrap.
When the boolean nightmares get the best of me, I start dreaming of a "shrink wrap" function that could just encapsulate a collection of geometry using a parametric closed surface. Something that would initially conform to the outer most surfaces, locking on to the vertices, and interpolating where the surfaces intersect. The surface flow and poly counts will not be the same between the two surfaces, so it would be great if the wrap could adapt/match its resolution between the two. No too different from how a boolean union retains the exact external polygons where the geom isn't intersecting, and does its best where they do.
Most "shrink-wrap" tools I've seen are simple and usually work like this:
Unfortunately, with the ones I've tried out, the end result is nothing like the original mesh in terms of surface appearance and topology.
The benefits of using a shrink wrap type approach vs boolean unions, is that you could potentially avoid the tricky problems of self intersection, non-manifold geom, and non-closed surfaces. Just collide with the exterior surface, figure out the mesh density from the polygons/vertices, and don't bother trying to make a fillet between the two surfaces. Just create a hard seam along the intersection boundary of the meshes. Does this exist? Would the math be easier to implement vs 'better booleans'? Can you add it to tinkercad? :)
RE: Dev Costs
I totally understand that this type of software requires deep expertise, smart UX/UI folks, and lots of capital to fund development. I don't mean to trivialize this monumental effort. I have many friends who's day jobs are doing exactly that. They work for big software houses that charge thousands of dollars for their products. They can charge these high rates because they are effectively sponsored by large vfx houses and academic institutions. To sell the software for less but maintain profits would require a larger market. 3d printing going mainstream could help make this happen, and I suspect you guys already understand this or you wouldn't of made Tinkercad.
thanks
-Andy