1

This question is a little different to your typical questions but I think this is the best community to ask this in.

I've been interested in lego technic for most my life and have been trying to come up with a way to quickly and easily represent axles, pins, axle holes and pin holes on computers universally. I decided to use plain ASCII since it is quicker and works on mobile devices and on desktops.

I made a good representation of the pins, axles and holes in one axis but the problem is: ASCII is 2D but lego technic is 3D, so rotated or flipped lego parts are very hard to represent and if the entire building axis changes then so do the part orientations.

Is there some way I can do this?

Here is my syntax:

facing the front:

+ axle hole
× axle
o pin hole
. pin

facing the side:

< axle hole
= axle
Z pin hole
- pin

facing the side rotated 90 degrees:

V axle hole
! axle
N pin hole
| pin

if a symbol is underlined it means it is half thickness, if not it is worth 1L

CoderCat
  • 1
  • 2
  • 1
    Is this just a way of drawing a lego technic or a format for storing the design of one? If is is the latter, are you looking for something compact/compressed which takes up little storage or something that is convenient to work with and easy to edit? – Chuck Dec 25 '17 at 03:53
  • @chuck easy to edit/create, and its drawing lego technic sections which create a full model, a full model is impossible to interpret on small phone screens. – CoderCat Dec 25 '17 at 06:42
  • I'm not sure I understand what the actual question is here. – Dan Hulme Jan 03 '18 at 09:24

1 Answers1

1

As you’ve found, it’s hard to use a two-dimensional format, even from multiple viewpoints, to represent a 3D structure that’s not axis-aligned. I’m not sure I have a useful suggestion there—there’s a reason most 3D file formats support specifying translation/rotation/scaling of individual parts.

A different direction you might try would be using the existing work in the LDraw project; their file format is technically ASCII, and though it’s closer to a standard 3D format in that the fundamental parts (like studs) are built out of lists of vertices / triangles / etc., the higher-level pieces (bricks, plates, etc.) are built out of references to the fundamental ones, which sounds like it’s roughly along the lines of what you’re after. There’s an assortment of third-party design tools that provide GUIs on top of the LDraw parts library; of those, I’m partial to Bricksmith.

Noah Witherspoon
  • 2,062
  • 10
  • 21