Show HN: AdaShape-3D modeler for intuitive 3D printing parts / Windows 11 (adashape.com)

by fsloth 31 comments 32 points
Read article View on HN

31 comments

[−] WillAdams 38d ago
As a person who has crashed and burned with every. single. traditional 3D CAD tool (the only things I've been successful w/ are programmatic, so OpenSCAD and its ilk), this is _very_ interesting to me.

I am esp. grateful for:

https://github.com/AdaShape/adashape-open-testing/releases/d...

(given that I shelled out for the _FreeCAD Beginner's Handbook_ 'cause it had Version 1.1 prominently on the cover but the instructions have one download "v1.0 or later" and all the screen grabs are for 1.0 and the wiki is replete with pages tagged "This page needs to be updated for 1.1" or words to that effect).

I've been working on documenting a 2D program (for my employer and as part of a side project): https://willadams.gitbook.io/design-into-3d/2d-drawing and if this is a good fit, will gladly pitch in using this for 3D.

[−] fsloth 38d ago
Much appreciate the feedback!

> As a person who has crashed and burned with every. single. traditional 3D CAD tool

I hear you, there are reasons for depth and complexity but not every program needs to be like that.

>if this is a good fit, will gladly pitch in using this for 3D.

I notice you are discussing specifically CAD/CAM for CNC routers. I don't know if this is applicable for your use case or not. Would be very interested to hear your opinion!

The output is a tessellated 3MF mesh. The tessellation accuracy can be tweaked to be as precise as needed, so if that's the only constraint this may be applicable.

Thank's for raising the manual! I'll have to invest more time into it :)

[−] WillAdams 38d ago
The commercial program MeshCAM has long been the poster child for using an STL for 3D CAM, and it can work well, though is vulnerable to faceting as discussed at:

https://www.cnczone.com/forums/benchtop-machines/132144-face...

see the image at:

https://www.cnccookbook.com/cnc-software/

https://www.cnccookbook.com/wp-content/uploads/2017/08/facet...

See my response elsethread for what I am hopeful of --- if it's a good fit, maybe I can take the manual off your hands?

[−] fsloth 38d ago
Nice references!

