Books about programming CAD software?

Started by
2 comments, last by RobTheBloke 12 years, 9 months ago
While I was younger I was interested in game development.These days I don't find games as interesting. I still want to do graphics programming but now I'm interested in more serious stuff.
There are tons of books about game programming/3d engines, etc. Do you know any books or just resources that teach 2d/3d programming/algorithms/design for CAD software like AutoCAD, Maya, Blender (or even Photoshop)? I haven't found any.
Advertisement
Each of the programs mentioned have their own APIs (application programming interfaces) that expose publicly available functions of said programs. Furthermore, there are multiple extension points for all those (scripting, COM, built-in languages, pure dll calls...).

The documentation of those programs tend to have an "extensibility" section to which you can refer when you want information on how to control the software programmatically. In case the in-box documentation doesn't have this information, you could go to the manufacturer's home page and find the information therein (all these do have the docs somewhere).

The class libraries of all the mentioned programs have classes that deal with geometry (and general linear algebra). Even though the libraries themselves are different for each program, the underlying mathematics are generally the same, so it isn't very practical to search this stuff only for one specific program (or specific set of programs).

Out of those programs, I think AutoCAD is the easiest one to experiment with because you can just type commands to the user interfaces, using the exact same syntax that you would use in a script for that program.

Niko Suni

The foundation of many serious CAD systems is BREP. This is a combination of data structures and techniques that are used to design complex 3D objects. These forms may combine a lot of basic forms: cubes, spheres, cylinders, Bezier and NURBS patches, sweep surfaces etc. A good book that covers the topic in great detail is "Boundary Representation Modelling Techniques" by Ian Stroud.

The set of operations that are possible with BREP is rich and may be quite difficult to grasp. You can use the OpenCASCADE library as a playground for learning BREP where you can construct basic objects, apply the operations and see what they do.
Do you know any books or just resources that teach 2d/3d programming/algorithms/design for CAD software like AutoCAD, Maya, Blender (or even Photoshop)? I haven't found any.


I assume you mean how to build them from the ground up?
To be honest, there isn't a great deal. Most of what I know about the subject (I'm a senior tools dev by trade, who builds apps of this sort) has been guesstimated by looking at the API docs for Maya et al, and then attempting to guesstimate the internals. Most of those app's are covered by patents, and the patents *can* reveal a general overview of how specific components work (primarily things like dependency graphs etc); although I have my suspicions about whether some of the claims in the patents are still in use. Knowledge of the actual graphics algorithms used tends to come from the same sources whether you are writing tools or games. A good 3D graphics textbook will cover *most* of the techniques used in Maya for example....

If you actually just meant writing plug-ins for apps of that sort, then there are a fair few resources available on the net, in devkits, and in books that may be useful.... Although that depends on the applicaton.

This topic is closed to new replies.

Advertisement