If you’re new to designing things (especially functional things), let me offer a bit of advice: keep it simple. I'm not saying that every project needs to be basic, but I am suggesting that you break your total design into separate phases or pieces, and tackle each simpler element one at a time. Regardless of what you are trying to design, breaking the process down into a simpler series of design loops will make it go smoother, especially if you are still learning the tools or techniques that you will be using.
Most of my design ideas start with me identifying something I want to fix/improve. I’ll have a vague notion of what I want to design, and how it will generally work. Then I’ll scratch the idea into a notebook(a hereditary gene passed down from my Dad), sketch out important shapes, and list important details I think will be required for it to work. (Generally, the more time you put into design at the beginning, the smoother the rest of your design process will be, especially as your projects get more complex. But I’m not building nuclear submarines, I’m making things like plastic adapter brackets and customized project enclosures that are based on common shapes, with very few moving parts. A handful of details on a notebook page is usually enough for me to start with.)
At this point in my process, I have a high level view of what the design needs to be like. It usually has a few functional things it needs to accomplish, and I may want it to look a certain way, and that’s all I need to know at this point. Here is where simplifying your design starts to matter. Since I’m decently familiar with the software design tools I use, and since my projects are usually pretty simple, there is a strong temptation to want to attack every bullet point on my feature list all at once. This seems like it should be the fastest way to get straight to the end result that you want, but experience has shown me that it rarely is.
“Iterative design” is a fancy phrase that just means you break a project up into smaller pieces, take them one at a time(iterate), and make changes whenever it’s appropriate. My background is in software programming, where this is the standard design method. Iterative design is a good approach for all kinds of projects, but apparently it is a GREAT approach for telling machines what to do. With what in mind, this is my basic process for creating a 3D design once I have my “notebook details” worked out (you may have “napkin sketches” or “muse tattoos” or some other system. You do you.):
I look at the list of requirements, and pick the most essential feature. In my specific cases, I usually ask “what is the most basic shape I need to create for my thing to work.” Sometimes it is about making an existing part functional, or implementing something that is independent to itself but other later features will depend on. And sometimes, it is more about the tools than what I’m designing. As an example, adding 3 dimensional text to the surface of an object is a very simple concept, but every CAD I try seems to do it differently (usually in some non-obvious way), and so learning how to get it the way I want it is usually it’s own endeavour in my design journey.
Once I’ve picked a feature to implement, I implement it.(Yeah, that’s vague but this stage totally depends on the project and your tools.)
Depending on the project and the feature I just finished, sometimes I will print a prototype, even if it’s still just a non-functional shape, to get a sense of how my idea is fitting into the real world.
Review the list of requirements and make changes. As your design takes form, you will usually identify features you can remove, or things that need to be added or changed. If you printed a prototype, it can be helpful here. Every now and then, holding that piece in my hand will show me some feature that I can remove from the design. A 1 hour print can sometimes save me 3 hours in pointless design.
I mark the current feature off the list of requirements, and I repeat the design cycle with the next most critical feature, and so on until I have gone through all the features or I am satisfied with the result. Again, printing the occasional prototype can save you tons of design time. When I am actually holding a working part, a lot of the cooler and more aesthetic features I originally wanted to include become way less important to me. I’m sure some people prefer to follow through 100% with every original detail, and they still can. In my case, I’m often happy to consider the project finished and move on to the next problem to solve. It’s great to have a choice though and I can always come back later and polish or add more function or detail if I want.
As an aside, I’ve centered most of my description of my design process on the 3D design software because that’s where the majority of my design time and energy are usually spent. The general ideas apply to other parts of the process, such as the early design stages or printing itself. Sometimes when I am troubleshooting failed prints or figuring out how to print something challenging, I will run a similar loop with the print process, testing and revising until I can solve for the issue.
My design process is not perfect and I don’t follow it to the letter every time, but it’s a pretty good pattern for me. Your cases might be a little different but overall I think everyone who is doing 3D design (and probably lots of other general forms of design) would see good results from breaking their designs into manageable pieces this way. Some of the universal benefits I can see are:
If you are still getting familiar with your design tools, breaking your project into multiple steps can reduce the size of the learning curve. You only need to focus on a few skills at a time.
Incremental steps make it easier to troubleshoot when something goes wrong. This is SO big. Imagine you have a working design, you make some very minor changes to 5 different features, you test again, and now your model is broken for some reason. It’s very difficult to untangle multiple unrelated changes and fix the issue without making it worse. If you are lucky, you might be able to undo changes and keep hitting Ctrl-Z to step backwards until you return to a working point. If you design in distinct stages, then if something goes wrong, you know where it happened, which makes it easier to address.
Designing in stages can lead to a functional prototype quicker. This helps speed testing and the review process and can improve the quality of your final design. It’s also just awesome to hold a working thing that you birthed from an idea, even if it’s crude or ugly looking.
Sometimes new issues/opportunities become apparent during the design process. Breaking the process into stages makes it easier to change direction. And if you can mark revisions in your design software(or save distinct backups), you don’t have to scrap all your work in this case. You can just rewind to the last point before you need to pivot and build off of that.
Designing features independently can make the overall design simpler as you recognize features you can remove because you don’t need them (or care about them anymore)
Incremental steps give you landmarks of achievement. This makes it easier to stay motivated to continue with the project.
This would be hard to quantify, but I think the design process goes faster when I take a little time and plan my steps, as opposed to racing straight to the finish, working on all the details at the same time.
Every now and then, a project hits that dreaded final wall and you realize the design will not work, or may not be possible with the design tools you have access to. By prioritizing the most critical pieces of your project and handling them first, you can usually reach this point earlier on. It’s not a great circumstance, but for me, if I’m not going to be able to create something successfully, I always prefer to know early on.
I would say these are just a few of the benefits of this approach. I'm not suggesting that this should be required for every project you do, but I never regret taking the time when I split a design into pieces. So if you are new to 3D design or struggling to finish projects or make something that works, try breaking it into smaller steps...and maybe break your smaller steps into even smaller steps. It works for me, hope it can work for you too.
If you have questions, see a benefit or drawback of iterative design, or if you think another process would be more helpful, comment below!