I had the same dilemma my self. I am in a situation where I must
create p/n for both internal projects and external clients. The
system I used was originally developed for use with AutoCAD

, but I
adapted it to SWX. One of the problems I had implementing p/n's was
that I am in a rapid prototyping environment where part life spans can
be measured in hours and there was just no time to keep proper rev
controls in development stage, even for parts that were actually
manufactured (the unforeseen curse of CNC

).
I assign all new parts the symbol:
YYMMDDxx.*
YY = last 2 year digits
MM = Month
DD = date
xx = AA - ZZ (ie the order AA, AB, AC...AY, AZ, BA, BB...) for .SLDPRT
and evil .DWG files. For .SLDASM xx = 01-99. This method ensures
that I will never run out of part numbers for 100 years (at least in
our size facility, maybe GM might need more, but were not quite there
yet

).
so for the 4th part created today it would be 040202AD.sldprt, or if
it was a one time job for a client I might call it 040202AD [Client
Name and maybe a description].sldprt
If you have say 4 separate draftsmen you might assign AA-CZ/01-25 to
one and DA-GZ/26-50 to the next etc. so you still don't overlap.
I still keep different large projects separated with a 3 digit prefix,
but instead of creating part 302-0054, it would just be part
040112AH.sldprt and I have Custom property where I define the project
number which would be 302 and have it appear in the title block on
prints.
-=BAHR=-
www.seclorum.us