I agree, software is what’s holding back 3D printing…
I agree, software is what’s holding back 3D printing…
Sketchup -> Export to STL -> Print 3D
The thing is, designing things is hard. No amount of software will ever make it easy, or without a steep learning curve. Tinkercad got the learning curve down, but did you see the absolute crap that came out of it?
Right you are @ThantiK , design is really hard. But I think the reasons it is hard can be fixed by software (eventually). Why is it hard? Because…
Nothing in the design programs I’ve seen so far allow you to simulate the result in terms of:
a) strength - will that end hold my thing (compliance), or if I screw it to the wall, will it break when I hang whatever on it
b) fit - will it fit on my bike, hold my iPhone, fit with another part, given that I’m printing with plastic and have a tolerance of +/- 0.2 mm (see the next point)
There’s no easy way to go from an existing physical object into a design file so you can’t easily mend a broken part, or check the size, fit or clearance with real-world objects. Yes, there are 3D scanners, but:
a) these only give the surface as mesh, and not the underlying 3D geometry (e.g. a disk with a hole)
b) they’re crap - the accuracy of only really expensive scanners matches the available printer accuracy
In the rudimentary CAD programs available, there is no help for new users to do such fundamental steps as:
a) thin wall shells (to make cases and covers)
b) split parts (to be able to print them and be able to assemble them after printing)
c) calculate the amount of plastic, or see where printing would be difficult or need too much support
d) parametric relations between dimensions without knowing how to code
…and many others.
There’s no good library of existing well done design components, such as hinges, fasteners, bearings, slides, clamps, detentes, beams, torsion members, etc. These would need to know about different materials. As a test, name one available program where you can specify the (plastic) material properties.
This may result in me making a blog post or a bunch of software, I haven’t decided which yet.
Yep, 3D design is hard. We need the accuracy of SCAD and the ease of a graphical interface in one package.
SCAD is great but I’d like to start the script by dropping primitives on the grid with the mouse and have the script generated. You can drop primitives on the grid in modern 3D editors but once you do an operation like a “lathe” or “union” you’ve lost your original source which a script would keep and let you edit.
I’d like to see a package where you can edit assemblies in the GUI or in text. Once you make the text too complicated the GUI would be a display only. To get around this you would GUI edit primitives as an “assembly” then import the assembly into a text script OLE style.
3D printing needs an open file format a bit like Collada, but a bit like SCAD (XML-ified), and with fill densities, to enable the application.
I liked the http://leonar3do.com/ modeling approach, but then I prefer the low level parametric approach (design once, have zillions of options) - we need again something like http://tinkercad.com and best would be open-source, a handful designers improving it to a level where people who love low-level develop scripts, and others point and click to get a box quickly done, you see the wall thickness in [mm], and the inner width and height, and you know, my cellphone fits there.
@Todd_Splod I have pondered to do a higher level API for OpenJSCAD.org, to allow not just JS scripts creating models as of now, but GUI elements beyond the parametric interface - having a toolbar with the primitives, and you click, and the box falls on the plate, and one can interact with the mouse and stretch the box, and the corresponding code changes (code -> model -> code required, not really trivial).
@Rene_K_Mueller About an open-source TinkerCad - I have to say that I have never seen an open-source project that excelled in GUI. Open-source tools are usually incredibly powerful beasts that are crippled by a horrid and unusable interface.
@Shachar_Weis see my post http://renekmueller.com/Computer_Diary/1367057880/KDE___Kubuntu_12_04__10__years_terrible_GUI__A_Systemic_Problem_of_OSS just two days ago in the KDE community, yes, there is some systemic problem in OSS regarding larger GUI related challenges - but at the same time a tinkercad is a small undertake compared to an entire desktop system.
TinkerCad had an amazing GUI and was wonderful for kids. The only child-friendly CAD I have ever seen. But it was basically a toy. Designing complex objects was impossible. I think thats why they were able to come out of nowhere and make such wonderful GUI. Applying the same GUI on a full-fledged CAD application would be much harder.
Yes, you have to study how people think from 3d into 2d, what 2d gesture (via mouse) really means in 3d - and tinkercad did it quite well, a few gestures were strange for me but I adapted quickly, and yes, more complex stuff is hard to keep simple (there the real challenge lies). There was a threejs example, to build structures just with cubes, that was simple and quick to use . . .
I think that for most people Customization is more appropriate that Design. That is, take a thing someone designed and make it unique in some way. Much easier than a ‘scratch’ design. Look at how Thingiverse Customizer use has exploded. Yes, the customizations are trivial from an engineering perspective, but they have value to the people creating them. For example, upload a photo and create a Lithophane in a few clicks. Magic!
I like all the comments above and I think that user’s different preferences for GUI vs script, open vs closed, browser vs desktop, simple vs complex, and different gestures will remain. It can be healthy and creates a melting pot of new 3D apps.
I think that they all need to share a new file format for 3DP that can handle GUI and script but more importantly physical properties like fill density and styling zones (see zones in Quokka at http://splod67.com). I don’t have the answer but I do know it needs XML. Perhaps it needs a new Google group.