Developer Tools and Programming Support / Programmatic CAD and Geometric Design Interfaces

How can interaction design of programming-oriented CAD tools be optimized to support customization and complex geometry design?