Up and Coming Open Source CAD Software-"avoCADo"

Seriously though, a program called avoCADo seems to be gaining popularity in the open source world.

Its a CAD program, and if it gets enough developers and fans like Blender it could really take off.

I would like that, because there needs to be a good alternative for hobbyists, and even proffessionals if the feature set is complete enough.

But it won’t get there without you!!

So spread the word!:eyebrowlift::stuck_out_tongue:

Thnx for the heads-up. Should be interesting.

This could be the beginning of something big. Tnkz too.

Be well.

BUMP!:eek:

C’mon people, this needs some more attention.

Should/Could I post this in News and Discussion?

While this seems like a nice project, it has a long way to go. At it’s current pace it will be several years before it’s very usable. Not that I’m trying to discourage from using it, but you must realize that in its current state it wouldn’t appeal to many people other than coders with interest in developing CAD software.

I can get a lot more done with q-cad for now…

I agree with FishB8 here. The app at this point doesn’t even save. If I were a coder who could contribute that’s one thing, but I’m not. I did post an entry on their forum with some thots and suggestions, but for now its a wait-n-see situation.

I think conforming the OSS business model to CAD software will be the real challenge. As I stated in my post there, the author/champion of the project has a lot of legwork to do in coming up with viable justification for such a project to go anywhere beyond a hobbyists tool. I’m not saying it can’t be done, it just needs to be done, sooner than later.

For a CAD app to follow the “Blender Path” into OSS is next to impossible. For starters, consider the difference in usage between Blender and CAD: yes, both are for design, but one is for visually appealing output and the other is for technically accurate output, usually for the purpose of reproducing a real-world entity, be it a building or a bolt. Usually this means producing it for profit, which means eventually being able to afford to pay for the tools used to get the job done. If the user can afford to buy a CAD tool, he’s going to try to get the best one to match his needs. Thus, for an OSS app to succeed (read: be a viable option among available, affordable tools), it must be able to compete with the best out there - all without the comparable resources to do so.

Not that Blender output is not sold for a profit (we all hope to do that with our work, eh?) Rather, there is a large portion of work done in Blender that is simply for pleasure, creativity, art, etc. Its this aspect that has made Blender appealing “enough” to gain the momentum it has. Since when do you find a draftsman producing a set of technical drawings for fun or in the name of art? No, typically its for the purpose of creating something in the real world which they intend to sell or use.

Additionally, Blender’s “birth” into the OSS world was somewhat unique. You’ll have to do a search on the specifics, but there was already a significant code base in existence when it was “purchased” by the Blender Foundation and released as OSS - along with a large enthusiast following who were enthusiasts only because they were able to download and use the software (to a degree at least - dunno zigactly what purchasing the C-Key did for you in those days) for free. All to say, it wasn’t a “from scratch” OSS effort like avoCADo appears to be. Not that this is a bad thing - it just boils down to: are you going to be able to attract talented coders to write an application that they could be writing (and probably already are writing) for a healthy profit?

Besides which, the other question I have is: why are you starting another effort? Why not join an existing one, like BRL-CAD, Archimedes or QCad? (not sure what the setup of QCad, is… is it OSS?) Sure these code bases may have limitations or be architectual antiquities, but why not branch them, at the very least to garner some of their coder resources who share your passion for improvement? …just some questions to toss out there.

Your thots?

Sounds interesting. If we could somehow combine CAD tools with Blender that would be awesome. Or even a Blender CAD fork…

My thoughts exactly.
Most of the work for allround CAD software already exist in Blender.
One has only to add CAD specifics.
I would even like the CAD software with Blender GUI…heck, I would prefer it…:slight_smile:

QCad is GPLed code by a for-profit company. So the code is freely available, but binary versions will cost money. (Of course that’s not a problem if you compile your own.)

It’s probably the best generic CAD program with source available. BRL-CAD is really good, but it’s not as much a general use CAD program.

I guess I sort of knew this, but if the project got as many developers as Blender, wouldn’t that potentially increase development time?

Also there is Blender’s STL export option, would that be everything I need?

Wouldn’t you have to build the with precision though, and define what real world unit each blender unit would equal, in order to give a CNC machine proper dimensions?

It would totally rock to have as talented a coder team as blender’s working on avoCADo! You’re right about getting the word out as much as possible… I recommended that the author try to personally contact the coders of other free offerings out there to try to combine their efforts.

Blender’s STL output works very well for importing into CAM software. A good app to test this with is Freemill. It will give you an idea of how this can work for you. It may even do the job, tho it doesn’t have a lot of flexibility.

As to the units, yes the CAM software will allow you to set the blender units to be whatever real-world units you require (in/mm, whatever…) So yes, it helps to have your blender model scaled properly… but likely that the CAD/CAM could scale the import to what you need also. (Not sure what you’re using, so I don’t know.)

There are several efforts out there to “nudge” blender in the CAD direction: http://wiki.blender.org/index.php/Scripts/Catalog#CAD_Tools , the most interesting, if you can read/speak Italian, is ProCAD.

As to blender being a good foundation for a CAD application, I think that, due to its original (and continuing) design intent, its not an optimal solution. At the very core its a mesh modeller. For some disciplines, such as architecture, this is okay - its been that way since the beginning of Archi CAD apps. However this is changing even in that industry (I don’t know a lot about it, tho.) For any kind of engineering-related functionality or analysis, however, mesh geometry simply doesn’t cut it - solids are needed. (As to the specifics of why, I’ll point you to google.) Parametrics can be a real asset (tho I recall a recent script attempting this in blender) tho not really a requirement (there are many apps without it… but it sure is handy!) I agree that the prospect of blender-CAD is tantilizingly “so close”! (but yet, so far…) :rolleyes:

