have been trying out a program for making 3d models called openscad
instead of clicking a mouse to create your object you define it programatically
so far just playing with it to understand how it works
not sure how to generate dimension text
the syntax is not too abstract but it is an entirely new way to design in 3d