|
This FAQ should help you to understand the LDraw part numbering
schema. If you have more questions, please ask! You can post to
everyone on lugnet.cad.dev, or email Steve Bliss.
Can I just submit parts with customized filenames, and let it
be sorted out later? A: Please, no! Read this FAQ for
information about what to do when you don't know the number.
How are part numbers allocated? A: If we know the part
number used by Lego, then we use that. For modern parts, these
numbers are often moulded in a discreet place on the part. These are
typically four digit numbers in the range 2001-9999, five-digit
numbers in the ranges 3nnnn, 7nnnn, 8nnnn or
seven digit numbers like 4109nnn. Don't be confused by a
number of the form n-nn (eg. 4-01), or even single numbers or
letters on older parts - these are probably something to do with
identifying individual moulds, they are not the part number.
What if we don't know the Lego part number? A: In this
case, we use a three-digit part number. The trick is to not use
numbers that have been allocated to someone else, or already used.
Contact Steve Bliss to request part numbers -- he keeps the official
list. (The more prolific authors have batches of three-digit numbers
allocated to them.)
During development, and for posting to the Parts Tracker, the
three-digit number should be preceded with an "X" (e.g.
X123.DAT).
If the Lego part number has not been identified prior to the part
being included in an official release, then the part is released
with the "X" removed (the Parts Tracker fixes the x-number parts
during the release process). If the Lego part number is identified
during the review process, then the part is renumbered and the three
digit number becomes available for re-use.
What are shortcut files and when should I create
them? A: Shortcut files are useful when several separate
parts are typically delivered from Lego pre-assembled or are
frequently used in combination. These are numbered by appending
"Cnn" to the part number of one of the individual parts.
Be sure to put (Shortcut) or (Complete) at the end of the
descriptive name for all shortcuts. Use 'Shortcut' when the file is
provided for convenience of use (example: Minifig files like 979.dat).
Use 'Complete' when the file represents a composite part, as
purchased (example: Shock Absorber, 2909c01.dat).
[Notice that neither of the example files follow this
shortcut/complete standard, and the minifig file doesn't follow the
file-naming standard, either.]
How do we handle parts which exist in several different
versions? A: If the parts have different numbers, just use
the different Lego numbers. More commonly, the different variations
have the same number. This is managed by adding a single alpha
character to the end of the base part number (e.g. 3626A.DAT and
3626B.DAT, the solid stud and hollow stud versions of the minifig
head). If, prior to the second vesion being authored, one version of
the part was released using just the official part number (no
alpha-character suffix), it should be renumbered/moved to use an
alpha-suffix.
How are patterned parts numbered? A: This is a
difficult area, as the "official schema" won't work for LDraw. For
Ldraw purposes, patterned part numbers comprise the base part number
followed by Pxx, where xx is the pattern code. This
helps to co-locate patterned parts with their plain version. A lot
more guidance on pattern codes is in the Patterned
Part Information page. The Lego part number for a patterned part
is usually un-related to the base part number. If this is known (and
these are often difficult to determine) a shortcut file is created
with the base part colour hard-coded - these are typically in the
8nnnn series.
What about parts that are on runners? How are they
numbered? A: Mini-parts are those delivered from Lego still
connected to a sprue (or runner) containing several different part
(e.g. the castle feathers or the coins). These are numbered in the
same way as multi-version parts - by adding a single character
suffix to the end of the part number.
Hey! There's already a part file with the same number I found
on my part! A: This happens, but not very often. There are
three possible reasons:
- Lego reused the part number. In this case, use an A, B, C
suffix system.
- We messed up, and the file in the parts library is wrong.
Bring this to the attention of the admins, because it needs a
special announcement with the offcial release to allow users to
change references within their models.
- You were mistaken when you read the number. Check the part
again.
How are subparts numbered? A: Subparts, which are
stored in the \s subdirectory, should bear some relationship to
their "parent" main part. They are numbered by appending some suffix
to the part number of the main part, for example 1234.dat might have
a subpart named s\1234s01.dat and 1234p56.dat might have subparts
named s\1234p56a.dat or s\1234a56.dat. There is more information on
this topic on the File
Types FAQ page.
How are primitives numbered? A: Primitives are
essentially highly reusable subparts, and for ease of use have
highly coded names to allow maximum use of the eight character
limitation. Existing primitives are described in the Primitives
Reference, but if you think there is a need for a new class of
primitives, contact Steve Bliss first.
Wouldn't things be simpler if we allowed filenames of more
than eight characters? A: Yes. However the original LDraw and
LEdit programs are MS-DOS based, and as such can only recognise
filenames adhering to the 8.3 standard of that era. There is also a
desire to maintain the ability to transport the parts library
between operating systems, and the 8.3 nomenclature allows this
compatability. Nevertherless, many of the newer LDraw applications
do support long file names for models.
I've read all this, but see there are some released parts that
don't adhere to the rules - how is this? A: The part
numbering schema has evolved over time, and in the early days some
of the classification problems were not apparent.
In Summary
| Part number pattern (a = alpha, n=
numeric, x = alphanumeric) |
Usage |
| nnn |
Regular part of unknown Lego number. |
| 2nnn-9nnn, 3nnnnn, 7nnnnn,
8nnnnn, 4109nnn |
Regular part of known Lego number. |
| nnnCnn, nnnnCnn,
nnnnnCnn |
Shortcut assembly of part nnn or nnnn with
other parts. |
| nnnPxx, nnnnPxx,
nnnnnPxx |
Patterned version of regular part. |
| nnnaPxx, nnnnaPxx |
Patterned version of regular part variant. |
| S\nnnSnn, S\nnnnSnn,
S\nnnnnSnn, S\nnnPxxx,
S\nnnnPxxx |
Subfiles - stored in the parts/s directory. |
| nnna, nnnna |
Regular part variant (a = A, B, C for successive
versions of part, sequenced chronologically), or mini-part
(a = A, B, C for each mini-part on the same
runner). |
| Xnnn |
Pre-release part of unknown Lego
number. |
- Chris Dee, December 2001
|