The PART basic element

 

Part types derive from the basic element PART:   a part is characterized by a set of attributes and all derived types inherit this set of properties.

 

The attributes of a Part can be distinguished as:

generic: are shared between all Part types

specific: they depend on the component type and represent detailed properties like dimensional or technological parameters

 

Attributes can be also distinguished in:

mandatory:  the PDM requires their value in order to generate a new part instance

optional: the specification of their value is at the user discretion

 

The filling of attribute values can occur in two different ways:

free: the PDM does not check the value of the attribute

driven by a list: the user assigns the value of the attribute by choosing between default values from a list

 

Here is a list of generic properties of a PART:

 

ATTRIBUTE

MEANING

ATTRIBUTE TYPE

INPUT TYPE

OPTIONAL

Class

Part Class (CLASS_LEVELS >1)

string

driven
(PART sub elements)

 

SubClass

Part SubClass (CLASS_LEVELS >2)

string

driven
(Class sub elements)

 

Type

Part Type

string

driven
(PART,Class or SubClass sub elements)

 

Description

Brief description
(common for all languages)

string

free (max length)

 

Extended Description

Extended description
(one for each supported languages)

string

free

 

Drawing type

Type of drawing associated to the Part

string

driven
(None + list of supported CADs)

 

Mandatory Approval

Indicates if the sample component must be approved when arriving from the supplier

boolean

driven
(Yes/No)

 

 

Unit Measure

Engineering Unit measure associated to the Part

string

driven

 

Material

Type of main material

string

driven

 

Weight

Specific weight ( of 1 unit of measure )

real

free

x

Volume

Specific volume ( of 1 unit of measure )

real

free

x

Replacement code

Code of replaced part

string

driven

(DB search)

x

Spare Part code

Code of spare part

string

driven
(DB search)

x

Notes

Additional comments

text

free

x

 

 

 field

name:  PDM_PartDescription_<Language>

description:  Extended description of a Part

type:  string
(*) one for each supported languages

 

 

 field

name:  PDM_DrawingType

description:  Type of drawing associated to the Part

type:  string

default:  None

ranges:  None / CAD1 / CAD2 …… (range program?)

 

 

 field

name:  PDM_PartApproval

description:  Require approval for the sample component

type:  boolean

default:  false

 

 

 field

name:  PDM_EngUnitMeasure

description:  Engineering Unit measure associated to the Part

type:  string

default:  -

ranges:  list of UnitMeasures  (range program)

 

 

 field

name:  PDM_PartMaterial

description:  Type of main material

type:  string

ranges:  list of Materials

     (Wood,Plastic,Metal,Paper,Liquid…..)

 

 

 field

name:  PDM_PartWeigth

description:  Specific weight ( of 1 unit of measure )

type:  real

unitmeasure:  mass [Kg]
reset:  oncreate  (clone+revise)

 

 

 field

name:  PDM_PartVolume

description:  Specific volume ( of 1 unit of measure )

type:  real

unitmeasure:  volume [m3]
reset:  oncreate  (clone+revise)

 

 

 field

name:  PDM_Notes

description:  Additional comments

type:  text

 

 

 

 

 class

name:  PDM_PART

description:  basic Part element

abstract:  true

fields:  

PDM_PartDescription_<Language 1>
…..
PDM_PartDescription_<Language N>

PDM_DrawingType

PDM_PartApproval

PDM_EngUnitMeasure

PDM_PartMaterial

PDM_PartWeigth

PDM_PartVolume

PDM_Notes

 

 

Part objects are collected inside a single vault:

 

 

 objectspace

name:  PDM_PARTS

description:  objectspace for PDM part elements

 

 

Engineering parts usually comes with documents or images - you need also a filespace where store all the attached files.   This kind of files are not very heavy to transfer online and for this reason this filespace doesn’t require local replications (localareas)

 

 

  filespace

name:  PDM_PartDocuments

description:  filespace for PDM part documents
protocol:  file

path:  <server local folder > (ex:  C:/Store/ALEXIA/PDM_PartDocuments )

subpath: PDM_PartDocuments

 

 

Possible basic file types are:

 

 

  filetype

name:  PDM_Datasheet

description:  a PDF document representing the datasheet
                    of a PDM component
extension:  .pdf

mime type:  application/pdf

 

 

 filetype

name:  PDM_Picture

description:  a PNG file representing the picture
                    of a PDM component
extension:  .png

mime type:  image/png

 

 

 

Coding of PART instances

 

Part coding is a typical functionality of a PDM module:   it allows to create a new instance of a PART element, assign it a unique code and set all the values for the generic and specific attributes.    This is a basic operation for part designers, CAD designers, product engineers, etc.   According to the classification level, the part coder have to select the proper part type following the part hierarchy and fill all the mandatory attributes:

 

-       Class  /  SubClass  Type

-       Description

-       PART generic fields

o   Extended Description (related to the user language)

o   Drawing Type

o   Mandatory Approval

o   Unit Measure

o   Weight

o   Volume

-       Part-Class specific fields   (CLASS_LEVELS >1)

-       Part-SubClass specific fields  (CLASS_LEVELS >2)

-       Part-Type specific fields

-       Replacement Code

-       Spare Part Code

-       Notes

 

The unique code for the part instance is automatically assigned on the basis of part classification; generally 9 digits are suitable for the part code and 2 for the part revision (11 alphanumerical digits in total).   We can use the following schema:

 

CLASS_LEVELS=3

 

 autonumber

name:  PDM_Part_<ClassCode><SubClassCode>