Blender’s STL output works very well for importing into CAM software. A good app to test this with is Freemill. It will give you an idea of how this can work for you. It may even do the job, tho it doesn’t have a lot of flexibility.

So I still need another program in between Blender and the CNC machine?

As to the units, yes the CAM software will allow you to set the blender units to be whatever real-world units you require (in/mm, whatever…) So yes, it helps to have your blender scaled properly… but likely that the CAD/CAM could scale the import to what you need also. (Not sure what you’re using, so I don’t know.)

I have an idea; what if export a as obj or something, than you would convert the mesh into a solid .

Could that work?

There are several efforts out there to “nudge” blender in the CAD direction: http://wiki.blender.org/index.php/Scripts/Catalog#CAD_Tools , the most interesting, if you can read/speak Italian, is ProCAD.

Oo thanks for the links.

As to blender being a good foundation for a CAD application, I think that, due to its original (and continuing) design intent, its not an optimal solution. At the very core its a mesh ler. For some disciplines, such as architecture, this is okay - its been that way since the beginning of Archi CAD apps. However this is changing even in that industry (I don’t know a lot about it, tho.) For any kind of engineering-related functionality or analysis, however, mesh geometry simply doesn’t cut it - solids are needed. (As to the specifics of why, I’ll point you to google.) Parametrics can be a real asset (tho I recall a recent script attempting this in blender) tho not really a requirement (there are many apps without it… but it sure is handy!) I agree that the prospect of blender-CAD is tantilizingly “so close”! (but yet, so far…) :rolleyes:

Um, I know Blender is more mesh than CAD app, which is why I posted this thread. :stuck_out_tongue:

Yes. CNC (Computer Numerical Control) equipment typically reads text-based input files written in G-code (or M-code) that describe things like the path a tool takes, spindle speed, feedrate, etc. CAM (Computer Aided Machining) software takes 2 or 3D geometry and creates these files in customized ways to be read by a CNC machine. Fire up Freemill, load up your blender-exported STL and follow the wizard and you’ll see what I mean.

No. (I’m assuming that you mean “will that work for creating a real part of my mesh model using CNC equipment”) See above. Mesh vs. Solid geometry is a whole different topic related to CAD software architecture.

Yeah, I was just responding to roofoo and AxeZ above. Sorry not explicit.

I guess I sort of knew this, but if the project got as many developers as Blender, wouldn’t that potentially increase development time?

Of course. But just throwing coders at a OSS project doesn’t really work unless they have a personal interest in it. And usually a devs interest are more specialized. Take for example blender’s current developers. Most aren’t interested in 3D animation in general, but rather a specific area within 3D animation. Blender just provides a nice frame work within which to implement their ideas. Take Nathan for instance: He started out working on 3D sculpting in a separate program. He only moved to blender because it was becoming advanced enough that it provided a functional environment where he could focus his work more directly on the 3D sculpting and not have to spend time maintaining the application as a whole. Had somebody approached him several years earlier to get him to work on blender in general, he probably would not have been interested. Same goes for people developing things like fluids, particles, cloth, etc… These are mostly people who want to experiment in specific areas and implement new ideas found in white papers. Blender provides the stable environment to implement these things in. If avoCADo ever gets it’s base implementation in good working condition, it will probably start to attract more devs interested in implementing specific CAD features. Time will tell.

Orrrrrrrrrrrrr…I could build my own and use a controller that can read C# or Java or something more…advanced?:evilgrin::stuck_out_tongue:

Or no…?:frowning:

No. (I’m assuming that you mean “will that work for creating a real part of my mesh using CNC equipment”) See above. Mesh vs. Solid geometry is a whole different topic related to CAD software architecture.

Ahh, I see.

Yeah, I was just responding to roofoo and AxeZ above. Sorry not explicit.

OOO my bad. :stuck_out_tongue:

Building your own CNC unit is way doable! There’s an engineer in my office who is doing just that in his garage - and real cheap. Or, a quick search on ebay will turn up folks who are selling small yet capable units for less than a grand. Shoot, I saw an old and huge 3-axis mill go on a gov’t auction site for less than $200 recently - it wasn’t CNC/servo fitted, but could have been quite easily - and then the potential would be huge! Or, if RP is more to your liking, google for Fab@Home or RepRap.

As to the controller, why re-invent the wheel? You can control it thru your PC (or an old one you have lying around) with cheap software. “Advanced” you say… how is using one of those programming languages going to make your controller more advanced? Its all just sending 2-5 axis -worth of coordinate information to a servo-controlled spinning bit. What else do you plan to do with it? Quantum particle manipulation? :eyebrowlift2: :eyebrowlift: :smiley:

RepRap/Fab@Home aren’t CNC, they’re 3D printers, still very cool though, and I’ve book marked both of them.

As to the controller, why re-invent the wheel? You can control it thru your PC (or an old one you have lying around) with cheap software. “Advanced” you say… how is using one of those programming languages going to make your controller more advanced? Its all just sending 2-5 axis -worth of coordinate information to a servo-controlled spinning bit. What else do you plan to do with it?

Um, I dunno why I said “advanced”; I think I was thinking that G/M-codes are some low level thing like assembly that would be really annoying to work with, so I thought it would be easier to use a controller that I could program with a higher level language such as C# and Java.

Quantum particle manipulation? :eyebrowlift2: :eyebrowlift: :smiley:

I’d probably be working at Area 51 if I was doing that.:evilgrin:

Just to be clear everyone, I’ve been researching this for many months, so I know what CNC stands for and I know about G-codes (never written a line of G-code, just know what they’re for lol :p).

I mean, just so you know that I’m not completely clueless in this area, I’ve been researching for a while for a project I would like to do someday.

Think CNC+Vacuumforming table.:evilgrin: