LDraw.org Discussion Forums

Full Version: Part file naming issues
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I'm working on a part database that contains various metadata collected from the official LDraw library files and am having troubles with applying the file naming conventions. Specifically, some parts in the library have names that do not seem to conform to the part number spec.

For example, the library has parts 003497g and 003497h, but the spec states that the part variants should be sequenced chronologically starting with the variant 'a', which is obviously not the case for this part. The same is true for some other parts, too.

Next, there are parts 10715pNN, which, according to the spec, should be patterned versions of part 10715, but in fact these are not even patterned parts in the first place, and also the library contains no part 10715. Again, the same is true for some other parts in the library.

Similarly, there are parts 25866c01 and 25866c02, which, according to the spec, should be shortcut assemblies of part 25866 that doesn't exist. And once again, the same is true for other parts as well.

Overall, I stumbled upon 65 questionable cases. Not too many, I know, but some of them are related to parts added to the library in the latest update, which might indicate that there is a problem that could affect future updates, too.

Am I missing something in the spec document or not all library file names are actually strictly following the spec rules?
While some of the problems you discuss above are not really problems (sticker suffixes), the overall issue is addressed in the intro:
"As these rules have evolved over time, there may be parts in the Official Library that do not conform. This legacy numbering remains in place for backwards compatibility reasons."
(2021-02-05, 13:07)Orion Pobursky Wrote: [ -> ]While some of the problems you discuss above are not really problems (sticker suffixes), the overall issue is addressed in the intro:
"As these rules have evolved over time, there may be parts in the Official Library that do not conform. This legacy numbering remains in place for backwards compatibility reasons."

P.S. You have pointed out that dual moulded parts (e.g. 28566) are not addressed in the spec. I'll draft a change to have this corrected.
(2021-02-05, 13:07)Orion Pobursky Wrote: [ -> ]While some of the problems you discuss above are not really problems (sticker suffixes), the overall issue is addressed in the intro:
"As these rules have evolved over time, there may be parts in the Official Library that do not conform. This legacy numbering remains in place for backwards compatibility reasons."

Well, there are definitely some parts that have been added to the library a while ago and haven't been updated for a long time, so their numbers might not fully conform to the spec. But, as I said, there are other parts that have been added/updated quite recently, including the above mentioned parts 10715p01 and 10715p02, which also do not conform. I'm not a LEGO parts expert, but from what I can see in the corresponding parts' files, those are not patterned parts. Rather, they seem to be two variants of the same part and hence should've been named 10715a and 10715b.

Another similar example: parts 14639pNN, which also look more like regular part variants rather than prints.

Yet another example is part 13359p01, which is indeed a patterned part, but for some reason the original part, 13359, is missing from the library.

I'm just trying to understand whether I can rely solely on reading just the file name to get some meta-information about the corresponding part, but apparently this is not always the case.
(2021-02-05, 14:06)Denis Wrote: [ -> ]...

Yet another example is part 13359p01, which is indeed a patterned part, but for some reason the original part, 13359, is missing from the library.

...

part 13359 is existing, though still unofficial, and yes only the patterned version is in the official library for now.
The Part Number Spec itself is less than a year old. It codified guidance from several different sources including FAQ pages and posts here on the forums. So, again, there are definitely parts that don't conform. We try our best and we have some automated controls in place but we are, after all, only human.
Well, I've said it before, somewhere.
The p-suffix is used in a number of different situations. Printed parts, dual moulded parts and assemblies were we know the assembly number.

This will lead to a p-suffix beeing used on an assembly of printed dualmoulded parts.
Like a minifig hip and leg assembly, of dualmoulded, differently printed, left and right leg.
Instead of using the hipnumber as a base, containing 3815pXX (printed hip)+3816pYY (dualmoulded leg)+3817pZZ (dualmoulded, printed leg) we use the assembly number 73200pXX.

The Duplo Car Base with diffently coloured wheels, are some of the assemblies numbered following this rule.
We know the correct assembly number, but this number is not tied to a single colour on the wheels. Hence a p-suffix.


Why are you trying to build a database? Do you know of the program LDFind from Michael Heidemann.
https://www.ldraw.org/downloads-2/third-...tml#ldfind
(2021-02-05, 16:10)Magnus Forsberg Wrote: [ -> ]Why are you trying to build a database? Do you know of the program LDFind from Michael Heidemann.
https://www.ldraw.org/downloads-2/third-...tml#ldfind

In fact, I'm trying to collect all possible information about currently known LEGO parts and colours from various open sources, and the official LDraw library is just one of these sources. Unfortunately, this is not an easy task, because while there are multiple sources available, it looks like over years a lot of information discrepancies have accumulated here and there leading to that there seem to be no single source of truth at the moment.

Take the colour list, for example. Every single LEGO colour map on the internet I've come across has different information. Different LEGO codes, different names, different mappings to other sources.

I understand that many people have invested a huge amount of their time into collecting and sharing that information, and I'm immensely grateful to them, but unfortunately that information is inconsistent, and hence I'm trying to collect and analyse as much of it as possible with the ultimate goal of putting all reliable information into a single database.

Anyway, thanks for clarifying the topic. As I said, I'm not a huge LEGO expert and, unlike most of LDraw users, am unaware of many of the LEGO-world peculiarities, which do shed some light on part naming.
(2021-02-05, 12:05)Denis Wrote: [ -> ]For example, the library has parts 003497g and 003497h, but the spec states that the part variants should be sequenced chronologically starting with the variant 'a', which is obviously not the case for this part. The same is true for some other parts, too.

a, b, c... is still at the PT:

https://www.ldraw.org/cgi-bin/ptscan.cgi...ope=header

w.
(2021-02-05, 19:34)Willy Tschager Wrote: [ -> ]a, b, c... is still at the PT:

https://www.ldraw.org/cgi-bin/ptscan.cgi...ope=header

w.

I also think we decided, which isn't in the spec, that for numbered stickers the corresponding letter goes with the number. I'll add that to the list of needed revisions.