Custom LDraw File Syntax Additions
Sometimes, authors of LDraw-related software add special custom syntax elements to the LDraw file format.
This can create various problems when
- the semantics of such syntax changes between software versions
- different software interprets them differently
- files get widespread which make use of that custom syntax, without it being a standard.
For that reason, doing so in general is a Bad Idea (TM).
However, this in the past has happend quite in some instances.
This page tries to list all the existing custom syntax elements.
MLCad
ROTSTEP (<x-angle> <y-angle> <z-angle> [(REL| ADD | ABS)] | END)
BACKGROUND <filename>
BUFEXCHG (A-H) (STORE | RETRIEVE)
GHOST <LDRAW line>
GROUP <n> <name>
MLCAD BGT <group name>
MLCAD HIDE
MLCAD SKIP_BEGIN
MLCAD SKIP_END
ROTATION CENTER <x> <y> <z> "<name>"
ROTATION CONFIG <Rotation ID> <Visible Flag>
ROTATION AXLE
MLCAD SPRING
MLCAD FLEXHOSE
MLCAD RUBBER_BELT
LPub
LPub Statements
LPUB PLI BEGIN SUB=LPUB PLI BEGIN SUB
LPUB PLI BEGIN IGN=LPUB PLI BEGIN IGN
LPUB END=PLIST END
-=-
BI BEGIN GRAYED=BI BEGIN GRAYED
BI END=BI END
LPUB GROUP REMOVE=LPUB GROUP REMOVE
LPub Page Statements
SIZE=LPUB PAGE SIZE
PLI (YES|NO)=LPUB PAGE PLI (YES|NO)
-=-
BACKGROUND TRANS=LPUB PAGE BACKGROUND TRANS
BACKGROUND color=LPUB PAGE BACKGROUND color
BACKGROUND [STRETCH] png_image_name=LPUB PAGE BACKGROUND [STRETCH]
png_image_name
-=-
BORDER SQUARE=LPUB PAGE BORDER SQUARE
BORDER ROUND=LPUB PAGE BORDER ROUND
BORDER MARGINS x_margin y_margin=LPUB PAGE BORDER MARGINS x_margin y_margin
-=-
NUMBER MARGINS x_margin y_margin=LPUB PAGE NUMBER MARGINS x_margin y_margin
LPub Assembly Statements
MARGINS x_margin y_margin=LPUB ASSEM MARGINS x_margin y_margin
-=-
PLACEMENT corner PAGE=LPUB ASSEM PLACEMENT corner PAGE
PLACEMENT edge PAGE=LPUB ASSEM PLACEMENT edge PAGE
PLACEMENT CENTER PAGE=LPUB ASSEM PLACEMENT CENTER PAGE
PLACEMENT OFFSET x_offset y_offset=LPUB ASSEM PLACEMENT OFFSET x_offset
y_offset
LPub PLI Layout Statements
PART MARGINS x y=LPUB PLI PART MARGINS x y
MARGINS x y=LPUB PLI MARGINS x y
-=-
PLACEMENT CENTER PAGE=LPUB PLI PLACEMENT CENTER PAGE
PLACEMENT edge PAGE=LPUB PLI PLACEMENT edge PAGE
PLACEMENT CENTER ASSEM INSIDE=LPUB PLI PLACEMENT CENTER ASSEM INSIDE
PLACEMENT corner ASSEM INSIDE=LPUB PLI PLACEMENT corner ASSEM INSIDE
PLACEMENT edge ASSEM INSIDE=LPUB PLI PLACEMENT edge ASSEM INSIDE
PLACEMENT corner ASSEM OUTSIDE=LPUB PLI PLACEMENT corner ASSEM OUTSIDE
PLACEMENT edge justification ASSEM OUTSIDE=LPUB PLI PLACEMENT edge
justification ASSEM OUTSIDE
PLACEMENT OFFSET x_offset y_offset=LPUB PLI PLACEMENT OFFSET x_offset
y_offset
-=-
BORDER SQUARE color thickness=LPUB PLI BORDER SQUARE color thickness
BORDER ROUND color thickness radius=LPUB PLI BORDER ROUND color
thickness radius
BORDERLESS=LPUB PLI BORDERLESS
BORDER MARGINS x y=LPUB PLI BORDER MARGINS x y
-=-
BACKGROUND TRANS=LPUB PLI BACKGROUND TRANS
BACKGROUND color=LPUB PLI BACKGROUND color
BACKGROUND [STRETCH] fname=LPUB PLI BACKGROUND [STRETCH] fname
-=-
CONSTRAIN AREA=LPUB PLI CONSTRAIN AREA
CONSTRAIN SQUARE=LPUB PLI CONSTRAIN SQUARE
CONSTRAIN WIDTH width=LPUB PLI CONSTRAIN WIDTH width
CONSTRAIN HEIGHT height=LPUB PLI CONSTRAIN HEIGHT height
CONSTRAIN COLS cols=LPUB PLI CONSTRAIN COLS cols
LPub Callout Statements
MARGINS x y=LPUB CALLOUT MARGINS x y=
HORIZONTAL=LPUB CALLOUT HORIZONTAL
VERTICAL=LPUB CALLOUT VERTICAL
SEPARATOR seperator_color separator_width=LPUB CALLOUT SEPARATOR
seperator_color separator_width
-=-
BORDER SQUARE color thickness=LPUB CALLOUT BORDER SQUARE color thickness
BORDER ROUND color thickness radius=LPUB CALLOUT BORDER ROUND color
thickness radius
BORDER MARGINS x y=LPUB CALLOUT BORDER MARGINS x y
BORDERLESS=LPUB CALLOUT BORDERLESS
-=-
BACKGROUND TRANS=LPUB CALLOUT BACKGROUND TRANS
BACKGROUND color=LPUB CALLOUT BACKGROUND color
BACKGROUND [STRETCH] fname=LPUB CALLOUT BACKGROUND [STRETCH] fname
-=-
BEGIN=LPUB CALLOUT BEGIN=LPUB CALLOUT BEGIN=LPUB CALLOUT BEGIN
END=LPUB CALLOUT END=LPUB CALLOUT END=LPUB CALLOUT END
DIVIDER=LPUB CALLOUT DIVIDER
-=-
INSTANCE_COUNT MARGINS x y=LPUB CALLOUT INSTANCE_COUNT MARGINS x y
INSTANCE_COUNT PLACEMENT corner CALLOUT preposition=LPUB CALLOUT
INSTANCE_COUNT PLACEMENT corner CALLOUT preposition
INSTANCE_COUNT PLACEMENT edge CALLOUT INSIDE=LPUB CALLOUT INSTANCE_COUNT
PLACEMENT edge CALLOUT INSIDE
INSTANCE_COUNT PLACEMENT horiz justification CALLOUT OUTSIDE=LPUB
CALLOUT INSTANCE_COUNT PLACEMENT horiz justification CALLOUT OUTSIDE
INSTANCE_COUNT PLACEMENT vert justification CALLOUT OUTSIDE=LPUB CALLOUT
INSTANCE_COUNT PLACEMENT vert justification CALLOUT OUTSIDE
-=-
PLACEMENT CENTER PAGE=LPUB CALLOUT PLACEMENT CENTER PAGE
PLACEMENT corner PAGE=LPUB CALLOUT PLACEMENT corner PAGE
PLACEMENT edge PAGE=LPUB CALLOUT PLACEMENT edge PAGE
PLACEMENT CENTER ASSEM INSIDE=LPUB CALLOUT PLACEMENT CENTER ASSEM INSIDE
PLACEMENT corner ASSEM INSIDE=LPUB CALLOUT PLACEMENT corner ASSEM INSIDE
PLACEMENT edge ASSEM INSIDE=LPUB CALLOUT PLACEMENT edge ASSEM INSIDE
PLACEMENT corner ASSEM OUTSIDE=LPUB CALLOUT PLACEMENT corner ASSEM OUTSIDE
PLACEMENT edge justification ASSEM OUTSIDE=LPUB CALLOUT PLACEMENT edge
justification ASSEM OUTSIDE
PLACEMENT OFFSET x_offset y_offset=LPUB CALLOUT PLACEMENT OFFSET
x_offset y_offset
-=-
POINTER BASE base=LPUB CALLOUT POINTER BASE base
POINTER placement loc assem_x assem_y=
LPub Step Number Statements
PLACEMENT CENTER PAGE=LPUB STEP_NUMBER PLACEMENT CENTER PAGE
PLACEMENT corner PAGE=LPUB STEP_NUMBER PLACEMENT corner PAGE
PLACEMENT edge PAGE=LPUB STEP_NUMBER PLACEMENT edge PAGE
PLACEMENT CENTER ASSEM INSIDE=LPUB STEP_NUMBER PLACEMENT CENTER ASSEM INSIDE
PLACEMENT corner ASSEM INSIDE=LPUB STEP_NUMBER PLACEMENT corner ASSEM INSIDE
PLACEMENT edge ASSEM INSIDE=LPUB STEP_NUMBER PLACEMENT edge ASSEM INSIDE
PLACEMENT corner PLI=LPUB STEP_NUMBER PLACEMENT corner PLI
PLACEMENT edge justification PLI=LPUB STEP_NUMBER PLACEMENT edge
justification PLI
PLACEMENT corner ASSEM OUTSIDE=LPUB STEP_NUMBER PLACEMENT corner ASSEM
OUTSIDE
PLACEMENT edge justification ASSEM OUTSIDE=LPUB STEP_NUMBER PLACEMENT
edge justification ASSEM OUTSIDE
LPub Multi-Step Number Statements
VERTICAL=LPUB MULTI_STEP VERTICAL
HORIZONTAL=LPUB MULTI_STEP HORIZONTAL
MARGINS x y=LPUB MULTI_STEP MARGINS x y
SEPARATOR seperator_color separator_width=LPUB MULTI_STEP SEPARATOR
seperator_color separator_width
BEGIN=LPUB MULTI_STEP BEGIN
DIVIDER=LPUB MULTI_STEP DIVIDER
END=LPUB MULTI_STEP END
LPub Bill Of Material Statements
PART MARGINS x y=LPUB BOM PART MARGINS x y
MARGINS x y=LPUB BOM MARGINS x y
BEGIN IGN=LPUB BOM BEGIN IGN
END=LPUB BOM END
-=-
BORDER SQUARE color thickness=LPUB BOM BORDER SQUARE color thickness
BORDER ROUND color thickness radius=LPUB BOM BORDER ROUND color
thickness radius
BORDERLESS=LPUB BOM BORDERLESS
BORDER MARGINS x y=LPUB BOM BORDER MARGINS x y
-=-
BACKGROUND TRANS=LPUB BOM BACKGROUND TRANS
BACKGROUND color=LPUB BOM BACKGROUND color
BACKGROUND [STRETCH] fname=LPUB BOM BACKGROUND [STRETCH] fname
-=-
CONSTRAIN AREA=LPUB BOM CONSTRAIN AREA
CONSTRAIN SQUARE=LPUB BOM CONSTRAIN SQUARE
CONSTRAIN WIDTH width=LPUB BOM CONSTRAIN WIDTH width
CONSTRAIN HEIGHT height=LPUB BOM CONSTRAIN HEIGHT height
CONSTRAIN COLS cols=LPUB BOM CONSTRAIN COLS cols
-=-
SORT WIDTH=LPUB BOM SORT WIDTH
PACK SUBS=LPUB BOM PACK SUBS
LSynth
SYNTH BEGIN (RIBBED_TUBE |
FLEXIBLE_TUBE |
FLEX_CABLE |
RIGID_TUBE |
ELECTRIC_CABLE |
PNEUMATIC_TUBE |
FLEXIBLE_AXLE |
FIBER_OPTIC_CABLE |
RUBBER_BAND |
CHAIN |
PLASTIC_TREAD |
RUBBER_TREAD)
SYNTH END
SYNTH (INSIDE | OUTSIDE | CROSS | SHOW | HIDE)
SYNTHESIZED BEGIN
SYNTHESIZED END
L3P
L3P IFPOV
L3P IFNOTPOV
L3P ELSEPOV
L3P ENDPOV
LDLite
COLOR
COLOUR
TRANSLATE
ROTATE
SCALE
TRANSFORM
COLORNAME
COLOURNAME
POINT
MATRIX
CMDLINE <line>