SOL75 Uses AI To Design Standard Mechanical Parts

[Francesco] developed a parametric design tool called SOL75 which aims to take the drudgery out of designing the basic mechanical parts used in projects. He knows how to design things like gears, pulleys, belts, brackets, enclosures, etc., but finds it repetitive and boring. He would rather spend his time on the interesting and challenging portions of his project instead.

The goal of SOL75 is to produce OpenSCAD and STL files of a part based on user requirements. These parameters go beyond the simple dimensional and include performance characteristics such as peak stress, rigidity, maximum temperature, etc. The program uses OpenSCAD to generate the geometries and a core module to evaluate candidate designs. In an attempt to overcome the curse of dimensionality, [Francesco] has trained an AI oracle to quickly accept or reject candidate solutions.

In the realm of parametric design aids, you have projects like NopSCADlib which dimensionally parameterize a large collection of common objects by numbers alone ( a 100 cm long, 6.35 mm diameter brass tube with 1.22 mm wall thickness ) or industry standard specifications ( a 10 mm long M3 socket head cap screw ). This approach doesn’t take into account whether the object will hold up in your application nor does it consider any 3D printing issues. At the other extreme, there are the generative design and optimization tools found in professional packages like Fusion 360 and SolidWorks which can make organic-looking items that are optimized precisely for the specified conditions.

SOL75 seems to fall in the middle, combine characteristics of both approaches. It gives you the freedom to select dimensional parameters and performance requirements, yet bounds the solution space by only offering objects that have been prepared ahead of time by domain experts — if you ask for an L-bracket, you’ll get an L-bracket and not something that looks like a spider web or frog leg.

Once you compile the design, SOL75 generates the OpenSCAD and/or STL files and a bill of materials. But wait — there’s more– it also makes a thorough design handbook documenting the part in great detail, including the various design considerations and notes on printing. Here is a demonstration link for an electronics enclosure which is pretty interesting. There is also an example of using SOL75 to make a glider, which you can read about on the Hackaday.io project page.

For now, [Francesco] has only made SOL75 available in a register-by-email online Beta version, as he’s still undecided on what form the final version will be. Do you have any success (or failure) stories regarding generative designs? Let us know in the comments below.

19 thoughts on “SOL75 Uses AI To Design Standard Mechanical Parts

  1. I sure hope .STP export will be included at one point. I just haaaaaaaaate .STL so much. I need stuff I can change, work with, extend, (…)

    That’s why I upload all my stuff (to thingyverse and prusaprinters) in .stl for quick printing and the integrated preview, .stp for easy import in all CAD programs and native FreeCAD. I’d love people doing the same, but 99% ain’t :(

      1. Hey Chris, thanks. I know this workaround, because FreeCAD is my daily driver for personal CAD stuff.

        More precisely I think every “serious” CAD engineering tool should have .STP export. .stl and other formats are really just useful for ONE thing, namely throwing it into a slicer software.

        All other tools, devices, machines, CAD Systems, use .stp as a – dumb but working – exchange Format, which you can easily manipulate…

        Engineers couldn’t do their job if they had to rely on anything non-solid.

          1. Glad you feel this way!

            I think that making the OpenSCAD source available has several advantages: for those who can read it, it makes it easier to verify/modify a component, but it also pushes me (to try) to write cleaner code, knowing that other people might want to understand it.

            Also, maybe someone will pick up OpenSCAD due to this, and I consider this to be a plus.

          2. Don’t think so. openSCAD does NOT generate “perfect” objects. Cylinders are not round, Spheres are not spheres, etc.

            It might suffice for 3D-printing needs but not anything beyond that. You know what we do, when a customer only has only surface models for us to work? We don’t take them.

            To say “in a pinch an STL file can be modified.” is NOT true for any commercial software I work with. SolidWorks, Inventor, SolidEdge, heck even FreeCAD has trouble importing .STLs let alone working with them, e.g new holes, chamfers, whatever.

      2. Thanks for the link! I know that a STEP export would be really useful in some cases, but I had not looked into it. The idea was to first get SOL75 working/stable and then start adding features.

        However, if I understood correctly and FreeCAD is able to parse openscad files into STEP, this could be significantly easier! Thanks for the pointer!

        1. Totally agree. I think all Slicers etc. should take the “perfect” representation of a file (.stp in this case) and do the triangulation itself if they really need to (which they do, unfortunately).

          I think people who think triangle meshes are a good idea should do one week of mechanical engineering work. Most engineers don’t even know of .stl because it would make assemblies IMPOSSIBLE. Constraining two parts by a hole? Not possible, because there IS no hole for the software to select…

    1. I know the pain of STL a file format that was only designed for slicers not actual cad work.

      I run across a cool project or idea, project says its open source and all files provided for modification. Open the “source file” to find a bunch of .stl files. Unless I am going to use it as is and go straight to printing, its a total waste of time to modify that file, may as well redraft it form scratch.

      Openscad is about one step removed from an stl, but if I am going to code a model I will just use the SDK from the comercial software to do it.

      Long time supporter of Freecad as software that actually gets close to how its done in industry.

      1. And “as done in industry” is by no means meant snooty! It’s just the only way parts and assemblies are created all around the world. A software which creates “more or less round” holes and “maybe 45° angles” is of exactly no use there.

        I’m a big Advocate of FreeCAD, too. It’s not SolidWorks or Inventor, especially regarding assemblies, BUT it got so much better over the years.

      2. I don’t understand why slicers started using triangle meshes, it makes zero sense. It’s far easier to calculate an intersection with a plane for an implicit or a boundary representation, and the quality of the result is much better. Looks like some people leaking from game development came with their hammers and treated everything as a nail.

  2. It’d be glorious if it could recommend near-match ISO and DIN parts, in case you want to design around gears that you can order from a catalog. And only deviate to truly-custom designs in the event that a standard one can’t be made to work.

    1. This is a great suggestion! I don’t yet know how I could implement it, but I’ll add it to my “future features” list! There is a small issue with ISO standard being VERY expensive but I guess that the most common ones could be found floating around the web.

    2. I had not thought of this, but it is a great suggestion! I don’t yet know how to implement it, but I’ll add it to my future features list! There is a minor issue with ISO standards being VERY expensive, but I guess the most common one
      could be floating around the internet.

  3. The link above only takes you to their enclosure box sampler. Try going from there to the home page to see an expected gallery of other items they can generate, and straight away they want to harvest your email before going any further, with no Privacy Policy to be seen.
    As we say in Oz:
    Yeah. Nah.

Leave a Reply to FrancescoCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.