Line type 1 and 0 FILE filename/part name upper/lowercase specification


Re: Line type 1 and 0 FILE filename/part name upper/lowercase specification
#6
Hi people.
First of all, thank you all for explanation, and for your advice, I know, you worked on LDraw library long before me ;-)

To recap:
- all part search in LDraw library MUST be case insensitive (with exception for STUD.DAT all upper-case)
- all file search is PREFERRED to be case insensitive, or, at least, case sensitive search followed by "all lower" search
- all part and file references can use both '/' or '\' for path separator

Now, assuming too many isn't a good programming practice, so I will review my part and file reference search code to be as generic as I can do.

What my code already do:
- both '\' or '/' in line type 1 references are accepted
- search in MPD internal references are case insensitive

What to do:
- external reference to file will be case insensitive (if duplication occurs, first win)
- search for LDraw part in libraries will be case insensitive (see note below for STUD.DAT special case)


A marginal note: IMHO the STUD.DAT rule (Chris, it isn't in any spec I've look at) is a little confusing for "case-insensitivity" rule in all the library spec. IMHO can be more useful a group of primitives with a suffix (like "fix": studfix.dat that references 4-4edgefix.dat, 4-4cylifix.dat and 4-4discfix.dat) without low or high resolution counterparts in 8/ or 48/ subdir.


Thank you again.

Mario

PS: a little fun with stud.dat casing in library:
- STUD.DAT is used in 13 parts: 189.dat 30255.dat 30414.dat 3127b.dat 4151b.dat 47844.dat 50303.dat 50949.dat 511.dat 6003.dat 60471.dat 60478.dat 6104.dat and in 1 sub-part: s/30225bs1.dat
- stud.DAT is used in 6 parts: 2573.dat 2574.dat 3010p21.dat 4082.dat 721.dat 883.dat
Reply
« Next Oldest | Next Newest »



Messages In This Thread
Re: Line type 1 and 0 FILE filename/part name upper/lowercase specification - by Mario Pascucci - 2014-08-31, 8:28

Forum Jump:


Users browsing this thread: 1 Guest(s)