Opening for Shared, Unshared and 3DPart Creation

The default behavior during the import from ENOVIA V5 to 3DEXPERIENCE is to create 3DShape shared representations. To handle specific life cycle processes, this function provides an openness through BL files so that you will be able to import a representation as unshared (aggregated) or to import a representation and its reference as a 3DPart.

Important: This opening is limited to CATPart documents.

This page discusses:

Terminology

TermDefinition
EV5 Part Master and Part VersionCreation of a Part in ENOVIA VPM V5 results in the creation of a Part Master and Part Version object. The Part Master contains basic information that is not dependent on the version of the Part. The Part Version represents a given version of the Part.
EV5 Part ReferenceAlso called Part Version, by extension. A VPM V5 Business object, composed of a Part Master and a Part Version. A combination of Part Master and Part Version is mapped as a 3DEXPERIENCE reference.
V511_PartType AttributeThis attribute has an ENUM value (either 1 or 2) where 1 corresponds to Detail and 2 corresponds to Assembly. This attribute is therefore a Part Master object.
EV5 Assembly PVAn object that has or can have one or more children (PV). For such an object, the V511_PartType attribute will be Assembly.
EV5 Leaf PVA leaf object that cannot have any child PV. For such an object, the V511_PartType attribute will be Detail.
EV5 Document RevisionA document in EV5 can have a CATIA or non-CATIA stream attached to it. And it can be associated with / attached to a PV.
EV5 PartEV5 Part is a combination of a leaf PV that has a Document Revision with a CATPart stream attached to it.
Product A 3DEXPERIENCE Product is a VPMReference object. The user can further instantiate multiple Products, 3DParts, 3DShapes under a Product.
Representation A representation is an object comprising one or more CATIA or non-CATIA streams.
3D ShapeA 3DEXPERIENCE representation comprising a CATPart stream. A 3D shape is a 3D design representation.
3D PartA 3D Part is a product reference with an aggregated 3D shape representation. A 3DPart Reference is considered as a leaf node. The user can therefore not insert any other reference or 3DShape under this 3DPart reference.
Shared RepresentationA shared representation is one that can be instantiated under any other product as well.
Unshared/NonShared RepresentationAn unshared or non-shared representation cannot be instantiated under any other Product. By default, a 3DShape created under a Product or 3DPart Reference is unshared. The user can specifically choose to share except for 3DShapes contained in a 3DPart.

CATRules

For examples of CATRules, see the Repository Provider Customization (RepositoryProviderCustomization) opening Id.

Internal Rules

To avoid any data corruption within 3DEXPERIENCE before setting any object attribute as per the user-defined BL file, there are some rules to be fulfilled:

  • An EV5 PV will be imported as a 3DPart reference provided that:
    • the V511_PartType attribute value for this PV is Detail
    • it has only one associated Document Revision with the CATPart stream
    • it has additional Document Revisions with streams other than a CATPart associated with it and these document revisions are not a multi-instantiated document.
  • An EV5 Document Revision can be imported as an unshared representation provided that:
    • it has a CATPart/CATDrawing stream associated with it
    • it is not a multi-instantiated document.
  • An EV5 Document Revision can be imported as a 3DPart representation if:
    • it satisfies the above-mentioned conditions for Unshared representations
    • its parent PV has only one CATPart document associated with it that is the same representation.

Specific Considerations

  • Only a document with a CATPart/CATDrawing stream can be imported as an Unshared representation. Any other document, whether multi-Instantiated or single instantiated will therefore be imported as a shared rep.
  • Part1Doc and Part2Doc along with its parent PV are perfectly valid to be set as a 3DPart reference and a 3DPart representation (unless they are multi-instantiated documents).
  • Drawing3Doc can be imported as a NonShared representation provided that this is not a multi-Instantiated doc.
  • Drawing2Doc can be imported only as a Shared representation.
  • Drawing3Doc will be imported as a NonShared representation provided that V_discipline is not checked for Drawing then the 3DPart will still be Sharable. it will be treated by default as Unshared.

General Considerations

  • A CATShape under a 3DPart reference cannot be a customized type. When you transfer a customized V5 type, you should therefore not activate BL to be imported as a 3DPart. This might lead to corruption of 3DEXPERIENCE data.
  • Rules mentioned in the internal rules will not be detected and applied if a representation (with a CATPart stream) is attached to one PV with a representation link and with other PV/PVs with a documentation link. In such a case, a migrated representation might be set as a 3DPart rep or NonShared Rep although it should not be the case. If you have data where representations with CATPart streams are used as documentation, you must avoid transferring such data.
  • A reference with a representation (with a CATPart Stream) should be imported as a 3DPart reference (provided that these are not multi-instantiated EV5 docs). But if, after the first transfer, a new representation (with a CATPart stream) is attached to the reference then it might show discrepancies in the 3DPart reference and lead to corruption of the 3DEXPERIENCE data model. Such a scenario should therefore be avoided.
  • Representations (with CATPart streams) should be imported as Unshared 3DPart representations (provided that these are not multi-instantiated EV5 docs) and the reference will be imported as a 3DPart reference (provided that these are not multi-instantiated EV5 docs) but if the representation is instantiated under another reference then it might show discrepancies in the 3DPart reference as it is now a case of multi-instantiation and will lead to corruption of the 3DEXPERIENCE data mode. Such a scenario should therefore be avoided.

In a Nutshell

Here is a table that may help you implement your BL depending on your target on the 3DEXPERIENCE side:

Target on 3DEXPERIENCE VPMReference VPMRepReference Result BL Sample
Creation of a 3DPart sharable=”3DPart” sharable=”3DPart” Ref=3DPart ref, rep= unshared rep

Let SourceObject(PLMEntity)

Let Sharable(String)

Sharable = "FALSE"

set SourceObject = Parameters->GetAttributeObject("SourceObject")

Sharable="3DPart"

Let srcObject_VDisc(String)

Parameters->SetAttributeString("Sharable", Sharable)

Creation of a 3DShape sharable=”NonShared” sharable=” NonShared” Ref=simple product ref, rep=unshared

Let SourceObject(PLMEntity)

Let Sharable(String)

Sharable = "FALSE"

set SourceObject = Parameters->GetAttributeObject("SourceObject")

Sharable="NonShared"

Parameters->SetAttributeString("Sharable", Sharable)

Creation of a Drawing , as shared rep sharable=”NonShared” sharable=”NonShared”+ condition for drawing

Ref=simple product ref

drawing=shared rep

other rep=shared

Let SourceObject(PLMEntity)

Let Sharable(String)

Sharable = "FALSE"

set SourceObject = Parameters->GetAttributeObject("SourceObject")

Sharable="NonShared"

Let srcObject_VDisc(String)

if(SourceObject->IsSupporting("VP5DocumentRepReference") == true

or SourceObject->IsSupporting("VP5Drawing") == true )

{

srcObject_VDisc = SourceObject->GetAttributeString("V_discipline")

if(srcObject_VDisc=="Drafting")

{

Sharable="FALSE"

}

}

Parameters->SetAttributeString("Sharable", Sharable)

Creation of a Drawing as an unshared rep sharable=”NonShared” sharable=”NonShared” + no condition for drawing

Ref=simple product ref

drawing=unshared rep

other rep=unshared

Let SourceObject(PLMEntity)

Let Sharable(String)

Sharable = "FALSE"

set SourceObject = Parameters->GetAttributeObject("SourceObject")

Sharable="NonShared"

Let srcObject_VDisc(String)

Parameters->SetAttributeString("Sharable", Sharable)