Subject:
|
Re: Thoughts on Parts Taxonomy
|
Newsgroups:
|
lugnet.db.brictionary
|
Date:
|
Sat, 11 May 2002 01:00:51 GMT
|
Viewed:
|
3154 times
|
| |
| |
I'm not going to quote it because I agree with it in total. I'd like
to add some related thoughts that have been nagging at me ever since I
first encountered Brick{Bay,Link} and LDraw...
The thing that bugs me most is the names given to the parts. There
are several problems:
* Parts named by function rather than shape, leading to situations
where a "boat plate" is used on a SNOT train, or a "liftarm" is
used as a structural element, or a "headlight" is used as a SNOT
right-angle converter rather than to hold a transparent plate...
* Inconsistency between various databases. "Tire" or "tyre"?
"Panel" or "Thinwall"? If you've been designing in LDraw in
preparation for building an ABS version, and then go to BrickLink
to source the parts for your model, you may not find what you are
looking for because they use different names.
* Situations where transparency changes the function dramatically.
A "1x4x3 panel" is a window if it's transparent. It's hard to
find them under "w" in LDraw or BrickLink!
* Some parts may belong in more than one place. Depending on what
you're trying to build, it may make sense for a part to appear in
more than one place in the database.
The numbering scheme TWS suggests would be a good beginning. I'd like
to take it a step farther though. I'd like to separate the names from
the numbers. I'd like to propose splitting the database into two
separate parts:
* One database would have the part number in it and would lead you
to a picture of the part or the info that LDraw needs to render
it. It might also be useful to include other information about
the part, such as overall dimensions and other shape-related
features.
* The other database would let you map the part numbers to the
names. But instead of a simple 1:1 correspondence it could use
pattern matching and rules. I'd add color and transparency
attributes to TWS's code (note: since transparency determines
important things like whether it's a window or a wall, it has a
big impact on what it's name should be...) The name would be
constructed by applying pattern-matching algorithms to the codes.
This could then be used to let different users use different naming
databases. It would let me find my clear walls under "window" while
someone who likes the current status quo can select a naming database
that fits their preferences. It would also lend itself well to
internationalization. By defining a new name database for German or
Spanish or Portuguese or whatever, AFOLs whose English is not so great
can have access to computerized LEGO databases in their native
tongues. Plus, it lets Brits spell it "tyre" while Americans use
"tire".
Since multiple programs (LDraw, BrickLink, Partsref, etc.) would all
need to use the same algorithms for this to work, I would suggest that
a common library be written that they can all share. They may be
written using different programming languages, but most modern
languages offer mechanisms for linking in libraries written in other
languages, especially if that language is C.
--Bill.
--
William R Ward bill@wards.net http://www.wards.net/~bill/
-----------------------------------------------------------------------------
AMAZING BUT TRUE: There is so much sand in northern Africa that if it were
spread out it would completely cover the Sahara Desert!
|
|
Message is in Reply To:
| | Thoughts on Parts Taxonomy
|
| Currently, there are three active major part databases out there: Partsref, Peeron Inventories, and the BrickLink Catalog. All have their advantages: Partsref has keywords, cross-referencing to other databases, and usually excellent pictures[1]. (...) (22 years ago, 10-May-02, to lugnet.db.brictionary)
|
9 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|