Add CGM to RepresentationFormatType Add Property and PropertyGroup. Rename MassPropertyType to MassPropertiesType. Add LengthProperty, MassProperty, and Colour. Add propertyRefs attribute and PropertyGroup sub-element to: Structure, StructureRevision, StructureRevisionView, GDE, StructureUsage, StructureView. Add occurrenceId attribute to OccurrenceType. Add support for ModelViews. Add Occurrence Filter elements. Change sourceRef attribute to optional in ConfiguredOccurrenceGroup. Add Material Properties, and allow Properties of CompoundRep. Rename VolumeType, DensityType, and CentreOfMassType to DeprecatedVolumeType, DeprecatedDensityType, and DeprecatedCentreOfMassType. Introduce new types for Volume, Density, and CentreOfMass. Derive Representation and CompoundRep from PropertiesBase instead of AttribOwnerBase Add DisplayPreferences Property Add addition internal Code Generator app info data to DeprecatedVolumeType, DeprecatedDensityType and DeprecatedCentreOfMassType. Add 'default' and 'state' attributes to support default and active ProductViews. Add 'linkedGroupRef' attribute to to Occurrence support OccurrenceGroup in the context of a Composition. Supports consistent loading and visualisation of products across different applications through new LoadOptions element referenced from DocumentHeaderType. A new LogicalExpression has been added to the base schema - 'PathIs'. This type allows an Instance path through a hierarchical structure to be defined that must be matched in order to return 'true'. Add RepresentationEntity, EntityPropertyGroup, and Visibility Property. Allow EntityRef as subelement of Representation and CompoundRep. Allow RepresentationEntity and EntityPropertyGroup as subelement of StructureRevisionView. Allow EntityPropertyGroup as subelement of StructureUsage. Allow Section and ConstructionGeometry as sub-elements of PLMXML by adding substitutionGroups. Add "software" and "processorGateway" to GDERelationshipType Add "type" and "baseRef" attributes to Representation and CompoundRep Add "targetRef" and "pathRefs" to GDEReferenceType. Deprecate EntityRef sub-element. Add "mass" to GDERelationshipType" Add ViewControl to PLMXML element Add CGR to RepresentationFormatType Add unitRef to ProductType Add Discipline, DisciplineLevel and DisciplineRelation. Modify Organisation and User. Add CoordinateSystemDisplay, PointDisplay, LineDisplay and Translucency Properties. Allow PropertyGroup as sub-element of Geometry. Add "ruleRefs" to StructureRevisionView Add OccurrenceControl, OccurrenceControlRevision, and SymbolicOccurrence. Add attributes to Occurrence and ProductRevisionView. Allow SymbolicOccurrences as sub-elements of ProductView and StructureRevisionView Add Suppression Property. Add Transform as sub-element of CompoundRep, and transformRef attribute. Add Layer Property. Add values to PointStyle enum. Add TraceabilityRelation Add Design, DesignRevision, DesignRevisionView and RepresentedByRelation. Add "designRequired" and "source" attributes to Product. Add "primaryDesignRef" attribute to ProductRevision. Clarify in-line documentation for UserData. Add Requirement and RequirementRevision elements. Add the value "pose" to the ProductViewUsageType enum for Robotics. Add DefinitionRelation. Deprecate primaryDesignRef from ProductRevision. Add source and designRequired to ProductRevision. Add designRequired to ProductRevisionView and StructureUsage. Add primaryDesign to RepresentedByRelation. Add Derived element, allow Fix and Derived in VaruantRule. Add displayAnnotations and displayGeometry to DisplayPreferences. Add propertyRefs to GDEInstanceGroup. Allow DisplayPreferences under PropertyGroup under GDEInstanceGroup. PLM XML Schema The 'id' attribute is used for references between elements. It should not be use to encode other information. sdkname=IdObject plm:anyURIType is used in place of xsd:anyURI, since we want to allow filenames as well as genuine URIs. The ApplicationRef element is meant to relate the parent element (Product, Representation, etc) back to the owning entity in the sending application. Attributes: application: the context in which the contents of the label and version attributes make sense. Whether this field includes an application version number is up to the application, as long as it starts with something identifiable to the sending application. label: the string which identifies the application entity - the value of this field is only meaningful to the sending/authoring application. The receiving application can compare the contents of the attribute to test if two entities are the 'same' entity. But the actual value is meaningless to the receiving application. version: the optional string attribute which identifies the version of the application entity. This attribute can only be used to test if the versions of an entity are the same (i.e. the test is only meaningful if the label attribute values are the same). No version ordering can be deduced from the value. Similar to the label attribute, the version attribute contents are meaningless to the receiving application. sdkname=DescriptionObject The DescriptionBase type is an abstract base type for PLM XML types which have optional description and ApplicationRef. Attributes: name: descriptive or display name Sub-elements: Description Readable textual description of the element. ApplicationRef A means of uniquely identifying the element in terms understood by the sending system. More than one is allowed (at most one per Application). Base class for elements which have PLMXML Attributes, i.e. elements derived from plm:AttributeBase. Attributes: attributeRefs: reference to Attributes Elements: Attribute: any element derived from AttributeBase. validate=skipName This is a legacy box type. The 'Bound' element should be used. output=ignore This is a legacy sphere bound type. The 'Bound' element should be used. output=ignore This is an abstract base type for elements representing a subset of 3D space. Attributes: transformRef: Optional transform, to apply to data in derived types. For example, the data in a Bound can define an axis- aligned box. By using a Transform, this can then represent a non-axis-aligned box. Elements: Transform: Optional transform. Do not use both transformRef and Transform sub-element. This is a box or sphere-shaped bound (zone) in 3-space. Attributes: type: 'box' or 'sphere' values: 6 or 4 doubles. If a box, these are the coordinates of the centre, followed by xwidth/2, ywidth/2, zwidth/2. If a sphere, these are centre, radius. This is a Zone defined by the intersection of a number of halfspaces. Each Halfspace is defined as the area of space behind a Plane (i.e. away from the Plane normal). If there is only one Plane, the Zone is a halfspace. Elements: Plane: Plane defining a halfspace createClass=true createClass=true createClass=true createClass=true createClass=true createClass=true createClass=true output=ignore output=ignore output=ignore output=ignore The Attribute element is an abstract element. Useful attributes (ones that include fields) must be derived from the Attribute element defined within this schema. The derived attributes will define their data elements to represent data fields. The derived attributes also need to be set as 'equivalent' to the Attribute element. This enables the new derived attribute to be inserted into documents wherever the Attribute element is allowed. Base class for elements which may contain 3D bounds. Elements: BoxBound: legacy, use Bound in preference SphereBound: legacy, use Bound in preference Bound: 3D bound sdkname=Entity3D output=ignore output=ignore This is an abstract base class for elements which require information such as access control, status and checkout information Attributes: accessRefs: reference to one or more elements derived from AccessControlBase statusRef: reference to element derived from StatusBase checkoutRefs: reference to one or more elements derived from CheckoutStatusBase effectivityRefs reference to Effectivity elements subType: No specified semantics. This can be used where simple customised sub-types have been defined and a PLMXML schema extension is not appropriate. releaseStatusRefs: Reference to one or more ReleaseStatus elements, which give release dates and effectivities. AccessControl - abstract base class for Access Control types. Status - abstract base class for status information types. CheckoutStatus - abstract base class for Checkout types. Base class for elements which reference an external entity such as a face in an XT file. Attributes: entityRef: reference to external entity. sdkname=EntityObject Base class for elements representing geometric objects. Attributes: propertyRefs: reference to Properties of the element Elements: PropertyGroup: a collection of Properties of the element. Base class for elements representing 3D points. Attributes: position: coordinates of point Base class for elements representing parametrised curves in 3-space. Attributes: startT: start parameter endT: end parameter Elements: StartPoint: optional coordinates of start point EndPoint: optional coordinates of end point SamplePoints: optional coordinates of a sequence of points along curve Base class for 3D curves which lie in a plane. Attributes: origin: centre of plane zAxis: normal to plane xAxis: x-direction in plane Base class for elements representing a u-v-parametrised surface in 3-space. Attributes: startU: lowest U value endU: highest U value startV: lowest V value endV: highest V value Elements: SamplePoints: optional coordinates of a set of points on the surface Base class for elements representing a surface which uses an X-Y-Z coordinate frame as part of its definition. Attributes: origin: origin of coordinate frame zAxis: Z Axis of coordinate frame xAxis: X Axis of coordinate frame Type representing a Red-Green-Blue colour. Type representing a colour in Red-Green-Blue-Alpha format. Element representing a material type. Attributes: ambient: ambient colour diffuse: diffuse colour specular: specular colour emissive: emissive colour shininess: shininess coefficient alpha: alpha coefficient Element used to associate an entity with a material (colour). Attributes: materialRef: IDREF to the material element. Elements: EntityRef: Element derived from EntityRef, used to specify which entity is to be associated with the material. Base class for elements representing Light Sources Attributes: ambient: ambient light diffuse: diffuse light specular: specular light intensity: intensity multiplier Directional Light Source (from infinity) Attributes: direction: direction TO the light source. Positional Light Source, i.e. point source. Attributes: position: position of light direction: direction in which the light is shining cutoffAngle: semiAngle of cone of light. If absent, the source is not a spotlight, but shines in all directions. intensityExponent: the intensity exponent determines the intensity distribution within the cone. Higher intensity exponent values result in a more focused light source. attenuation: the attenuation of the light source within the scene. The three attenuation values are the factors in a quadratic equation, giving intensity as a function of distance from the source. The values within the attribute are in order: quadratic, linear and constant. Section definition of a View, i.e. cutter geometry. Attributes: geometryRef: a reference to an object defining section geometry, which is expected to be a surface or a solid, for example - construction geometry element derived from SurfaceBase or (an Occurrence of) geometry stored in a Representation stream. This type describes whether the PLMXML reference is specifying a single entity or a set of entities. Base class for defining a reference to an entity. All entity reference elements should be based on this type and defined as a substitution class for EntityRef. Attributes: select: Type of the reference - single or multiple. contextRef: Context for the reference Locator reference format. Locator reference element. The reference is a URI based reference and the syntax of the URI must be pre-defined. Hence the only predefined type is currently PLMXMLPointer. Attributes: locationRef: The value of the URI reference. type: Format of the locator reference. Attribute reference element. The reference is based on a user defined named attribute on the host representation. This type enables the author to note the attribute name, field name/index and the value of the attribute. Attributes: attribute: The name of the attribute to query, e.g. "COMPANYNAME/Tracking_attribute". field: The name of the field within the attribute. index: The index of the field within the attribute, if its name is not given. (The first field is index 0). value: The value of the attribute to match. GUID reference element. This simply specifies the GUID of the entity being referenced. Attribute: guid: The GUID of the entity referenced, in the form of a string containing 32 hex digits, with arbitrary non-hex spacing characters. Reference Point element Straight line curve. Attributes: origin: start (T=0). direction: direction of increasing T. Polyline, i.e. sequence of connected line-segments. Attributes: closed: true if the end of the polyline equals its start. dimension: dimension of the curve. This determines the length of each vector in 'Points'. Defaults to 3. type: an optional indication of the shape of the polyline, e.g. "arc". Elements: Points: coordinates of the ends of the line segments, in order. Circular curve. The T=0 point is on the positive x-axis of the underlying plane. The T=pi/2 point is on the positive y-axis. Attributes: radius: radius Elliptical curve. The T=0 point is on the positive x-axis of the underlying plane, at a distance 'majorRadius' from the origin. The T=pi/2 point is on the positive y-axis, at a distance 'minorRadius' from the origin. Attributes: majorRadius: major radius. minorRadius: minor radius. B-Spline curve in 2- or 3-dimensional space. Attributes: degree: degree of the curve. dimension: dimension of the curve. This determines the length of each vector in 'Vertices': if isRational is true, it is 'dimension+1', else it is 'dimension'. Defaults to 3. isRational: true if the spline is rational. isPeriodic: true if the spline is periodic. isClosed: true if the start and end of the curve coincide. form: form of the curve. Elements: Knots: knot values, in increasing order, no repetitions. KnotMultiplicities: multiplicities of the knots. Vertices: coordinates of the vertices. Composite Curve, formed by joining curves together end-to-end. Attributes: curves: sequence of curves. NB this attribute name is non-standard, PLMXML conventions require that IDREFS attributes end in 'Refs'. isClosed: true if the end of the last curve coincides with the start of the first. validate=skipName A curve defined in the parameter-space of a surface. The x,y positions of the curve correspond to u,v parameters in the surface. Attributes: parameterCurve: reference to a 2-dimensional BSpline curve. surface: reference to a surface. NB both these attributes have non-standard names, PLMXML conventions require reference attributes to end in 'Ref'. validate=skipName validate=skipName Conical surface. The cone axis is along the Z-Axis of the underlying coordinate frame. The cone radius increases in the direction of the Z-Axis. Attributes: radius: radius of the cone at the origin of the coordinate frame. This is zero or positive. halfAngle: the positive angle between the Z-Axis and a line in the cone, in radians. Toroidal surface. The axis of the torus is the Z-Axis of the underlying coordinate frame. Attributes: majorRadius: major radius minorRadius: minor radius B-Spline surface, normally in 3-dimensional space. Attributes: uDegree: degree of the surface in U. vDegree: degree of the surface in V. dimension: dimension of the surface. This determines the length of each vector in 'Vertices': if isRational is true, it is 'dimension+1', else it is 'dimension'. Defaults to 3. isRational: true if the surface is rational. isUPeriodic: true if the surface is periodic in U. isUPeriodic: true if the surface is periodic in U. isVClosed: true if the surface is closed in V. isVClosed: true if the surface is closed in V. numberOfUVertices: number of U vertices. numberOfVVertices: number of V vertices. Elements: UKnots: U knot values, in increasing order, no repetitions. VKnots: V knot values, in increasing order, no repetitions. UKnotMultiplicities: multiplicities of the U knots. VKnotMultiplicities: multiplicities of the V knots. Vertices: coordinates of the vertices. Cartesian Coordinate system. Geometry composition. Elements: Point: any elements derived from Point. Curve: any elements derived from Curve. Surface: any elements derived from Surface. CoordinateSystem: coordinate systems. Top level construction geometry element. Elements: Point: any elements derived from Point. Curve: any elements derived from Curve. Surface: any elements derived from Surface. CoordinateSystem: coordinate systems. GeometryComposition: geometry compositions. Defines a perspective view from a point. Elements: ViewFrom: eye point ViewTo: point towards which eye is looking ViewVertical: vector which is vertical in the view. Should be perpendicular to (ViewFrom - ViewTo). Defines a view from infinity (no perspective). Elements: ViewDirection: direction eye is looking in. ViewVertical: vector which is vertical in the view. Should be perpendicular to ViewDirection. ViewTo: optional point at which eye is looking, only needed if depth is significant in the view. Defines a view, i.e. a camera position and optional viewport. Elements: One of Perspective, Orthographic or ViewMatrix (4 by 4). ViewPort: optional viewport definition. Basic texture data format definition Determines the length of each data element in the hexBinary data element. RGBA = 4 bytes of red, green, blue and alpha RGB = 3 bytes of red, green and blue LA = 2 bytes of luminance and alpha A = 1 byte of alpha L = 1 byte of luminance Basic 1D texture data definition validate=skipName Basic 2D texture data definition validate=skipName Basic texture data definition Texture control definition Basic texture definition Texture coordinates Texture structures that can be associated with a remote entity. The CompoundRep represents a component of a Representation. The Representation then consists of the aggregate or union of the CompoundReps, which may have different formats. Attributes: location: URI of data source load: True if data is to be loaded at the same time as the PLMXML file. format: Data format. If this is absent, the format is taken from the parent Representation. equivalentRef: an optional reference to a CompoundRep which is equivalent to this one (for example, has the same shape). If this attribute is used, then it should collect together equivalent CompoundReps into a ring, with each CompoundRep using this attribute to point to the next in the ring. type: an optional attribute specifying type or purpose of the CompoundRep. Supported values are: "default" - design geometry. "construction" - construction geometry associated with the owning representation. "weld" - the geometry of any weld beads. "midsurface" - a special type of construction geometry used with sheet metal parts. baseRef: an optional reference to a CompoundRep which is overridden by this CompoundRep. transformRef: has the same purpose as the Transform sub-element. Do not use both. Elements: PropertyGroup a collection of Properties of the CompoundRep EntityRef: references to entities in the Representation file. These EntityRef elements can be referenced by RepresentationEntity elements. Transform: optional Transform which positions the geometry in the coordinate frame of the owning Representation. The Representation element in an PLMXML file refers to a model in some particular format, such as XT or jXT. It can refer to the model data in another file (an External Representation), or the data can be embedded within the Representation element in the XML file (an InternalRepresentation). It can also consist of a number of CompoundRep sub-elements. Attributes: format: data format revision: revision of data transformRef: has the same purpose as the Transform sub-element. Do not use both. location: URI of data source load: true if data is to be loaded at the same time as the PLMXML file. equivalentRef: an optional reference to a Representation which is equivalent to this one (for example, has the same shape). If this attribute is used, then it should collect together equivalent Representations into a ring, with each Representation using this attribute to point to the next in the ring. type: an optional attribute specifying type or purpose of the Representation. Supported values are: "default" - primary or design geometry. "simplified" - geometry of the simplified model. "flat" - geometry of the unfolded model. "user" - the inherited "name" attribute may be set to the name of an NX ReferenceSet, which implies the purpose of the geometry. Representation type can be used to distinguish between additional and alternative geometry at assembly level in the following way: "default"/"user" - If CompoundReps are all of type "construction", "weld" or "midsurface", then geometry should be treated additional. Otherwise - alternative. "simplified" - alternative. "flat" - Not expected at assembly level. baseRef: an optional reference to a Representation which is overridden by this Representation. Elements: Transform: optional Transform which positions the geometry in the coordinate frame of the owner. CompoundRep: the Representation may not have a single location. Instead, it may contain a number of CompoundRep sub-elements, each with its own location. The representation is the aggregate of these data sources. InternalRep: the Representation may contain one element derived from InternalRep, in which case it should not also have a location attribute. EntityRef: references to entities in the Representation file. These EntityRef elements can be referenced by RepresentationEntity elements. May also contain elements of type Material, EntityMaterial, TextureData, Texture, or EntityTexture. Abstract base class for filters. Attributes: contextRef: The owning StructureRevisionView, if appropriate outputRef: The result of applying the Filter - a ConfiguredOccurrenceGroup This is the configured form of the OccurrenceGroup element. It is a group of Occurrences and other ConfiguredOccurrenceGroups. All the Occurrences included (recursively) in a ConfiguredOccurrenceGroup must have the same Structure and View as the parent of their top Instance. ConfiguredOccurrenceGroups can share Occurrences or other ConfiguredOccurrenceGroups, but must not contain recursive loops. Attributes: childRefs: reference to contained Occurrences or ConfiguredOccurrenceGroups sourceRef: A reference to the OccurrenceGroup to which this corresponds. associatedAttachmentRefs: references to root AssociatedAttachments. Sub-elements: AssociatedAttachment Abstract base class for Configuration Rule elements This represents a configured structure. Attributes: ruleRefs: references to configuration rules (derived from ConfigRuleBase) attachmentRefs: references to root attachments. Elements: AssociatedAttachment: These elements specify the elements attached to the ConfigurationView. ProductView. This is a collection of Occurrences and ConfiguredOccurrenceGroups with the same top Structure and View. Attributes: viewControlRef: optional reference to a ViewControl displayControlRef: optional reference to a DisplayControl alternativeOfRef: A ProductView may be defined by reference to another ProductView, in which case it may include Occurrences which override certain corresponding Occurrences in the other ProductView. This attribute is used to specify other ProductView, which must have the same 'top Structure' as this one. definition: how the ProductView is defined. "select" means the ProductView is a selection of Occurrences from the InstanceGraph. "overlay" mean the ProductView modifies the view implied by the InstanceGraph by changing some of the Occurrences. (Occurrences can also be masked by including an "invisible" Occurrence in the ProductView) usage: This optional attribute specifies the intent of the ProductView. Possible values are: "visual". This means that the Occurrences in the ProductView are simply for display, as in an exploded view. They do not necessarily represent a physically realisable state. "arrangement". The Occurrences represent a realisable state or position of (part of) the assembly. "variant". The Occurrences represent a configuration of the Product Structure, i.e. with certain Options chosen. "modelView". The ProductView represents a Model View, i.e. annotated view of (partial) geometry of the model. rootRefs: specifies the root Occurrences, i.e. those which are not children of other Occurrences in this ProductView. primaryOccurrenceRef: (deprecated). Used when there is only one root Occurrence. sectionRef: specifies the Section (i.e. cutter geometry) associated with this view. default: "true" if this is a default ProductView. state: state of the ProductView. Elements: Occurrence: the Occurrences in the ProductView. ConfiguredOccurrenceGroup: ConfiguredOccurrenceGroups in the ProductView Transform: Transforms which may be referenced by the Occurrences. SymbolicOccurrence: SymbolicOccurrences in the ProductView sdkname=PartType InstanceGraph. This is an element used as a container for elements which represent an assembly graph. Attributes: rootInstanceRef: if the graph of Instances and StructureRevisionViews in the InstanceGraph has a single root, which is an Instance, this may be use to indicate it. rootRefs: however, in general there may be more than one root, and the roots may be Instances or StructureRevisionViews. The use of this attribute to specify the root(s) is preferred. viewControlRef: optional reference to a ViewControl displayControlRef: optional reference to a DisplayControl Elements: May contain any element derived from Instance, GDEInstanceGroup, Structure StructureRevision or StructureRevisionView. May also contain Transforms which may be referenced by Instances. This element may contain one or more InstanceGraphs, representing all or part of one or more assembly graphs. It also contains elements relating to its display. Attributes: revision: revision. defaultProductViewRef: may be used to indicate a default from among the ProductViews. default: may be used to indicate that this is the default from among the StructureDefs in the document. revisionRuleRef: reference to a RevisionRule which was used to generate this assembly from an Unconfigured Product Structure. NB: this elements is not defined in this schema. variantRuleRef: reference to a VariantRule which was use to generate this configured structure. configured: indicates whether the Structure is Configured or Unconfigured. Elements: This element may contain Representations, DisplayControls, ViewControls, Light Sources, ProductViews, Materials, ConstructionGeometry, StructureRevisionViews, GDEs, Sections or InstanceGraphs. This element may contain one or more InstanceGraphs, containing ProductInstances and ProductRevisionViews, representing all or part of one or more assembly graphs. It also contains elements relating to its display. Basic types that can be represented by user value entries and tables. int = Data entity is an integer ints = Data entity is a list of integers real = Data entity is a real reals = Data entity is a list of reals boolean = Data entity is a boolean (true/false) booleans = Data entity is a list of booleans reference = Data entity is a reference (anyURI) enum = Data entity is an enumeration. list = Data entity is a list item. dateTime = Data entity is a dateTime (as in xsd:dateTime, i.e. CCYY-MM-DDThh:mm:ss). This element defines a single entry in a UserList. The 'value' attribute must contain data of the type specified by the 'type' attribute in the owning list. Attributes: value: data value (required). description: textual description of the value. This element defines a list of user specified data items. Each item in the list is of the same type - as specified by the 'type' attribute'. Attributes: type: type of data items, i.e. int, ints, etc. Elements: Item: One element per data item. sdkname=UserValue This element defines a single title/value pair in a UserData table. Attributes: title: name of this entry in the table. value: value of the entry. type: datatype of the value, i.e. int, ints, etc, from UserValueDataType. format: format string as used by printf. editable: false if this value should not be modified by the receiving application. dataRef: If type is 'reference', dataRef specifies the referenced element. The value attribute is ignored. If type is 'enum' or 'list', then a UserList element should be specified either by dataRef, or by being included as a sub-element. In the 'enum' case, the UserList gives the valid values of the enum; in the 'list' case, 'value' is ignored and the UserList IS the value of this entry in the table. minInclusive: Minimum value allowed (inclusive). minExclusive: Minimum value allowed (exclusive). maxInclusive: Maximum value allowed (inclusive). maxExclusive: Maximum value allowed (exclusive). stepValue: Allowed values go from min to max in steps of 'stepValue'. minLength: Minimum list length allowed (only for type="list"). maxLength: Maximum list length allowed (ditto). Elements: UserList: May contain a single UserList element (see dataRef above). The UserData element is a PLMXML Attribute used to represent a table of title/value pairs. It is up to communicating applications to agree on the meaning of these tables. UserData is based on the plm:Attribute base class so that it may be substituted wherever PLMXML Attributes are permitted. Attributes: type: A string giving the type of UserData. No specified values. Elements: UserValue: One element per entry in the table (at least one). sdkname=UserEnum This element represents a user defined enumeration value. Attributes: value: the enum value (required). listRef: reference to a UserList element which gives the valid values in the enum. 'value' must be one of these values. This element is used to associate one or more entities with a set of UserData elements. It is substitutable for Attribute. Attributes: userDataRefs: IDREFS to the UserData element(s). Elements: EntityRef: Element derived from EntityRef, used to specify which entity is to be associated with the UserData. This class represents the <XTData> element in a PLMXML file, which is used to embed XT files in a Representation element, for example: <Representation ...> <XTRep> <XTData>T51 : TRANSMIT FILE created by modeller version 130021217 SCH_1300212_130060 12 1 63 2 3 0 0 0 0 1e3 1e-8 0 0 0 1 0 1 1 4 5 6 7 8 9 10 81 1 2 63 11 1 0 0 0 0 1 ... </XTData> </XTRep> </Representation> XT Representation component of the PLMXML Schema sdkname=GramsMillimetres sdkname=GramsCentimetres sdkname=KilogramsMetres sdkname=PoundsFeet sdkname=PoundsInches substituteType=Volume;suppressId=true substituteType=Density;suppressId=true substituteType=CentreOfMass;suppressId=true PLMXML Attribute describing mass properties. ChildElementOccurrences=1 sdkname=DocumentBase This class corresponds to a top-level (root) element in a PLMXML file. Attributes: author: Author. date: Date modified. time: Time modified. language: Language used, e.g. in comments. schemaVersion: Version of the schema this file was written for, e.g. "3.0". referenceSearchPaths: A space-separated sequence of URIs or other strings used by the Application to specify base URIs or other contexts to enable relative URIs in the document to be resolved. The URIs should be processed in sequence. The redline markup element for PLMXML - is a simple annotation type that describes its textual data via the xhtml spec. Thus the text can include format and font information as per a normal html document. The redline element(s) is defined via simple polyline geometric element and references to related entities can be made via the 'EntityRef' element. output=ignore This element contains or references an XML Schema used by the document it occurs in. The schema may be a full schema, or a 'skeleton' schema only provided to convey type hierarchy information. Attributes: schemaRef: URI Reference to schema file Elements: The actual schema, in the xsd namespace. This element contains information about a PLMXML schema extension. It is embedded in the schema file inside an appinfo element. Attributes: version: e.g. "4.1.1" status: e.g. "development", "release". skeleton: true if this is a schema skeleton, i.e. it just defines the type hierarchy but does not specify any attributes or sub-elements. Enumeration to define how fully components are to be loaded: full: Components are to be fully loaded (heavyweight) partial: Components are to be partially loaded (lightweight) Enumeration to determine the action when a load operation fails: abort: The load operation will be aborted continue: The load operation will continue despite errors Enumeration for defining how the subcomponents of a structure should be loaded: top: Do not load any of the sub-components of a loaded component, Only load specified top-level assemblies and their assembly-level geometry last: Load the subcomponents specified in each component's file all: Load all the sub-components, recursively Enumeration to determine which version of a component is loaded: specified: Load the version of the component as specified by the hierarchy latest: Load the latest version of the subcomponent Enumeration to determine how components related by interpart relations are to be loaded none: Do not load related components immediate: Only load directly related components all: Load directly and indirectly related components Enumeration to determine the action if missing part family members are encountered: ignore: Ignore the missing part family members generate: Create missing part family members Enumeration to determine to what extent the named representations are applied: top: Apply geometric configurations to single structure level only all: Apply geometric configurations to all levels This element defines an entry in the ordered list of representation names that should be selected. This element defines an ordered list of representation names that should be selected. The order of appearance in the element defines the order of usage. Only the first valid geometric configuration, encountered in the list, is applied to any one item. Also known as 'ReferenceSets' in NX. Elements: PreferredRepresentation: One element per configuration. (At least one). This element defines a single search path. Attributes: path: The search path recursive: True if the subdirectories of the search directory must also be searched Enumeration to determine where where to find the files to load. local: From the directory of the parent assembly. specified: By using the explicit filenames stored in the loaded files (for example a CAD file for an assembly may contain explicit filenames for the CAD files of the sub-assemblies). This element defines an ordered list of search. Elements: SearchPath: One element per search path. (At least one). Attributes: location: This is an enum with values: local: From the directory of the parent assembly. specified: By using the explicit filenames stored in the loaded files (for example a CAD file for an assembly may contain explicit filenames for the CAD files of the sub-assemblies). The purpose of this element is to specify global options or parameters which control the precise way in which an application loads a Product Structure. This is to ensure that different applications can load, and visualise, the same Product Structure in exactly the same way. There is at most one LoadOptions element in a PLM XML file. Elements: PreferredRepresentations: The list of named representations to be selected. SearchPaths: Optional list of search paths for data Attributes: mode: Load items fully or partially. errorAction: Action to take when a component fails to load. componentSet: Load none, all or last-used of the subcomponents revision: Load the specified or latest revision of the components componentSubstitution: Determines whether component substitution is permitted linkedComponents: Determines how related components are loaded. partFamilyComponents: Determines the action to take if a part family member is missing. This element contains header information for the PLMXML document. Attributes: traverseRootRefs: a collection of elements to start from, if traversing the PLM XML elements according to some rule. transferContext: a string which can be used to indicate the context in which this PLMXML file is being transferred. Elements: Schema: a collection of schema elements. LoadOptions: Global options for the loading of the associated document. This defines the type of the outermost element in a PLMXML file. Elements: Header: Document header AttribOwner: Any elements derived from AttribOwner are allowed under this element, except as described below. ViewControl: Represents a camera or view point in the Motion schema, where a ViewControl does not already exist under a ProductDef. sdkname=Document AdditionalElements= http://www.plmxml.org/Schemas/PLMXMLSchema:ProductDefType ProductDef http://www.plmxml.org/Schemas/PLMXMLSchema:StructureDef StructureDef http://www.plmxml.org/Schemas/PLMXMLSchema:Representation Representation http://www.plmxml.org/Schemas/PLMXMLSchema:ConstructionGeometryType ConstructionGeometry http://www.plmxml.org/Schemas/PLMXMLSchema:Structure Structure http://www.plmxml.org/Schemas/PLMXMLSchema:StructureRevision StructureRevision This is a base type for objects which can be revisioned and support hierarchical, configurable structure. Attributes: catalogueId: The identifier of the Structure, unique in some context, e.g. an Organisation. optionRefs: Options. Each Option gives the full set of allowed values for this product. ProductRevisions may specify an Option with a sub-set of allowed values. propertyRefs: reference to Properties Elements: PropertyGroup This is a revision of a Structure. Attributes: revision: Identifies the revision. Could be numeric, alphabetic, or a mixture. version: Gives the current 'version' of this revision. The version captures changes en route to the next revision of this Product. masterRef: Reference to the Structure of which this is a version. optionRefs: Options. Each Option gives the set of allowed values for this StructureRevision. instanceRefs: Reference to elements derived from Instance, which define the hierarchical structure. Both StructureRevision and StructureRevisionView can have instanceRefs. In the case of StructureRevision, the element is then representing a 'default' or 'unspecified' view. These Instances should not be GDEInstances. gdeInstanceRefs: Referenced GDEInstance or GDEInstanceGroup elements. simplifiedRepRefs: If an assembly has replacement representations (that is, in case the assembly structure is not important in some context, then the replacement representations can be used). propertyRefs: reference to Properties Elements: VariantDefault VariantRuleCheck PropertyGroup This is a base type for elements representing a 'view' (design, manufacturing, etc) of a StructureRevision. Attributes: revisionRef: Specifies the StructureRevision of which this is a view. viewRef: A reference to a view element (e.g. 'design') structureViewRef: A reference to the corresponding element derived from StructureView (e.g. ProductStructureView), of which this is a revision. instanceRefs: Referenced Instances which define the hierarchical structure. gdeInstanceRefs: Referenced GDEInstance or GDEInstanceGroup elements. connectionInstanceRefs: Referenced ConnectionInstance elements. signalInstanceRefs: Reference to Instance elements which reference SignalRevision elements. routeInstanceRefs: Reference to Instance elements which reference Route elements. occurrenceRefs: if an assembly, this element may have certain Occurrences singled out, so that, for example, they can have different Materials associated, or can be repositioned. locationInstanceRefs: Reference to LocationInstance elements. propertyRefs: reference to properties ruleRefs: reference to configuration rules (derived from ConfigRuleBase), which specify how this structure was configured. occurrenceControlState: "explicit", "implicit", or "mixed" Elements: Occurrence: These Occurrences play the same role as occurrenceRefs, above. PropertyGroup a group of Properties of the StructureRevisionView RepresentationEntity: 'logical entities' in the StructureRevisionView, which correspond to a number of equivalent objects in Representation files EntityPropertyGroup: used to specify Properties of logical entities in the StructureRevisionView SymbolicOccurrence: SymbolicOccurrences in the context of this StructureRevisionView This is the revision-independent Product, derived from Structure. It corresponds to the STEP 'product'. Attributes: productId: The identifier of the Product, unique in some context, e.g. an Organisation. alternateForRef: An 'alternate' Product is one which is substitutable, in all contexts, for a particular Product. If this is an 'alternate' Product, then this attribute references the Product for which this is an alternate. unitRef: The default Unit for the 'quantity' attribute of any referencing ProductInstance elements. designRequired: true if all the revisions of this Product must have at least one associated DesignRevision source: whether the Product is manufactured or bought-in This is a revision of a Product. It corresponds to STEP 'product_definition_formation'. Attributes: primaryDesignRef: The primary DesignRevision, if any. This attribute is deprecated. Use primaryDesign on RepresentedByRelation instead. source: Whether the Product is manufactured or bought-in. designRequired: true if the ProductRevision must have at least one associated DesignRevision. This is a 'view' (e.g. 'design', 'manufacturing', 'maintenance') of a revision of a Product. Attributes: representationRefs: Representations of the ProductRevisionView. materialRef: an optional Material for use when displaying the ProductRevisionView. preferredUnits: (deprecated) The units preferred when presenting this element to the user. Note that this does NOT affect any numerical values representing lengths in the PLMXML file - these are always in metres. This attribute is deprecated - use a DisplayPreferences Property instead. geometryRefs: geometry elements referenced by the ProductRevisionView. type: assembly, minimal, wire, solid, sheet or general. annotation3DGroupRefs: (deprecated) reference to any 3D Annotation groups associated with the ProductRevisionView. (note: these are not defined within this schema). partRefs: (deprecated). If an assembly, it is also possible to 'instance' other Parts directly without the need for an actual Instance element. However this is limited to cases where information stored on the Instance (such as Transform) is not required. designRequired: true if the ProductRevisionView must have at least one associated DesignRevisionView. Elements: Representation: see representationRefs. The Part element is only provided for legacy compatibility. Use the ProductRevisionView element in its place. output=ignore This is a 'view' (e.g. 'design', 'manufacturing', 'maintenance'). Referenced by a ProductRevisionView. Attributes: (the 'name' attribute of the View is inherited from AttribOwnerBase) This is the type of a relationship between two Occurrences or Instances. associated: attached: related: connection: An Occurrence of a Connection, related to an Occurrence of a GDE to which it connects. implementation: An 'implemented by' relation, for example between an Occurrence of a Connection and an Occurrence of a ProductRevisionView; or between an Occurrence of a functional PRV and a physical PRV. implements: The inverse of 'implemented by'. For example, an Occurrence of a PRV may implement a RouteSection. realisation: misc: signalSource: from Instance of a Signal to Occurrence of a Signal, Connection, GDE or Product. signalTarget: from Instance of a Signal to Occurrence of a Signal, Connection, GDE or Product. signalTransmitter: from Instance of a Signal to Occurrence of a Signal, Connection, GDE or Product. processVariable: from Instance of a Signal to the corresponding Occurrence of a ProcessVariable. redundancy: from Instance of Signal to Occurrence of a Signal which is replicated by the first one. signalValue: from Instance of a Signal to a SignalValue. processVariableValue: from Instance of a ProcessVariable to a ValueWithUnit. route: from an Occurrence or Instance to a Route. software: from an Occurrence or Instance of a Processor or Software to an Occurrence or Instance of a Software which uses or depends on it. processorGateway: from an Occurrence or Instance of a Processor to an Occurrence or Instance of another Processor for which the first Processor acts as a Gateway. mass: Relates a MechanismOccurrence or MechanismInstance to an Occurrence or Instance in the ProductStructure that determines its mass. A reference from a GDEInstance to an Occurrence or InstancePath. An entity in a Representation can also be specified. Attributes: type: type of the Reference. occurrenceRef: reference to an Occurrence or InstancePath. pathRefs: a list of Instance elements defining a path through the Structure. pathRefs and occurrenceRef should not both be present. targetRef: reference to a RepresentationEntity. Sub-elements: EntityRef: (deprecated) reference to an Entity in a Representation. This must be a Representation of the 'bottom Structure' of the Occurrence or InstancePath. The GDE element represents an internal constituent of a Structure object, such as a Design Feature, Port, Annotation, etc. The Structure instances the GDE by means of a GDEInstance. Attributes: gdeInstanceRefs: a list of references to associated GDEInstances or GDEInstanceGroups. This is to allow the GDE to have internal structure. propertyRefs: reference to properties Elements: PropertyGroup A type of GDE which represents a non-revisionable connection between InstancePaths in an assembly. A Connection is a structured object which represents a connection between a number of InstancePaths in an assembly. This is a revision of a Connection. This is a 'view' (e.g. 'design', 'manufacturing', 'maintenance') of a revision of a Connection. This abstract datatype describes a single feature within the feature tree hierarchy. The feature description contains basic information such as name and type, as well as information to link the feature to the originating application. Parameter descriptions can also be included in the feature description. Attributes: nextFeature - (optional) the XML id of the next feature in the feature hierarchy. targetFeature - (optional) the XML id of the target feature that this feature relies on. The target feature defines which feature forms the resultant entity. toolFeature - (optional) the XML id of the tool feature that this feature relies on. suppressed - (default=false) TRUE if the feature is suppressed in the feature tree. editable - (default=false)) TRUE if any parameters of the feature may be edited. Elements: Type - (1) element describing the type of feature. This is an application specific type. The receiving application is not meant to deduce or interpret the type but could use it to classify or group the feature. Parameter - (0 or many) elements to describe the parameters associated with the feature. It is up to the application to decide what parameters to exchange or describe within the feature description. EntityRef - (0 or many) references to entities on another representation (e.g. a BRep) expressed as PLMXML references. validate=skipName validate=skipName validate=skipName Generic feature element which can be used to enumerate 'any' parameterised feature. No semantic or specialised information is exchanged via this schema. This datatype describes a feature hierarchy for feature based modelling system. The feature hierarchy is represented via a single linked list of set of feature elements that reference the next feature in the hieratchy. The linked list hierachy must describe the features in 'replay' order (ie. first operation first in the hierachy). There is scope to describe 'tree-like' dependencies via additional 'dependentFeatures' reference attributes. The feature tree is represented within PLMXML as an 'Internal Representation' - the FeatureTreeType is based on InternalRepBase and the element FeatureTree is a substitution class for InternalRep. Attributes: firstFeature - (optional) the XML id of the first feature in the feature hierarchy. editable - (optional) TRUE if any features of the feature tree may be edited. Elements: Type - (1) element describing the type of feature tree. This is an application specific type. The receiving application is not meant to deduce or interpret the type but could use it to classify feature tree. Feature - (0 or many) the list of features thaat make up the feature tree. validate=skipName A base type for a usage relation between Structure, StructureRevision and StructureRevisionView elements. Attributes: instancedRef Reference to the 'used' element. This should be derived from StructureRevisionView, StructureRevision, StructureView, or Structure, or GDE. In the latter cases some other context must determine which view or revision is intended. partRef: This attribute is retained for compatibility reasons and should only be used for Product Structure, not general Structures. transformRef: optional Transform which positions the 'used' element in the coordinates of the using one. materialRef: reference to a Material element to use when displaying the 'used' element. propertyRefs: reference to properties representationRefs: an optional collection of Representations of the 'used' element. designRequired: true if the 'used' element must have at least one corresponding element in the Design Structure. Elements: Transform: see transformRef. (This should not be used in conjunction with transformRef). Representation: see representationRefs VariantCondition:An optional VariantCondition Reference Elements referenced by the StructureUsage. This enables the representation of such relationships as "connected to", and "implemented by". PropertyGroup a group of Properties of the StructureUsage EntityPropertyGroup: used to specify Properties of logical entities in the referenced StructureRevisionView, in the context of the StructureUsage. An AttributeContext element specifies the source for an overridden Occurrence attribute or property (e.g. quantity, Transform). An Occurrence attribute or property can be overridden in various ways, for example in the context of a higher-level Occurrence. The AttributeContext is not intended to describe the override mechanism - it simply indicates the context object which was responsible for the override. Attributes: attributeName: The name of the (xml) attribute being overridden, if appropriate. targetRef: The element which carries the attribute being overridden. contextRef: The context element, for example a higher-level Occurrence. changeRef: A reference to an element representing a Change which caused this attribute to be overridden. Occurrence. An Occurrence specifies a usage of a Structure, StructureRevision, or StructureRevisionView in an Assembly. The usage is defined by specifying a chain of Instances which lead from the Assembly down to the Structure, or by a chain of Instances and other Occurrences, which when joined together define an Instance chain. It is also possible for an Occurrence to reference a ProductView at the end of its Instance chain, rather than a Structure. The Assembly, which is the parent of the first Instance in the Instance chain, is called the 'top Structure' of the Occurrence. The Structure, which is instanced by the last Instance in the Instance chain, is called the 'bottom Structure' of the Occurrence. Note that the following inherited attributes on an Occurrence override the attributes of the same name on the last Instance of the Instance chain: materialRef instancedRef partRef representationRefs In addition, the 'transformRef' attribute overrides the transform obtained by accumulating the transforms in the Instance chain. Attributes: instanceRefs: chain of Instances which define the Occurrence. (May end in a GDEInstanceGroup). pathRefs: chain of Instances and Occurrences which, when joined together, define an Instance chain. Only one of instanceRefs and pathRefs should be present. geometryRefs: optional geometry associated with this Occurrence. occurrenceRefs: an Occurrence may have a number of 'child' Occurrences, which this attribute specifies. A child Occurrence must have an Instance chain which is the same as that of its parent, but with one more Instance added at the bottom end. An Occurrence is normally only rendered in a view if it has no child Occurrences. alternativeOfRef: It is possible for one ProductView to be defined by reference to another ProductView. In this case the first ProductView will contain some Occurrences which override Occurrences in the referenced ProductView. The 'alternativeOfRef' attribute is used to indicate the Occurrence which this Occurrence is overriding. If an Occurrence has an alternativeOfRef attribute, it should not also have an instanceRefs attribute, nor should it have an occurrenceRefs attribute. productViewRef: If an Occurrence has a productViewRef, then it is regarded as an Occurrence of that ProductView, not of its 'bottom Structure'. In this case, the 'top Structure' of the ProductView must be the same as the 'bottom Structure' of the Occurrence. visible: Flag to indicate the Occurrence is visible. If absent, visible is implied. An Occurrence which references another Occurrence via the alternativeOfRef attribute may override its visibility, i.e. make it visible if invisible or vice-versa. NB This is deprecated - use a Visibility Property instead. lastInstanceParentRef: This is the StructureRevisionView which is the parent of the last Instance in the chain. Although this is implied by the last Instance in the chain, it can be specified explicitly with this attribute, either for convenience, or in the case where instanceRefs is absent. sourceRef: A reference to the InstancePath to which this corresponds (which will have the same instance path as this Occurrence). linkedOccurrenceRef: In a Composition ProductView, this attribute references an Occurrence or ConfiguredOccurrenceGroup in a referenced ProductView. It indicates that this Occurrence should be treated as an Occurrence not of an entire ProductRevisionView, but only of the specified Occurrence(s). linkedGroupRef: A reference to a ConfiguredOccurrenceGroup. This corresponds to the group referenced by 'linkedOccurrenceRef', but contains Occurrences in the Composition ProductView. associatedAttachmentRefs: reference to any associated attachments. These are the direct attachments of this Occurrence - any sub-attachments will be referenced by those attachments. parentRef: This is an optional back-pointer reference to a parent Occurrence, which references this Occurrence through its 'occurrenceRefs' attribute. instanceNumber A number, or index. This is only relevant when the last Instance in the path is a GDEInstance. occurrenceId: ID for the Occurrence, unique in the context of the top-level Structure of the Occurrence. controlRefs: The OccurrenceControlRevision objects controlling this occurrence, if any symbolicRefs: the child SymbolicOccurrences Elements: Material: EntityMaterial: Allows the association of a Material with an entity; for example the Occurrence could specify the colour of a face of a body. The entity should be in a Representation specified by this Occurrence, or by the last Instance in the Instance chain, or by the 'bottom Structure' of the Occurrence. AssociatedAttachment AttributeContext: Used to specify the source of any overridden attributes or properties of this Occurrence. A base type for instancing relations between Structure, StructureRevision, StructureView and StructureRevisionView elements. (This is not an abstract type because the Instance element is retained for compatibility reasons). Attributes: quantity: Quantity of the element referenced. If absent, 1 is implied. If present, any contained or referenced Transform is ignored. unitRef: Units for the quantity attribute. If absent, 'each' is implied. An IDREF to a 'Unit' element. instanceType A 'subtype' string for the instance. No specified semantics. sequenceNumber Serves to identify the instance within its parent. If present, should be unique within the parent. instanceThreadRef: A reference to the InstanceThread which this Instance is included in, if any. An Instance between Product, ProductRevision, or ProductRevisionView elements. Attributes: substituteForRef: A ProductInstance may be a 'substitute' for another, which means that it may be used instead, but only in the context of their common parent assembly. If this is a substitute for another ProductInstance, then this attribute references it. This is a base type for sub-types of Instance which need to reference an Occurrence. Attributes: occurrenceRef: the referenced Occurrence. No specific semantics at this level. An Instance of a GDE. Attributes: instanceNumber A number, or index, which identifies the GDEInstance within its parent. GDEInstanceGroup: derived from Managed. This global element is used to collect together a number of GDEInstance elements to simplify referencing. Attributes: propertyRefs Reference to Properties. Elements: GDEInstance Any number of GDEInstances. PropertyGroup A group of Properties applicable to all GDEInstances in the GDEInstanceGroup. An Instance of a Connection, ConnectionRevision, or ConnectionRevisionView. This element acts as a context for effectivities. An Effectivity can reference a ConfigurationContext element to indicate that the Effectivity is only applicable to that ConfigurationContext. Attributes: configId: Unique identifier. Effectivity Base class. contextRef: the Structure, StructureRevision, or ConfigurationContext in which this Effectivity applies. If absent, then the Effectivity is relevant for all Products and ProductRevisions which use the element to which the Effectivity is attached. Date Effectivity. Indicates that an element is effective between two specified dates. If the start is omitted, the effectivity is openEnded in that direction. If the end is omitted, the effectivity is openEnded, or stockOut, in that direction. Attributes: start: Start date and time. end: End date and time. endCondition: If the end dateTime is omitted, this attribute specifies whether the effectivity is stockOut or openEnded. OpenEnded means effective indefinitely after the start date; stockOut means only effective 'while stocks last'. Lot Effectivity. Indicates that an element is effective only for a certain 'lot' or batch. Attributes: lot: Lot identifier. Serial Number Effectivity. Indicates that an element is effective for a range of serial numbers. If the start is omitted, the effectivity is openEnded in that direction. If the end is omitted, the effectivity is openEnded, or stockOut, in that direction. Attributes: start: Start serial number. end: End serial number. endCondition: If the end serial number is omitted, this attribute specifies whether the effectivity is stockOut or openEnded. OpenEnded means effective indefinitely after the start serialNumber; stockOut means only effective 'while stocks last'. Option. This element specifies the valid values for an Option, either as a set of allowed values (i.e. an enum), or as a range of values of a particular type. Attributes: scope: Option scope. type: Option type - enum, string, int, real or logical. Elements: Value: If the Option is of type enum, it should contain a sequence of Value sub-elements giving the allowed values. GreaterThan: ) If the Option type is not enum, then its allowed values are GreaterThanOrEqual: ) given by a range, which is specified by a GreaterThan or LessThan: ) GreaterThanOrEqual element, followed by a LessThan or LessThanOrEqual: ) LessThanOrEqual element. These are all of type OptionValueType. Default: Following these elements there may be a Default element giving a default value for the Option. Operand - abstract base class for Operands (arguments of operators). Statement - abstract base class for statements. StatementList - a list of statements. Elements: Contains a non-empty sequence of elements derived from Statement. Expression - abstract base class for Expressions. LogicalExpression - abstract base class for expressions returning a logical result. And - a type of logical expression. Elements: At least two sub-elements, derived from LogicalExpression. The And expression returns true if all its sub-elements return true. Or - a type of logical expression. Elements: At least two sub-elements, derived from LogicalExpression. The Or expression returns true if any of its sub-elements return true. Not - a type of logical expression. Elements: One sub-element, derived from LogicalExpression. The Not expression returns true if its sub-element returns false. OptionIs - a logical expression which returns true if a given Option has a particular relation to a given value (default equality relation). Attributes: optionRef: Reference to the Option. value: Specified value for the Option. operation: The operation. For example if operation is "gt", then OptionIs returns true if the option is greater than 'value'. PathIs - a logical expression that returns true if the path matches that of the 'instanceRefs' attribute. The path is defined as that of the chain of Instances through an Assembly that end on and include the owning Instance. Attributes: instanceRefs: chain of Instances that define a path through a hierarchical assembly structure. Set. A Statement which sets an Option to a particular value. Attributes: optionRef: Reference to the Option. value: Specified value for the Option. SetDefault. A Statement which sets an Option to a particular value, if it is unset. Unlike the Set Statement, it will not override an existing value. Attributes: optionRef: Reference to the Option. value: Specified value for the Option. Fix. A Statement which sets an Option to a particular value, and fixes it. Subsequent Set, SetDefault, or Fix Statements are not allowed to modify it. Attributes: optionRef: Reference to the Option. value: Specified value for the Option. Derived. A Statement which shows that the particular Option value has been derived from other options and given for information only. Attributes: optionRef: Reference to the Option. value: Value for the Option. Message - abstract base class for Message Statements. Check Message. This is used in VariantRuleChecks. Attributes: message: String message to output. Inform Message. Outputs an informative message. Attributes: message: String message to output. Warn Message. Outputs a warning message. Attributes: message: String message to output. Error Message. Outputs an error message. Attributes: message: String message to output. ConditionalStatement. This is an If ... Then ... Else ... Statement. Elements: First, an element derived from LogicalExpression. Then: StatementList element, executed if the LogicalExpression returns true. Else: Optional StatementList element, executed if the LogicalExpression returns false. VariantRule. This specifies a configuration by giving specified values for a set of Options. Attributes: configuredRef: The StructureRevision this VariantRule is associated with, if any. Elements: A non-empty sequence of Set, Fix and Derived Statements, which specify values for a set of Options. VariantRuleCheck. This outputs a Check Message if a condition is true. Elements: An element derived from LogicalExpression. A Check element. VariantDefault. An abstract base class for Variant Defaults. VariantDefaultFixed. This is a collection of 'SetDefault' Statements. Elements: A non-empty sequence of SetDefault Statements, which set the values of some Options, if they are not already set. VariantDefaultDerived. A set of SetDefault Statements which depend on a LogicalExpression. Elements: An element derived from LogicalExpression. A non-empty sequence of SetDefault Statements, which are executed if the expression returns true. VariantCondition. This contains a logical expression which determines whether the Instance it is attached to is 'loaded', i.e. appears in the configuration. Elements: A single element derived from LogicalExpression. Enum for SI unit prefixes, ranging from yotta (10**24) to yocto (10**-24) Component of a standard SI unit of measurement Attributes: prefix: multiplier prefix, e.g. "kilo", "micro" exponent: power to which unit is raised, e.g. seconds**-2 Component of a unit of measurement, other than a standard SI unit. The name of the unit can be any string, to allow for the numerous units in use. However the following strings should be used for the corresponding common units: SI units (other than those given explicitly in the Unit element): "gram", "hertz", "newton", "pascal", "joule", "watt", "coulomb", "volt", "farad", "ohm", "siemens", "weber", "tesla", "henry", "degreeCelsius", "lumen", "lux", "becquerel", "gray", "sievert". "are", "hectare", "litre" (note European spelling). Common non-SI units: "minute", "hour", "day". "inch", "foot", "yard", "mile", "nautical mile". "acre". "pint", "quart", "gallon", "imperial pint", "imperial quart", "imperial gallon". "ounce", "pound". Attributes: name: name of unit, e.g. "inch" prefix: multiplier prefix, e.g. "kilo", "micro" exponent: power to which unit is raised, e.g. cm**-2 Unit - a unit of measurement, e.g. gallons, or kilogram/metre**2. This defines the unit as a combination of powers of other units. The standard SI units are represented explicitly, other units are given by a named element. Elements: Metre: a UnitComponent element giving the length exponent. ...etc... GeneralUnit: powers of specified units. Base class for entities which can 'own' objects (people, organisations, users, sites, etc). An individual Person. Attributes: firstName: first name. middleNames: middle names and/or initials. lastName: last (family) name. userId: user Id. addressRef: optional reference to an Address element. Enables a User to be associated with a Discipline, at a particular level Attributes: disciplineRef: reference to a Discipline level: name of the relevant Level A User, i.e. a user account on a computer system. Attributes: userId: User Id. personRef: optional reference to a Person element. Elements: DisciplineRelation: used to associate a User with a Discipline. An organisation, i.e. a group of people or users. Organisations are hierarchical. People/Users are associated with organisations by means of an OrganisationMember element, which also specifies a Role. Attributes: (name: Name, inherited from DescriptionBase) address: Optional reference to Address. organisationRefs: Reference to sub-organisations. cageCode: CAGE code (5 characters). This is a US government company code. disciplineRefs: Disciplines associated with this Organisation. There is no implication that Users in this Organisation belong to these Disciplines. A Role, e.g. "Designer", "Test Engineer", "Chairman", which a Person plays in an organisation. Attributes: (name: The name of the role, i.e. "Designer". Inherited from DescriptionBase) This element is used to associate a Person/User with an Organisation, and to assign an optional Role to that Person/User within that Organisation. A person may have more than one Role in an Organisation. Attributes: memberRef: Reference to a Person or User. organisationRef: The Organisation. roleRef: The Role. This is a class of people/users within an organisation, e.g. all people in Company A with role 'programmer'. As such it references an organisation and a role. It can be used as a resource without specifying a particular person. Attributes: organisationRef: The Organisation. roleRef: The Role. An address for a Person or Organisation. Attributes: internalLocation: Room, mailbox, etc. streetNumber: street: Name of street, road, lane, etc. town: Village, Town, City, etc. region: Region, County, State, etc. country: Country. postalCode: PostCode, ZIP, etc. emailAddress: telephone: A Site in the sense of a particular software installation, database, or location. Attributes: (name: Name of the Site, inherited from DescriptionBase) siteId: Identifying Id of the Site addressRef: Reference to Address element. ownerRef: Reference to owning Organisation. A level of expertise in a Discipline Attributes: name: The name of the Level, e.g. "expert" number: A number associated with the Level. Higher numbers imply greater expertise. A Discipline which Users may belong to. Attributes: rate: The default pay rate for this Discipline. The units are unspecified. Elements: Level: Levels of expertise of the Discipline Simple Access Control enum. reference: read-only modifiable: read-write noAccess: may not be accessed at all. Simple access control element. Specifies a set of owners, and read/write access. Attributes: intent: reference, modifiable or noAccess. ownerRefs Reference to one or more owners. These should be elements derived from plm:OwnerBase, e.g. Person, Organisation, Site, etc. Simple status information. Attributes: dateCreated: Date and time created. dateModified: Date and time last modified. lastModifiedBy: Person or User who last modified this element. validate=skipName Checkout information. Attributes: by: Person etc. holding the checkout. Derived from OwnerBase. date: Date and time checked out. validate=skipName Attribute used to associate a DataSet with a PLM XML element. Attributes: dataSetRef: uri reference to DataSet role: role/purpose of DataSet. No specified values. Represents an external file. Attributes: locationRef: uri of the file format: format of the file. This should determine which applications can read the file. There is no fixed set of values for this, but will often correspond to the file extension, e.g. "doc", "txt". If the format is the same as a Representation format, e.g. "JT", then the same format string should be used. Represents a DataSet (collection of files). Attributes: (name: name of the DataSet; inherited from AttribOwnerBase) version: version number. type: type of DataSet. No specified values. memberRefs: uri references to the members of the DataSet. These should be plm:ExternalFile elements. ReleaseStatus. Specifies date of release, and effectivities. Attributes: dateReleased: Date and time released. effectivityRefs: Reference to Effectivity elements. This is the revision-independent Drawing element. A Drawing is a 2D representation of one or more ProductRevisions/ProductRevisionViews. Use the 'catalogueId' attribute on the Structure class as a persistent Id for the Drawing. Attributes: title Title of the Drawing. This is a revision of a Drawing. Attributes: externalFileRefs: URI references to the Drawing files. These should be ExternalFile elements. drawnRefs: URI references to ProductRevisions or ProductRevisionViews drawn in this Drawing revision. This is a View (design, manufacturing, etc) of a Revision of a Drawing. This element connects a ProductRevision or ProductRevisionView to a 'template' ProductRevision/ProductRevisionView which represents a Product Family of which it is a member. For example a template ProductRevision might represent the 'Bolt' family and a member ProductRevision might be a 2cm Bolt. The member may be specified by a collection of parameter values in the 'Parameters' UserData sub-element. The exact way in which these parameters are interpreted will depend on the CAD system which defined the Template. Attributes: memberRef: URI reference to member ProductRevision/ProductRevisionView templateRef: URI reference to template ProductRevision/ProductRevisionView Elements: Parameters UserData element containing defining parameters for the member This element represents a dependency between one ProductRevision, ProductRevisionView or Occurrence, and another. The slave depends in some way on the master. The nature of the dependency may be specific to the CAD system which defined it, and is specified by the 'type' attribute, and the 'Parameters' UserData sub-element. Attributes: type The type of dependency. slaveRef URI reference to the dependent ProductRevision, ProductRevisionView or Occurrence. masterRef URI reference to the master ProductRevision, ProductRevisionView or Occurrence. This represents a numerical value with a unit, e.g. "3.1 miles". Attributes: name: (inherited from DescriptionBase) name, e.g. "mileage" value: the value unitRef: reference to a Unit element. If this omitted, the value is unitless. This represents a numerical range with a unit, e.g. "3.1-4.2 miles", or "at least 100 litres". At least one of the limit attributes must be present. Attributes: name: (inherited from DescriptionBase) name, e.g. "mileage" lowerLimit: the lower limit upperLimit: the upper limit unitRef: reference to a Unit element. If this omitted, the value is unitless. Represents a configured attachment to an Occurrence. When an unconfigured element (such as a ProductInstance) has an attachment, for example by means of a GeneralRelation, or AssociatedDataSet, then a corresponding configured element (such as an Occurrence) may have that attachment configured. Attributes: role: the role of the attachment i.e. the relation to its owner. contextRef: The corresponding configured element (e.g. ProductInstance) which owns the attachment. attachmentRef: reference to the attached element. childRefs: sub-Attachments This is a group of InstancePaths and other OccurrenceGroups. All the InstancePaths included (recursively) in an OccurrenceGroup must have the same InstancePathRoot. OccurrenceGroups can share InstancePaths or other OccurrenceGroups, but must not contain recursive loops. Attributes: instancePathRootRef: reference to the common InstancePathRoot. childRefs: reference to contained InstancePaths or OccurrenceGroups This element collects together Instances which correspond across different revisions of a structure. An Instance can only be in one InstanceThread, which it references by its instanceThreadRef attribute. This element represents the root of a tree of InstancePaths. Attributes: structureViewRef: This is the StructureView at the top of the InstancePaths in the tree. This element represents an unconfigured path of InstanceThreads, top to bottom. The path must be sequential in that the 'instanced' Structure of each InstanceThread must be the same as the 'parent' Structure of the next InstanceThread in the path. It is possible (although unusual) for an InstancePath to 'change views' as you go down the path. Attributes: instancePathRootRef: The InstancePathRoot which represents the top of the tree this InstancePath is in. instanceThreadRef: This is the last (bottom) InstanceThread in the instance path. (Unlike the Occurrence element, which has an "instanceRefs" attribute to specify the full path, this element only specifies the last InstanceThread, and relies on its 'ancestor' elements to define the path). childRefs: the 'children' of the InstancePath. This is a selection of other InstancePaths, each of which must have a path which is formed by adding one more InstanceThread on the end of the path. There must be no duplicates paths. absoluteOccurrenceRef: This is a back-pointer to a referencing AbsoluteOccurrence (There can be at most one AbsoluteOccurrence referencing a given InstancePath) An AbsoluteOccurrence provides a mechanism for collecting together a number of InstancePaths, which in some sense 'correspond' (for example the front left wheels in two different cars). There are no actual requirements on what these InstancePaths are. Attributes: occurrenceId: an id for the Occurrence instancePathRefs: the InstancePaths in the AbsoluteOccurrence This abstract element represents a View (e.g. 'design') of a Structure. It simply references the associated Structure and View elements. Attributes: masterRef: reference to the Structure viewRef: reference to the View propertyRefs: reference to Properties Elements: PropertyGroup This element represents a View of a Product, e.g. 'design' View. This is general relation between a number of elements. The type of relation is given by the 'subType' attribute inherited from ManagedBase. There are no specified values of 'subType'. Therefore the semantics of the relation are not defined here. This is an abstract base class for Properties. A Property will override a similar Property if it attached to an earlier element in the following list: Occurrence, Instance, StructureRevisionView, StructureRevision, Structure. So, for example, a Property on an Instance will override a similar Property on the corresponding StructureRevision. Attributes: ownerRef: The owner of the property. Necessary when the owner is an object in a Representation file, e.g. an XT Face. This is a group of Properties. This Property represents the length of an object (such as a pipe or wire). Attributes: type: A string specifying the type of value, e.g. whether computed or measured. This Property represents the Mass of an object. This Property represents the Density of an object. This Property represents the colour of an object. Attributes: ambient: ambient colour diffuse: diffuse colour specular: specular colour emissive: emissive colour shininess: shininess coefficient (0-255) alpha: alpha coefficient (0-1) colourId: string id of the colour type: a string indicating the use of the colour in the owning element. This Property gives the (volume) Thermal Expansion Coefficient of an object. Elements: ValueWithUnit RangeWithUnit one of these sub-elements should be used to indicate the value or range of the Property. This Property gives the Thermal Conductivity of an object. Elements: ValueWithUnit RangeWithUnit one of these sub-elements should be used to indicate the value or range of the Property. This Property gives the Specific Heat Capacity of an object. Attributes: type: constantPressure (default) or constantVolume Elements: ValueWithUnit RangeWithUnit one of these sub-elements should be used to indicate the value or range of the Rated Voltage. This Property gives the Modulus of Elasticity of an object (also known as Young's Modulus). Elements: ValueWithUnit RangeWithUnit one of these sub-elements should be used to indicate the value or range of the Property. This Property gives the Poisson's Ratio of an object. Attributes: value: value of Poissons' Ratio lowerLimit: lower limit upperLimit: upper limit This Property gives the Yield Stress of an object (the tensile stress a material can support without permanent deformation). Elements: ValueWithUnit RangeWithUnit one of these sub-elements should be used to indicate the value or range of the Property. This Property gives the Ultimate Stress of an object (the tensile stress a material can support without breaking). Elements: ValueWithUnit RangeWithUnit one of these sub-elements should be used to indicate the value or range of the Property. This Property gives the Ultimate Elongation of an object, that is, the strain an object can support under tensile stress, before breaking. Note this is a ratio, not a percentage. Attributes: value: value of Ultimate Elongation. lowerLimit: lower limit upperLimit: upper limit This Property gives the Surface Area of an object. Elements: ValueWithUnit RangeWithUnit one of these sub-elements should be used to indicate the value or range of the Property. This Property gives the Volume of an object. Elements: ValueWithUnit RangeWithUnit one of these sub-elements should be used to indicate the value or range of the Property. This Property gives the Centre of Mass of an object. Attributes: value: The vector position of the Centre Of Mass (in metres). Elements: Bound: The Bound sub-element, if present, gives an error bound on the centre of mass. This Property gives the Inertia Tensor of an object, at its Centre of Mass. Attributes: value: The value of the Inertia matrix. Only 6 values are given, in the order Ixx, Ixy, Ixz, Iyy, Iyz, Izz, as the matrix is symmetric. error: If present, this gives the error bound for the Inertia, as 12 doubles, in the order Ixx-min, Ixx-max, Ixy-min, Ixy-max, etc. unitRef: Reference to a Unit element. If absent, S.I. units are assumed. A type of Filter which is defined in terms of set operations on other Filters. Attributes: operation: unite, intersect, or complement Elements: OccurrenceFilter: Filters to be combined. If operation="complement", the Filters are implicitly united before the Complement is performed. A type of Filter which specifies an explicit collection of Occurrences. The filter specifies two lists of Occurrences. Those in the first list are simply added to the output of the Filter, without child Occurrences being included. Those in the second list result in the output of the Filter also containing their (recursive) child Occurrences. Attributes: targetRefs: Occurrences, not including their child Occurrences targetRecursiveRefs Occurrences, recursively including their child Occurrences A type of Filter based on querying properties of the objects filtered. If the operation specified returns true, the relevant Occurrence is included. If 'operation' and 'value' are both omitted, then the PropertyFilter selects those Occurrences for which the indicated property has a value. Attributes: property: The name of the property on which the filter is based operation: The operation performed on the property value value: The other operand type: The type of 'value' This is a Zone defined by a distance from a bounding shape, defined by a collection of objects. Attributes: entityRefs: Reference to objects which defines the Zone. The objects are implicitly united. distance: Proximity distance in metres. A type of Occurrence Filter based on a geometric zone. Attributes: includeIn: If true, then include occurrences that are inside the zone. includeOut: If true, then include occurrences that are outside the zone. includeOn: If true, then include occurrences that intersect the zone. zoneRef: Reference to Zone element. This Property represents the display preferences for an element such as a ProductRevisionView. Attributes: unitRef: a Unit element giving the preferred display units. displayAnnotations Indicates that elements derived from Annotation3D should be displayed in the target visualisation application. displayGeometry Indicates that elements derived from Geometry or geometry referenced via Reference elements should be displayed in the target visualisation application. A 'logical entity' which corresponds to objects in a number of equivalent Representations. Attributes: entityRefs: reference to EntityRef elements in Representations or CompoundReps. This is a group of Properties which apply to a specified set of RepresentationEntities. Attributes: entityRefs: reference to RepresentationEntity elements Elements: Property Properties of the referenced entities. This Property specifies whether an object is visible or not - also referred to as unblanked/blanked. Attributes: value: logical: true is visible, false is invisible This Property controls the display of a Coordinate System. Attributes: style: an enumeration defining the display. This Property controls the display of a Point. Attributes: style: an enumeration defining the display. This Property controls the display of a line. Attributes: style: an enumeration defining the display. thickness: an enumeration defining the thickness of the line. This Property specifies the Translucency of an object. Attributes: value: the Translucency. 0.0 is opaque; 1.0 is fully Translucent (invisible). This is the revision-independent element which represents control over Occurrence(s) and their AbsoluteOccurrence data in a set context Attributes: controlledOccurrenceRef: the AbsoluteOccurrence controlled by this OccurrenceControl contextRef: the context of the OccurrenceControl This is a revision of an OccurrenceControl This element is used to "re-organise" an Occurrence under a new parent Occurrence. It references the "source" Occurrence which is being reorganised, and specifies the new parent. Attributes: contextRef: Occurrence defining the context in which the reorganisation was defined sourceRef: the source Occurrence or Instance being reorganised parentRef: the new parent Occurrence, SymbolicOccurrence, Instance or StructureRevisionView showSource: true if the source Occurrence or Instance should be displayed, as well as the reorganised one symbolicRefs: the child SymbolicOccurrences This Property specifies the Suppression state of an object. Suppressing an Occurrence effectively removes it from the Product Structure; so it is not rendered, does not take part in mass property calculations, and does not appear in the Bill of Materials. Attributes: value: true if the object is Suppressed. This Property specifies the Layer number of an element, for display purposes. Attributes: value: the number of the Layer the object is on. This relation relates a "defining" element to a "complying" element. For example, the "defining" element might be a Requirements Document, and the "complying" element a Part. This represents the geometric definition of a Product. This is a revision of a Design. This is a 'view' of a revision of a Design. Attributes: representationRefs: Representations of the DesignRevisionView. geometryRefs: geometry elements referenced by the DesignRevisionView. Elements: Representation: see representationRefs. This relation relates a ProductRevision to a corresponding DesignRevision. Attributes: primaryDesign: Whether the referenced DesignRevision is the primary. This relation relates an Occurrence of a ProductRevisionView to a corresponding Occurrence of a DesignRevisionView. The inherited relatedRefs references must be in that order. Attributes: transform: Whether transform information in the Product Structure comes from the Design Structure. geometry: Whether geometry information in the Product Structure comes from the Design Structure. This represents a Requirement, i.e. a single Requirement for a Product (not a Requirements Document). This is a revision of a Requirement.