On Jan 25, 2014, at 6:10 AM, Isaac Kamga wrote: > I am interested in contributing to BRL-CAD once more this year and > particularly enthused to build technical drawing (of blueprints) capacity > into BRL-CAD which we talked about during the Doc Camp.
I was reading through backlogged e-mails and came across this discussion point from Isaac about technical drawings. Blueprint outputs are obviously something we've known we need and have wanted for a long time, but it rarely gets attention due to other priorities (NURBS, STEP, GUI, etc). If anyone wants to take on this goal, it would make for a great personal project. There are several approaches that come to mind that shouldn't take very long: 0) Punt. You can already get a geometry outline using rtedge, so you could just move on to implementing annotation objects. 1) Quick and dirty. Create a modified version of rtedge that calculates Bezier curves and line segments instead of pixels, using ray tracing. 2) The robust solution. Evaluate BREP/NURBS objects into 2D as Bezier curves and line segments, using projection of surface contours. All three result in the basic "sketch" that is associated with technical drawings. For #0, the main limitation is that it's limited to raster output (e.g., a png image). Either #1 or #2 are the two approaches for getting scalable vector output (svg, pdf, ps), which is obviously desirable. [1] The critical piece is implementing annotations and dimensioning. Both are rather easily achieved (and already started) with first-class annotation objects that place labels, leader lines, and symbols onto a model. There are entire detailed standards (ASME Y14.100 and Y14.5) that we could adhere to, but being able to label and denote dimension values (manually and/or automatically) are the central base requirement. First step is to simply store text labels that annotate some 3D point. Second step is to make that label display fixed to the view or to some other 2D quadrilateral in 3-space. Third step is to make an existing tool display them (e.g., rtedge or a new #1/#2 tool or archer). Hopefully that's good detail for getting someone motivated enough to tackle this project on their own. This comes up periodically, so if anything, it's documentation to help someone get started or know where we're at with this goal. Cheers! Sean [1] Autogenerating scalable vector output from rtedge raster images has already been attempted -- they royally sucked. ------------------------------------------------------------------------------ Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/ _______________________________________________ BRL-CAD Developer mailing list brlcad-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/brlcad-devel