Community Garden Brainstorming

Since my Maslow is mostly built, I have been struggling through the CAD/CAM software game. While I am an engineer, it has been a while since I’ve used any of this software. I am rusty. Nonetheless, through my struggles, I installed FreeCAD as one option, and began looking through documentation, tutorials, and how-to’s. During my course of learning, I realized many of the features of FreeCAD are designed for scalability; something that is very close to what I am currently working on in my job. In all this, I realized how we are much more powerful as a group than as a group of individuals. I thought: if we could use the software in a way that leverages this, we would be much more powerful.

This is stream of consciousnesses, so it might not be entirely clear.

One example, FreeCAD (and maybe other CAD options) supports the use of bodies referenced into parts. This means that one part can be created, and referenced multiple times within an assembly. Further, assemblies of parts can be referenced into other part assemblies. An assembly is created once, and referenced multiple times into a super-assembly (a bigger or more complex widget). FreeCAD documentation discusses this in more detail, but this plays directly into concepts of change management (how changes to parts translate to changes in complex widgets). This concept is extremely powerful in terms of how sustainable and maintainable a complex widget is.

Further, FreeCAD discusses software features which support breaking complex assemblies into multiple model files. This is another concept that is extremely powerful because it enables a complex problem (complex design or assembly of designs) to be solved in parallel, by multiple people simultaneously. Imagine the Maslow community defining a large design project, and delegating pieces of the project to several individual members. The developments of each small piece sum up in an efficient way, into a large design project. If this is done in the right way, it could be quite easy.

Another powerful feature is parameterized models. For example, the Meticulous Z-Axis is a great design, however I have a router that is 3.5" in diameter. That modification would be easily accepted if the Z-Axis was originally designed in a parameterized way. Load the files. Type 3.5" in the “RouterDiameter” field. The geometry updates. Re-export the G-Code. Viola.

All this is summing up to a few simple thoughts.

  1. There is value in the Maslow community consolidating to one software package. This makes all models and projects more similar, and enables us to work more closely together. It eliminates one obstacle, making projects more transferable, from one individual to another. It reduced the quantity of collective knowledge required within the Maslow community.
  2. If we work together in the right way, we could deliver substantially more value toward Community Garden items. By leveraging all of the above mentioned software features, we could make items applicable to more people, we could work on larger projects, and the projects we do work on would be more sustainable and easily changed.
  3. If we do these things, we could consider the Community Garden as a single repository. Imagine a single repository as a library of all things Maslow. Complex elements of the library can be sums of parts referenced from elsewhere in the library. The library can be built by multiple people simultaneously.

I would like to know everyone’s thoughts.

I am sharing these ideas just because I think they are very powerful. I would like to see them applied to Maslow projects for personal reasons, as well as they could help other Maslow owners both present and future.


I agree that some tools are more conducive to collaboration than others, and that there is value in more people using those tools. However, I would shy away from suggesting that people consolidate to one package. First, trying to decide on which package would be problematic. Is it more important to have an open source package like FreeCAD, or an online tool like OnShape or Fusion 360. I’ve heard many opinions on which tool is the best, all of them different. Some users are just getting started and are intimidated by a full-fledged CAD package. Some have lots of experience with a particular tool. Some aren’t particularly interested in collaborating on a project.

That said, I think there is something to be said for a friendly community that can help those people who are willing to learn a new tool. Similarly, the community could help encourage best practices, like parametric design. Even if we never settle on one “best” package, I bet we can assemble enough users to reach a “critical mass” in some of them.


you will never get everyone to agree to use a single CAD program, different
programs have different advantages, and different people value those advantages
in different ways.

FreeCAD vs Fusion360 vs Onshape is a perfect example of three different no-cost
tools that have wildly different advantages and disadvantages. telling people
they can’t use the one they want may get you a few people converting, but it
will get more people leaving.

1 Like

Fusion360 is the best of the bunch :wink:

Except that I can’t run it on Linux or my phone or my tablet like I can with
onshape :wink:

but neither of those are open source. FreeCAD is! :wink:


One thought. We would like to make content in the community garden transferable, not just as gcode, but also as CAD models. If we do not all use the same CAD package, the Community Garden projects will be modeled randomly across all three CAD packages. When anyone tries to reference a Community Garden item, they will have to learn whatever CAD package it was designed in. We will all have to use all three CAD packages.


