Today I was reminded again of the need for a new kind of technical drawing software. Here is the problem I am facing: I want to create a vector drawing of a three dimensional structure. Right now, I can either create it in CAD and export a bitmap, or I can manually draw a 3-D representation using 2-D vector software such as Dia or Xfig. For publication-quality graphics, the first approach is usually out. The second approach works, but what if I spend an hour drawing, only to realize that I should have chosen a different perspective or viewpoint to show a critical feature of the drawing? I have to modify the entire drawing just to change the viewpoint. Or, what if I need to show two views to capture all the details? I have to create both from scratch.
I envion a new type of tool, or CATD (Computer Aided Technical Drawing). My vision starts with a 3-D CAD tool, which could be built around lines, points, and surfaces (like AutoCAD) or a solid modeling kernel (like SolidWorks). The user should have the ability to choose surfaces to be transparent or solid, and create cut planes to show internal features. However, the 3-D model is only the first step. Once the user has created the model and chosen a viewpoint that shows its important features, the 3-D model is projected onto a 2D surface to create a vector drawing that can be further manipulated. Ideally, the 2-D vectors created from each “object” in the CAD model would remain grouped together for easy manipulation. The final output would be a publication-quality PostScript, PDF, or SVG file.
I don’t know if this is commercially available, but it certainly isn’t available as open source. As a starting point, I propose creating a plugin for Blender that fulfills this purpose. It would take the 3-D model, as displayed on the screen, and create a vector 2-D representation that can be imported into other software for manipulation.
Ultimately, the tool should allow users to import different types of CAD models. The text should be somehow integrated with LaTeX for seamless typesetting of equations and numbers.