Custom LDraw File Syntax Additions: Difference between revisions

From LDraw.org Wiki
Jump to navigation Jump to search
(Initialy copy-past)
 
(→‎MLCad: add a missing MLCAD meta tag)
 
(17 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The following is a list currently known META Commands.  These commands are documented and maintained by the owner of their respective programs.  The URLs listed are the last known good links to that product.  This list is not all inclusive and should not be construed as a limitation but merely tool for programmer to use to prevent META command overlap.
Sometimes, [[App Developer|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.


MLCad (<a href="http://mlcad.lm-software.com">http://mlcad.lm-software.com</a>)
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]] ==


<code> ROTSTEP (&lt;x-angle&gt; &lt;y-angle&gt; &lt;z-angle&gt; [(REL| ADD | ABS)] | END)</code>
<code> ROTSTEP (&lt;x-angle&gt; &lt;y-angle&gt; &lt;z-angle&gt; [(REL| ADD | ABS)] | END)</code>
<code> BACKGROUND &lt;filename&gt;</code>
<code> BACKGROUND &lt;filename&gt;</code>
<code> BUFEXCHG (A-H) (STORE | RETRIEVE)</code>
<code> BUFEXCHG (A-H) (STORE | RETRIEVE)</code>
<code> GHOST &lt;LDRAW line&gt;</code>
<code> GHOST &lt;LDRAW line&gt;</code>
<code> GROUP &lt;n> &lt;name&gt;</code>
<code> GROUP &lt;n> &lt;name&gt;</code>
<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>
<code> MLCAD SKIP_END</code>
<code> MLCAD SKIP_END</code>
<code> ROTATION CENTER &lt;x&gt; &lt;y&gt; &lt;z&gt; "&lt;name&gt;"</code>
<code> ROTATION CENTER &lt;x&gt; &lt;y&gt; &lt;z&gt; "&lt;name&gt;"</code>
<code> ROTATION CONFIG &lt;Rotation ID&gt; &lt;Visible Flag&gt;</code>
<code> ROTATION CONFIG &lt;Rotation ID&gt; &lt;Visible Flag&gt;</code>
<code> ROTATION AXLE</code>
<code> ROTATION AXLE</code>
<code> MLCAD SPRING</code>
<code> MLCAD SPRING</code>
<code> MLCAD FLEXHOSE</code>
<code> MLCAD FLEXHOSE</code>
<code> MLCAD RUBBER_BELT</code>
<code> MLCAD RUBBER_BELT</code>


LPub (<a href="http://www.kclague.net/LPub/index.htm">http://www.kclague.net/LPub/index.htm</a>)
== [[LPub]] ==
 
=== LPub Statements ===


<code>[LPub Statements]</code>
<code> LPUB PLI BEGIN SUB=LPUB PLI BEGIN SUB</code>
<code> LPUB PLI BEGIN SUB=LPUB PLI BEGIN SUB</code>
<code> LPUB PLI BEGIN IGN=LPUB PLI BEGIN IGN</code>
<code> LPUB PLI BEGIN IGN=LPUB PLI BEGIN IGN</code>
<code> LPUB END=PLIST END</code>
<code> LPUB END=PLIST END</code>
<code> -=-</code>
<code> -=-</code>
<code> BI BEGIN GRAYED=BI BEGIN GRAYED</code>
<code> BI BEGIN GRAYED=BI BEGIN GRAYED</code>
<code> BI END=BI END</code>
<code> BI END=BI END</code>
<code> LPUB GROUP REMOVE=LPUB GROUP REMOVE</code>
<code> LPUB GROUP REMOVE=LPUB GROUP REMOVE</code>
<code> </code>
 
<code> [LPub Page Statements]</code>
=== LPub Page Statements ===
 
<code> SIZE=LPUB PAGE SIZE</code>
<code> SIZE=LPUB PAGE SIZE</code>
<code> PLI (YES|NO)=LPUB PAGE PLI (YES|NO)</code>
<code> PLI (YES|NO)=LPUB PAGE PLI (YES|NO)</code>
<code> -=-</code>
<code> -=-</code>
<code> BACKGROUND TRANS=LPUB PAGE BACKGROUND TRANS</code>
<code> BACKGROUND TRANS=LPUB PAGE BACKGROUND TRANS</code>
<code> BACKGROUND color=LPUB PAGE BACKGROUND color</code>
<code> BACKGROUND color=LPUB PAGE BACKGROUND color</code>
<code> BACKGROUND [STRETCH] png_image_name=LPUB PAGE BACKGROUND [STRETCH]</code>
<code> BACKGROUND [STRETCH] png_image_name=LPUB PAGE BACKGROUND [STRETCH]</code>
<code> png_image_name</code>
<code> png_image_name</code>
<code> -=-</code>
<code> -=-</code>
<code> BORDER SQUARE=LPUB PAGE BORDER SQUARE</code>
<code> BORDER SQUARE=LPUB PAGE BORDER SQUARE</code>
<code> BORDER ROUND=LPUB PAGE BORDER ROUND</code>
<code> BORDER ROUND=LPUB PAGE BORDER ROUND</code>
<code> BORDER MARGINS x_margin y_margin=LPUB PAGE BORDER MARGINS x_margin y_margin</code>
<code> BORDER MARGINS x_margin y_margin=LPUB PAGE BORDER MARGINS x_margin y_margin</code>
<code> -=-</code>
<code> -=-</code>
<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>
 
<code> [LPub Assembly Statements]</code>
=== LPub Assembly Statements ===
 
<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>
<code> -=-</code>
<code> -=-</code>
<code> PLACEMENT corner PAGE=LPUB ASSEM PLACEMENT corner PAGE</code>
<code> PLACEMENT corner PAGE=LPUB ASSEM PLACEMENT corner PAGE</code>
<code> PLACEMENT edge PAGE=LPUB ASSEM PLACEMENT edge PAGE</code>
<code> PLACEMENT edge PAGE=LPUB ASSEM PLACEMENT edge PAGE</code>
<code> PLACEMENT CENTER PAGE=LPUB ASSEM PLACEMENT CENTER PAGE</code>
<code> PLACEMENT CENTER PAGE=LPUB ASSEM PLACEMENT CENTER PAGE</code>
<code> PLACEMENT OFFSET x_offset y_offset=LPUB ASSEM PLACEMENT OFFSET x_offset</code>
<code> PLACEMENT OFFSET x_offset y_offset=LPUB ASSEM PLACEMENT OFFSET x_offset</code>
<code> y_offset</code>
<code> y_offset</code>
<code> </code>
 
<code> [LPub PLI Layout Statements]</code>
=== LPub PLI Layout Statements ===
 
<code> PART MARGINS x y=LPUB PLI PART MARGINS x y</code>
<code> PART MARGINS x y=LPUB PLI PART MARGINS x y</code>
<code> MARGINS x y=LPUB PLI MARGINS x y</code>
<code> MARGINS x y=LPUB PLI MARGINS x y</code>
<code> -=-</code>
<code> -=-</code>
<code> PLACEMENT CENTER PAGE=LPUB PLI PLACEMENT CENTER PAGE</code>
<code> PLACEMENT CENTER PAGE=LPUB PLI PLACEMENT CENTER PAGE</code>
<code> PLACEMENT edge PAGE=LPUB PLI PLACEMENT edge PAGE</code>
<code> PLACEMENT edge PAGE=LPUB PLI PLACEMENT edge PAGE</code>
<code> PLACEMENT CENTER ASSEM INSIDE=LPUB PLI PLACEMENT CENTER ASSEM INSIDE</code>
<code> PLACEMENT CENTER ASSEM INSIDE=LPUB PLI PLACEMENT CENTER ASSEM INSIDE</code>
<code> PLACEMENT corner ASSEM INSIDE=LPUB PLI PLACEMENT corner ASSEM INSIDE</code>
<code> PLACEMENT corner ASSEM INSIDE=LPUB PLI PLACEMENT corner ASSEM INSIDE</code>
<code> PLACEMENT edge ASSEM INSIDE=LPUB PLI PLACEMENT edge ASSEM INSIDE</code>
<code> PLACEMENT edge ASSEM INSIDE=LPUB PLI PLACEMENT edge ASSEM INSIDE</code>
<code> PLACEMENT corner ASSEM OUTSIDE=LPUB PLI PLACEMENT corner ASSEM OUTSIDE</code>
<code> PLACEMENT corner ASSEM OUTSIDE=LPUB PLI PLACEMENT corner ASSEM OUTSIDE</code>
<code> PLACEMENT edge justification ASSEM OUTSIDE=LPUB PLI PLACEMENT edge</code>
<code> PLACEMENT edge justification ASSEM OUTSIDE=LPUB PLI PLACEMENT edge</code>
<code> justification ASSEM OUTSIDE</code>
<code> justification ASSEM OUTSIDE</code>
<code> PLACEMENT OFFSET x_offset y_offset=LPUB PLI PLACEMENT OFFSET x_offset</code>
<code> PLACEMENT OFFSET x_offset y_offset=LPUB PLI PLACEMENT OFFSET x_offset</code>
<code> y_offset</code>
<code> y_offset</code>
<code> -=-</code>
<code> -=-</code>
<code> BORDER SQUARE color thickness=LPUB PLI BORDER SQUARE color thickness</code>
<code> BORDER SQUARE color thickness=LPUB PLI BORDER SQUARE color thickness</code>
<code> BORDER ROUND color thickness radius=LPUB PLI BORDER ROUND color</code>
<code> BORDER ROUND color thickness radius=LPUB PLI BORDER ROUND color</code>
<code> thickness radius</code>
<code> thickness radius</code>
<code> BORDERLESS=LPUB PLI BORDERLESS</code>
<code> BORDERLESS=LPUB PLI BORDERLESS</code>
<code> BORDER MARGINS x y=LPUB PLI BORDER MARGINS x y</code>
<code> BORDER MARGINS x y=LPUB PLI BORDER MARGINS x y</code>
<code> -=-</code>
<code> -=-</code>
<code> BACKGROUND TRANS=LPUB PLI BACKGROUND TRANS</code>
<code> BACKGROUND TRANS=LPUB PLI BACKGROUND TRANS</code>
<code> BACKGROUND color=LPUB PLI BACKGROUND color</code>
<code> BACKGROUND color=LPUB PLI BACKGROUND color</code>
<code> BACKGROUND [STRETCH] fname=LPUB PLI BACKGROUND [STRETCH] fname</code>
<code> BACKGROUND [STRETCH] fname=LPUB PLI BACKGROUND [STRETCH] fname</code>
<code> -=-</code>
<code> -=-</code>
<code> CONSTRAIN AREA=LPUB PLI CONSTRAIN AREA</code>
<code> CONSTRAIN AREA=LPUB PLI CONSTRAIN AREA</code>
<code> CONSTRAIN SQUARE=LPUB PLI CONSTRAIN SQUARE</code>
<code> CONSTRAIN SQUARE=LPUB PLI CONSTRAIN SQUARE</code>
<code> CONSTRAIN WIDTH width=LPUB PLI CONSTRAIN WIDTH width</code>
<code> CONSTRAIN WIDTH width=LPUB PLI CONSTRAIN WIDTH width</code>
<code> CONSTRAIN HEIGHT height=LPUB PLI CONSTRAIN HEIGHT height</code>
<code> CONSTRAIN HEIGHT height=LPUB PLI CONSTRAIN HEIGHT height</code>
<code> CONSTRAIN COLS cols=LPUB PLI CONSTRAIN COLS cols</code>
<code> CONSTRAIN COLS cols=LPUB PLI CONSTRAIN COLS cols</code>
<code> </code>
 
<code> [LPub Callout Statements]</code>
=== LPub Callout Statements ===
 
<code> MARGINS x y=LPUB CALLOUT MARGINS x y=</code>
<code> MARGINS x y=LPUB CALLOUT MARGINS x y=</code>
<code> HORIZONTAL=LPUB CALLOUT HORIZONTAL</code>
<code> HORIZONTAL=LPUB CALLOUT HORIZONTAL</code>
<code> VERTICAL=LPUB CALLOUT VERTICAL</code>
<code> VERTICAL=LPUB CALLOUT VERTICAL</code>
<code> SEPARATOR seperator_color separator_width=LPUB CALLOUT SEPARATOR</code>
<code> SEPARATOR seperator_color separator_width=LPUB CALLOUT SEPARATOR</code>
<code> seperator_color separator_width</code>
<code> seperator_color separator_width</code>
<code> -=-</code>
<code> -=-</code>
<code> BORDER SQUARE color thickness=LPUB CALLOUT BORDER SQUARE color thickness</code>
<code> BORDER SQUARE color thickness=LPUB CALLOUT BORDER SQUARE color thickness</code>
<code> BORDER ROUND color thickness radius=LPUB CALLOUT BORDER ROUND color</code>
<code> BORDER ROUND color thickness radius=LPUB CALLOUT BORDER ROUND color</code>
<code> thickness radius</code>
<code> thickness radius</code>
<code> BORDER MARGINS x y=LPUB CALLOUT BORDER MARGINS x y</code>
<code> BORDER MARGINS x y=LPUB CALLOUT BORDER MARGINS x y</code>
<code> BORDERLESS=LPUB CALLOUT BORDERLESS</code>
<code> BORDERLESS=LPUB CALLOUT BORDERLESS</code>
<code> -=-</code>
<code> -=-</code>
<code> BACKGROUND TRANS=LPUB CALLOUT BACKGROUND TRANS</code>
<code> BACKGROUND TRANS=LPUB CALLOUT BACKGROUND TRANS</code>
<code> BACKGROUND color=LPUB CALLOUT BACKGROUND color</code>
<code> BACKGROUND color=LPUB CALLOUT BACKGROUND color</code>
<code> BACKGROUND [STRETCH] fname=LPUB CALLOUT BACKGROUND [STRETCH] fname</code>
<code> BACKGROUND [STRETCH] fname=LPUB CALLOUT BACKGROUND [STRETCH] fname</code>
<code> -=-</code>
<code> -=-</code>
<code> BEGIN=LPUB CALLOUT BEGIN=LPUB CALLOUT BEGIN=LPUB CALLOUT BEGIN</code>
<code> BEGIN=LPUB CALLOUT BEGIN=LPUB CALLOUT BEGIN=LPUB CALLOUT BEGIN</code>
<code> END=LPUB CALLOUT END=LPUB CALLOUT END=LPUB CALLOUT END</code>
<code> END=LPUB CALLOUT END=LPUB CALLOUT END=LPUB CALLOUT END</code>
<code> DIVIDER=LPUB CALLOUT DIVIDER</code>
<code> DIVIDER=LPUB CALLOUT DIVIDER</code>
<code> -=-</code>
<code> -=-</code>
<code> INSTANCE_COUNT MARGINS x y=LPUB CALLOUT INSTANCE_COUNT MARGINS x y</code>
<code> INSTANCE_COUNT MARGINS x y=LPUB CALLOUT INSTANCE_COUNT MARGINS x y</code>
<code> INSTANCE_COUNT PLACEMENT corner CALLOUT preposition=LPUB CALLOUT</code>
<code> INSTANCE_COUNT PLACEMENT corner CALLOUT preposition=LPUB CALLOUT</code>
<code> INSTANCE_COUNT PLACEMENT corner CALLOUT preposition</code>
<code> INSTANCE_COUNT PLACEMENT corner CALLOUT preposition</code>
<code> INSTANCE_COUNT PLACEMENT edge CALLOUT INSIDE=LPUB CALLOUT INSTANCE_COUNT</code>
<code> INSTANCE_COUNT PLACEMENT edge CALLOUT INSIDE=LPUB CALLOUT INSTANCE_COUNT</code>
<code> PLACEMENT edge CALLOUT INSIDE</code>
<code> PLACEMENT edge CALLOUT INSIDE</code>
<code> INSTANCE_COUNT PLACEMENT horiz justification CALLOUT OUTSIDE=LPUB</code>
<code> INSTANCE_COUNT PLACEMENT horiz justification CALLOUT OUTSIDE=LPUB</code>
<code> CALLOUT INSTANCE_COUNT PLACEMENT horiz justification CALLOUT OUTSIDE</code>
<code> CALLOUT INSTANCE_COUNT PLACEMENT horiz justification CALLOUT OUTSIDE</code>
<code> INSTANCE_COUNT PLACEMENT vert justification CALLOUT OUTSIDE=LPUB CALLOUT</code>
<code> INSTANCE_COUNT PLACEMENT vert justification CALLOUT OUTSIDE=LPUB CALLOUT</code>
<code> INSTANCE_COUNT PLACEMENT vert justification CALLOUT OUTSIDE</code>
<code> INSTANCE_COUNT PLACEMENT vert justification CALLOUT OUTSIDE</code>
<code> -=-</code>
<code> -=-</code>
<code> PLACEMENT CENTER PAGE=LPUB CALLOUT PLACEMENT CENTER PAGE</code>
<code> PLACEMENT CENTER PAGE=LPUB CALLOUT PLACEMENT CENTER PAGE</code>
<code> PLACEMENT corner PAGE=LPUB CALLOUT PLACEMENT corner PAGE</code>
<code> PLACEMENT corner PAGE=LPUB CALLOUT PLACEMENT corner PAGE</code>
<code> PLACEMENT edge PAGE=LPUB CALLOUT PLACEMENT edge PAGE</code>
<code> PLACEMENT edge PAGE=LPUB CALLOUT PLACEMENT edge PAGE</code>
<code> PLACEMENT CENTER ASSEM INSIDE=LPUB CALLOUT PLACEMENT CENTER ASSEM INSIDE</code>
<code> PLACEMENT CENTER ASSEM INSIDE=LPUB CALLOUT PLACEMENT CENTER ASSEM INSIDE</code>
<code> PLACEMENT corner ASSEM INSIDE=LPUB CALLOUT PLACEMENT corner ASSEM INSIDE</code>
<code> PLACEMENT corner ASSEM INSIDE=LPUB CALLOUT PLACEMENT corner ASSEM INSIDE</code>
<code> PLACEMENT edge ASSEM INSIDE=LPUB CALLOUT PLACEMENT edge ASSEM INSIDE</code>
<code> PLACEMENT edge ASSEM INSIDE=LPUB CALLOUT PLACEMENT edge ASSEM INSIDE</code>
<code> PLACEMENT corner ASSEM OUTSIDE=LPUB CALLOUT PLACEMENT corner ASSEM OUTSIDE</code>
<code> PLACEMENT corner ASSEM OUTSIDE=LPUB CALLOUT PLACEMENT corner ASSEM OUTSIDE</code>
<code> PLACEMENT edge justification ASSEM OUTSIDE=LPUB CALLOUT PLACEMENT edge</code>
<code> PLACEMENT edge justification ASSEM OUTSIDE=LPUB CALLOUT PLACEMENT edge</code>
<code> justification ASSEM OUTSIDE</code>
<code> justification ASSEM OUTSIDE</code>
<code> PLACEMENT OFFSET x_offset y_offset=LPUB CALLOUT PLACEMENT OFFSET</code>
<code> PLACEMENT OFFSET x_offset y_offset=LPUB CALLOUT PLACEMENT OFFSET</code>
<code> x_offset y_offset</code>
<code> x_offset y_offset</code>
<code> -=-</code>
<code> -=-</code>
<code> POINTER BASE base=LPUB CALLOUT POINTER BASE base</code>
<code> POINTER BASE base=LPUB CALLOUT POINTER BASE base</code>
<code> POINTER placement loc assem_x assem_y=</code>
<code> POINTER placement loc assem_x assem_y=</code>
<code> </code>
 
<code> [LPub Step Number Statements]</code>
=== LPub Step Number Statements ===
 
<code> PLACEMENT CENTER PAGE=LPUB STEP_NUMBER PLACEMENT CENTER PAGE</code>
<code> PLACEMENT CENTER PAGE=LPUB STEP_NUMBER PLACEMENT CENTER PAGE</code>
<code> PLACEMENT corner PAGE=LPUB STEP_NUMBER PLACEMENT corner PAGE</code>
<code> PLACEMENT corner PAGE=LPUB STEP_NUMBER PLACEMENT corner PAGE</code>
<code> PLACEMENT edge PAGE=LPUB STEP_NUMBER PLACEMENT edge PAGE</code>
<code> PLACEMENT edge PAGE=LPUB STEP_NUMBER PLACEMENT edge PAGE</code>
<code> PLACEMENT CENTER ASSEM INSIDE=LPUB STEP_NUMBER PLACEMENT CENTER ASSEM INSIDE</code>
<code> PLACEMENT CENTER ASSEM INSIDE=LPUB STEP_NUMBER PLACEMENT CENTER ASSEM INSIDE</code>
<code> PLACEMENT corner ASSEM INSIDE=LPUB STEP_NUMBER PLACEMENT corner ASSEM INSIDE</code>
<code> PLACEMENT corner ASSEM INSIDE=LPUB STEP_NUMBER PLACEMENT corner ASSEM INSIDE</code>
<code> PLACEMENT edge ASSEM INSIDE=LPUB STEP_NUMBER PLACEMENT edge ASSEM INSIDE</code>
<code> PLACEMENT edge ASSEM INSIDE=LPUB STEP_NUMBER PLACEMENT edge ASSEM INSIDE</code>
<code> PLACEMENT corner PLI=LPUB STEP_NUMBER PLACEMENT corner PLI</code>
<code> PLACEMENT corner PLI=LPUB STEP_NUMBER PLACEMENT corner PLI</code>
<code> PLACEMENT edge justification PLI=LPUB STEP_NUMBER PLACEMENT edge</code>
<code> PLACEMENT edge justification PLI=LPUB STEP_NUMBER PLACEMENT edge</code>
<code> justification PLI</code>
<code> justification PLI</code>
<code> PLACEMENT corner ASSEM OUTSIDE=LPUB STEP_NUMBER PLACEMENT corner ASSEM</code>
<code> PLACEMENT corner ASSEM OUTSIDE=LPUB STEP_NUMBER PLACEMENT corner ASSEM</code>
<code> OUTSIDE</code>
<code> OUTSIDE</code>
<code> PLACEMENT edge justification ASSEM OUTSIDE=LPUB STEP_NUMBER PLACEMENT</code>
<code> PLACEMENT edge justification ASSEM OUTSIDE=LPUB STEP_NUMBER PLACEMENT</code>
<code> edge justification ASSEM OUTSIDE</code>
<code> edge justification ASSEM OUTSIDE</code>
<code> </code>
 
<code> [LPub Multi-Step Number Statements]</code>
=== LPub Multi-Step Number Statements ===
 
<code> VERTICAL=LPUB MULTI_STEP VERTICAL</code>
<code> VERTICAL=LPUB MULTI_STEP VERTICAL</code>
<code> HORIZONTAL=LPUB MULTI_STEP HORIZONTAL</code>
<code> HORIZONTAL=LPUB MULTI_STEP HORIZONTAL</code>
<code> MARGINS x y=LPUB MULTI_STEP MARGINS x y</code>
<code> MARGINS x y=LPUB MULTI_STEP MARGINS x y</code>
<code> SEPARATOR seperator_color separator_width=LPUB MULTI_STEP SEPARATOR</code>
<code> SEPARATOR seperator_color separator_width=LPUB MULTI_STEP SEPARATOR</code>
<code> seperator_color separator_width</code>
<code> seperator_color separator_width</code>
<code> BEGIN=LPUB MULTI_STEP BEGIN</code>
<code> BEGIN=LPUB MULTI_STEP BEGIN</code>
<code> DIVIDER=LPUB MULTI_STEP DIVIDER</code>
<code> DIVIDER=LPUB MULTI_STEP DIVIDER</code>
<code> END=LPUB MULTI_STEP END</code>
<code> END=LPUB MULTI_STEP END</code>
<code> </code>
 
<code> [LPub Bill Of Material Statements]</code>
=== LPub Bill Of Material Statements ===
 
<code> PART MARGINS x y=LPUB BOM PART MARGINS x y</code>
<code> PART MARGINS x y=LPUB BOM PART MARGINS x y</code>
<code> MARGINS x y=LPUB BOM MARGINS x y</code>
<code> MARGINS x y=LPUB BOM MARGINS x y</code>
<code> BEGIN IGN=LPUB BOM BEGIN IGN</code>
<code> BEGIN IGN=LPUB BOM BEGIN IGN</code>
<code> END=LPUB BOM END</code>
<code> END=LPUB BOM END</code>
<code> -=-</code>
<code> -=-</code>
<code> BORDER SQUARE color thickness=LPUB BOM BORDER SQUARE color thickness</code>
<code> BORDER SQUARE color thickness=LPUB BOM BORDER SQUARE color thickness</code>
<code> BORDER ROUND color thickness radius=LPUB BOM BORDER ROUND color</code>
<code> BORDER ROUND color thickness radius=LPUB BOM BORDER ROUND color</code>
<code> thickness radius</code>
<code> thickness radius</code>
<code> BORDERLESS=LPUB BOM BORDERLESS</code>
<code> BORDERLESS=LPUB BOM BORDERLESS</code>
<code> BORDER MARGINS x y=LPUB BOM BORDER MARGINS x y</code>
<code> BORDER MARGINS x y=LPUB BOM BORDER MARGINS x y</code>
<code> -=-</code>
<code> -=-</code>
<code> BACKGROUND TRANS=LPUB BOM BACKGROUND TRANS</code>
<code> BACKGROUND TRANS=LPUB BOM BACKGROUND TRANS</code>
<code> BACKGROUND color=LPUB BOM BACKGROUND color</code>
<code> BACKGROUND color=LPUB BOM BACKGROUND color</code>
<code> BACKGROUND [STRETCH] fname=LPUB BOM BACKGROUND [STRETCH] fname</code>
<code> BACKGROUND [STRETCH] fname=LPUB BOM BACKGROUND [STRETCH] fname</code>
<code> -=-</code>
<code> -=-</code>
<code> CONSTRAIN AREA=LPUB BOM CONSTRAIN AREA</code>
<code> CONSTRAIN AREA=LPUB BOM CONSTRAIN AREA</code>
<code> CONSTRAIN SQUARE=LPUB BOM CONSTRAIN SQUARE</code>
<code> CONSTRAIN SQUARE=LPUB BOM CONSTRAIN SQUARE</code>
<code> CONSTRAIN WIDTH width=LPUB BOM CONSTRAIN WIDTH width</code>
<code> CONSTRAIN WIDTH width=LPUB BOM CONSTRAIN WIDTH width</code>
<code> CONSTRAIN HEIGHT height=LPUB BOM CONSTRAIN HEIGHT height</code>
<code> CONSTRAIN HEIGHT height=LPUB BOM CONSTRAIN HEIGHT height</code>
<code> CONSTRAIN COLS cols=LPUB BOM CONSTRAIN COLS cols</code>
<code> CONSTRAIN COLS cols=LPUB BOM CONSTRAIN COLS cols</code>
<code> -=-</code>
<code> -=-</code>
<code> SORT WIDTH=LPUB BOM SORT WIDTH</code>
<code> SORT WIDTH=LPUB BOM SORT WIDTH</code>
<code> PACK SUBS=LPUB BOM PACK SUBS</code>
<code> PACK SUBS=LPUB BOM PACK SUBS</code>
</p>


LSynth (<a href="http://www.kclague.net/LSynth/">http://www.kclague.net/LSynth/</a>)
== [[LSynth]] ==


<code>SYNTH BEGIN (RIBBED_TUBE |</code>
<code>SYNTH BEGIN (RIBBED_TUBE |</code>
<code>            FLEXIBLE_TUBE |</code>
<code>            FLEXIBLE_TUBE |</code>
<code>            FLEX_CABLE |</code>
<code>            FLEX_CABLE |</code>
<code>            RIGID_TUBE |</code>
<code>            RIGID_TUBE |</code>
<code>            ELECTRIC_CABLE |</code>
<code>            ELECTRIC_CABLE |</code>
<code>            PNEUMATIC_TUBE |</code>
<code>            PNEUMATIC_TUBE |</code>
<code>            FLEXIBLE_AXLE |</code>
<code>            FLEXIBLE_AXLE |</code>
<code>            FIBER_OPTIC_CABLE |</code>
<code>            FIBER_OPTIC_CABLE |</code>
<code>            RUBBER_BAND |</code>
<code>            RUBBER_BAND |</code>
<code>            CHAIN |</code>
<code>            CHAIN |</code>
<code>            PLASTIC_TREAD |</code>
<code>            PLASTIC_TREAD |</code>
<code>            RUBBER_TREAD)</code></pre>
 
<code>            RUBBER_TREAD)</code>
</pre>
<code> SYNTH END</code>
<code> SYNTH END</code>
<code> SYNTH (INSIDE | OUTSIDE | CROSS | SHOW | HIDE)</code>
<code> SYNTH (INSIDE | OUTSIDE | CROSS | SHOW | HIDE)</code>
<code> SYNTHESIZED BEGIN</code>
<code> SYNTHESIZED BEGIN</code>
<code> SYNTHESIZED END</code>
<code> SYNTHESIZED END</code>


L3P (<a href="http://www.hassings.dk/l3/l3p.html">http://www.hassings.dk/l3/l3p.html</a>)
== [[L3P]] ==


<code> L3P IFPOV</code>
<code> L3P IFPOV</code>
<code> L3P IFNOTPOV</code>
<code> L3P IFNOTPOV</code>
<code> L3P ELSEPOV</code>
<code> L3P ELSEPOV</code>
<code> L3P ENDPOV</code>
<code> L3P ENDPOV</code>


LDLite (<a href="http://ldlite.sourceforge.net/">http://ldlite.sourceforge.net/</a>)
== [[LDLite]] ==


<code> COLOR</code>
<code> COLOR</code>
<code> COLOUR</code>
<code> COLOUR</code>
<code> TRANSLATE</code>
<code> TRANSLATE</code>
<code> ROTATE</code>
<code> ROTATE</code>
<code> SCALE</code>
<code> SCALE</code>
<code> TRANSFORM</code>
<code> TRANSFORM</code>
<code> COLORNAME</code>
<code> COLORNAME</code>
<code> COLOURNAME</code>
<code> COLOURNAME</code>
<code> POINT</code>
<code> POINT</code>
<code> MATRIX</code>
<code> MATRIX</code>
<code> CMDLINE &lt;line&gt;</code>
<code> CMDLINE &lt;line&gt;</code>


 
[[Category:LDraw Files Syntax]]
[[Category:Article]]

Latest revision as of 01:54, 22 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>