Management of preliminary designs

 

Single drawing elements

 

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

 

 

 

 

 

 

Before releasing the final version of the part drawings the designer may need to generate some temporary versions (design studies) for each of them and for the CAD structure.
In these cases the initial stage of a drawing is the temporary stage named Preliminary

 

The first check-in can be done in the following ways:

 

PRELIMINARY:  - The CAD object is created by assigning to it the “Preliminary” stage

- After uploading, the file is renamed according to the name specified in the  
        "filename" parameter and attached to the created object.


By convention, the "filename" for studies must have the following format:

 

 <part-code>_<version>.<CAD extension>   ;  ex.   R12456789_A.par

 

OVERWRITE:   - The CAD object is created by assigning to it the “InWork” stage

- The file will not be renamed after uploading.

By convention, the file name for the final version must have the following format:

 

<part-code >.<CAD extension>   ;  ex.   R12456789.par

 

For the next check-in operations the modes are the following:

PRELIMINARY:  - After uploading, the file is renamed according to the name specified with the "filename" parameter  and added in APPEND mode to the CAD object (if there is already a file with the same name, it will be overwritten). The check-in will fail if the CAD object status is not “Preliminary”.

 

FINALIZE:  - All files attached to the object will be erased and only the one transferred with the check-in operation will be added.  The check-in will fail if the CAD object status is not equal to “Preliminary”.

                   - The CAD object status will be promoted to the “InWork” stage.

OVERWRITE / APPEND:  - The file upload will overwrite/add the file to the object.

                   - The check-in will fail if the current stage is not “InWork”.

 

 

CAD Struttures

 

Each complex CAD structure can be seen as a set of parent-child relationships that bind, for each level, a CAD master object with its child elements.
In the case of families of parts (FoP) or families of assemblies (FoA), the master object is given by the model that defines the table; in the case of assemblies, the master object is the assembly and the childrens are its components.

If the master object is "Finalized" (the stage is not “Preliminary”), all child objects must be in the same “Finalized” condition.  On the other hand, if the master object is under a preliminary study, child objects can be finalized or in preliminary status.

 

When the master object is finalized, there is only one possible structure that binds him to its childrens / components.  In case of preliminary studies there may be exists multiple structures that involve different components:

 

In the case of multiple under-study (preliminary) structures, we can mark each parent-child relationship with list of versions where the link is valid.  In this way it is possible to filter, if necessary, depending on the selected version (see CADGetStructure servlet) and obtain a first level structure, purified of the components that are not part of this.

 

This information, however, is not sufficient when one of the children is under study:  it could have multiple versions and a specific version of the parent element should correspond to one and only one version of the child (unique if the child is finalized).

 

Therefore, to ensure that the filter is fully working, it is necessary that in the parent-child relationship the couple parent-version / child version is present:

 

 

Part code

Status

Versions
[internal file codes]

Parent version filter

Parent-child version filter

Master

XX

Preliminary

A , B , C

 

 

 

child

YY

Finalized

 

A , C

A._ , C._

 

child

ZZ

Preliminary

t , v , z

A , B

A.t , B.z

 

child

WW

Finalized

 

A

A._

 

child

TT

Finalized

 

B , C

B._ , C._

 

child

KK

Preliminary

a , f , k , g

B , C

B.f , C.g

 

child

HH

Preliminary

h , m , p

C

C.p

 

After each structure update (see CADSetStructure servlet) for a specific version, the keys that contain the same parent version will be removed from the relationship filters.

Finally the new couples  [parent-version / child version] related to the imported structure will be added.   In case one of the parent-child relationship filter is empty at the end of the operation, that link will be completely removed.

 

 

 

 

Part code

Status

Versions
[internal file codes]

Parent version filter

Parent-child version filter

Master

XX

Preliminary

A , B , C

 

 

 

child

YY

Finalized

 

A , C

A._ , C._

 

child

ZZ

Preliminary

t , v , z

A , B , C

A.t , B.z , C.v

 

child

WW

Finalized

 

A

A._

 

child

TT

Finalized

 

B , C

B._ , C._

 

child

KK

Preliminary

a , f , k , g

B , C

B.f , C.g

 

child

HH

Preliminary

h , m , p

C

C.p