You are smart guys and will certainly go places.

In the context of a severely cash strapped startup it is fine --and almost necessary-- to get clever, jump through hoops and get things done any way you can.

However, at one point you will have to face the reality that your time is incredibly valuable and should be devoted to pushing the cart forward rather than stopping it to reinvent the wheel.

If I read this correctly three people spent a week coming up with a solution to a problem. If each one of you is worth $100 per hour, you just devoted somewhere in the order of $12,000 or more to reinvent something that is available in professional tools. My guess is that if you honestly evaluate the process you probably devoted much more time to this than a week.

There are multiple hidden costs to these solutions. There could be a recurring cost in the form of productivity loss each and every time you have to do this task due to the limitations of the solution. There's also the fact that, by choosing this tool path, you have constrained your ability to offload this work or expand your team by simply hiring professionals well-versed in "industrial grade" solutions.

Beyond that, there are all the non-ideal cases as well as the lack of flexibility you may have introduced into your process. Every time you need to do something you have to go back to reinventing the wheel and lose focus.

I am not critical of your approach. I've been there. I've done exactly what you are doing. I know the drill. I am simply pointing out that sometimes it is a far better idea to spend money and get on with the work you are really supposed to be doing.

I have two examples of this from my own professional experience: CNC machining and SMT assembly.

For the longest time I wanted to have the ability to machine parts in-house. I hated the nature of the process of working with machine shops. All the documentations. The low-tech nature of most shops. The piles of specifications you have to produce. Tolerances. Fucking tolerances! Lead times. And, in general, how the process seriously interferes with your ability to get creative.

For years I worked hard to bring CNC machining in-house. First I bought a used Bridgeport CNC knee mill (not a conversion, a real original CNC). I thought I was set. Well, I wasn't. The machine was old. I had to replace the computer with a PC, install new motor amplifiers and, in general terms, rewire the entire machine. But, hey, I was smart! I only paid $1,800 for this massive machine. Until the transmission started to have problems. And I discovered backlash, because it was well used. And I realized I really needed a larger work envelope. And the damn thing made coolant and chips fly everywhere.

I sold it at a loss and moved on. I decided to build my own. I was smart. I could do it. I wanted to save money. I wasn't about to buy an overpriced $100K+ machine just to cut metal. No way. So, I set out on this path to build a beefy CNC gantry machine that could do what I needed. When I got about $20K into it the tooling supplier I had been working with sat me down and pointed out just how stupid I had been. He was a much older guy who had seen many small companies come and go. A business father figure, if you will. He was right.

I sold my pile of parts on eBay and put in an order for a Haas VF3-SS Vertical Machining Center. Not cheap. I took a one week class and was making parts right off Solidworks in no time at all. All of a sudden I went from knocking my head against the walls to try to reinvent the wheel to actually pushing the cart forward every day. My every effort was devoted in the direction of making MY PRODUCT rather than trying to make a cheaper version of someone else's product that I simply needed to use.

I learned a similar lesson with surface mount manufacturing. I wanted to build circuit boards in house. I bought a small used SMT pick-and-place machine as well as a small multi-zone conveyorized reflow oven and all the bits and pieces to go with them. I actually thought about building my own (with the CNC machine) but quickly decided that was a dumb idea.

This setup sort of worked OK for a while. It was a pain to use. We didn't do this every day and you always had to tweak here and there and relearn how to run the system. I took notes and created a go-to manual that was quick and easy to follow every time we had to run a board. In the end, the thing was eating-up more human clock cycles than it was actually worth. The proverbial straw that broke this idea was when we had to do mid to large pin count BGA's and QFN parts. Now the thing needed optical alignment and more capabilities than we had with this machine. The oven had to be better. And, we also really needed to have optical and x-ray inspection capabilities.

This time it didn't take me long to understand that I was in the "I want to build my own CNC machine" scenario all over again. However, rather than go out and spend half a million dollars putting together in-house SMT manufacturing I found a really good contract manufacturer and got rid of all my SMT equipment.

Software tools are tools just as much as a CNC machine or an SMT Pick and Place machine. For some reason people don't have a problem placing a value of tens or hundreds of thousands of dollars on a big heavy and complicated machine tool. In sharp contrast to that, they recoil at the idea of paying a few thousand dollars for a software tool. It is actually very likely that the software tool had far more R&D, effort and investment put into developing and supporting it than the CNC machine, yet we reject paying for it. I think that's a false reality.

I've been using mechanical and electronic CAD/Design tools for a long time. I have to say that the combination of Altium Designer and Solidworks is, well, as close to an engineer's dream as you can get. The minute you start working with more advanced flows, such as large and complex FPGA designs it all becomes very clear. It's like driving a high power sports car. The power is there for you to use. Someone has already done the work to put it there. You might not use it every day. However, you know that when you need it is there. All you have to do is press on the pedal.

As for the integration of 3D rendered models and mechanical CAD. In general terms I've always found it is a waste of time to try to go to that extreme. It is a very easy matter to reserve a volume of space for the board and for protrusions above and below the board for most designs. With very tight designs that require close mechanical and electrical integration (I am thinking about something like an elaborate industrial control panel) one can easily start by modeling it with MCAD and iteratively verifying that it will be realizable in the ECAD domain. I have yet to find a project where one really needs full interactive bidirectional MCAD to ECAD integration with full 3D rendering of every single component. I've done very complex boards with thousands of components, including optics and thermal elements without the need to ever reach such extremes of integration. Also, integration at that level does not necessarily lend itself to a distributed design paradigm. You, all of a sudden, end-up with an "army of one" engineering paradigm because it is nearly impossible to split-up the design process when things are connected at such an interactive level.