description:  Part number generator for <part-class> / <part-subclass>

sequence:  99999    

format: <ClassCode><SubClassCode><COUNTER>

class:   PDM_PART

objectspace:   PDM_PARTS

lifecycle:  PDM_ Part

 

(*) added when define a new part subclass

 

 

 

 

CLASS_LEVELS=2

autonumber

name:  PDM_Part_<ClassCode>

description:  Part number generator for <part-class>

sequence:  999999    

format: <ClassCode><COUNTER>

class:   PDM_PART

objectspace:   PDM_Parts

lifecycle:  PDM_ Part

 

(*) added when define a new part-class

 

 

CLASS_LEVELS=1

autonumber

name:  PDM_Part_<TypeCode>

description:  Part number generator for <part-type>

sequence:  999999    

format: <TypeCode><COUNTER>

class:   PDM_PART

objectspace:   PDM_PARTS

lifecycle:  PDM_Part

 

(*) added when define a new part-type

 

 

 

A special kind of Part is the Product:   it is possible to replicate all the above analysis by replacing the term "Part" with "Product" or to consider the part-class “Product” in the first level of classification hierarchy and distinguish the product class/types in the lower levels.

 

Find Similar Part:   a PDM module generally offers a facility to verify if a part with same properties has been already codified; in the input form, a special button should be start a search based on the filled attribute values and reports the list of Parts that have the same value for the specified fields.

 

PART lifecycle

 

The lifecycle of the part instances may be represented with five states and some signatures to authorize the passage from one level to the next:

 

 

 

  lifecycle

name:  PDM_Part

description:  Default lifecycle for part instances

revision rule: 99
filespace:  PDM_PartDocuments
filetypes: PDM_Datasheet, PDM_Picture

classes:  PDM_PART

stages:  InWork , UnderReview, FactoryCheck , Production , Obsolete , Discarded

 

 

A Part instance can be created by users with a Part Coding role or by Designer users.  The user who creates the part becomes the holder and it will get the full control of it.

 

InWork (or simply IW):   it represents the first state of a just created part. The documents and drawings associated with the part are under construction. In this level, the holder of part instance has all privileges, so it has the ability to change its attributes, promote the part to the next level or to delete it from the system.   

 

 assignment

name:  PDM_PartCodifier

description:  Create part instances

 

 

 assignment

name:  PDM_Designer

description:  Create part instances and CAD parts

 

 

 lifecycle-stage

lifecycle:  PDM_Part

name:  InWork

description:  documents and drawings are under construction

access rights:

holder:  edit,destroy,progress,<manage files>…..

community:  read,clone,fileget,<manage links>

assignment[PDM_PartCodifier]: create

assignment[PDM_Designer]: create

 

 

UnderReview (UR):  it represents an intermediate state in which the Platform manager evaluate and approve the part. In this phase, the object may be considered not eligible for promotion (if already exists a similar component, if some attributes are not valid, etc.), the reviewer can perform a recovery action to the 'InWork' state and also discard the part by changing the state to the ‘Discarded’ stage.

 

 

 assignment

name:  PDM_PartReviewer

description:  Evaluate part instances

 

 

 

 lifecycle-stage

lifecycle:  PDM_Part

name:  UnderReview

description:  documents and drawings are under review

access rights:

community:  read,clone,fileget,<manage links>

assignment[PDM_PartReviewer]: progress (validate), regress

 

 

 

FactoryCheck (FC): this status indicates that the part has been released to the factory  R&D division.   The factory external process can specify the attributes of his own competence (the weigh) and can extend the part with a new element called “Factory Part”.

If the Mandatory Approval is true (the sample component must be approved when arriving from the supplier), the promotion to ‘Production’ is possible only when this requirement is satisfied.   In case there are not factory parts, the promotion to state ‘Production’ can be carried out by the same users who have operated the transition to this stage.

 

 

 assignment

name:  PDM_FactoryPartManager

description:  Manage part factory instances

 

 

 

 lifecycle-stage

lifecycle:  PDM_Part

name:  FactoryCheck

description:  part released to factory division

access rights:

community:  read,clone,fileget,<manage links>

assignment[PDM_FactoryPartManager]: edit(*),progress(**)

assignment[PDM_PartReviewer]: progress(***),regress (***)

 

 (*)     only update the part weight 

 (**)    automatic when the factory part is released

 (***)  if no factory parts are defined

 

 

  

Production (PRD):  the part is official (all approval has been obtained) and then producible or it can be purchased.   No change is more possible at the stage, if you need to update documents, drawings or information you need to create a new revision.

At this stage it is also possible to create new factory part for other company factories.

 

 

 lifecycle-stage

lifecycle:  PDM_Part

name:  Production

description:  part released for the production

revisionable:  true

access rights:

community:  read,clone,fileget,<manage links>

assignment[PDM_PartCodifier]: revise

assignment[PDM_Designer]: revise

 

 

 

Obsolete (OBS):  this stage is automatically assigned when a new revision is released to the Production stage.   The part is archived, no more changes are possible at the stage

 

 

 lifecycle-stage

lifecycle:  PDM_Part

name:  Obsolete

description:  part archived

access rights:

community:  read,clone,fileget

 

 


Discarded
(DSC):  the part was discarded in the UR phase.   No change is more possible at the stage, if you need to use the same code you need to create a new revision.

 

 

 lifecycle-stage

lifecycle:  PDM_Part

name:  Discarded

description:  part discarded in the review phase

access rights:

community:  read,clone,fileget

assignment[PDM_PartCodifier]: revise

assignment[PDM_Designer]: revise