|
|
FAQ for LDraw Part Numbers
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. Alternatively we may decide to use a suffix to identify the correct use of the number.
- 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 Chris Dee first.
Wouldn't things be simpler if we allowed filenames of more than eight characters?
A: Yes. 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.
Nevertherless, many of the newer LDraw applications do support long file names for models. In
May 2008 with the ratification of the LDraw File Format 1.0.0 specification, part filenames can now
be 21.3 (25 characters including the mandatory .dat extension). The Parts Tracker is being enhanced
to remove the 8.3 restriction.
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), or to maintain backward compatibility
if an incorrect number is released into the official library. |
| Xnnn |
Pre-release part of unknown Lego number. |
- Chris Dee, November 2008
|