CAD-CAM Problem Statement

From Open Source Ecology
Jump to: navigation, search

FreeCAD Evaluation

From Kostas

I see there is now some active discussion on CAD/CAM so I would like to give you some hints about the status of FreeCAD:

1. after my work on the sketcher mostly been finished, we can draw all parts of a 3D printer:

2. jriegel (project founder/manager) is actively working on the assembly module, multidocument support:;a=shortlog;h=refs/heads/jriegel/dev-assembly after this step FreeCAD will be ready for real applications.

3. Collaborative modelling, a revision system and an online parts library are further objectives of the project. e.g.

4. Concerning CAM, some former HeeksCAD contributors have joined us recently, Daniel Falck is currently our CAM expert: Sebastian Kuzminsky from linuxcnc has also joined us recently:

5. We have several dedicated testers and tutorial writers.

6. In our forum you can find several OSE fans, e.g.

It seems that the right persons are finally coming together to finish this extremely important task, create a professional level open source CAD/CAM system.

I will be back contributing to FreeCAD again in approximately 6 months from now. My estimation is that within one year FreeCAD will be quite ready for production work.

If you or any of your guys need further information you can find me on #freecad or #opensourceecology.


From Factor e Farm on December 10, 2011:


See note on CAD/CAM Programmer in the Dream Team 16 Blog Post


The basic problem statement is access to an open source CAD/CAM package that - outside of full parametric modeling - handles the generation of fab drawings, BOMs, exploded part diagrams - plus CAM for automating, specifically, all the GVCS fabrication machines as needed. 

The closest is FreeCAD, afaik. That has zero CAM functionality.

Then there's the problem statement of 3D viewing and online collaboration, but that is secondary to being able to generate these locally for agile team collaboration. The online part can come out directly from the local CAD. I state that online is secondary because the most potent development occurs in the agile development protocol for hardware: small teams of co-located designers/CAM/fab people who work locally on problems for which they are deep stakeholders. That is the case of Factor e Farm.

Analysis by Kevin Atkinson

>1. How much time do you have at present to develop the killer OS CAD/CAM solution?

Depends. I'm currently considering what my next move will be. I just spent two years in New Zealand working at Weta Digital in the software department, and for the past 4 months I've been back in Canada taking a sabbatical of sorts to write some tools for computational design. I've just started looking for a new gig. But this is a project I could definitely throw myself into as a full-time gig, provided there was some kind of funding.

>2. If we could get funding (we have the ears of powerful backers), can you move to factor e farm for at least some of the time and organize a development team to pull this off?

For part of the time, certainly. For the CAM side of things in particular I would want to be on site. I have a wife, who might find the environs of Factor E Farm somewhat less commodious than she is accustomed to, or, alternatively, she might object to never seeing me. I'm sure a compromise can be sorted out.

2.5. Yes, I will do this.

>3. Are you one of the leading experts worldwide who understands this problem statement, and who knows the other players in the field?

Dunno I'm a leading expert, but I stacked up well in the code department at Weta Digital, the world's leading visual effects house, which has some of the best programming talent in the world, and does world-class R&D.

I don't think of it as a one-dimensional measure of expertise, but rather I fancy that I hit a certain sweet spot with respect to a variety of applicable expertises: software engineering (15 years professional experience), industrial automation, computer vision (I wrote a vision-based 3D tracking system used widely at Ford, which was nominated for the Henry Ford Technology Award), and robotics. Moreover, I'm philosophically on-board with OSE's goals and vision, and think I'm well-equipped to do advocacy in the developer community as well as software development.

