LDraw.org Discussion Forums

Full Version: Keywords and category usage in official library
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I was wondering why are the keyword and category meta's so underused in the official library?

For example I'm trying to create a simple bin group containing all electric motors. I soon discovered this isn't as easy as you would expect. Because if you filter on 'electric' and 'motor' you end up with loads of unwanted subparts (stuff that is glued together in real life etc)

So why not add a couple of keywords to these parts indicating they are e.g. NOT standalone in reallife, or the opposite add a keyword to indicate it's a complete (uncolored) usable motor etc.

Same thing with the mind storm parts, I had to exclude:


to get a 'clean' mindstorm part listing, (this on top of the basic exclude ~prefix's filter etc).

Just venting/wondering
The !CATEGORY meta statement is only needed to override the first word of the description so all official parts do have a category, either implicitly or explicitly defined.
I'm more thinking about the content, for example the mindstorms computer has a loose battery box and main unit it has the exact same category and (lack of) keywords the complete one has.

As far I know you usually only need the complete one so when you want to make a part list listing only the practical things you can't filter the lid etc out using keywords, you have to do it using the part numbers.

This isn't that bad but it isn't future compatible, new parts won't automatically be filtered out (if needed) with new part releases. You'll will have to update the part number exclusions at that point.

I suppose the main question I'm asking is why the keyword meta isn't used for identifying subcategories?
If I understand your problem right, then you need in instruction to stop if you have found a part. By doing it this way you will have only the ..c.dat part in your instructions and not the detailed parts we have build.
This was not always the case in the past, but the Mindstorms EV3 parts have been carefully thought out to let only useful parts available, that is to say parts that are user-separable or movable. Complete shortcuts have been provided to facilitate life, but the user may want to explain in BIs how to pull back the p-brick battery lid and use instead the rechargeable battery pack. In the same spirit, the large motor exists as a complete shortcut for simple cases, but also as a shortcut for the motor case and another for the hub, as the user often needs a motor with hub rotated at weird angle. He may also need a touch sensor with button fully pressed - or only half way...
So before hiding parts from the user, think twice about possible usages Wink
It's a personal thing of course, but the way I like to use the bin is to only put practical complete parts in it and move the adjustable/movable stuff in templates (when using my LDCad).

Also I'm thinking about adding an inline feature, so you could convert any shortcut/complete part to it's loose parts on the fly and adjust it afterwards.
Yes that's what you would do when generating an inventory, but I'm generating part bin content.
Quote:Also I'm thinking about adding an inline feature, so you could convert any shortcut/complete part to it's loose parts on the fly and adjust it afterwards.
Good point, then! I really need to become more used to LDCad...
Ok, I hope I understand now your approach.

It should be doable what you want to do if our parts are are build the same way.

You need to analyse all referenced files from a file.
If LDRAW_ORG type of a reference is PART you also have to analyse the next level and if it contains also SUBPART or PRIMITIVE it needs to be added to the bin.
Because we currently do not have any indication of the part to be flexible you have to carry a list of affected parts.

I hope you can understand what I am trying to say.
Thanks for your thoughts,

When i started this thread I was working on the two new "mindstorms" and "motots" bin groups for inclusion in LDCad 1.3a. LDCad's part bin content is based on ini like files, one way of generating those groups is using rules like:

include category technic
exclude !description gear

This says I want all technic parts with the word 'gear' in it's descripiton.

You can also use keywords in the rules, but I noticed the keyword meta isn't used that much even in the newer parts.

So that, to me, was kinda disappointing and led to me starting this thread Smile