Remix.run Logo
Cargo4286 5 days ago

You should really look at build123d -- it is a full CAD package including 3D but it also treats 1D and 2D as first class citizens.

Your idea about drawing lines is already supported in build123d:

  m1 = Line((0,0),(0,24))      # vertical line
  m2 = Line(m1@1,m1@1+(24,0))  # horizontal line starting at the end of m1
Further you could use logic based on some ruleset to place stock symbols on these "construction lines". It is also very easy to create custom objects that would conform to your exact syntax above.