Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations KootK on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Filen name length STILLLLL 31 characters? My rant for the day.

Status
Not open for further replies.

treddie

Computer
Dec 17, 2005
417
Gawd! When is PTC going to get with the 21st century and raise the damn characters limit on filenames? In fact, why have a stupid limit at all?!

 
Replies continue below

Recommended for you

Why a limit? Because without one, we would have parts named "thisislikethebracketusedtomountthegizmotothejiggerthingyonthewhatchacallitexceptithasaflatspotonitsoyoucansetyourcoffeecup.prt" :eek:)

-tg

 
They have had the same file name restrictions since release 1 approximately 27 years ago. No spaces, no capitals (you can type them but they will be changed to lower case) and 31 characters. I can almost understand the no spaces, the Unix operating systems 27 years ago did not allow spaces and I never thought they were a good idea. But no capitalization???? Unix was always case sensitive, Windows for some unknown reason seems to allow capitalization yet ignores it. And the 31 characters made no sense 27 years ago, the Unix systems allowed far longer file names. Back then I think PC's were limited back then to the 8.3 file names. These days I think the complete path and file name in Windows 7 is limited to 255 characters.

I bump into the 31 character limit all the time because we start the part and assembly names with a descriptive phrase followed by a drawing series number followed by another number then possibly a suffix or a sequence number. I can not tell you how many times I have hit the left arrow key while counting the number of characters then had to figure out a way to squeeze a couple of characters out of the file name and still have something recognizable.

----------------------------------------

The Help for this program was created in Windows Help format, which depends on a feature that isn't included in this version of Windows.
 
EXACTLY! Let the world unite in finally being free to make ridiculously novel-long names! :)

On the serious front, though, just adding 10 extra characters would make a world of difference in giving abbreviations more room to be built in. Just 10. And I would probably only usually need 5 of those.
Beats having to name files with an ID number as the filename, then having to cross-reference against a list of descriptions. I'm not a frikkin aerospace company that has a gazillion parts to deal with.
 
It is truly ridiculous. Even Amiga had 108 character filenaming back in 1985, and 32,000 in 1998 with the Smart File System. It is really counterproductive for PTC to put such a dumb limit on something when it should be left up to the customers how they want to name the files in their companies. And without allowing case sensitivity, it makes it impossible to cram everything together into a name like "MyPartFile.prt", which is far easier to read than "mypartfile.prt". It actually takes MORE work to limit the length of names in code than to just let them be. So they actually spent MONEY to limit name length.
 
Wonder if the 31 character limit is a Y2K type thing where they only reserved a certain number of bits for the name. 31 is ominously close to 2^5.

I rarely run into the limit since I've been trained by PTC for so long. However, I do run into a similar but unrelated limit with my hard drive backup. There are a few paths and filenames that get kicked back in my backup log because they exceed some limit. Can't recall what it is, but it's a nuisance. One of these days I've gotta go restructure those folders to shorten the path. Of course it's not something I'm really concerned with or else I would have done it long ago.

-tg

 
UNIX, at least HP-UX did allow spaces. It even allowed backspaces. That's right - 12<bs>3 would display as 13. The problem was that you needed to be careful about it and the PTC programmers decided to head off trouble. I think the only character you could not have was "/" because those were directory indicators, though maybe there were escape character for that as well.

indicates a NULL wasn't allowed either as it's a string terminator.

From
Control Codes : Most Unix systems are kind enough to allow just about anything in a file name. Unfortunately this means that control codes (except for NULL) are allowed. To do include one of these is just plain evil. I really don’t want to hear the BELL beep as part of the file name. Sure it’s funny once, after that is pure, unrefined annoyance.
 
The filename limit is also the component name limit. PTC can allocate 31 characters + NULL to every name, which means that internal routines don't have to spend as much time parsing along to figure out where one entry ends and the next begins; just multiply the entry number by 32 and that's where the name is. The alternative is to manage a table of pointers, always a fun thing when it breaks, or read thousands of characters each time and count from one.

The case limitation is to separate out in-memory references from on-disk references. "bracket.prt" is on disk; "BRACKET.PRT" is in memory.

Both of these are likely to have been created as performance/speed related approaches back when 30MHz 32bit processors cost $1000.

In databases, fixed width fields are still preferred for performance reasons.

Maybe if it ever gets really broken they'll change their mind, but for the time being there are enough characters:
A-Z, _, 0-9 (maybe I've missed one or two) => 31 positions of 37 choices = 31^37 = roughly 1.5E55 possible names, which should be enough for a while.
 
I disagree with the need to limit filename length based on performance...Many programs have no such limits, allow spaces and case-sensitivity, and the performance is perfectly fine. But, like you say, back when processors were less capable, performance was always an issue. However, programs such as Adobe Photoshop NEVER had these limitations with filenames and never suffered. Also, if performance was an issue, smart coding could have allowed longer filenames while offering better performance for shorter names. My string belief is to never artificially limit what the customer can do, by creating needless boundaries. Let the customer decide what performance is suitable for them, if performance will take a hit. It also makes current code more adaptable to future development.
 
Photoshop, like most applications, only opens one file at a time, so there's no performance hit.

PTC planned on the potential to make assemblies of hundreds of subassemblies with each having thousands of different parts, limited by memory. Unfortunately PTC can't ship two different products, one that is fast with short names and one that is slower for long names. Even having both in the same code means having to debug twice as much. Smart coding is doing as little debugging as possible.
 
That's a good point about quantity of subassemblies in an assembly. But I think if they start getting with the 21st century, they can pass a lot of those mundane repetitive tasks to another core. As I understand it, PTC still cannot use multiple cores. I do not know of any machines shipping these days that does not have at least two cores. In an extreme, perhaps overkill method, they could hand off mundane searches to a GPU core. But that would probably only utilize one warp and not even all of that.
 
DoH! SCRATCH THE COMMENT ABOUT CREO NOT USING MULTIPLE CORES. THEY HAVE BEEN FOR A WHILE. But still...
 
As a comparison, Solidworks does not have this 32 character limitation. One poster says he has been out to 74 in an extreme case.
 
Good point...Time to get off my ranty butt and take action against Creo filename tyranny! :)
 
The PTC "community" website has to be the biggest cluster fu<k I've ever seem. I go to the parametric section and select the ideas (light bulb) icon. I don't apply any filters but I get this message:

There is no content matching the filters that you have selected.

So no one has ever submitted a product idea? That's BS, I voted for some a few months back before they changed the site (again).

I can never find my way back to anything there. I get a daily email from them telling me I need to update my status. I finally found where "my status" lives and changed it to STATUS STATUS STATUS. Now I can't find it again. Their website is more obtuse than their software.

----------------------------------------

The Help for this program was created in Windows Help format, which depends on a feature that isn't included in this version of Windows.
 
They adhere to Microsoft's company rule book: If it's broke, don't fix it. If it ain't broke, "fix" it. "Fix" it REALLY good.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor