Show HN: AdaShape-3D modeler for intuitive 3D printing parts / Windows 11

adashape.com

32 points by fsloth 5 days ago

I've spent the last years obsessed with a sideproject to build a humanistic 3D modeler for desktop.

By humanistic I mean a tool that stays out of your way, instead of requiring the user to learn both a complex UX surface as well as a complex theoretical basis before being able to model effectively. The GUI is uncrowded and the modeling affordances are only those which are intuitive to present to the user. Which is sort of backwards compared to most CAD packages where the technical complexity takes the front stage. Here the hierarchy is intentionally reversed.

This is still in alpha-stage, but the features are mature enough for feedback and experimentation.

TinkerCAD is actually what comes philosophically closest to this, but it's hobbled either by Autodesk's strategy or by technical limitation to be a really good tool beyond certain complexity.

The ambition here eventually is to provide a tool that has same intuitive capability as building Lego bricks, while not compromising on engineering qualities.

The main intent is to make extrusion based modeling operations super easy, to offer robust STL and STEP import and allow complex modeling via boolean operations.

The modeling logic is parametric and volume based - the surface presentation is always a discretized water tight triangle mesh.

This is the clearest philosophical differentiator to traditional CAD/CAM packages - or visual editors like Blender. Rather than force the user to nurse surface topology at every stage, the modeler will only permit those operations that result in a correct output.

This is not an SDF (signed distance field) modeler. The domain model is fully based on parametric analytic shapes. This means the tessellation is crisp and specific.

The modeling data is immutable and serialized to disk while modeling. For the user this gives a perfect undo and zero data loss.

It's built for efficiency first - my test workhorse is a Thinkpad T14 Gen 2 i5 with an integrated gpu.

It's not supposed to be a replacement for complex surface design tools like Fusion 360 or sculpting software like Nomad Sculpt or Z Brush.

You can find a review of current features in the youtube playlist linked below [0] and the link to the latest alpha 0.1.7 download from the homepage [1]. The test binary is provided via github release [2] but this is not an open source project.

I know some people hate videos over reading and I'm one of you but I don't really have bandwidth to both develop features and write good instruction copy.

[0] https://www.youtube.com/playlist?list=PLCOf_M8a2MZJqgKXgjod2...

[1] https://adashape.com

[2] https://github.com/AdaShape/adashape-open-testing/releases/t...

WillAdams 2 days 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 2 days 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 2 days 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 2 days 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 2 days 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 2 days 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 2 days 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 2 days 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 2 days ago

              Correct, 2880 x 1800 (it's _awesome_!).

              I'll try the smaller window at lunch.

dgently7 a day 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 a day 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.

evanbabaallos 5 days ago

This is seriously impressive. You can tell how much thought and intention went into the philosophy behind it

  • fsloth 5 days ago

    Thank you so much!

IshKebab 2 days 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 2 days 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 2 days ago

      Ooo that is quite impressive. You should import SovleSpace's sketcher!

      What CAD kernel are you using? OpenCASCADE?

      • fsloth 2 days 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 2 days 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 2 days 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 2 days 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 2 days 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 2 days 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 2 days 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?

                    • WillAdams 2 days ago

                      I would like a way to take a 3D model which has been made in an interactive tool such as your tool or BlockSCAD, then export the descriptive representation (so the 2D and 3D geometry and parameters and instructions for interaction) as an XML file (BlockSCAD does this as its "native" format, allowing one to save a design locally and reload it.

                      Then, I would import that into my project, parse the geometry and instructions for processing it so as to create a 3D model, then I would work through the toolpaths necessary to cut the part thus described using G-code. Or, at least, that's what I would like to try to do. I'll have to give it a whirl w/ BlockSCAD if nothing else.

                      • fsloth a day ago

                        Export of the parametric model would fit well with the user respecting philosophy underpinning the whole project.

                        While https://xkcd.com/927/ is something to be avoided there really isn’t an existing format I would be aware off that fits the bill.

                        I’ll add this to the roadmap.

                        But to do this right it really needs to be a properly specified schema, with conformance test suite and versioning.

                        I appreciate your use case, but for users coming out of context, parsing underspecified XML files would be more of a curse than blessing :)

              • tmzt 2 days 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.

sirjaz 2 days ago

Great job, these are the apps we need to see. Native Windows apps.

  • fsloth 2 days 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 2 days ago

damn interesting