Custom LDraw File Syntax Additions: Difference between revisions
No edit summary |
(→MLCad: add a missing MLCAD meta tag) |
||
(15 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
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. | |||
== | 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 (<x-angle> <y-angle> <z-angle> [(REL| ADD | ABS)] | END)</code> | <code> ROTSTEP (<x-angle> <y-angle> <z-angle> [(REL| ADD | ABS)] | END)</code> | ||
Line 16: | Line 25: | ||
<code> MLCAD BGT <group name></code> | <code> MLCAD BGT <group name></code> | ||
<code> MLCAD HIDE</code> | |||
<code> MLCAD SKIP_BEGIN</code> | <code> MLCAD SKIP_BEGIN</code> | ||
Line 33: | Line 44: | ||
<code> MLCAD RUBBER_BELT</code> | <code> MLCAD RUBBER_BELT</code> | ||
== [[LPub]] == | |||
===LPub=== | === LPub Statements === | ||
<code> LPUB PLI BEGIN SUB=LPUB PLI BEGIN SUB</code> | <code> LPUB PLI BEGIN SUB=LPUB PLI BEGIN SUB</code> | ||
Line 53: | Line 62: | ||
<code> LPUB GROUP REMOVE=LPUB GROUP REMOVE</code> | <code> LPUB GROUP REMOVE=LPUB GROUP REMOVE</code> | ||
=== LPub Page Statements === | |||
<code> SIZE=LPUB PAGE SIZE</code> | <code> SIZE=LPUB PAGE SIZE</code> | ||
Line 83: | 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> | ||
=== 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> | ||
Line 101: | Line 106: | ||
<code> y_offset</code> | <code> y_offset</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> | ||
Line 163: | Line 166: | ||
<code> CONSTRAIN COLS cols=LPUB PLI CONSTRAIN COLS cols</code> | <code> CONSTRAIN COLS cols=LPUB PLI CONSTRAIN COLS cols</code> | ||
=== LPub Callout Statements === | |||
<code> MARGINS x y=LPUB CALLOUT MARGINS x y=</code> | <code> MARGINS x y=LPUB CALLOUT MARGINS x y=</code> | ||
Line 255: | Line 256: | ||
<code> POINTER placement loc assem_x assem_y=</code> | <code> POINTER placement loc assem_x assem_y=</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> | ||
Line 285: | Line 284: | ||
<code> edge justification ASSEM OUTSIDE</code> | <code> edge justification ASSEM OUTSIDE</code> | ||
=== LPub Multi-Step Number Statements === | |||
<code> VERTICAL=LPUB MULTI_STEP VERTICAL</code> | <code> VERTICAL=LPUB MULTI_STEP VERTICAL</code> | ||
Line 305: | Line 302: | ||
<code> END=LPUB MULTI_STEP END</code> | <code> END=LPUB MULTI_STEP END</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> | ||
Line 355: | Line 350: | ||
<code> PACK SUBS=LPUB BOM PACK SUBS</code> | <code> PACK SUBS=LPUB BOM PACK SUBS</code> | ||
== [[LSynth]] == | |||
<code>SYNTH BEGIN (RIBBED_TUBE |</code> | <code>SYNTH BEGIN (RIBBED_TUBE |</code> | ||
Line 391: | Line 384: | ||
<code> SYNTHESIZED END</code> | <code> SYNTHESIZED END</code> | ||
== [[L3P]] == | |||
<code> L3P IFPOV</code> | <code> L3P IFPOV</code> | ||
Line 403: | Line 394: | ||
<code> L3P ENDPOV</code> | <code> L3P ENDPOV</code> | ||
== [[LDLite]] == | |||
<code> COLOR</code> | <code> COLOR</code> | ||
Line 429: | Line 418: | ||
<code> CMDLINE <line></code> | <code> CMDLINE <line></code> | ||
[[Category: | [[Category:LDraw Files Syntax]] |
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>