Difference between revisions of "Custom LDraw File Syntax Additions"

From LDraw.org Wiki
Jump to navigation Jump to search
(→‎MLCad: add a missing MLCAD meta tag)
 
(6 intermediate revisions by one other user not shown)
Line 25: Line 25:
  
 
<code> MLCAD BGT &lt;group name&gt;</code>
 
<code> MLCAD BGT &lt;group name&gt;</code>
 +
 +
<code> MLCAD HIDE</code>
  
 
<code> MLCAD SKIP_BEGIN</code>
 
<code> MLCAD SKIP_BEGIN</code>
Line 42: Line 44:
 
<code> MLCAD RUBBER_BELT</code>
 
<code> MLCAD RUBBER_BELT</code>
  
===LPub===
+
== [[LPub]] ==
http://www.kclague.net/LPub/index.htm
 
  
<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 61: Line 62:
 
<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 91: Line 90:
 
<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 109: Line 106:
 
<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 171: Line 166:
 
<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 263: Line 256:
 
<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 293: Line 284:
 
<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 313: Line 302:
 
<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 363: Line 350:
 
<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>
Line 398: Line 384:
 
<code> SYNTHESIZED END</code>
 
<code> SYNTHESIZED END</code>
  
===L3P===
+
== [[L3P]] ==
http://www.hassings.dk/l3/l3p.html
 
  
 
<code> L3P IFPOV</code>
 
<code> L3P IFPOV</code>
Line 409: Line 394:
 
<code> L3P ENDPOV</code>
 
<code> L3P ENDPOV</code>
  
===LDLite===
+
== [[LDLite]] ==
http://ldlite.sourceforge.net/
 
  
 
<code> COLOR</code>
 
<code> COLOR</code>

Latest revision as of 18:54, 21 February 2020

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>