As far as knowing other players, a friend and colleague of mine wrote a parametric CAD system ( which was just acquired by Autodesk. He is a superb resource on all things CAD. I might be able to recruit him in an advisory role.

What I don't have is the experience of a mechanical designer, who uses CAD tools all day every day. I think it would be crucial to have an actual designer on the team, someone with experience in a variety of mainstream CAD tools. It is essential to really nail workflow from the get go, if the tool is to have legs with the design community, and that can only come from a vocal and highly capable user doing actual design with the tool from the very beginning.

When I was on the Mari team at Weta (Mari is the world's premier 3D paint tool, developed in-house at Weta, and now released as a commercial tool by the Foundry in the UK:, we were in the same building as the 50 texture artists who were our sole users at the time. There was an incredible synergy at work, with 4 super-bright, highly committed developers working on Mari features day by day, and getting constant daily feedback from some of the best artists in the world, who held us to the very highest standards, who always pushed for excellence, and endlessly compared us against some of the best software in existence: Photoshop, Illustrator, Maya and so on. It was an exhilarating experience, and one of the highlights of my professional career.

>4. Are you a direct stakeholder in the outcomes of this work, ie, are you intereted in cam/cad within the framework of open source product development?

I have personal passion for computational design and a growing obsession with digital fabrication. Creating an open source parametric CAD tool using OCC is a personal itch I have been longing to scratch for a good long time.

>5. Are you interested in open enterprise being spawned from this platform?

Absolutely. Isn't that the whole point?

There may be an opportunity to create the "Linux of CAD." In other words, an open-source offering which is truly disruptive, ready for mission-critical applications, and the de facto standard in many important spaces. There is a troubling trend lately, where Autodesk has been acquiring every 3D vendor in existence -- i.e., it's well on it's way to being the Microsoft of 3D. This is an unfortunate situation, and ripe for challenge.

A historical comparison: I think OCC is missing an end-user application in the way that the GNU project was missing a OS kernel. The GNU project was worthwhile, high-quality, but languishing in nerdy obscurity. And then Linus Torvalds wrote the Linux kernel. The rest is history. So I think we could be on the cusp of something similar -- once the critical missing piece is provided, everything else falls very quickly into place, and uptake is very rapid.

And speaking of enterprise, here is a thought: part of Linux's success came from corporate sponsorship. I think there was a deep discomfort in the corporate world with Microsoft's monopoly, and when a robust open source alternative came along, corporate America jumped on it. I think open-source CAD may benefit from the same forces. There are many firms sick of shelling out literal millions for licenses to Autodesk. Despite my deep personal disillusionment with, and suspicion of, corporate America, and my earnest hope that it will be supplanted by something more sustainable and humane, I think there may be strategic potential to reap some benefit from these forces.

CAD is too important to the enterprise, be it open or not, for one vendor to control.

>6. How many man years of development do you estimate it would take to create a sufficient yet robust cad/cam solution for a wide array of cnc including robotics?

There's a saying in my industry that "good software takes 10 years." But I think we could have something useful (as in, a viable GVCS design tool, and torch-table CAM frontend) in a few months, and feature-complete (as in, competitive with at least the low-end of mainstream CAD packages) in a year or two. I can also see the effort continuing for many years -- think Blender, Linux, etc.. The feature-richness and the spit-and-polish that you see in an open-source success story like Blender only comes from years of effort and the collaboration of many, many experts worldwide. But it was always a useful tool. And actually, Blender is at once an inspirational example and a cautionary tale: It's a famous open-source success story, of course, but they made very poor decisions about architecture and interface early on (the principle players had more enthusiasm than programming experience, I think) which really hobbled its uptake in mainstream 3D circles. (Thus my remarks above about getting workflow right from the start.) Had they done it right, Blender might be the dominant player in VFX, rather than being high quality but slightly fringey.

So some kind of planned, phased development is appropriate -- always have a useful tool, but design to grow. I'll give more a more precise roadmap in my answer to 2.5

When speaking of development schedules, my habit is to adapt the famous saying saying of Einstein: As fast as possible, but no faster. Hurried, flaky software is a net economic (and karmic) negative. On the other hand, a small, tight team of committed experts can sometimes do extraordinary things in a short time.

I could write more, but I should probably wrap this up for now....



See Also