The output resolution as such can be made "arbitrarily" precise if the model geometry is authored within AdaShape. So the facets in your image would not result from the limitation of the generated mesh (https://www.cnccookbook.com/wp-content/uploads/2017/08/facet...).

There resolution is currently fixed to presets for usability (see p. 28 of the changelog for the tolerance values - https://github.com/AdaShape/adashape-open-testing/releases/d...). I did not have CAM/CNC expert to consult on the details so those may be out of whack (but I'm happy to adjust them or add a user configuration).

"if it's a good fit, maybe I can take the manual off your hands?"

Would redistribution under CC BY 4.0 suit you?

[−] WillAdams 38d ago
Thanks!

Yes, being able to configure the STL output to match the desired usage is perfectly appropriate (and how many tools handle that)

Yes, that license would be fine for my working on the manual.

Got it launched, and it seems a bit sluggish on my i7 w/ integrated graphics (Samsung Galaxy Book 3 Pro 360) --- what are you using to run it?

[−] fsloth 38d ago
I've been using as low end testing machine my Thinkpad T14 Gen2 i5. I think you have the same iGPU (Iris XE) but the resolution in the Thinkpad is 1920x1080 while I think you have 2880 x 1800 screen (guessing, please verify :) ) .

If you are inclined to continue testing dropping the resolution or making the window smaller _might_ help. Also it's expected the user has a SSD.

My other testing platforms are a desktop rig with 4k screen/ 3080 GPU and Windows Sandbox (the latter being super sluggish). I've not tested on igpu with WQHD+ resolution - will definetly add this to my test matrix in the future. But don't know if I can help you right now.

This is great feedback btw. for alpha version regardless to whatever conclusions you come on the applicability.

[−] WillAdams 38d ago
The smaller window is much more performant, so it would seem to be the pixel allocation which causes this --- except, I'm getting a delay when dragging to rotate w/ a stylus which I don't see when using a trackpad.

Arguably, Moment of Inspiration 3D and Shapr3D have fully eaten up the "3D modeling program designed for use w/ a stylus (or Apple Pencil)" market, but there are _dozens_ of us! If possible, please test w/ a stylus and keep that usage in mind --- it's a good fit for the creative sorts who would use it.

If you want some "Blue Water Sailing", it might be that doing a version for Android would offer a market free of competition, and there are innovative devices there such as the Wacom Movink Pad 14 (which can also be used as a display tablet on Windows/Mac devices I believe).

[−] fsloth 38d ago
Thanks for the input testing!

I agree supporting ”pointy” input modalities - pens and touchscreens is valuable.

I don’t think there will an android port in the near future but appreciate the sentiment.

[−] WillAdams 38d ago
Correct, 2880 x 1800 (it's _awesome_!).

I'll try the smaller window at lunch.

[−] evanbabaallos 41d ago
This is seriously impressive. You can tell how much thought and intention went into the philosophy behind it
[−] fsloth 41d ago
Thank you so much!
[−] IshKebab 38d ago
This could be neat for schools and absolute beginners I guess. But I think the "basic shapes + booleans" workflow is going to be much more annoying than "sketch + extrude" that you see in almost every other parametric CAD program.
[−] fsloth 38d ago
Agree!

Sketching 2D shapes is a very natural way to start thinking about shapes.

That's why there is a sketch + extrude.

Here are few examples - 42 seconds to a desk organizer

https://www.youtube.com/watch?v=VX6g5slTdeE

Or quick wavy vase.

https://www.youtube.com/watch?v=IkhAUhlg81s

The booleans and extrusion shapes are complements - both fitting different type of modeling.

Booleans are not only about shaping but also about composing individual parts to more complex assemblies.

So one can extrude few parts, then eg. combine them with a join.

[−] IshKebab 38d ago
Ooo that is quite impressive. You should import SovleSpace's sketcher!

What CAD kernel are you using? OpenCASCADE?

[−] fsloth 38d ago
Thank you!

The CAD kernel is written by me apart from the boolean solver for the meshes which is the superb https://github.com/elalish/manifold

To explain a bit more as "do your own kernel" is usually considered more mad than mad-science - this is not done on a whim. I spent over a decade doing CAD at Trimble, developing base tech and CAD offerings (including Tekla Structures and SketchUp). Happy to discuss the architecture more.

OpenCASCADE is included as part of STEP importer though.

Solvespace is a nice reference! One can already use it as prestep to modeling - just export the output as STL or SVG and import it :).

[−] WillAdams 38d ago
More than anything, what I _really_ want is an interactive tool which allows me to work in both 2 and 3 dimensions, tagging points/coordinates with names and then referring to them by name while applying distances/lengths and modifications such as arcs and curves.

I've been using Open(Python)SCAD: https://github.com/WillAdams/gcodepreview but have wished for an interactive tool which would allow programmatic usage as well (apparently OnShape does this by having FeatureScript as the basis and the UI simply edits the script?).

[−] fsloth 38d ago
This is really good feedback.

The data model supports solving dependencies like this on the data level.

TBH I don't know at the moment how to make something like this accessible but will definitely keep it in mind.

[−] WillAdams 38d ago
One thought --- could you export the file as a structured XML description?

BlockSCAD does this, and I've been thinking about parsing the XML and then using that 3D structure in my own project.

[−] fsloth 38d ago
Theoretically, yes, but in practice a structured XML description of a parametric model is not useful in the general case without standardized format.

STEP XML would be probably the closest here.

To be realistic, I might wrap a CLI to AdaShape first, then the user could query the model and have their LLM backport the model tree to something like CadQuery :D

[−] WillAdams 38d ago
I am fine with a representational XML which depicts the contents of the tree with the data for each node --- my idea is I would parse the XML and re-create the structure inside my program (which is pretty much what I had in mind for supporting BlockSCAD).
[−] fsloth 38d ago
Ah, ok, so do I understand correctly you would sort of like a visual preprocessor for programmatic model data?

And specifically ”whatever xml”, not, say STEP, or , openscad code, python code (via using cadquery) or anything like that?

Do you know your final output format?

[−] tmzt 38d ago
If it helps I've been doing a lot of projects with TSX (via OCX) as a file format.

It works nicely for these things because it already supports typed parameters and can be treated as a a raw AST without JS engine.

Its also easy to manipulate with the same library.

[−] fsloth 37d ago
Yeah, a typed tree structure is definitely what we want here.

I guess you mean https://github.com/oxc-project ?

Are there benefits compared to using, say, protobuf?

[−] dgently7 37d ago
the most interesting thing here is actually maybe that this is cad targeted for easy 3dp modeling. while you wont ever unseat the big guys there is a lot more you could do to make this sub space better by targeting it.

like could you make it aware of the fdm limits and help me avoid them while im building instead of needing the build-slice-refine flow across multiple software?

[−] fsloth 37d ago
Yes - supporting full manufacturing intelligence is part of the larger vision (in practice quite far off).

I don't think there is need to unseat anyone. 3D modeling market is expanding and the intent is to serve people for who are not users of current market leading tools. There are tons of plausible UX paradigms that have not been explored. This is one such exploration :)

"like could you make it aware of the fdm limits and help me avoid them while im building "

That's part of the long term vision. First solve modeling, then solve manufacturing of the models reliably.

The modeling already follows this principle - you can't model things the rest of the operations can't support.

[−] sirjaz 38d ago
Great job, these are the apps we need to see. Native Windows apps.
[−] fsloth 38d ago
Thanks!

I will definitely keep plugging at this :)

(Nothing against Mac as such, let's see if I will have bandwidth for a port at some point).

[−] 0xy4sh 38d ago
damn interesting