How about integrate part of qcad sources to brl-cad?
Make 2D .dxf parts in qcad scetch mode, save .dxf in database.g and extrude or sweep them 3D.
.dxf are perfect for manufacturing (laser cut, etc.)
qcad is easy and fast 2D drafting, which brl-cad not. Extrude and sweep (if exsist at all?) need some improvement to support helical, varying radius and scaled paths.
Is it big job? Where should start?
Frankly, I think it sounds like a great idea to try out.. and it shouldn't be too hard really as both BRL-CAD and QCAD support dxf. As an initial cut -- you could probably inject QCAD as the "sketch editor" so that when you go to edit a BRL-CAD sketch primitive, it kicks off QCAD.
Then when QCAD completes, the result is passed back and written to disk as a sketch primitive. You might be able to get away with directly reading in the .dxf from file and performing an import, but that may require adding additional support to BRL-CAD's dxf-g importer for some of the 2D objects (most of the basics should work).
There isn't presently a sweep primitive, but that has been pretty high on the wish list and also isn't that hard to implement at all (at least until you start considering arbitrary spline paths that taper or twist). The extrude code would actually serve as a nice guide for adding that sort of new primitive.
As for where to start.. hm. I would probably start myself by looking into kicking off qcad as the sketch editor, and work on getting basic known supported sketch shapes back into mged when you finish with qcad via a call to dxf-g or a direct data coupling between the two applications. So, it would entail looking at mged's sources to understand the (simple) sketch editor and how it works, then how to call qcad from mged, then how to process the data back.
Another place to start might be to join the #brlcad irc channel (irc.freenode.net) where this can be discussed more easily to greater lengths. ;-) Either way, it sounds like a great plan..
Log in to post a comment.
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.