Difference between revisions of "Custom LDraw File Syntax Additions"

From LDraw.org Wiki
Jump to navigation Jump to search
Line 44: Line 44:
 
== [[LPub]] ==
 
== [[LPub]] ==
  
<code>[LPub Statements]</code>
+
=== LPub Statements ===
  
 
<code> LPUB PLI BEGIN SUB=LPUB PLI BEGIN SUB</code>
 
<code> LPUB PLI BEGIN SUB=LPUB PLI BEGIN SUB</code>
Line 60: Line 60:
 
<code> LPUB GROUP REMOVE=LPUB GROUP REMOVE</code>
 
<code> LPUB GROUP REMOVE=LPUB GROUP REMOVE</code>
  
<code> </code>
+
=== LPub Page Statements ===
 
 
<code> [LPub Page Statements]</code>
 
  
 
<code> SIZE=LPUB PAGE SIZE</code>
 
<code> SIZE=LPUB PAGE SIZE</code>
Line 90: Line 88:
 
<code> NUMBER MARGINS x_margin y_margin=LPUB PAGE NUMBER MARGINS x_margin y_margin</code>
 
<code> NUMBER MARGINS x_margin y_margin=LPUB PAGE NUMBER MARGINS x_margin y_margin</code>
  
<code> </code>
+
=== LPub Assembly Statements ===
 
 
<code> [LPub Assembly Statements]</code>
 
  
 
<code> MARGINS x_margin y_margin=LPUB ASSEM MARGINS x_margin y_margin</code>
 
<code> MARGINS x_margin y_margin=LPUB ASSEM MARGINS x_margin y_margin</code>
Line 108: Line 104:
 
<code> y_offset</code>
 
<code> y_offset</code>
  
<code> </code>
+
=== LPub PLI Layout Statements ===
 
 
<code> [LPub PLI Layout Statements]</code>
 
  
 
<code> PART MARGINS x y=LPUB PLI PART MARGINS x y</code>
 
<code> PART MARGINS x y=LPUB PLI PART MARGINS x y</code>
Line 170: Line 164:
 
<code> CONSTRAIN COLS cols=LPUB PLI CONSTRAIN COLS cols</code>
 
<code> CONSTRAIN COLS cols=LPUB PLI CONSTRAIN COLS cols</code>
  
<code> </code>
+
=== LPub Callout Statements ===
 
 
<code> [LPub Callout Statements]</code>
 
  
 
<code> MARGINS x y=LPUB CALLOUT MARGINS x y=</code>
 
<code> MARGINS x y=LPUB CALLOUT MARGINS x y=</code>
Line 262: Line 254:
 
<code> POINTER placement loc assem_x assem_y=</code>
 
<code> POINTER placement loc assem_x assem_y=</code>
  
<code> </code>
+
=== LPub Step Number Statements ===
 
 
<code> [LPub Step Number Statements]</code>
 
  
 
<code> PLACEMENT CENTER PAGE=LPUB STEP_NUMBER PLACEMENT CENTER PAGE</code>
 
<code> PLACEMENT CENTER PAGE=LPUB STEP_NUMBER PLACEMENT CENTER PAGE</code>
Line 292: Line 282:
 
<code> edge justification ASSEM OUTSIDE</code>
 
<code> edge justification ASSEM OUTSIDE</code>
  
<code> </code>
+
=== LPub Multi-Step Number Statements ===
 
 
<code> [LPub Multi-Step Number Statements]</code>
 
  
 
<code> VERTICAL=LPUB MULTI_STEP VERTICAL</code>
 
<code> VERTICAL=LPUB MULTI_STEP VERTICAL</code>
Line 312: Line 300:
 
<code> END=LPUB MULTI_STEP END</code>
 
<code> END=LPUB MULTI_STEP END</code>
  
<code> </code>
+
=== LPub Bill Of Material Statements ===
 
 
<code> [LPub Bill Of Material Statements]</code>
 
  
 
<code> PART MARGINS x y=LPUB BOM PART MARGINS x y</code>
 
<code> PART MARGINS x y=LPUB BOM PART MARGINS x y</code>
Line 362: Line 348:
 
<code> PACK SUBS=LPUB BOM PACK SUBS</code>
 
<code> PACK SUBS=LPUB BOM PACK SUBS</code>
  
===LSynth===
+
== [[LSynth]] ==
http://www.kclague.net/LSynth/
 
  
 
<code>SYNTH BEGIN (RIBBED_TUBE |</code>
 
<code>SYNTH BEGIN (RIBBED_TUBE |</code>

Revision as of 12:15, 2 April 2018

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 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

http://www.hassings.dk/l3/l3p.html

L3P IFPOV

L3P IFNOTPOV

L3P ELSEPOV

L3P ENDPOV

LDLite

http://ldlite.sourceforge.net/

COLOR

COLOUR

TRANSLATE

ROTATE

SCALE

TRANSFORM

COLORNAME

COLOURNAME

POINT

MATRIX

CMDLINE <line>