I also see the value in this - however in my case, I would be very hesitant to learn a new CAD program right now. I already know the one I have and it will do everything I ask. (Autocad) I am willing though, to share any of my drawings with the community (they will always be .dxf) That’s just what I work with and am used to. If I see a project in the Garden that’s not in a format I can handle, I either need to figure it out, use it for inspiration, or move on to the next. Having learned several CAM packages in the past, (Art Cam and Master Cam) and having access to them still - I am very happy with a simple program called Estlcam. It fills my needs and seems to be easier for me to use than makercam.


Just a quick thought - sharing gcode is like sharing a hand grenade. If the user is not familiar with machine parameters, tool diameter differences, editing code etc., then he might do a lot of harm plugging in a program written for a different machine. Not every machine’s controller will warn you when code is written that it can’t handle. For example, I used to run/program a 5 axis Thermwood for trimming 3 dimensional parts. You could theoretically run any code, but run a program that is written for a machine with dissimilar dimensions and you will cause very expensive parts to meet in a very unsafe manner.


Is there a generally universal file format that cad programs can produce that we can ask that people use? SVG obviously is pretty common for 2D, but for 3D I don’t know what can be imported/exported from various programs… still new to 3D. If it’s an .obj file, then post that but then you can also post whatever native file or link to the design shared in its native application.

1 Like

Yes and no. My guess as to how CG project will typically go is that development on them will go in spurts. Someone will start the project, usually with an initial version already modeled to some extent. Interested community members will express interest and an ad hoc team will form to improve the design in one or more directions. That team will have to decide what tool they want to work in and convert existing work, if needed. I imagine that if some of the team members aren’t able to work in the chosen tool, they will either have to get the capability or contribute ideas and let others do the CAD work.

Once the team is satisfied, the project will probably sit until someone else decides it needs improvement and then the cycle starts over. If the team that did the previous round of development does a good job, the CAD stuff will be in GitHub in two formats: the one they developed in and something easily imported to other tools.


all of the CAD programs have the ability to import/export many formats. It’s the
data files that should be shared (.stl etc)

The one oddball here is onshape, while it can export to a more standard format,
there are distinct advantages to sharing the onshape link directly.

I think that fusion360 stores the documents as files that can be shared.

so it’s learning how to import/export the data files, plus learning enough
onshape to export the files from it rather than having to learn every CAD

David Lang

I am thinking about the the model’s parameterization. Correct me if I am wrong, but once you export a *.stl file, it cannot be easily changed. If you would like to make it wider or taller or deeper, or change the radius of one component, you are SOL.

1 Like

“the nice thing about standards is that there are so many to choose from” :slight_smile:

in 2d, .svg, .dxf, and .dwg are common, but you also see people using .ps, .eps,
.pdf, and .ai that I can think of off the top of my head

in 3d things are even more fragmented, .stl is common but there is also step,
parasolid, solidworks, acis, collada, rhino (just in the ones that onshape can
export to)

and then in addition to the various formats, there are the versions of the
formats. Just in .dxf, Onshape can export into 7 different versions (and I am
having to go an export into an older version because someone can’t understand
the 2013 version of the top mount kit diagram)

I think we allow people to post in whatever format they use, and then we can
look at doing conversions (manually or automatically) to provide other formats
as needed (the fun thing is going to be keeping the different formats in sync)

yes, .stl is the resulting solid, not the parameterization used to create it.
That’s where some of the other formats are better.

Just have everyone upload in whatever the native format is that they used to
build it, and worry about the conversions after

I have not tried freecad yet, On shape, Fusion 360, tinkercad, makercam, not freecad yet. Trying to work on carbide create, and yes if we could all somehow create a repositiory of constants, it would make the design phases of the Maslow interactions a bit smoother.

That’s a pretty good list. So far I haven’t seen anyone post anything in .hpgl, but I suppose that would be possible.

I would encourage folks to post in at least two formats, just in case one goes bye bye. I have seen documents that couldn’t be opened or needed major reformatting because the modern version of the software no longer gracefully imported the old version.

Agreed. You want formats that preserve how the part was made as much as what it looked like when it was done. It would be nice if there was an industry agreed-upon standard for CAD model interchange rather than just shape-based formats.


what are you looking to have in the “library of constants”

One nice thing is that in the world of Open Source Software, once support for an
old version is added, there is very little chance of it going away :slight_smile:

If you have any software that has it’s own format, that’s something to worry