01.06.2014 Views

ECAD/MCAD Collaboration ECAD/MCAD ... - ProSTEP iViP

ECAD/MCAD Collaboration ECAD/MCAD ... - ProSTEP iViP

ECAD/MCAD Collaboration ECAD/MCAD ... - ProSTEP iViP

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>ECAD</strong>/<strong>MCAD</strong> <strong>Collaboration</strong><br />

RECOMMENDATION<br />

<strong>ECAD</strong>/<strong>MCAD</strong> <strong>Collaboration</strong>; PSI 5<br />

Version 1.0


ABSTRACT<br />

<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Abstract<br />

The integration of mechanical and electrical components in mechatronic integrated products is becoming increasingly<br />

important. Development takes place in separate domains using different CAD tools (<strong>ECAD</strong> and <strong>MCAD</strong>). Although powerful<br />

software tools are available on the market for the respective disciplines, support for existing processes and systems is reaching<br />

its functional limits with regard to collaboration between these systems. With increasing product complexity and the demand for<br />

shorter development cycles, there is a growing need for feasible solutions for sustainable collaboration on the basis the existing<br />

<strong>ECAD</strong> and <strong>MCAD</strong> systems.<br />

This <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation serves to manage the exchange of <strong>ECAD</strong> and <strong>MCAD</strong> entities within a mechatronic design<br />

process by collaborating information between the domains involved. The exchange of collaboration data is not restricted to a<br />

certain phase of the product life cycle.<br />

This <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation deals with collaboration between developers in the business processes. It does not deal with<br />

change management or product data management processes. These subjects go beyond the scope of this recommendation and<br />

should be applied and handled as appropriate in the particular product development environments.<br />

This <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation covers the results elaborated by the <strong>ProSTEP</strong> <strong>iViP</strong> Project Group <strong>ECAD</strong>/<strong>MCAD</strong>-<strong>Collaboration</strong>.<br />

II PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

DISCLAIMER · COPYRIGHT<br />

Disclaimer<br />

<strong>ProSTEP</strong> <strong>iViP</strong> Recommendations (PSI Recommendations) are recommendations that are available for anyone to use. Anyone using<br />

these recommendations is responsible for ensuring that they are used correctly.<br />

This PSI Recommendation gives due consideration to the prevailing state-of-the-art at the time of publication. Anyone using PSI<br />

Recommendations must assume responsibility for his or her actions and acts at their own risk. The <strong>ProSTEP</strong> <strong>iViP</strong> Association and<br />

the parties involved in drawing up the PSI Recommendation assume no liability whatsoever.<br />

We request that anyone encountering an error or the possibility of an incorrect interpretation when using the PSI Recommendation<br />

contact the <strong>ProSTEP</strong> <strong>iViP</strong> Association (psi-issues@prostep.com) immediately so that any errors can be rectified.<br />

Copyright<br />

I. All rights on this <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation, in particular the copyright rights of use and sale such as the right to duplicate,<br />

distribute or publish the recommendation remain exclusively with the <strong>ProSTEP</strong> <strong>iViP</strong> Association and its members.<br />

II. The recommendation may be duplicated and distributed unchanged, for instance for use in the context of creating software<br />

or services.<br />

III. It is not permitted to change or edit this recommendation.<br />

IV. A suitable notice indicating the copyright owner and the restrictions on use must always appear.<br />

.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

III


TABLE OF CONTENTS<br />

<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Table of Contents<br />

1 Introduction 10<br />

1.1 Preface 10<br />

1.2 Objectives of <strong>ECAD</strong>/<strong>MCAD</strong> collaboration 10<br />

1.3 Structure of the Recommendation 11<br />

2 General Requirements 12<br />

2.1 Shortening the iteration cycles between <strong>ECAD</strong> and <strong>MCAD</strong> development processes 12<br />

2.2 Working in the native system 12<br />

2.3 Separate collaboration environment 14<br />

2.4 Asynchronous and synchronous collaboration 15<br />

2.5 Means of communication parallel to collaboration 15<br />

2.6 Support for different forms of representation 15<br />

2.7 Cardinality of collaboration 16<br />

2.8 Initiating collaboration 17<br />

3 Use cases 18<br />

3.1 Standardized use case description 18<br />

3.2 Actors within the use cases 19<br />

3.3 Defining a board baseline 20<br />

3.4 Placement under mechanical constraints 21<br />

3.5 Placement under electrical constraints 23<br />

3.6 Change of board components 25<br />

3.7 Change of placement locations 26<br />

3.8 Replacement of components 28<br />

3.9 Panelization design review 30<br />

4 EDMD data model 32<br />

4.1 Overview 32<br />

4.2 Packages in the user-driven data model 35<br />

4.2.1 Package 1: item definition and product structure 35<br />

4.2.2 Package 2: item classification and grouping 38<br />

4.2.3 Package 3: person and organization information 39<br />

4.2.4 Package 4: <strong>ECAD</strong> shape information 40<br />

4.2.5 Package 5: constraint definition 43<br />

4.2.6 Package 6: property and material definition 43<br />

4.2.7 Package 7: 2d geometry model 46<br />

4.2.8 Package 8: shape dependant information 49<br />

4.2.9 Package 9: 3d geometry model 52<br />

4.3 Objects 53<br />

4.3.1 annotation 53<br />

4.3.2 assembly_component 53<br />

4.3.3 assembly_component_relationship 53<br />

4.3.4 assembly_definition 53<br />

4.3.5 assembly_group_component 53<br />

4.3.6 b_rep_model 54<br />

4.3.7 b_spline_curve 54<br />

4.3.8 cartesian_coordinate_space 54<br />

4.3.9 cartesian_coordinate_space_2d 54<br />

4.3.10 cartesian_coordinate_space_3d 54<br />

4.3.11 cartesian_point 54<br />

4.3.12 centre_of_mass 55<br />

IV PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008 III


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

TABLE OF CONTENTS<br />

4.3.13 circle 55<br />

4.3.14 classification_association 55<br />

4.3.15 classification_attribute 56<br />

4.3.16 collaboration_definition 56<br />

4.3.17 component_termination_passage 56<br />

4.3.18 component_termination_passage_template_interface_terminal 56<br />

4.3.19 component_termination_passage_template_join_terminal 56<br />

4.3.20 component_termination_passage_template_terminal 57<br />

4.3.21 composite_curve 57<br />

4.3.22 constraint 57<br />

4.3.23 curve 57<br />

4.3.24 curve_on_surface 58<br />

4.3.25 curve_set_2d 58<br />

4.3.26 cutout 58<br />

4.3.27 Cutout_edge_segment 58<br />

4.3.28 data_environment 58<br />

4.3.29 definition_based_product_occurrence 59<br />

4.3.30 design_discipline_item_definition 59<br />

4.3.31 design_layer_stratum 59<br />

4.3.32 design_layer_technology 59<br />

4.3.33 detailed_geometric_model_element 59<br />

4.3.34 digital_file 60<br />

4.3.35 documentation_layer_stratum 60<br />

4.3.36 documentation_layer_technology 60<br />

4.3.37 ellipse 60<br />

4.3.38 external_geometric_model 60<br />

4.3.39 external_geometric_model_with_parameters 61<br />

4.3.40 external_model 61<br />

4.3.41 feature_parameter 61<br />

4.3.42 filled_via 61<br />

4.3.43 general_classification 62<br />

4.3.44 general_parameter 62<br />

4.3.45 general_property 62<br />

4.3.46 general_shape_dependent_property 63<br />

4.3.47 geometric_model 63<br />

4.3.48 geometric_model_relationship_with_transformation 63<br />

4.3.49 hybrid_geometric_model_3D 64<br />

4.3.50 hyperbola 64<br />

4.3.51 instance_placement 64<br />

4.3.52 inter_stratum_feature 64<br />

4.3.53 interconnect_module_constraint_region 65<br />

4.3.54 item 65<br />

4.3.55 item_contraint 66<br />

4.3.56 item_definition_instance_relationship 66<br />

4.3.57 item_instance 66<br />

4.3.58 item_property_association 66<br />

4.3.59 item_shape 67<br />

4.3.60 item_version 67<br />

4.3.61 laminate_component 67<br />

4.3.62 line 67<br />

IV PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

V


TABLE OF CONTENTS<br />

<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.3.63 material 68<br />

4.3.64 material_property 68<br />

4.3.65 material_property_association 68<br />

4.3.66 material_property_value_representation 68<br />

4.3.67 moments_of_inertia 68<br />

4.3.68 next_higher_assembly 69<br />

4.3.69 non_features_shape_element 69<br />

4.3.70 numerical_value 69<br />

4.3.71 offset_curve 69<br />

4.3.72 organization 70<br />

4.3.73 parabola 70<br />

4.3.74 part_feature 70<br />

4.3.75 part_mounting_feature 70<br />

4.3.76 partially_plated_cutout 70<br />

4.3.77 person 71<br />

4.3.78 person_in_organization 71<br />

4.3.79 person_organization_assignment 71<br />

4.3.80 physical_connectivity_interrupting_cutout 72<br />

4.3.81 plated_cutout 72<br />

4.3.82 plated_cutout_edge_segment 72<br />

4.3.83 plated_inter_stratum_feature 72<br />

4.3.84 plated_passage 72<br />

4.3.85 point 73<br />

4.3.86 point_on_curve 73<br />

4.3.87 point_on_surface 73<br />

4.3.88 polyline 73<br />

4.3.89 printed_part_template_terminal 74<br />

4.3.90 printed_part_cross_section_template_terminal 74<br />

4.3.91 printed_part_template_interface_terminal 74<br />

4.3.92 printed_part_template_join_terminal 74<br />

4.3.93 printed_part_template_terminal 74<br />

4.3.94 property 74<br />

4.3.95 property_value 75<br />

4.3.96 property_value_association 75<br />

4.3.97 property_value_representation 75<br />

4.3.98 property_constraint 76<br />

4.3.99 shape_dependent_property 76<br />

4.3.100 shape_description 76<br />

4.3.101 shape_element 76<br />

4.3.102 shape_feature 76<br />

4.3.103 single_instance 77<br />

4.3.104 stratum 77<br />

4.3.105 stratum_feature_template_component 77<br />

4.3.106 stratum_technology 77<br />

4.3.107 structured_printed_part_template_terminal 78<br />

4.3.108 thermal_component 78<br />

4.3.109 transformation 78<br />

4.3.110 transformation_2d 78<br />

4.3.111 transformation_3d 78<br />

4.3.112 trimmed_curve 78<br />

4.3.113 unit 79<br />

VI PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

TABLE OF CONTENTS<br />

4.3.114 unsupported_passage 79<br />

4.3.115 value_limit 79<br />

4.3.116 value_range 80<br />

4.3.117 value_with_unit 80<br />

4.3.118 via 80<br />

4.3.119 wireframe_model_2d 80<br />

4.4 Implementation steps and functional scope 81<br />

4.5 Mapping logic 82<br />

4.5.1 Package 1: item definition and product structure 82<br />

4.5.2 Package 2: item classification and grouping 85<br />

4.5.3 Package 3: person and organization information 86<br />

4.5.4 Package 4: <strong>ECAD</strong> shape information 87<br />

4.5.5 Package 5: constraint definition 90<br />

4.5.6 Package 6: property and material definition 90<br />

4.5.7 Package 7: 2d geometry model 93<br />

4.5.8 Package 8: shape dependant information 93<br />

4.5.9 Package 9: 3d geometry model 93<br />

4.6 Implementation-driven data model (EDMDSchema) 96<br />

4.6.1 Concept of the “item” 96<br />

4.6.2 Concept of the designator within the context of the system 98<br />

4.6.3 Limitations on properties, user-defined properties 100<br />

4.6.4 The geometry model, shape of an item 101<br />

4.6.5 Roles 105<br />

4.6.6 General information 106<br />

4.6.7 Package EDMDSchema.foundation 107<br />

4.6.8 Package EDMDSchema.property 110<br />

4.6.9 Package EDMDSchema.administration 113<br />

4.6.10 Package EDMDSchema.pdm 113<br />

4.6.11 Package EDMDSchema.material 116<br />

4.6.12 Package EDMDSchema.d2 116<br />

4.6.13 Package EDMDSchema.external 116<br />

4.6.14 Package EDMDSchema.grouping 117<br />

4.6.15 Package EDMDSchema.annotation 118<br />

4.6.16 Package EDMDSchema.text 119<br />

4.6.17 Package EDMDSchema.computational 120<br />

5 EDMD protocol 123<br />

5.1 General information 123<br />

5.2 Messages 124<br />

5.2.1 General information 124<br />

5.2.2 SendInformation message 124<br />

5.2.3 SendChanges message 125<br />

5.2.4 RequestForInformation message 125<br />

5.2.5 ServiceResult class 126<br />

5.3 Protocol 127<br />

5.3.1 General information 127<br />

5.4 Processing rules 129<br />

5.4.1 General information 129<br />

5.4.2 SendInformation 129<br />

5.4.3 SendChanges 133<br />

Annex A: Packages EDMDSchema 137<br />

Annex B: EDMDSchema 137<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

VII


FIGURES<br />

<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Figures<br />

Figure 1: <strong>Collaboration</strong> model embedded in native <strong>ECAD</strong>/<strong>MCAD</strong> systems 11<br />

Figure 2: Options for integrating the collaboration modules 13<br />

Figure 3: <strong>Collaboration</strong> module and communication with the native system using <strong>ECAD</strong> as an example 14<br />

Figure 4: Configuration of collaboration control 16<br />

Figure 5: Dependencies between the use cases 18<br />

Figure 6: Roles and actors within <strong>ECAD</strong>/<strong>MCAD</strong> collaboration 19<br />

Figure 7: Overview of the application-driven data model 33<br />

Figure 8: Overview of the “item definition and product structure” Package 36<br />

Figure 9: Overview of the “item classification and grouping” Package 38<br />

Figure 10: Overview of the “person and organization information” Package 39<br />

Figure 11: Overview of the “<strong>ECAD</strong> shape information” Package 41<br />

Figure 12: Overview of the “constraint definition” Package 43<br />

Figure 13: Overview of the “property and material definition” Package 44<br />

Figure 14: Overview of the “2d geometry model” Package 47<br />

Figure 15: Overview of the “shape dependant information” Package 50<br />

Figure 16: Overview of the “3d geometry model” Package 52<br />

Figure 17: Implementation steps 81<br />

Figure 18: Mapping in Package 1 83<br />

Figure 19: Mapping classification and grouping mechanisms 85<br />

Figure 20: Mapping the organizational units and roles 86<br />

Figure 21: Mapping the shape information 88<br />

Figure 22: Mapping the constraints 90<br />

Figure 23: Mapping in Package 6 91<br />

Figure 24: Mapping in Package 7 93<br />

Figure 25: Mapping in Package 8 94<br />

Figure 26: Item model 96<br />

Figure 27: Item data 97<br />

Figure 28: Designator model 98<br />

Figure 29: Designator data 99<br />

Figure 30: UserProperties model 100<br />

Figure 31: Shape model 101<br />

Figure 32: CurveSet2d 103<br />

Figure 33: Roles 105<br />

Figure 34: Overview of foundation Package 108<br />

Figure 35: Over view of property Package 111<br />

Figure 36: Overview of administration Package 113<br />

Figure 37: Overview of pdm Package 114<br />

Figure 38: Overview of material Package 116<br />

Figure 39: Overview of external Package 116<br />

Figure 40: Overview of grouping Package 117<br />

Figure 41: Overview of annotation Package 118<br />

Figure 42: Overview of text Package 119<br />

Figure 43: Over view of computational Package 121<br />

Figure 44: Types of communication 123<br />

Figure 45: SendInformation message 124<br />

Figure 46: SendChanges message 125<br />

Figure 47: RequestInformation message 125<br />

Figure 48: ServiceResult class 126<br />

VIII PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

FIGURES<br />

Figure 49: SendChanges 127<br />

Figure 50: RequestForInformation 128<br />

Figure 51: Processing SendInformation (1 of 2) 131<br />

Figure 52: Processing SendInformation (2 of 2) 132<br />

Figure 53: Processing SendChanges (1 of 3) 135<br />

Figure 54: Processing SendChanges (2 of 3) 136<br />

Figure 55: Processing SendChanges (3 of 3) 137<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

IX


1 INTRODUCTION <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

1 Introduction<br />

1.1 Preface<br />

Existing processes and applications in the area of <strong>ECAD</strong>/<strong>MCAD</strong> collaboration are currently reaching their limitations. At the<br />

same time, the demands being made on the quality and scope of collaborative efforts are increasing. With increasing product<br />

complexity and the demand for shorter development cycles and improved quality, the need for ways of implementing <strong>ECAD</strong>/<strong>MCAD</strong><br />

collaboration is steadily growing.<br />

Currently available methods based on data exchange formats do not permit collaboration. The IDF format, for example, is not<br />

suitable for adequate collaboration due in particular to its limitations when changing the position of components, inadequate<br />

functionality when defining data ownerships and the lack of an option for performing incremental data exchange. There are<br />

also no data management functions for implementing satisfactory change and versioning processes. The handling of constraints<br />

as well as their exchange and administration also remains an unresolved task within the framework of <strong>ECAD</strong>/<strong>MCAD</strong><br />

collaboration.<br />

The key questions for collaboration between the domains electric and mechanics are:<br />

• Which information are divided by the two domains?<br />

• When and/or at which time during the product development process?<br />

• Which solutions exist for a better collaboration between the domains?<br />

These picked up by the <strong>ProSTEP</strong> <strong>iViP</strong> Project Group <strong>ECAD</strong>/<strong>MCAD</strong>-<strong>Collaboration</strong> which specified a data model based on the<br />

entities of ISO10303 AP 210 and AP 214 and a related XML schema for implementation. Furthermore services were<br />

defined which enable the exchange of information between that <strong>ECAD</strong> and the <strong>MCAD</strong> system on basis of the defined data<br />

model.<br />

Efficient collaboration between <strong>ECAD</strong> and <strong>MCAD</strong> developers provides a new method for communicating and exchanging<br />

information between both domains electric and mechanics.<br />

1.2 Objectives of <strong>ECAD</strong>/<strong>MCAD</strong> collaboration<br />

The current limitation of promising options for collaboration between <strong>ECAD</strong> and <strong>MCAD</strong> domains give rise to a demand<br />

for appropriate solutions. Therefore, the objective of this <strong>ECAD</strong>/<strong>MCAD</strong> Recommendation is to specify the data models<br />

and protocols required to enable collaboration between the domains <strong>ECAD</strong> and <strong>MCAD</strong> – process oriented and based on<br />

existing standards.<br />

The essence of this approach is to facilitate collaboration between the <strong>ECAD</strong> and <strong>MCAD</strong> domains in such a way that the users<br />

in one domain have access to all relevant information in the other domain. The improved flow of information means that<br />

iteration loops can be avoided, and thus the product development can be accelerated. Scope is to support an interactive<br />

procedure that is characterized by informal collaboration processes.<br />

The interoperability in terms of a collaboration process on selected <strong>ECAD</strong> and <strong>MCAD</strong> objects that might be originally created<br />

either in the one or the other CAD environment is an essential requirement. The collaboration process must embed both the<br />

creation of a baseline and the common collaborative work on the collaboration model proposing changes where the baseline<br />

has been created earlier in the design process. To exploit the most benefit it must be possible that not only the whole data<br />

model but also selective parts of it are exclusively usable.<br />

10 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

1 INTRODUCTION<br />

The data model specified to enable mandatory collaboration between <strong>ECAD</strong> and <strong>MCAD</strong> domains is based on terminologies<br />

derived from STEP AP 214 (Core Data for Automotive Mechanical Design Processes) with enrichments using STEP AP 210<br />

(Electronic Assembly, Interconnection and Packaging Design). To facilitate implementation, the data model specified in the Unified<br />

Modeling Language (UML) has been made available as an XML schema.<br />

The data model for collaboration has been established to allow interaction between <strong>ECAD</strong> and <strong>MCAD</strong> systems on common defined<br />

collaboration objects. The collaboration model and the corresponding communication protocol, which enable exchange<br />

of the necessary information between both domains, are shown in relation to the native CAD systems in Figure 1.<br />

Figure 1: <strong>Collaboration</strong> model embedded in native <strong>ECAD</strong>/<strong>MCAD</strong> systems<br />

The collaboration model represents an extension of the particular <strong>MCAD</strong> and <strong>ECAD</strong> data models but not the disclosure of the<br />

native data models. The collaboration enhancement of the respective <strong>ECAD</strong> and <strong>MCAD</strong> systems has to be implemented by the<br />

system vendors.<br />

1.3 Structure of the Recommendation<br />

This <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation first of all includes a section describing the requirements regarding mandatory collaboration<br />

between <strong>ECAD</strong> and <strong>MCAD</strong> domains. This is followed by an introduction to collaboration use cases, which in turn is followed<br />

by both the data model and protocol for collaboration. The EDMD implementation schema is provided in the Annex. EDMD is<br />

a abbreviation for Electrical Design Mechanical Design.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

11


2 GENERAL REQUIREMENTS <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

2 General requirements<br />

This section provides a definition of the requirements relating to systems that provide support for <strong>ECAD</strong>/<strong>MCAD</strong> collaboration.<br />

These requirements are based on discussions that took place at the workshops conducted within the framework of the <strong>ECAD</strong>/<strong>MCAD</strong><br />

<strong>Collaboration</strong> Project Group in 2006 and 2007.<br />

2.1 Shortening the iteration cycles between <strong>ECAD</strong> and <strong>MCAD</strong> development<br />

processes<br />

The main requirement of any product or project manager is shortening product development cycles. This objective is even<br />

more difficult to achieve in the area of mechatronic product development since more than one discipline is directly affected by<br />

a change cycle.<br />

Any change – regardless of whether it occurs in the mechanical or the electrical domain – has a direct impact on the other domain.<br />

Example: If the mechanical designer changes the housing type, thus reducing the height, this could mean that the<br />

electrical layouter will have to change his layout or allow for components with a different housing type. If, as a<br />

result of a change in requirements regarding the electrical wiring, the electrical layouter needs alternative<br />

components with larger dimensions, this could lead to a change in the board outline. Any change to board outline,<br />

however, will have a direct impact on the housing type with regard to possible mountings, etc.<br />

It is this interdisciplinary impact that slows down the product development process considerably since different systems are always<br />

involved in validating a change, and at the moment these systems have no direct means of communication.<br />

Example: A mechanical collision can only be checked in the exact 3D geometry model in the CAD system.<br />

In summary, it can be said that a change in one domain may have a considerable impact on the other domain. This impact<br />

can, however, only be validated and assessed in the authoring tool of the respective domain.<br />

This gives rise to the first core requirement for a system aimed at providing support for <strong>ECAD</strong>/<strong>MCAD</strong> collaboration.<br />

Requirement 1:<br />

Shortening the iteration cycles between mechanical and electrical product development processes when a change occurs<br />

by providing an efficient communication platform for the <strong>ECAD</strong> and <strong>MCAD</strong> systems involved.<br />

2.2 Working in the native system<br />

There are a number of different ways in which the communication platform between <strong>ECAD</strong> and <strong>MCAD</strong> can be implemented<br />

(cp. Figure 2):<br />

a) Integration of the collaboration module in the <strong>ECAD</strong> system, in which case communication takes place directly with the<br />

<strong>MCAD</strong> system.<br />

b) Integration of the collaboration module in the <strong>MCAD</strong> system, in which case communication takes place directly with the<br />

<strong>ECAD</strong> system.<br />

c) Separate collaboration module which controls only the collaboration and which is provided with the respective data from<br />

the authoring tools.<br />

d) Integration of a collaboration module in both the <strong>ECAD</strong> and the <strong>MCAD</strong> system. Communication then takes place between<br />

the two collaboration modules.<br />

12 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

2 GENERAL REQUIREMENTS<br />

Figure 2: Options for integrating the collaboration modules<br />

For the reasons presented, the Project Group favored solution d). As far as the product developer is concerned, it is necessary<br />

that the collaboration modules must be integrated seamlessly in the native systems and that no information is lost due to additional<br />

interfaces.<br />

Furthermore, this type of system architecture allows rules that can only be defined in the native systems to be checked. This<br />

gives rise to the following requirement:<br />

Requirement 2:<br />

It must be possible to call the collaboration modules directly in the native systems. Communication then takes place between<br />

the collaboration modules integrated in each system.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

13


2 GENERAL REQUIREMENTS <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

2.3 Separate collaboration environment<br />

During the course of collaboration, a variety of product development data can be created that also has a significant impact on<br />

the respective native data. It may also be the case that the user does not wish to make all of the data from his native model<br />

available within the framework of the collaboration.<br />

It is therefore necessary that a collaboration model is created in the native system in parallel to the current native model. In this<br />

case, the interface between the native systems and the collaboration module regulates the mapping between the two models,<br />

see Figure 3.<br />

Figure 3: <strong>Collaboration</strong> module and communication with the native system using <strong>ECAD</strong> as an example<br />

It must remain possible for the user to decide which results he ultimately wants to transfer to the native model once collaboration<br />

has been brought to a close.<br />

This gives rise to the following requirement:<br />

Requirement 3:<br />

<strong>Collaboration</strong> is initially performed on dedicated collaboration models derived from the native model by the user. The user<br />

is free to decide which elements he wants to make available within the framework of the collaboration and which changes<br />

he wants to transfer to his native model once the collaboration is over.<br />

14 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

2 GENERAL REQUIREMENTS<br />

2.4 Asynchronous and synchronous collaboration<br />

The globally distributed development of mechatronic products also requires support for collaboration scenarios that give due<br />

consideration to time differences. It is impossible to ensure that all the parties participating in a collaboration can be involved<br />

at a desired point in time during collaboration. In these cases, synchronous collaboration cannot take place.<br />

Control mechanisms must be defined which, in the case of asynchronous collaboration, allow the collaboration information to<br />

be stored persistently and transferred to the collaboration module.<br />

This gives rise to the following requirement:<br />

Requirement 4:<br />

The collaboration module must support both a synchronous and an asynchronous form of communication.<br />

2.5 Means of communication parallel to collaboration<br />

Communication during a collaborative session does not necessarily have to be controlled directly via the collaboration modules.<br />

The collaboration modules should provide simple means of communicating a message to the collaboration partner.<br />

Additional means of communication can be used parallel to the collaboration. This gives rise to the following requirement:<br />

Requirement 5:<br />

The collaboration module must provide simple means of communicating messages during collaboration. Enhanced forms of<br />

communication should be provided by external systems.<br />

2.6 Support for different forms of representation<br />

The representation of a product in <strong>MCAD</strong> systems is fundamentally different to the representation of a product in <strong>ECAD</strong> systems.<br />

In <strong>MCAD</strong>, focus is placed on representation of the precise, three-dimensional geometry. In <strong>ECAD</strong>, on the other hand, representation<br />

in a 2D or 2.5D (footprint plus height information) model is also often sufficient.<br />

Collaborative scenarios must take these different forms of representation into consideration, and the collaboration modules must<br />

provide appropriate mapping rules.<br />

Example: If the mechanical designer changes the outline of the PCB, he will do so directly in the 3D model. However,<br />

in the <strong>ECAD</strong> system, the board outline only exists as a 2D boundary line. This means that during collaboration the<br />

collaboration modules must give due consideration to the options provided by the other system. In the case in hand,<br />

it would only be possible to change the geometry on the 2D plane, and it would not be possible to map an additional<br />

change in the third dimension in the collaboration scenario – although the <strong>MCAD</strong> system is able to do so<br />

from a purely technical point of view.<br />

This gives rise to the following requirement regarding the collaboration platform:<br />

Requirement 6:<br />

The collaboration modules must be able to map different forms of representation onto each other and assign them to the<br />

native model in the respective domain.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

15


2 GENERAL REQUIREMENTS <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

2.7 Cardinality of collaboration<br />

The first step in implementing collaboration support involves 1:1 peer-to-peer communication of the <strong>ECAD</strong> and <strong>MCAD</strong> systems<br />

involved. Control of the collaboration can be assumed by either side during collaboration. At the start of the collaboration, the<br />

initiator of the collaboration is automatically the master, who has control.<br />

In a common product development environment with numerous development engineers it may be necessary to clarify changes<br />

within a collaboration scenario involving several involved parties. This means that in the second step, the collaboration module<br />

must allow more than one engineer to participate in a synchronous collaboration (cp. Figure 4).<br />

In this context, it is however important that there is ever only one master – from either the mechanical or electrical domain –<br />

responsible for controlling the collaboration. The other parties participating in the collaboration have only “read” access to the<br />

collaboration process. They have no way of actively making a change.<br />

Figure 4: Configuration of collaboration control<br />

This gives rise to the following requirement:<br />

Requirement 7:<br />

As a matter of principle, the collaboration module must provide support for scenarios that involve several parties participating<br />

in the collaboration. It must however be clearly defined who from either the mechanical or electrical domain is in control<br />

of the collaboration. The other participants have only read access to the collaboration. It must be possible for another<br />

participant to take over control at any time during the collaboration. In the initial configuration, 1:1 peer-to-peer collaboration<br />

will be supported. This configuration will be extended to n:m in the subsequent stages of implementation.<br />

16 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

2 GENERAL REQUIREMENTS<br />

2.8 Initiating collaboration<br />

Appropriate mechanisms for initiating the collaboration must be made available. These mechanisms allow the collaboration<br />

partner to be informed of a desire for collaboration. To do this, a means of clearly identifying the partner must be introduced.<br />

This identification allows the current collaboration session to be initiated.<br />

Requirement 8:<br />

Appropriate identification mechanisms for initiating the collaboration must be made available. These mechanisms allow the<br />

collaboration partner to be informed of a desire for collaboration.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

17


3 USE CASES <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

3 Use cases<br />

<strong>Collaboration</strong> between <strong>ECAD</strong> and <strong>MCAD</strong> domains can be required at numerous points within a mechatronic development process.<br />

Depending on the point of time in the process being considered, different use cases can be defined which must be supported<br />

by any future <strong>ECAD</strong>/<strong>MCAD</strong> collaboration solution. It was decided within the Project Group to focus initially on seven<br />

modular use cases, which are described in detail below.<br />

3.1 Standardized use case description<br />

The use cases are described according to the following schema:<br />

Aim<br />

A brief description (short sentence) of the use case and its aim<br />

Actors Main human and machine entities and their roles<br />

Preconditions A description of what if anything is assumed to have happened before the activities described in the use<br />

case description<br />

Description A narrative description of the use case or usage scenario<br />

Alternatives Possible (important) variants of the description<br />

Postconditions Description of the final state<br />

Diagram Simple illustration of the use case as sequence or activity diagram<br />

Benefits Documentation of main benefits concerning the application of this use case for the actors<br />

Notes<br />

Documentation of important decisions and, if existing, open issues<br />

The use cases have mutual dependencies. The relationships between the use cases are shown in Figure 5.<br />

Figure 5: Dependencies between the use cases<br />

18 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

3 USE CASES<br />

3.2 Actors within the use cases<br />

In the descriptions of the use cases, mention is made of “actors”. In this context, actors can be either human users of a system,<br />

a machine, software or any system. Anything that interacts with the system within the context of a use case is referred to as an<br />

actor. An initial general description of the various actors is provided in Figure 6.<br />

Figure 6: Roles and actors within <strong>ECAD</strong>/<strong>MCAD</strong> collaboration<br />

• Project manager: Responsible for the overall project. Defines the mechanical and electrical product structure, requirements<br />

and tasks. Controls results.<br />

• Mechanical designer: Designs the surrounding geometry in the mechanical 3D CAD system. Fulfills the requirements of<br />

the project manager. Defines requirements for PCB development.<br />

• Mechanical digital mock-up: Performs 3D interference checks in a mechanical 3D CAD system. Checks whether the<br />

current design fits with the surrounding geometry. Uses the 3D representation of the mechanical and electrical design.<br />

• Electrical designer: Designs the schematics of the PCB. His output is the netlist as input for the layout of the PCB, which<br />

is done by the <strong>ECAD</strong> layouter. Fulfills the requirements of the project manager and designers.<br />

• Electrical layouter: Designs the layout of the PCB in the <strong>ECAD</strong> system based on the netlist of the Electrical designer. Fulfills<br />

the requirements of the project manager, <strong>ECAD</strong> designers and <strong>MCAD</strong> designers.<br />

• Thermal: Performs thermal analysis based on the PCB layout. Checks whether heating, cooling, security and other thermal<br />

requirements are fulfilled by the current PCB design.<br />

• EMI/EMC: Analyzes whether the current PCB design fulfills the requirements concerning the electromagnetic compatibility<br />

(EMC), which require that the system is able to tolerate a specified degree of electromagnetic interference (EMI) and does<br />

not generate more than a specified amount of interference.<br />

• <strong>ECAD</strong> system: The components are placed on the PCB in the <strong>ECAD</strong> system. In this recommendation, the <strong>ECAD</strong> system is<br />

viewed only as an <strong>ECAD</strong> layout system. This system receives its input from the schematics design.<br />

• <strong>MCAD</strong> system: The 3D geometry of the product is designed in the <strong>MCAD</strong> system and the 2D/3D information of the electrical<br />

components is processed.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

19


3 USE CASES <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

3.3 Defining a board baseline<br />

Aim<br />

Transfer of the initial printed circuit board layout from the <strong>ECAD</strong> domain to the <strong>MCAD</strong> domain or vice<br />

versa. Both information about the electrical components and the board outline must be transferred. This use<br />

case can be initiated from either the <strong>MCAD</strong> or <strong>ECAD</strong> domain.<br />

Actors<br />

Electrical layouter: Designs the PCB layout in the <strong>ECAD</strong> layout system. Defines electrical requirements concerning<br />

the board outline and the component placement.<br />

<strong>ECAD</strong> system: The electrical components are placed on the PCB in the <strong>ECAD</strong> layout system.<br />

Mechanical designer: Designs the surrounding geometry in the mechanical 3D CAD system and defines the<br />

requirements concerning the board outline. Places electrical components that have an impact on the mechanical<br />

design.<br />

<strong>MCAD</strong> system: In the <strong>MCAD</strong> system, both the 3D geometry of the product is defined and the 2D/3D information<br />

relating to the electrical components is processed.<br />

Preconditions<br />

From an electrical point of view, the schematic design must be concluded before the components can be<br />

placed. The result of the schematic is the netlist, which describes how the electrical components are connected.<br />

PCB layout is started on the basis of this netlist.<br />

The mechanical definition of the surrounding geometry is required, on the one hand, to define the board<br />

outline. On the other hand, restrictions regarding the height and size of electrical components and their<br />

placement depend on the housing type and must be defined as a precondition for this use case.<br />

Description<br />

There are basically two different ways of defining the board baseline depending on who assumes development<br />

leadership in the process (for Case 2, see section “Alternatives” in this use case description).<br />

Case 1: <strong>MCAD</strong> assumes leadership, i.e. the mechanical designer creates the board outline and places<br />

several PCB components from a mechanical point of view. These can include connectors, LEDs or potentiometers<br />

which have a direct impact on the mechanical geometry.<br />

This predefined layout is then transferred to the electrical layouter as the board baseline. If necessary,<br />

existing 3D information from the mechanical 3D CAD system must be transferred to the <strong>ECAD</strong> system in a<br />

format that can be processed by the <strong>ECAD</strong> system, e.g. 2D or 2.5D information. In addition, a mapping<br />

between the designators in the mechanical design (e.g. feature or part IDs) and the designators in the<br />

electrical design (reference designators) must be performed.<br />

Alternatives<br />

Case 2: <strong>ECAD</strong> assumes leadership, i.e. the electrical layouter starts placing the electrical components on<br />

the basis of the schematic information. This includes placing components that may affect the mechanical<br />

design. Once he has finished, the layout is transferred to the mechanical designer as the board baseline.<br />

2D or 2.5D information is normally used in the electrical domain, i.e. a footprint and height information for<br />

the components is transferred. In addition, a mapping between the designators in the electrical design<br />

(reference designators) and the designators in the mechanical design (e.g. feature or part IDs) must be<br />

performed.<br />

Postconditions An initial baseline for the PCB has been transferred, and the initial mapping of the IDs for the PCB components<br />

within collaboration between the two domains has been defined.<br />

20 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

3 USE CASES<br />

Diagram<br />

Benefits<br />

Notes<br />

The use of <strong>ECAD</strong>/<strong>MCAD</strong> collaboration simplifies the initial transfer of a board baseline considerably<br />

since no time-consuming transfers via interfaces such as, for example, IDF are required. The common<br />

data model means that both domains can access identical information. The initial transfer of the baseline for<br />

the PCB is the starting point for all subsequent collaboration scenarios described in the following use cases.<br />

No additional notes<br />

3.4 Placement under mechanical constraints<br />

Aim<br />

Placing electrical components on the PCB under mechanical constraints, e.g. housing type or mechanical<br />

connections. This use case is initiated from the <strong>MCAD</strong> domain.<br />

Actors<br />

Mechanical designer: Designs the surrounding geometry in the mechanical 3D CAD system and defines the requirements<br />

concerning the board outline. Places electrical components that have an impact on the mechanical design.<br />

<strong>MCAD</strong> system: In the <strong>MCAD</strong> system, both the 3D geometry of the product is defined and the 2D/3D<br />

information relating to the electrical components is processed.<br />

Electrical layouter: Designs the PCB layout in the <strong>ECAD</strong> layout system.<br />

<strong>ECAD</strong> layout system: The electrical components are placed on the PCB in the <strong>ECAD</strong> system. In the use<br />

case described, the <strong>ECAD</strong> system also checks components placed under mechanical constraints with<br />

regard to their placement from an electrical point of view.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

21


3 USE CASES <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Preconditions<br />

The mechanical definition of the surrounding geometry is first of all required to define the board outline,<br />

which from a mechanical point of view is mainly determined by the housing geometry. Mounting holes on<br />

the PCB must also be coordinated with the housing geometry. In addition, restrictions regarding the height<br />

and size of electrical components and their placement depend on the housing type. Ideally, it should be<br />

possible for the mechanical designer to access the 3D geometry. To do this, a 3D component library needs<br />

to be set up. Only with precise 3D information can correct placement be performed while utilizing the<br />

design space as best as possible. The diagram below illustrates why precise 3D geometry is important<br />

for optimum utilization of design space and why 2.5D information is not sufficient. In addition, the<br />

availability of the exact 3D geometry allows additional components to be placed which could not otherwise<br />

be placed with 2.5D.<br />

An additional precondition is that the initial board baseline has been transferred and is available in both<br />

domains in a synchronized status.<br />

Description<br />

Based on the initial board baseline, the mechanical designer starts the collaboration process in order to<br />

transfer placement of the mechanical components to the electrical layouter.<br />

The mechanical designer creates the board outline and places several PCB components from a mechanical<br />

point of view. These can include connectors, LEDs or potentiometers which have a direct impact on the mechanical<br />

geometry. This mechanically predefined layout is then transferred to the electrical layouter, who<br />

then places other electrical components depending on the schematic and the electrical constraints. Once<br />

this has been completed, iteration between <strong>MCAD</strong> and <strong>ECAD</strong> begins if the components placed by the<br />

mechanical designer have to be moved due to electrical constraints or electrical components collide with<br />

the mechanical housing (see also, for example, use case: Change of placement locations). In the iterative<br />

process, the electrical designer can check whether the placed components violate electrical constraints.<br />

Agreement can be achieved very quickly and efficiently within the framework of <strong>ECAD</strong>/<strong>MCAD</strong> collaboration<br />

since both users can compare the impact with the design rules of their native systems.<br />

Alternatives<br />

See use case: Placement under electrical constraints<br />

Postconditions The mechanical components have been placed on the PCB and the layout has been harmonized with the<br />

electrical designer within the framework of collaboration.<br />

22 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

3 USE CASES<br />

Diagram<br />

Benefits<br />

Notes<br />

The use of an <strong>ECAD</strong>/<strong>MCAD</strong> collaboration can significantly reduce the time needed for the iterative<br />

process. The common data model allows for a common language in both system environments. This means<br />

that changes in one environment can be transferred in a standardized manner to the other environment and<br />

interpreted there.<br />

No additional notes<br />

3.5 Placement under electrical constraints<br />

Aim<br />

Placing electrical components on the PCB subject to electrical constraints stipulated by the schematic. This<br />

use case is initiated from the <strong>ECAD</strong> domain.<br />

Actors<br />

Electrical layouter: Designs the PCB layout in the <strong>ECAD</strong> layout system.<br />

<strong>ECAD</strong> layout system: The components are placed on the PCB in the <strong>ECAD</strong> system.<br />

Mechanical designer: Designs the surrounding geometry in the mechanical 3D CAD system and defines<br />

requirements concerning the board outline.<br />

<strong>MCAD</strong> system: In the <strong>MCAD</strong> system, both the 3D geometry of the product is defined and the 2D/3D information<br />

relating to the electrical components is processed.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

23


3 USE CASES <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Preconditions<br />

From an electrical point of view, the schematic design must be concluded before the components can be<br />

placed. The result of the schematic is the netlist, which describes how the electrical components are connected.<br />

PCB layout is started on the basis of this netlist, i.e. placement of the components based on the electrical<br />

constraints.<br />

An additional precondition is that the initial board baseline has been transferred and is available in both<br />

domains in a synchronized status.<br />

Description<br />

Based on the initial board baseline, the electrical layouter starts the collaboration process in order to transfer<br />

the placement of the electrical components to the mechanical designer.<br />

The electrical layouter has created his components based on the schematic. Once this has been completed,<br />

iteration between <strong>MCAD</strong> and <strong>ECAD</strong> begins if the components placed by the electrical layouter have to be<br />

moved due to mechanical constraints because, for example, the electrical components collide with the<br />

housing. In the iterative process, the mechanical designer can check whether the placed components<br />

violate mechanical constraints.<br />

Agreement can be achieved very quickly and efficiently within the framework of <strong>ECAD</strong>/<strong>MCAD</strong> collaboration<br />

since both users can compare the impact with the rules of their native systems.<br />

Alternatives<br />

See use case: Placement under mechanical constraints<br />

Postconditions The electrical components have been placed on the PCB and the layout has been harmonized with the<br />

mechanical designer within the framework of collaboration.<br />

Diagram<br />

24 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

3 USE CASES<br />

Benefits<br />

Notes<br />

The use of an <strong>ECAD</strong>/<strong>MCAD</strong> collaboration can significantly reduce the time needed for the iterative<br />

process. The common data model allows for a common language in both system environments. This means<br />

that changes in one environment can be transferred in a standardized manner to the other environment and<br />

interpreted there.<br />

No additional notes<br />

3.6 Change of board components<br />

Aim<br />

Components which have already been placed and harmonized within the collaboration framework are to<br />

be deleted or new components added. This use case can be initiated from either the <strong>MCAD</strong> domain or the<br />

<strong>ECAD</strong> domain.<br />

Actors<br />

Electrical layouter: Designs the PCB layout in the <strong>ECAD</strong> layout system.<br />

<strong>ECAD</strong> layout system: The components are placed on the PCB in the <strong>ECAD</strong> system.<br />

Mechanical designer: Designs the surrounding geometry in the mechanical 3D CAD system and defines requirements<br />

concerning the board outline<br />

<strong>MCAD</strong> system: In the <strong>MCAD</strong> system, both the 3D geometry of the product is defined and the 2D/3D information<br />

relating to the electrical components is processed.<br />

Preconditions<br />

Description<br />

The board baseline has already been transferred and initial harmonization of the components has already<br />

been performed.<br />

Based on the initial board baseline, the electrical layouter or the mechanical designer starts the collaboration<br />

process because changes relating to the components on the PCB have arisen. For example, the mechanical<br />

designer has realized that a component is no longer required since the design has been changed.<br />

Or the electrical layouter has realized that – due to an updating of the schematic – an additional electrical<br />

component which has not yet been placed on the PCB is required.<br />

Once the collaboration has been initiated, the person who started the collaboration must transfer the information<br />

about the deleted or added components. Subsequently either the existing ID mapping is deleted (if<br />

a component has been deleted) or a new ID mapping is generated (if a new component has been added).<br />

Within the collaboration, both the mechanical designer and the electrical layouter now check together what<br />

impact the deleted or new component has on the existing PCB layout.<br />

Agreement can be achieved very quickly and efficiently within the framework of <strong>ECAD</strong>/<strong>MCAD</strong> collaboration<br />

since both users can compare the impact with the rules of their native systems.<br />

Alternatives –<br />

Postconditions After collaboration, the components have been either deleted or added and the impact of this change has<br />

been checked using both native systems.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

25


3 USE CASES <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Diagram<br />

Benefits<br />

Notes<br />

The use of an <strong>ECAD</strong>/<strong>MCAD</strong> collaboration can significantly reduce the time needed for the iterative process.<br />

No additional notes<br />

3.7 Change of placement locations<br />

Aim<br />

Components which have already been placed and harmonized within the collaboration framework are to<br />

be moved to a different location as a result of new constraints. This use case can be initiated from either the<br />

<strong>MCAD</strong> domain or the <strong>ECAD</strong> domain.<br />

Actors<br />

Electrical layouter: Designs the PCB layout in the <strong>ECAD</strong> layout system.<br />

<strong>ECAD</strong> layout system: The components are placed on the PCB in the <strong>ECAD</strong> system.<br />

Mechanical designer: Designs the surrounding geometry in the mechanical 3D CAD system and defines<br />

requirements concerning the board outline.<br />

<strong>MCAD</strong> system: In the <strong>MCAD</strong> system, both the 3D geometry of the product is defined and the 2D/3D information<br />

relating to the electrical components is processed.<br />

Preconditions<br />

Description<br />

The board baseline has already been transferred and initial harmonization of the components has already<br />

been performed.<br />

Based on the initial board baseline, the electrical layouter or the mechanical designer starts the collaboration<br />

process because changes relating to the placement of the components on the PCB have arisen. For<br />

example, the mechanical designer has detected collisions with the housing or the electrical layouter has<br />

realized that a certain wiring of the components does not fulfill the requirements.<br />

26 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

3 USE CASES<br />

Once the collaboration has been initiated, the person who started the collaboration must transfer the information<br />

about the component to be moved. This involves transferring information about both the current position<br />

of the component and the desired new position.<br />

Within the collaboration, both the mechanical designer and the electrical layouter now check together what<br />

impact the new placement of the component has on the existing PCB layout.<br />

Agreement can be achieved very quickly and efficiently within the framework of <strong>ECAD</strong>/<strong>MCAD</strong> collaboration<br />

since both users can compare the impact with the rules of their native systems.<br />

Alternatives –<br />

Postconditions After collaboration, the components have placed in a new position and the impact of this change has been<br />

checked using both native systems.<br />

Diagram<br />

Benefits<br />

Notes<br />

The use of an <strong>ECAD</strong>/<strong>MCAD</strong> collaboration can significantly reduce the time needed for the iterative process.<br />

No additional notes<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

27


3 USE CASES <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

3.8 Replacement of components<br />

Aim<br />

Components which have already been placed and harmonized within the collaboration framework are to<br />

be replaced as a result of new constraints. The replaced component provides the same functionality in the<br />

same way. This use case can be initiated from either the <strong>MCAD</strong> domain or the <strong>ECAD</strong> domain.<br />

Actors<br />

Electrical layouter: Designs the PCB layout in the <strong>ECAD</strong> layout system.<br />

<strong>ECAD</strong> layout system: The components are placed on the PCB in the <strong>ECAD</strong> system.<br />

Mechanical designer: Designs the surrounding geometry in the mechanical 3D CAD system and defines<br />

requirements concerning the board outline<br />

<strong>MCAD</strong> system: In the <strong>MCAD</strong> system, both the 3D geometry of the product is defined and the 2D/3D<br />

information relating to the electrical components is processed.<br />

Preconditions<br />

Description<br />

The board baseline has already been transferred and initial harmonization of the components has already<br />

been performed.<br />

Based on the initial board baseline, the electrical layouter or the mechanical designer starts the collaboration<br />

process because a component is to be replaced by a different component offering the same functionality.<br />

This can be the case, for example, if suppliers discontinue certain components, which means that they can<br />

no longer be included on the PCB. In this case, alternative components offering the same functionality must<br />

replace the existing components.<br />

Once the collaboration has been initiated, the person who started the collaboration must transfer information<br />

about the component to be replaced. Changes to the connectors in particular can lead to an additional<br />

need for collaboration since wiring may have to be moved.<br />

Within the collaboration, both the mechanical designer and the electrical layouter now check together what<br />

impact the replaced component has on the existing PCB layout.<br />

Agreement can be achieved very quickly and efficiently within the framework of <strong>ECAD</strong>/<strong>MCAD</strong> collaboration<br />

since both users can compare the impact with the rules of their native systems.<br />

Alternatives ---<br />

Postconditions After collaboration, the components in both domains can be replaced by the updated components since the<br />

impact of this change has been checked during collaboration using both native systems.<br />

28 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

3 USE CASES<br />

Diagram<br />

Benefits<br />

Notes<br />

The use of an <strong>ECAD</strong>/<strong>MCAD</strong> collaboration can significantly reduce the time needed for the iterative process.<br />

No additional notes<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

29


3 USE CASES <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

3.9 Panelization design review<br />

Aim<br />

The aim of the collaboration is to determine the optimal producibility of a PCB from a carrier material (panel).<br />

To save material costs and thus reduce raw material loss, the PCB layout and PCB design need to be<br />

reviewed for PWB (printed wiring board) panelization. At the end of the collaboration, the PCB layout that<br />

best meets manufacturing constraints will have been defined.<br />

The diagram below represents an example result of the panelization process.<br />

Actors<br />

Electrical layouter: Designs the PCB layout in the <strong>ECAD</strong> layout system.<br />

Mechanical designer: Designs the surrounding geometry in the mechanical 3D CAD system and defines<br />

requirements concerning the board outline.<br />

Manufacturing or process engineer: Is responsible for the manufacturing line and is familiar with the<br />

constraints imposed by the available manufacturing machines.<br />

Panelization simulation system: System which is able to simulate the PCB panelization process.<br />

<strong>ECAD</strong> layout system: The components are placed on the PCB in the <strong>ECAD</strong> system.<br />

<strong>MCAD</strong> system: In the <strong>MCAD</strong> system, both the 3D geometry of the product is defined and the 2D/3D information<br />

relating to the electrical components is processed.<br />

Preconditions<br />

Description<br />

The PCB layout has been defined (board outline and component placement) and an initial PWB profile has<br />

been created.<br />

The electrical layouter, mechanical designer, manufacturing or process engineer and, if necessary, other<br />

persons must be involved in the design review since not only technical constraints but also commercial<br />

constraints have to be taken into consideration.<br />

Once the initial PWB profile for manufacturing the PCB has been created, the above-mentioned persons<br />

should come to an agreement in order to find the best solution – and not only from an electrical point of<br />

view. In the collaboration, answers can be found to questions such as, for example, where can symmetries<br />

be utilized or what tolerances have to be observed in the manufacturing process?<br />

30 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

3 USE CASES<br />

From a manufacturing point of view, the best outcome is not always to make the panel as small as possible.<br />

Constraints such as utilization of the manufacturing lines or tool changes on the machines might mean that<br />

a larger panel can be manufactured more efficiently.<br />

In the collaboration, the current PWB profile is assessed by all those involved and, if necessary, any changes<br />

to be made are checked in the native systems.<br />

Alternatives ---<br />

Postconditions After the collaboration, the PCB layout which best meet manufacturing constraints and the matching PWB<br />

profile have been created.<br />

Diagram<br />

Benefits<br />

Notes<br />

The use of an <strong>ECAD</strong>/<strong>MCAD</strong> collaboration can significantly reduce the time needed to reach agreement up<br />

to and including the manufacturing processes.<br />

No additional notes<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

31


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD data model<br />

4.1 Overview<br />

An application-driven data model based on user requirements was first of all defined within the Project Group. The applicationdriven<br />

data model is intended to describe the requirements relating to <strong>ECAD</strong>/<strong>MCAD</strong> collaboration from the view of the user. In<br />

addition, it should also be able to support the functionality required by the user within the framework of an <strong>ECAD</strong>/<strong>MCAD</strong><br />

collaboration.<br />

The application-driven data model is divided into different functional areas, which are referred to as “packages”. Figure 7<br />

provides an overview of the developed data model with the nine currently defined packages.<br />

The contents of the packages are described in detail in section 4.2 below. A detailed description of the objects in the<br />

packages can be found in section 4.3.<br />

In the next step, the application-driven data model was mapped to an implementation-driven data model within the Project<br />

Group, together with the implementors. This data model serves to satisfy the boundary conditions for efficient implementation.<br />

To do this, the implementation-driven data model can, for example, group together objects, convert objects into attributes,<br />

simplify relationships, etc. These changes ensure efficient implementation with the consideration of boundary conditions such as<br />

uniqueness, stability and performance of the software solution. The implementation-driven data model is described in detail in<br />

section 4.5.1.<br />

32 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


4 EDMD DATA MODEL<br />

<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Figure 7: Overview of the application-driven data model<br />

33<br />

34


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.2 Packages in the user-driven data model<br />

4.2.1 Package 1: item definition and product structure<br />

The central package in the application-driven data model is the Package "item definition and product structure" (cp. Figure 8).<br />

The entire structure between the objects involved in the collaboration is described in this package. Additional information such<br />

as the properties and geometry of these collaboration objects can be defined using the objects in the other packages. In addition,<br />

the versioning of collaboration objects (item_version) and the multiple utilization of objects (item_instance) are defined in<br />

this package.<br />

Application example:<br />

20 LED displays of the same type (item) and with an identical version status (item_version) are placed on a PCB (Printed Circuit<br />

Board). Each LED display is then defined as an item_instance. Since the LED displays have different positions on the PCB, the<br />

positioning of the item_instance objects are defined using a transformation (in this case transformation_2D).<br />

The following objects are defined in this package:<br />

item, item_version, design_discipline_item_definition, collaboration_definition, instance_placement, single_instance, item_instance,<br />

assembly_definition, interconnect_module, pcb, item_definition_instance_realtionship, assembly_component_relationship,<br />

next_higher_assembly, geometric_model_relationship_with_transformation, transformation, transformation_2d, transformation_3d<br />

35 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Figure 8: Overview of the “item definition and product structure” Package<br />

36<br />

37


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.2.2 Package 2: item classification and grouping<br />

In addition to Package 1, the Package "item classification and grouping" allows the classification and grouping of collaboration<br />

objects and their versions (cp. Figure 9).<br />

Figure 9: Overview of the “item classification and grouping” Package<br />

Application example:<br />

All the LED displays (represented by item objects) on a PCB can be grouped together by means of a classification (general_classification).<br />

The following objects are defined in this package:<br />

classification_association, general_classification, classification_attribute<br />

38 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD DATA MODEL<br />

4.2.3 Package 3: person and organization information<br />

Person and organization-specific data is defined in the Package "person and organization information" (cp. Figure 10). The<br />

package allows a person with a specific role to be assigned to each collaboration object.<br />

Figure 10: Overview of the “person and organization information” Package<br />

Application example:<br />

A capacitor on the PCB (represented by an item object) can be assigned the person Miller in his role as “electrical layouter”<br />

(using the object person_and_organization_assignment). This allows clear identification during collaboration of which persons<br />

are, for example, allowed to make changes to the components.<br />

The following objects are defined in this package:<br />

organization, person_organization_assignment, person, person_in_organization<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

39


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.2.4 Package 4: <strong>ECAD</strong> shape information<br />

The "<strong>ECAD</strong> shape information" Package describes component-related geometric information about how the electrical components<br />

are, for example, stored in a component library (cp. Figure 11). The package allows electrical semantics to be defined<br />

for an explicit 2D or 3D geometry (defined in Package 7 or Package 8).<br />

The following objects are defined in this package:<br />

non_feature_shape_element, interconnect_module_constraint_region, shape_feature,<br />

component_termination_passage_template_terminal, component_termination_passage_template_join_terminal,<br />

component_termination_passage_template_interface_terminal, printed_part_template_terminal,<br />

printed_part_cross_section_template_terminal, printed_part_template_interface_terminal, printed_part_template_terminal,<br />

printed_part_template_join_terminal, part_feature_ part_mounting_feature, assembly_component,<br />

definition_based_product_occurence, thermal_component, assembly_group_component, laminate_component,<br />

inter_stratum_feature, unsupported_passage, stratum_feature_template_component, cutout_edge_segment,<br />

plated_ cutout_edge_segment, plated_inter_stratum_feature, plated_passage, via, filled_via, component_termination_passage,<br />

stratum, documentation_layer_stratum, design_layer_stratum, stratum_technology, documentation_layer_technology,<br />

design_layer_technology, cutout, plated_cutout, partially_plated_cutout, physical_connectivity_interrupting_cutout<br />

40 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Figure 11: Overview of the “<strong>ECAD</strong> shape information” Package<br />

41<br />

42


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.2.5 Package 5: constraint definition<br />

The "constraint definition" Package can be used to define constraints between objects or properties (cp. Figure 12).<br />

Figure 12: Overview of the “constraint definition” Package<br />

Application example:<br />

A constraint of the type “relating” can be used to indicate the fact that two components must only ever be moved together<br />

during a collaboration session, i.e. the constraint places restrictions on the positioning of the items.<br />

The following objects are defined in this package:<br />

constraint, item_constraint, property_constraint<br />

4.2.6 Package 6: property and material definition<br />

The definition of arbitrary properties and materials relating to collaboration objects is a fundamental part of any collaboration.<br />

Therefore all this information has been grouped together in a separate package (cp. Figure 13). The package "property and<br />

material definition" allows properties, together with parameters and ranges of values, to be assigned to an entire class of collaboration<br />

objects (item) or their instances (item_instance). The defined properties are represented by values and units. It is also<br />

possible to assign materials.<br />

Application example:<br />

10 LED displays have been placed on a PCB. All the LED displays can be assigned the material “plastic”. To do this, the<br />

relationship directly to the item “LED” is used for property assignment. Each individual instance (item_instance) of the 10 LED<br />

displays can, for example, be assigned a different color using a "general_property" object with "property_type = color". The<br />

values of the color properties are defined using the "property_value" object with "value_name = red, green, blue etc.".<br />

The following objects are defined in this package:<br />

item_property_association, property_value_association, property_value_representation, property, property_value,<br />

unit_ value_with_unit, numerical_value, value_limit, value_range, feature_parameter, material_property, general_property,<br />

general_parameter, material_property_value_representation, material_property_association, data_environment<br />

43 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


4 EDMD DATA MODEL<br />

<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Figure 13: Overview of the “property and material definition” Package<br />

44<br />

45


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.2.7 Package 7: 2d geometry model<br />

The "2d geometry model" Package allows the definition of two-dimensional geometry elements within collaboration (cp. Figure 14).<br />

Application example:<br />

A change to the board outline is to be defined within a collaboration session. To do this, the collaboration object “PCB”<br />

(defined using an item) can be assigned the appropriate outline defined, for example, as a b-spline_curve. Changes to the<br />

individual points on the curve can then be made directly in the collaboration session and then transferred to both the <strong>MCAD</strong><br />

and <strong>ECAD</strong> systems.<br />

The following objects are defined in this package:<br />

wireframe_model_2d, curve_set_2d, curve, hyperbola, composite_curve, line, ellipse, plyline, curve_on_surface, trimmed_curve,<br />

circle, parabola, offset_curve, b_spline_curve, detailed_geometric_model_element, point, point_on_surface, point_on_curve,<br />

cartesian_point<br />

46 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Figure 14: Overview of the “2d geometry model” Package<br />

47<br />

48


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.2.8 Package 8: shape dependant information<br />

The basic elements that allow geometric properties to be assigned to collaboration objects are contained in the Package<br />

"shape dependant information" (cp. Figure 15). A more detailed description of the geometry takes place in Package 7 or Package 9.<br />

Furthermore, this package allows external geometric models, e.g. in an external file, to be assigned to an item. This package<br />

also allows annotations to be added during collaboration by means of the “annotation” object. The annotations can be<br />

represented either geometrically or as text.<br />

Application example (1):<br />

The exact geometry of an electrical component has been stored in a neutral 3D geometry format, e.g. STEP AP214 CC02. The<br />

object "external_model" can be used to assign the file containing this geometry to the “design_discipline_item_definition” of the<br />

electrical component (item).<br />

Application example (2):<br />

During a collaboration session a specific part of a PCB element is of special interest. Therefore the "annotation" object kann be<br />

used to assign a textual or graphical annotation to the "shape description" of this item.<br />

The following objects are defined in this package:<br />

item_shape, shape_element, shape_description, annotation, geometric_model, shape_dependent_property,<br />

general_shape_dependent_property, moments_od_inertia, centre_of_mass, cartesian_coordinate_space,<br />

cartesian_coordinate_space_2d, cartesian_coordinate_space_3d, external_model, digital_file, external_geometric_model,<br />

external_geometric_model_with_parameters<br />

49 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Figure 15: Overview of the “shape dependant information” Package<br />

50<br />

51


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.2.9 Package 9: 3d geometry model<br />

The "3d geometry model" Package allows three-dimensional geometry elements to be defined within collaboration (cp. Figure 16).<br />

These can be stored either as a B-rep model or hybrid model. Package 9 thus allows three-dimensional geometric changes to<br />

be taken into consideration directly in a collaboration.<br />

Note: This is, however, only possible insofar as both the systems involved in the collaboration can work with three-dimensional<br />

geometric models.<br />

In this version of the Recommendation, the collaboration is limited to 2D elements. Therefore although the 3D geometry<br />

package has been included in the structure, its contents have not yet been defined.<br />

Figure 16: Overview of the “3d geometry model” Package<br />

The following objects are defined in this package:<br />

b_rep_model, hybrid_geometric_model_3d<br />

52 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD DATA MODEL<br />

4.3 Objects<br />

4.3.1 annotation<br />

An annotation is used to annotate specific shape elements during a collaboration. The annotation could be a simple text or a<br />

complex 2D geometry used to define the area for which the annotation is applicable.<br />

This object type has no attributes.<br />

4.3.2 assembly_component<br />

An assembly_component represents a component in an assembly or in an interconnect. An assembly_component is a type of<br />

item_shape and of definition_based_product_occurrence.<br />

This object type has no attributes.<br />

4.3.3 assembly_component_relationship<br />

An assembly_component_relationship is the relation between an assembly_definition and an item_instance representing a<br />

constituent of the assembly.<br />

Note: The constituent may also be an assembly.<br />

An assembly_component_relationship is a type of item_definition_instance_relationship. The association placement specifies the<br />

geometric_model_relationship_with_transformation that specifies the transformation information which is used to locate and orient the<br />

constituent in the coordinate space of the assembly_definition. If present, there must be exactly one object that defines the placement<br />

for an assembly_component_relationship. The association relating specifies the assembly_definition that has subordinate constituents.<br />

This object type has no attributes.<br />

4.3.4 assembly_definition<br />

An assembly_definition is a definition of an item_version that contains other subordinate objects. An assembly_definition is a<br />

type of design_discipline_item_definition.<br />

The following table shows the attributes of an assembly_definition:<br />

Attribute name<br />

id<br />

name<br />

assembly_type<br />

Description<br />

The id specifies the identifier of the design_discipline_item_definition.<br />

The name specifies the name of the design_discipline_item_definition.<br />

The assembly_type specifies the kind of the assembly_definition.<br />

Note: "functional assembly" or "design assembly" are examples of an<br />

assembly_type.<br />

4.3.5 assembly_group_component<br />

An assembly_group_component is a type of assembly_component. Each component that is part of a group is in the same design<br />

view as that group.<br />

This object type has no attributes.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

53


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.3.6 b_rep_model<br />

A b_rep_model is a collection of b_rep objects.A b_rep-model is a type of geometric_model and is used fpr the representation<br />

of 3 dimensional geometry.<br />

This object type has no attributes.<br />

4.3.7 b_spline_curve<br />

A b_spline_curve is a general polynomial or a rational parametric sculptured curve of various degrees and segments, defined<br />

in terms of control points, associated basic functions, weights, and nodes<br />

Note: A polynomial uniform b_spline_curve is defined by a list of control points and by the associated basis functions. The<br />

node values can be derived and the weights are equal. A rational non-uniform b_spline_curve is defined by a list of control<br />

points, by the associated basis functions, by weights and by multiplicities of nodes.<br />

Note: A circular arc can be represented by a rational parametric curve.<br />

The following table shows the attributes of a b_spline_curve:<br />

Attribute name<br />

name<br />

Description<br />

The name specifies the name by which the<br />

detailed_geometric_model_element is referred to.<br />

4.3.8 cartesian_coordinate_space<br />

A cartesian_coordinate_space is a coordinate space in which geometric and annotation elements may be defined. It is either<br />

two-dimensional or three-dimensional. An origin for coordinate values is implicitly defined. The units applicable to the coordinate<br />

values of elements defined in the cartesian_coordinate_space are specified. Each cartesian_coordinate_space is a<br />

cartesian_coordinate_space_3d or a cartesian_coordinate_space_2d.<br />

This object type has no attributes.<br />

4.3.9 cartesian_coordinate_space_2d<br />

A cartesian_coordinate_space_2d is a two-dimensional coordinate space. Any two-dimensional geometric and annotation<br />

element must be defined in a cartesian_coordinate_space_2d.<br />

A cartesian_coordinate_space_2d is a type of cartesian_coordinate_space.<br />

This object type has no attributes.<br />

4.3.10 cartesian_coordinate_space_3d<br />

A cartesian_coordinate_space_3d is a three-dimensional coordinate space. Any three-dimensional geometric data must be<br />

defined in a cartesian_coordinate_space_3d.<br />

A cartesian_coordinate_space_3d is a type of cartesian_coordinate_space.<br />

This object type has no attributes.<br />

54 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD DATA MODEL<br />

4.3.11 cartesian_point<br />

A cartesian_point is a point that is defined by its coordinates in a rectangular cartesian coordinate system.<br />

The following table shows the attributes of a cartesian_point:<br />

Attribute name<br />

name<br />

Description<br />

The name specifies the name by which the<br />

detailed_geometric_model_element is referred to.<br />

4.3.12 centre_of_mass<br />

A centre_of_mass is the centre of the mass of a body. The relative position of the centre_of_mass within the body is an invariant<br />

datum relative to rotation and translation. The centre_of_mass is a characteristic of an item, not its shape.<br />

The following table shows the attributes of a centre_of_mass:<br />

Attribute name<br />

description<br />

Description<br />

The description specifies additional information about the property_value.<br />

4.3.13 circle<br />

A circle is a planar unbounded curve where all points are equidistant from one point.<br />

The following table shows the attributes of a circle:<br />

Attribute name<br />

name<br />

Description<br />

The name specifies the name by which the<br />

detailed_geometric_model_element is referred to.<br />

4.3.14 classification_association<br />

A classification_association associates a general_classification with an object. The relation associated_classification specifies<br />

the general_classification object that provides classification information. The relation classified_element specifies the object that<br />

is classified.<br />

For the attribute role applicable the following values shall be used:<br />

* 'electromagnetic compatibility': The associated object is the classification that categorizes the classified element in respect of<br />

its ability to comply with requirements concerning electromagnetic interference;<br />

* 'environmental conditions': The associated object is the classification that categorizes the classified element with respect to its<br />

ability to comply with environmental impact requirements.<br />

The following table shows the requirements of a classification_association:<br />

Attribute name<br />

role<br />

Description<br />

The role specifies the relationship between the<br />

general_classification and the associated object.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

55


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.3.15 classification_attribute<br />

A classification_attribute is a characteristic used to classify an object associated with the corresponding general_classification.<br />

The following table shows the attributes of a classification_attribute:<br />

Attribute name<br />

id<br />

name<br />

description<br />

Description<br />

The id specifies the identifier of the classification_attribute that must be<br />

unique within the scope of the associated general_classification<br />

The name specifies the name by which the classification_attribute<br />

is referred to.<br />

The description specifies additional information about the<br />

classification_attribute.<br />

4.3.16 collaboration_definition<br />

A collaboration_definition is a definition of an item_version that is used within the collaboration between the mechanical and<br />

electrical domain. If an item of the PCB should be used within a collaboration a collaboration_definition should be instantiated<br />

for the item_version of this item. The relation associated_item_version is used to assign the collaboration_definition to the item.<br />

A collaboration_definition is a type of design_discipline_item_definition.<br />

The following table shows the attributes of a collaboration_definition:<br />

Attribute name<br />

id<br />

name<br />

description<br />

Description<br />

The id specifies the identifier of the design_discipline_item_definition.<br />

The name specifies a name of the design_discipline_item_definition.<br />

The collaboration_type specifies the kind of collaboration.<br />

The collaboration_type could be for example "moving of a mounting hole"<br />

or "placement under mechanical constraints".<br />

4.3.17 component_termination_passage<br />

A component_termination_passage is a type of plated_passage through which a component_terminal may pass.<br />

This object type has no attributes.<br />

4.3.18 component_termination_passage_template_interface_terminal<br />

A component_termination_passage_template_interface_terminal is a type of component_termination_passage_template_terminal,<br />

an occurrence of which provides an interface capability to the next level of assembly.<br />

This object type has no attributes.<br />

4.3.19 component_termination_passage_template_join_terminal<br />

A component_termination_passage_template_join_terminal is a type of component_termination_passage_template_terminal, an<br />

occurrence of which provides a fabrication join capability, within an optionally constrained set of stratum.<br />

This object type has no attributes.<br />

56 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD DATA MODEL<br />

4.3.20 component_termination_passage_template_terminal<br />

A component_termination_passage_template_terminal is a type of Shape_feature.<br />

This object type has no attributes.<br />

4.3.21 composite_curve<br />

A composite_curve is a curve that is composed of a number of curves which join end to end.<br />

A composite curve is a type of curve.<br />

Note: A composite_curve may be closed and self-intersecting.<br />

The following table shows the attributes of a composite_curve:<br />

Attribute name<br />

name<br />

Description<br />

The name specifies the name by which the<br />

detailed_geometric_model_element is referred to.<br />

4.3.22 constraint<br />

A constraint defines constraining information between items or properties of the model. The constraint_type specifies detailed<br />

information about the constraint.<br />

The following table shows the attributes of a constraint:<br />

Attribute name<br />

id<br />

name<br />

constraint_type<br />

Description<br />

The id specifies the identifier of the contraint that must be unique within<br />

the collaboration.<br />

The name specifies the name by which the constraint is referred to.<br />

The following values are recommended to use for the constraint_type:<br />

relating (e.g. to move parts together), placement (e.g. for clearance),<br />

or rotation (for rotation of elements).<br />

4.3.23 curve<br />

A curve is a path of a point moving in a coordinate space. A curve is an abstract data model element.<br />

A curve is a type of detailed_geometric_model_element.<br />

The following table shows the attributes of a curve:<br />

Attribute name<br />

name<br />

Description<br />

The name specifies the name by which the<br />

detailed_geometric_model_element is referred to.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

57


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.3.24 curve_on_surface<br />

A curve_on_surface is a curve that lies on a parametric surface. This includes the cases of a 3D curve representation together<br />

with the basis surface, a 2D curve representation within the parameter space of the surface, and a combination of both.<br />

A curve_on_surface is a type of curve.<br />

The following table shows the attributes of a curve_on_surface:<br />

Attribute name<br />

name<br />

Description<br />

The name specifies the name by which the<br />

detailed_geometric_model_element is referred to.<br />

4.3.25 curve_set_2d<br />

A curve_set_2d is a collection of a two-dimensional curve or point objects that establish a wireframe_model_2d.<br />

This object type has no attributes.<br />

4.3.26 cutout<br />

A cutout is a closed, internal shape in a substrate. A cutout may not extend completely through the substrate. The cutout is<br />

represented by a closed curve in two dimensional representations and by a manifold surface in three dimensional<br />

representations. A Cutout is a type of Inter_stratum_feature.<br />

This object type has no attributes.<br />

4.3.27 cutout_edge_segment<br />

A cutout_edge_segment defines an edge segment of a cutout. When the cutout_edge_segment participates in a cutout that is<br />

fully described by a collection of cutout_edge_segment, the end_vertex of the final segment shall be the start_vertex of the first<br />

segment. Pre-processors shall adhere to the requirement that the boundary this segment is contributing to shall be closed. A<br />

cutout_edge_segment is a type of inter_stratum_feature.<br />

This object type has no attributes.<br />

4.3.28 data_environment<br />

A data_environment is the specification of the conditions under which a material_property_value_representation is valid.<br />

Note: A data_environment may have the name"'standard" and the description "20 degrees Celsius, 75 % humidity".<br />

The following table shows the attributes of a data_environment:<br />

Attribute name<br />

description<br />

environment_name<br />

Description<br />

The description specifies additional information about the<br />

data_environment.<br />

The environment_name specifies the name by which the<br />

data_environment is referred to.<br />

58 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD DATA MODEL<br />

4.3.29 definition_based_product_occurrence<br />

A product_occurrence is the identification of an occurrence of an object in a product structure. It also specifies the design view of this occurrence.<br />

This object type has no attributes.<br />

4.3.30 design_discipline_item_definition<br />

A design_discipline_item_definition is a view of an item_version. This view is relevant for the requirements of one or more life<br />

cycle stages and application domains and collects product data of the item_version. If the item_version is used within a<br />

collaboration session the subtype collaboration_definition should be instantiated. If the item_version represents an assembly of<br />

items the subtype assembly_definition should be instantiated. Each design_discipline_item_definition may be any combination<br />

of assembly_definition and collaboration_definition.<br />

The associated_item_version specifies the item_version for which the design_discipline_item_definition is a view.<br />

The following table shows the attributes of a design_discipline_item_definition:<br />

Attribute name<br />

id<br />

name<br />

Description<br />

The id specifies the identifier of the design_discipline_item_definition.<br />

The name specifies a name of the design_discipline_item_definition.<br />

4.3.31 design_layer_stratum<br />

A design_layer_stratum is a type of stratum for the purpose of realizing a physical network in one material.<br />

This object type has no attributes.<br />

4.3.32 design_layer_technology<br />

A design_layer_technology is a type of stratum_technology. The design_layer_technology is a technology specification tailored<br />

for those materials intended to be used to implement the direct connectivity as described in a design.<br />

This object type has no attributes.<br />

4.3.33 detailed_geometric_model_element<br />

A detailed_geometric_model_element is the identification of a geometric element.<br />

Note: The detailed_geometric_model_element may be used to define the elements of a geometric_model.<br />

The following table shows the attributes of a detailed_geometric_model_element:<br />

Attribute name<br />

name<br />

Description<br />

The name specifies the name by which the<br />

detailed_geometric_model_element is referred to.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

59


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.3.34 digital_file<br />

A digital_file contains computer interpretable data stored in a physical file within the filesystem.<br />

This object type has no attributes.<br />

4.3.35 documentation_layer_stratum<br />

A documentation_layer_stratum is a type of stratum used to describe patterns and other artwork information needed to manufacture<br />

a stratum from materials which are not independently implementing a generic_physical_network in the printed circuit<br />

This object type has no attributes.<br />

4.3.36 documentation_layer_technology<br />

A documentation_layer_technology is a type of stratum_technology that may have patterns applied and whose purpose is not<br />

for directly implementing point to point connectivity as in the design_layer_technology.<br />

This object type has no attributes.<br />

4.3.37 ellipse<br />

An ellipse is a conic section defined by the lengths of the semi-major and semi-minor diameters and by the position (center or<br />

mid-point of the line joining the foci) and orientation of the curve.<br />

An ellipse is a type of curve.<br />

The following table shows the attributes of an ellipse:<br />

Attribute name<br />

name<br />

Description<br />

The name specifies the name by which the<br />

detailed_geometric_model_element is referred to.<br />

4.3.38 external_geometric_model<br />

An external_geometric_model is the identification of a model that contains geometry in a 3D context only.<br />

An external_geometric_model is a type of external_model. Each external_geometric_model may be an<br />

external_geometric_model_with_parameters.<br />

The following table shows the attributes of an external_geometric_model:<br />

Attribute name<br />

model_id<br />

description<br />

Description<br />

The model_id specifies the identifier of the external_model.<br />

The description specifies additional information about the external_model.<br />

60 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD DATA MODEL<br />

4.3.39 external_geometric_model_with_parameters<br />

An external_geometric_model_with_parameters is the identification of a model that contains geometry in a 3D context, and where<br />

some characteristics of the model may be controlled or changed in a predefined way in each occurrence of the model.<br />

Note: A geometric model may have predefined aspect ratios of its overall dimensions, but a parameterized volume. In each occurrence<br />

of the external_geometric_model_with_parameters, the volume may be specified by the user and the dimensions of the<br />

model are set automatically while the predefined aspect ratio requirements are met.<br />

An external_geometric_model_with_parameters is a type of external_geometric_model. The association parameter_value specifies<br />

the general_parameter objects that may be varied in each occurrence.<br />

The following table shows the attributes of an external_geometric_model_with_parameters:<br />

Attribute name<br />

model_id<br />

description<br />

Description<br />

The model_id specifies the identifier of the external_model.<br />

The description specifies additional information about the<br />

external_geometric_model_with_parameters.<br />

4.3.40 external_model<br />

An external_model is the identification of a model that is described in a digital_file and by the cartesian_coordinate_space that<br />

is needed to further process the externally described information. In the collaboration context each external_model is an<br />

external_geometric_model.<br />

The following table shows the attributes of an external_model:<br />

Attribute name<br />

model_id<br />

description<br />

Description<br />

The model_id specifies the identifier of the external_model.<br />

The description specifies additional information about the external_model.<br />

4.3.41 feature_parameter<br />

A feature_parameter is the representation of a characteristic of a feature_definition. In the <strong>ECAD</strong>/<strong>MCAD</strong> collaboration model the<br />

feature_parameter is used to define parameters of an external_geometric_model_with_parameters. The association parameter_value<br />

specifies the value of the feature_parameter. This includes information about units and possibly about limitations.<br />

The following table shows the attributes of a feature_parameter:<br />

Attribute name<br />

parameter_name<br />

Description<br />

The parameter_name specifies the character, abbreviation, or word by<br />

which the feature_parameter is referred to. Note "a", "b1", or "r"<br />

are typical examples for the parameter_name.<br />

4.3.42 filled_via<br />

A filled_via is a type of via.<br />

This object type has no attributes.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

61


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.3.43 general_classification<br />

A general_classification is a classification of an object which characterizes all objects of the same kind; such a classification is<br />

independent from the application of the classified object.<br />

Note: A resistor with subclasses, such as resistors with long or short connections, a bracket with subclasses, e.g., with 90 or<br />

100 degrees bending angle, or screws with subclasses such as metal screws or machine screws are examples for<br />

general_classification.<br />

The following table shows the attributes of a general_classification:<br />

Attribute name<br />

id<br />

description<br />

version_id<br />

Description<br />

The id specifies the identifier of the general_classification.<br />

The description specifies additional information about the<br />

general_classification.<br />

The version_id specifies the identification of a particular version of the<br />

general_classification.<br />

4.3.44 general_parameter<br />

A general_parameter is the association of an external_geometric_model_with parameters and a feature_parameter. The association<br />

parameter_value specifies the feature_parameter that has the value and possibly a name of the general_parameter.<br />

The following table shows the attributes of a general_parameter:<br />

Attribute name<br />

parameter_role<br />

Description<br />

The parameter_role specifies the kind of parameter that is represented by<br />

the general_parameter. Note "width" or "diameter" are examples for the<br />

parameter_role.<br />

4.3.45 general_property<br />

A general_property is the definition of a property that is specified by the attribute "property_type".<br />

Note: The noise emission of a fan on the PCB, maintenance intervals, and duration of parts, or electrical properties are examples<br />

for a general_property.<br />

A general_property is a type of property.<br />

The following table shows the attributes of a general_property:<br />

Attribute name<br />

description<br />

id<br />

version_id<br />

property_type<br />

Description<br />

The description specifies additional information about the property.<br />

The id specifies the identifier of the property.<br />

The version_id specifies the identification of a particular version of<br />

a property.<br />

The property_type specifies the kind of property the<br />

general_property defines.<br />

62 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD DATA MODEL<br />

4.3.46 general_shape_dependent_property<br />

A general_shape_dependent_property is a user-defined characteristic of an object. The 'property_value' specified by a<br />

general_shape_dependent_property is derived from geometry.<br />

Note: The general_shape_dependent_property may be used for the purpose of validation of geometric models.<br />

Note: If a geometry model is exchanged between two partners, the calculation of various properties of the bodies, such as<br />

centre of mass, overall surface, or overall volume, is performed by originator and recipient. When comparing these set of<br />

values, the existence of deficiencies in the received model can be easily detected.<br />

A general_shape_dependent_property is a type of shape_dependent_property.<br />

The following table shows the attributes of a general_shape_dependent_property:<br />

Attribute name<br />

description<br />

property_type<br />

property_value<br />

Description<br />

The description specifies additional information about the<br />

property_value of the shape_dependent_property.<br />

The property_type defines the type of characteristic that is specified<br />

for an object.<br />

The property_value specifies the value that is given for a particular<br />

characteristic.<br />

4.3.47 geometric_model<br />

A geometric_model is a representation of geometry. In the <strong>ECAD</strong>/<strong>MCAD</strong> collaboration three different models must be used:<br />

wireframe_model_2d: Is used to represent 2D information, e.g. board outline.<br />

b_rep_model: Is used to represent 3D geometry with a boundary representation, e.g. 3D shape of a component (this model<br />

will be described in further versions of the recommendation).<br />

hybrid_model: Is used to represent 3D geometry with history information, e.g. 3D shape of a component with feature structure<br />

of the 3D-CAD system (this model will be described in further versions of the recommendation).<br />

This object type has no attributes.<br />

4.3.48 geometric_model_relationship_with_transformation<br />

A geometric_model_relationship_with_transformation is a relationship between two model objects with the additional information<br />

about a geometric transformation. This transformation defines the location and orientation of the related model relative to the<br />

relating model. The association model_placement specifies the geometric transformation that places and orients the related<br />

model relative to the relating model.<br />

This object type has no attributes.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

63


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.3.49 hybrid_geometric_model_3D<br />

A hybrid_geometric_model_3d is a representation of geometry that consists of a set of detailed_geometric_model_element objects.<br />

The details of a hybrid_geometric_model_3d will be described in further versions of the recommendation.<br />

This object type has no attributes.<br />

4.3.50 hyperbola<br />

A hyperbola is one branch of an open conic section defined by its radius, imaginary radius, the centre point and the direction<br />

of the line joining the centre to the focus.<br />

A hyperbola is a type of curve.<br />

The following table shows the attributes of a hyperbola:<br />

Attribute name<br />

name<br />

Description<br />

The name specifies the name by which the<br />

detailed_geometric_model_element is referred to.<br />

4.3.51 instance_placement<br />

An instance_placement is the information pertaining to the placement of a single_instance, which is defined in the cartesian<br />

coordinate space of the product used within the collaboration.<br />

Note: An instance_placement is used to define the position of each occurence of e.g. a resistor component of the PCB. For<br />

each resistor an individual instance_placement has to be defined.<br />

This object type has no attributes.<br />

4.3.52 inter_stratum_feature<br />

An inter_stratum_feature is a type of laminate_component. An inter_stratum_feature spans one or more stratum.<br />

The association inter_stratum_feature_stratum specifies stratum(s) which are related to the inter_stratum_feature.<br />

Note: An inter_stratum_feature may be realized by removal of material by drilling, routing, punching, chemically etching, laser<br />

burning, or otherwise penetrating one or more sequential stratum; by the addition of material; or by combining both removal<br />

and addition of material in the fabrication process.<br />

The following table shows the attributes of a inter_stratum_feature:<br />

Attribute name<br />

feature of size<br />

Description<br />

Specifies whether or not the inter_stratum_feature interfaces with a feature<br />

of another product in an assembly context. A value of TRUE specifies<br />

that it interfaces. A value of FALSE specifies that it does not interface.<br />

vertical_extent<br />

64 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD DATA MODEL<br />

4.3.53 interconnect_module_constraint_region<br />

An interconnect_module_constraint_region is a region within an interconnect_module in which a placement constraint on some<br />

category of design object is to be met by the design.<br />

An interconnect_module_constraint_region may overlap other interconnect_module_constraint_regions.<br />

The following table shows the attributes of an item:<br />

Attribute name<br />

keepout<br />

constrained_design_object_category<br />

Description<br />

Specifies if the meaning of the interconnect_module_constraint_region is to<br />

describe that items shall be in the interior of the element_shape or shall be<br />

on the exterior of the element_shape. The value of TRUE states that objects<br />

in the constrained_design_object_category are not to be within the<br />

element_shape. The value of FALSE states that objects in the<br />

constrained_design_object_category are to be only within the<br />

element_shape.<br />

Specifies object categories for the interconnect_module_constraint_region.<br />

The names shall be interpreted as the identification of Application Object<br />

categories to be constrained.<br />

4.3.54 item<br />

An item is a representation for any object used within the <strong>ECAD</strong>/<strong>MCAD</strong> collaboration. It collects the information that is<br />

common to all versions of the object. An item could be classified or grouped using the general_classification or the<br />

specific_item_classification objects within the data model. If the item is used in a collaboration session the<br />

collaboration_definition object should instantiated in order to detail the collaboration information of the item. Additionally, if<br />

an assembly_definition exists for at least one version of the item, the item must be classified as being an "assembly" using<br />

specific_item_classification.<br />

Note: An item may be either a single piece part or an assembly.<br />

Example: In the context of <strong>ECAD</strong>/<strong>MCAD</strong> collaboration an item may be the mechatronic product as a whole, the assembly of<br />

the PCB, the shape of the board outline or electrical/mechanical components such as resistors, capacitors, LED displays, plugs<br />

etc.<br />

The following table shows the attributes of an item:<br />

Attribute name<br />

id<br />

name<br />

description<br />

Description<br />

The id specifies the identifier of the item. For the id, an owner must be<br />

specified by a person_organization_assignment with role "id owner".<br />

The id must be unique within the scope of the organization that is<br />

specified by the person_organization_assignment.<br />

The name specifies the name of the item.<br />

The description specifies additional information about the item.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

65


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.3.55 item_contraint<br />

An item_constraint is used to constrain the relation between two or more items. The type of item_contraint needs to be specified<br />

with the constraint_type attribute.<br />

An item_constraint is a type of constraint.<br />

The following table shows the attributes of an item:<br />

Attribute name<br />

id<br />

name<br />

constraint_type<br />

Description<br />

The id specifies the identifier of the contraint that must be unique within<br />

the collaboration.<br />

The name specifies the name by which the constraint is referred to.<br />

The following values are recommended to use for the constraint_type:<br />

relating (e.g. to move parts together), placement (e.g. for clearance),<br />

or rotation (for rotation of elements).<br />

4.3.56 item_definition_instance_relationship<br />

An item_definition_instance_relationship is a relationship between a design_discipline_item_definition and an item_instance.<br />

Within a collaboration session the item_definition_instance_relationship is used to represent the assembly information of the<br />

product structure. Therefore the subtype assembly_component_relationship should be used. The association related<br />

specifies the item_instance that is part of the item_definition_instance_relationship. The association relating specifies the<br />

design_discipline_item_definition that is part of the assembly.<br />

This object type has no attributes.<br />

4.3.57 item_instance<br />

An item_instance is the occurrence of an object in a product structure, e.g. a resistor is defined once within a PCB. Its<br />

design_discipline_item_definition carries all the information necessary to define the resistor (e.g., its shape and properties)<br />

indepedent of its usage. Additionally, there are five item_instance objects for this resistor since there are five equal resistors used<br />

in the PCB. Each of these instances may carry additional information such as placement or properties.<br />

The following table shows the attributes of an item_instance:<br />

Attribute name<br />

description<br />

id<br />

Description<br />

The description specifies additional information about the item_instance.<br />

The id specifies the identifier of the item_instance.<br />

4.3.58 item_property_association<br />

An item_property_association is a mechanism to associate a property value with an object.<br />

This object type has no attributes.<br />

66 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD DATA MODEL<br />

4.3.59 item_shape<br />

An item_shape is the definition of the shape of a design_discipline_item_definition or an item_instance.<br />

The following table shows the attributes of an item_shape:<br />

Attribute name<br />

described_object<br />

Description<br />

The described_object specifies the object whose shape the item_shape<br />

defines.<br />

4.3.60 item_version<br />

An item_version is a version of an item and serves as the collector of the data characterizing a physically realizable object in<br />

various application contexts. An item_version may be produced, consumed, used to produce other item_version objects,<br />

or offered to the market. The set of item_version objects of an item represents the history of the item within a particular<br />

life cycle stage or over its complete life cycle. The item_version_relationship is used to define the relationship between<br />

two different item_versions. Within the collaboration session an item_version is used to define different versions of collaboration<br />

objects.<br />

The following table shows the attributes of an item_version:<br />

Attribute name<br />

id<br />

description<br />

Description<br />

The id specifies the identifier of the item_version. The id must be unique<br />

within the scope of the associated item. A particular object is identified by<br />

the id of the item_version.<br />

The description specifies additional information about the item_version.<br />

4.3.61 laminate_component<br />

A laminate_component is a type of assembly_component. All laminate_component types are realized as part of the manufacturing<br />

process that produces the interconnect.<br />

This object type has no attributes.<br />

4.3.62 line<br />

A line is an unbounded curve that is defined by a point and a vector. The positive direction of the line is in the direction of the<br />

vector and the magnitude of the vector controls the parametrization.<br />

A line is a type of curve.<br />

The following table shows the attributes of a line:<br />

Attribute name<br />

name<br />

Description<br />

The name specifies the name by which the<br />

detailed_geometric_model_element is referred to.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

67


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.3.63 material<br />

A material is the substance out of which an item is or can be made.The association described_element specifies the objects the<br />

material information is provided for.<br />

The following table shows the attributes of a line:<br />

Attribute name<br />

material_name<br />

Description<br />

The material_name specifies the name by which the material is referred to.<br />

4.3.64 material_property<br />

A material_property is a characteristic that depends on material aspects. A material_property is a type of property.<br />

The following table shows the attributes of a material_property:<br />

Attribute name<br />

description<br />

id<br />

version_id<br />

property_name<br />

Description<br />

The description specifies additional information about the property.<br />

The id specifies the identifier of the property.<br />

The version_id specifies the identification of a particular version<br />

of a property.<br />

The property_name specifies the kind of material_property.<br />

Note: 'EM1' is an example for a "property_name" that may be associated<br />

with a material_property that is described as 'elastic modulus'.<br />

4.3.65 material_property_association<br />

A material_property_association is an object that associates a material object with a material_property_value_representation<br />

object.<br />

This object type has no attributes.<br />

4.3.66 material_property_value_representation<br />

A material_property_value_representation is the representation of a characteristic of a material.<br />

The association definition specifies the material_property that defines the material_property_value_representation.<br />

The association environment_condition specifies the environmental conditions in which the defined<br />

material_property_value_representation is applicable.<br />

This object type has no attributes.<br />

4.3.67 moments_of_inertia<br />

A moments_of_inertia describes the matrix of inertia of a rigid body. The moments of inertia are described with the 9 inertia<br />

coefficients.<br />

A moments_of_inertia is a type of property_value.<br />

The following table shows the attributes of a moments_of_inertia:<br />

Attribute name<br />

description<br />

Description<br />

The description specifies additional information about the property_value.<br />

68 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD DATA MODEL<br />

4.3.68 next_higher_assembly<br />

A next_higher_assembly is a relationship where the association "related" specifies a constituent of an assembly and the association<br />

"relating" specifies the immediate parent assembly of the constituent.<br />

Note: A constituent may be a single part or an assembly.<br />

A next_higher_assembly is a type of assembly_component_relationship.<br />

This object type has no attributes.<br />

4.3.69 non_feature_shape_element<br />

A non_feature_shape_element is a type of Shape_element that is not on the physical boundary of a Part_view_definition.<br />

This object type has no attributes.<br />

4.3.70 numerical_value<br />

A numerical_value is a quantity expressed with a numerical value and a unit.<br />

A numerical_value is a type of value_with_unit.<br />

The following table shows the attributes of a numerical_value:<br />

Attribute name<br />

value_name<br />

value_component<br />

Description<br />

The value_name specifies the name by which the property_value is referred to.<br />

Note: "l1" or "vol2" are examples for the value_name of a Property_value.<br />

The value_component specifies the quantity of the numerical_value.<br />

4.3.71 offset_curve<br />

An offset_curve is a curve in 2D or 3D space that is defined as a set of points for which there is at least one point on the basis<br />

curve that is at the offset distance of the considered point. At a given point of the basis curve, the distance is measured along<br />

a vector that is the normalized cross product of the tangent of the basis curve at this point, and of a reference direction vector.<br />

Note: The reference direction of the offset must be defined. An offset_curve must not self-intersect and may reference any type<br />

of curve except another offset_curve.<br />

An offset_curve is a type of curve.<br />

The following table shows the attributes of an offset_curve:<br />

Attribute name<br />

name<br />

Description<br />

The name specifies the name by which the<br />

detailed_geometric_model_element is referred to.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

69


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.3.72 organization<br />

An organization is a group of people involved in a particular business process.<br />

The following table shows the attributes of an organization:<br />

Attribute name<br />

organization_name<br />

id<br />

Description<br />

The organization_name specifies the name used to refer to the organization.<br />

The id specifies the identifier of the organization.<br />

4.3.73 parabola<br />

A parabola is an open conic curve defined by its focal length, apex and the direction of the line joining the apex and focus.<br />

A parabola is a type of curve.<br />

The following table shows the attributes of a parabola:<br />

Attribute name<br />

name<br />

Description<br />

The name specifies the name by which the<br />

detailed_geometric_model_element is referred to.<br />

4.3.74 part_feature<br />

A part_feature is a type of shape_feature.<br />

The following table shows the attributes of a part_feature:<br />

Attribute name<br />

material_state_change<br />

Description<br />

Specifies whether the material state change for the part_feature is due to<br />

addition of material or due to removal of material.<br />

4.3.75 part_mounting_feature<br />

A part_mounting_feature is a type of part_feature that is identified to facilitate tolerance specification when an occurrence of the<br />

associated part is used in an assembly.<br />

This object type has no attributes.<br />

4.3.76 partially_plated_cutout<br />

A partially_plated_cutout is a type of cutout that is not a completely plated cutout for reason of manufacturing capabilities or<br />

design purposes.<br />

This object type has no attributes.<br />

70 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD DATA MODEL<br />

4.3.77 person<br />

A person within the collaboration is an individual human being who has some relationship to product data used within the collaboration.<br />

The person must always be identified in the context of one or more organizations.<br />

The following table shows the attributes of a person:<br />

Attribute name<br />

person_name<br />

Description<br />

The person_name specifies the name used to refer to the Person.<br />

Note: The person_name includes the first, middle, and last names as well<br />

as titles, if applicable.<br />

4.3.78 person_in_organization<br />

A person_in_organization is the specification of a person in the context of an organization. The association associated_organization<br />

specifies the organization with which the person is associated. The association associated_person specifies the person.<br />

The following table shows the attributes of a person_in_organization:<br />

Attribute name<br />

role<br />

location<br />

id<br />

Description<br />

The role specifies the relationship between the person and the organization.<br />

The location specifies the relevant address of the person_in_organization.<br />

The id specifies an identifier of the person. The identifier must be unique<br />

within the scope of the "associated_organization".<br />

Note: The id may be a staff number or a user id in a computer system.<br />

4.3.79 person_organization_assignment<br />

A person_organization_assignment is an object that associates an organization or a person_in_organization with the product<br />

data used in the collaboration. The role attribut of the person_organization_assignment must be used in a <strong>MCAD</strong>/<strong>ECAD</strong><br />

collaboration with the following values:<br />

Project manager: A project manager is responsible for the overall project, defines the mechanical and electrical product<br />

structure, requirements, and tasks. The project manager controls the results.<br />

Mechanical designer: A mechanical designer designs the surrounding geometry in the mechanical 3D CAD system. A mechanical<br />

designer fulfills the requirements of the project manager and defines the requirements for the PCB development based on<br />

mechanical constraints.<br />

Mechanical digital mock-up: A person doing a digital mock-up (DMU) performs 3D-interference checks in a mechanical 3D CAD<br />

system. This person checks whether the current design fits with the surrounding geometry. Within the DMU the 3D representation<br />

of the mechanical and electrical design is used.<br />

Electrical designer: An electrical designer designs the schematics of the PCB. His output is the netlist as an input for the layout<br />

of the PCB, which is done by the <strong>ECAD</strong> layouter. The electrical designer fulfills the requirements of the project manager and<br />

<strong>MCAD</strong> designers.<br />

Electrical layouter: An electrical layouter designs the layout of the PCB in the <strong>ECAD</strong> system. The electrical layouter fulfills the<br />

requirements of the project manager, <strong>ECAD</strong> designers and <strong>MCAD</strong> designers.<br />

Thermal: The role thermal is used for a person who performs thermal analysis based on the PCB layout. This person checks whether<br />

heating, cooling, security and other thermal requirements are fulfilled by the current PCB design.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

71


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

EMI/EMC: The role EMI/EMC is used for a person who analyzes whether the current PCB design fulfills the requirements<br />

concerning the electromagnetic compatibility (EMC), which require that the system is able to tolerate a specified degree of<br />

electromagnetic interference (EMI) and does not generate more than a specified amount of interference.<br />

The following table shows the attributes of a person_organization_assignment:<br />

Attribute name<br />

role<br />

Description<br />

The role specifies the responsibility of the assigned Person or organization<br />

with respect to the object that it is applied to.<br />

4.3.80 physical_connectivity_interrupting_cutout<br />

A physical_connectivity_interrupting_cutout is a type of cutout that is included in the design of an interconnect_module for the<br />

purpose of interrupting one or more connectivity elements in an interconnect_module.<br />

This object type has no attributes.<br />

4.3.81 plated_cutout<br />

A plated_cutout is an interior volume of the substrate, such as a void included for passage of a shaft, and may be plated for<br />

EMI shielding purposes. This object conveys the semantic that the interior referenced by the related shape is conductive.<br />

A plated_cutout is a type of plated_inter_stratum_feature and a type of cutout.<br />

This object type has no attributes.<br />

4.3.82 plated_cutout_edge_segment<br />

The Plated_cutout_edge_segment is a feature with a specified shape that makes up part of the edge of a partially plated cutout.<br />

A plated_cutout_edge_segment is a type of plated_inter_stratum_feature and is a type of cutout_edge_segment.<br />

This object type has no attributes.<br />

4.3.83 plated_inter_stratum_feature<br />

A plated_inter_stratum_feature is a inter_stratum_feature with deposited metal on its walls that makes an electrical connection<br />

between conductive patterns on internal design_layer_stratum, external design_layer_stratum, or both, of a printed circuit<br />

board. A plated_inter_stratum_feature is a type of inter_stratum_feature.<br />

This object type has no attributes.<br />

4.3.84 plated_passage<br />

A plated_passage is a type of plated_inter_stratum_feature. A plated_passage may be either a component_termination_passage<br />

or a via.<br />

This object type has no attributes.<br />

72 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD DATA MODEL<br />

4.3.85 point<br />

A point is a location in a Cartesian coordinate space.<br />

A point is an abstract data model element.<br />

The following table shows the attributes of a point:<br />

Attribute name<br />

name<br />

Description<br />

The name specifies the name by which the<br />

detailed_geometric_model_element is referred to.<br />

4.3.86 point_on_curve<br />

A point_on_curve is a point that is defined by evaluating a given curve at a specified parameter value.<br />

Note: A point_on_curve implicitly represents the topological relation between a point and a curve.<br />

A point_on_curve is a type of point.<br />

The following table shows the attributes of a point_on_curve:<br />

Attribute name<br />

name<br />

Description<br />

The name specifies the name by which the<br />

detailed_geometric_model_element is referred to.<br />

4.3.87 point_on_surface<br />

A point_on_surface is a point that is defined in the domain of a surface. Its actual location in 3D geometric space is obtained<br />

by evaluating the parametric equation of the surface with a particular pair of parameter values.<br />

Note: The object implicitly represents the topological relation between a point and a surface.<br />

A point_on_surface is a type of point.<br />

The following table shows the attributes of a point_on_surface:<br />

Attribute name<br />

name<br />

Description<br />

The name specifies the name by which the<br />

detailed_geometric_model_element is referred to.<br />

4.3.88 polyline<br />

A polyline is a curve that is represented by n-1 linear segments, defined by a list of n points. A polyline may be closed and may<br />

self-intersect.<br />

A polyline is a type of curve.<br />

The following table shows the attributes of a polyline:<br />

Attribute name<br />

name<br />

Description<br />

The name specifies the name by which the<br />

detailed_geometric_model_element is referred to.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

73


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.3.89 printed_part_template_terminal<br />

A printed_part_template_terminal is a terminal of a printed_part_template. A Printed_part_template_terminal is a type of shape_feature.<br />

This object type has no attributes.<br />

4.3.90 printed_part_cross_section_template_terminal<br />

A pPrinted_part_cross_section_template_terminal is a type of printed_part_template_terminal that is the terminal of the<br />

printed_part_cross_section_template.<br />

This object type has no attributes.<br />

4.3.91 printed_part_template_interface_terminal<br />

A printed_part_template_interface_terminal is a type of printed_part_template_terminal, an occurrence of which is an external<br />

access to the printed circuit board of which it is a component.<br />

This object type has no attributes.<br />

4.3.92 printed_part_template_join_terminal<br />

A printed_part_template_join_terminal is a type of printed_part_template_terminal an occurrence of which provides access to<br />

the functionality of the printed_part_template from within a printed circuit board.<br />

This object type has no attributes.<br />

4.3.93 printed_part_template_terminal<br />

A printed_part_template_terminal is a terminal of a printed_part_template. A printed_part_template_terminal is a type of Shape_feature.<br />

This object type has no attributes.<br />

4.3.94 property<br />

A property is the definition of a particular quality. Within the collaboration each property is defined as a material_property or<br />

a general_property.<br />

Note: A property may reflect physics or arbitrary user defined measurements.<br />

The following table shows the attributes of a property:<br />

Attribute name<br />

description<br />

id<br />

version_id<br />

Description<br />

The description specifies additional information about the property.<br />

The id specifies the identifier of the property.<br />

The version_id specifies the identification of a particular version<br />

of a property.<br />

74 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD DATA MODEL<br />

4.3.95 property_value<br />

A property_value is the numerical or textual value of a property_value_representation. Each property_value is a value_list, a<br />

string_value, or a value_with_unit.<br />

The following table shows the attributes of a property_value:<br />

Attribute name<br />

value_name<br />

Description<br />

The value_name specifies the name by which the<br />

property_value is referred to.<br />

Note: "l1" or "vol2" are examples for the value_name of a property_value.<br />

4.3.96 property_value_association<br />

A property_value_association is a mechanism to assign a property_value_representation to an object.<br />

This object type has no attributes.<br />

4.3.97 property_value_representation<br />

A property_value_representation is the representation of property.<br />

The association definition specifies the property that the property_value_representation characterizes.<br />

The association specified_value specifies the property_value that qualifies the property_value_representation by a value_with_unit.<br />

For the value_determination the following values must be used:<br />

calculated: The value has been calculated;<br />

designed: The value represents a value intended by the design;<br />

estimated: The value has been estimated;<br />

measured: The value has been measured;<br />

required: The value represents a requirement;<br />

set point: The value is used as the initialization value.<br />

The following table shows the attributes of a property_value_representation:<br />

Attribute name<br />

value_determination<br />

Description<br />

The value_determination specifies information on how the<br />

property_value_representation must be interpreted.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

75


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.3.98 property_constraint<br />

A property_constraint defines constraints between two or more properties.<br />

An property_constraint is used to constrain the relation between two or more properties. The type of property_constraint needs<br />

to be specified with the constraint_type attribute.<br />

A property_constraint is a type of constraint.<br />

The following table shows the attributes of a property_constraint:<br />

Attribute name<br />

id<br />

name<br />

constraint_type<br />

Description<br />

The id specifies the identifier of the contraint that must be unique within<br />

the collaboration.<br />

The name specifies the name by which the constraint is referred to.<br />

The constraint_type specifies the dependencies between the constrained<br />

properties, e.g. "identical values", "derived" are are examples for the<br />

constraint_type of a property_constraint.<br />

4.3.99 shape_dependent_property<br />

A shape_dependent_property is a characteristic of the shape, or of a portion of the shape of an object. This object is either an<br />

item, an occurrence of an item in the product structure or the physical realization of an item.<br />

Note: A shape_dependent_property is independent of the representations of the shape.<br />

Each shape_dependent_property is a centre_of_mass, a moments_of_inertia, or a general_shape_dependent_property.<br />

The following table shows the attributes of a shape_dependent_property:<br />

Attribute name<br />

description<br />

Description<br />

The description specifies additional information about the<br />

shape_dependent_property.<br />

4.3.100 shape_description<br />

A shape_description is either a geometric_model or a external_geometric_model.<br />

This object type has no attributes.<br />

4.3.101 shape_element<br />

A shape_element is a portion of shape that has to be identified explicitly to be associated with other information.<br />

This object type has no attributes.<br />

4.3.102 shape_feature<br />

A shape_feature is a type of shape_element.<br />

This object type has no attributes.<br />

76 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD DATA MODEL<br />

4.3.103 single_instance<br />

A single_instance is one particular occurrence of an object that is defined as a design_discipline_item_definition.<br />

A single_instance may or may not be associated with placement information using an instance_placement.<br />

Note: In a PCB, a capacitor is used as a single_instance and its position is specified by a geometric transformation.<br />

A single_instance is a type of item_instance.<br />

The following table shows the attributes of an single_instance:<br />

Attribute name<br />

description<br />

id<br />

Description<br />

The description specifies additional information about the item_instance.<br />

The id specifies the identifier of the item_instance.<br />

4.3.104 stratum<br />

A stratum consists of a single material within an interconnect substrate. The vertical contours of either boundary surface may<br />

vary. Thus, the thickness of the stratum may vary throughout its range. The material used may be specific, such as 24K gold, or<br />

more general, such as etched copper.<br />

A stratum is a type of item_shape. The association Stratum_Stratum_technology qualifies the stratum_technology of this stratum.<br />

The following table shows the attributes of an single_instance:<br />

Attribute name<br />

id<br />

of_technology<br />

stratum_surface_designation<br />

Description<br />

The identifier that distinguishes the stratum.<br />

Specifies a role of the stratum_technology for the stratum.<br />

Kind of designation of the stratum, either average or primary or secondary.<br />

4.3.105 stratum_feature_template_component<br />

A stratum_feature_template_component is a type of inter_stratum_feature.<br />

This object type has no attributes.<br />

4.3.106 stratum_technology<br />

stratum_technology is a means to provide material properties, parametric data associated with the technology, and material<br />

identification. A stratum_technology maybe either a design_layer_technology or a documentation_layer_technology.<br />

The following table shows the attributes of an single_instance:<br />

Attribute name<br />

name<br />

layer_position<br />

id<br />

Description<br />

The words by which the stratum_technology is known.<br />

Specifies the alphanumeric identifier of a stratum_technology.<br />

Specifies one of the layer_position_types of the stratum for the<br />

stratum_technology. Primary and secondary shall only be used if the<br />

member of stratum_technology is a design_layer_technology.<br />

Unique identifier.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

77


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.3.107 structured_printed_part_template_terminal<br />

A structured_printed_part_template_terminal is a terminal of a structured_printed_part_template. A printed_part_template_terminal<br />

is a type of shape_feature.<br />

This object type has no attributes.<br />

4.3.108 thermal_component<br />

A thermal_component is a type of assembly_component that is included in the design in order to satisfy a heat flow requirement.<br />

This object type has no attributes.<br />

4.3.109 transformation<br />

A transformation is a geometric transformation composed of translation and rotation. Scaling is not included. Each transformation is<br />

a transformation_3d or a transformation_2d<br />

This object type has no attributes.<br />

4.3.110 transformation_2d<br />

A transformation_2d is the definition of a geometric transformation in 2D space.<br />

A transformation_2d is a type of transformation.<br />

This object type has no attributes.<br />

4.3.111 transformation_3d<br />

A transformation_3d is the definition of a geometric transformation in 3D space.<br />

A transformation_3d is a type of transformation.<br />

This object type has no attributes.<br />

4.3.112 trimmed_curve<br />

A trimmed_curve is a curve of finite length that is the result of trimming a curve between two points. The trimming points are the<br />

start and end points of the trimmed_curve. These points may be specified by cartesian points or by parameter values.<br />

A trimmed_curve is a type of curve.<br />

The following table shows the attributes of a shape trimmed_curve:<br />

Attribute name<br />

name<br />

Description<br />

The name specifies the name by which the<br />

detailed_geometric_model_element is referred to.<br />

78 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD DATA MODEL<br />

4.3.113 unit<br />

A unit is a quantity defined as a standard in terms of which other quantities may be expressed. The types of units should use SI<br />

unit standard in order to ensure a consistent interpretation of units within a collaboration.<br />

Within a collaboration, it should be possible to use different unit systems. Each system must be able to convert a foreign unit<br />

based on the standard SI unit system.<br />

The following table shows the attributes of a shape unit:<br />

Attribute name<br />

unit_name<br />

Description<br />

The unit_name specifies the term representing the kind of unit.<br />

Note: "gram", "litre", or "volt" are examples for the unit_name.<br />

4.3.114 unsupported_passage<br />

An unsupported_passage has no metallization in the realization of its walls. An unsupported_passage is a type of inter_stratum_feature.<br />

This object type has no attributes.<br />

4.3.115 value_limit<br />

A value_limit is a qualified numerical value representing either the lower limit or the upper limit of a particular physical<br />

characteristic.<br />

Note: "30.5 maximum" and "5 minimum" are examples for a value_limit.<br />

A value_limit is a type of value_with_unit.<br />

The following table shows the attributes of a value_limit:<br />

Attribute name<br />

value_name<br />

limit<br />

limit_qualifier<br />

Description<br />

The value_name specifies the name by which the<br />

property_value is referred to.<br />

The limit specifies the value of the limit.<br />

The limit_qualifier specifies the kind of limit. The following values must<br />

be used: "maximum": The specified limit is an upper limit; "minimum":<br />

The specified limit is a lower limit.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

79


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.3.116 value_range<br />

A value_range is a pair of numerical values representing the range in which the value must lie.<br />

A value_range is a type of value_with_unit.<br />

The following table shows the attributes of a value_range:<br />

Attribute name<br />

value_name<br />

upper_limit<br />

lower_limit<br />

Description<br />

The value_name specifies the name by which the<br />

property_value is referred to.<br />

The upper_limit specifies the maximum acceptable value that is<br />

constrained by the value_range.<br />

The lower_limit specifies the minimum acceptable value that is constrained<br />

by the value_range.<br />

4.3.117 value_with_unit<br />

A value_with_unit is either a single numerical measure, or a range of numerical measures with upper, lower, or upper and<br />

lower bounds.<br />

A value_with_unit is a type of property_value. Each value_with_unit is a value_range, a numerical_value, or a value_limit.<br />

The following table shows the attributes of a value_with_unit:<br />

Attribute name<br />

value_name<br />

Description<br />

The value_name specifies the name by which the<br />

property_value is referred to.<br />

4.3.118 via<br />

A via is a type of plated_passage. Via is defined in IEC 60050-541.<br />

This object type has no attributes.<br />

4.3.119 wireframe_model_2d<br />

A wireframe_model_2d is a collection of curve_set_2d objects, i.e., curve and point objects defined in two-dimensional<br />

space.<br />

This object type has no attributes.<br />

80 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD DATA MODEL<br />

4.4 Implementation steps and functional scope<br />

The following in Figure 17 depicted three functional scopes have been defined to support the different steps:<br />

Figure 17: Implementation steps<br />

Step 1: Basic component-related collaboration = Package 1,2,3,6<br />

Step 1 allows <strong>ECAD</strong>/<strong>MCAD</strong> collaboration based on components, component properties and the geometric position of<br />

components.<br />

Example: The question of whether the position of an electrical component can be changed is to be clarified<br />

within a collaboration.<br />

Step 2: Advanced shape-related collaboration = Step 1 + Package 4, 7, 8, 9<br />

In addition to the functionality provided in Step 1, Step 2 allows collaboration based on geometry-dependent information. This<br />

means that simple geometric models need to be supported within the collaboration.<br />

Example: The new geometry of the PCB is to be harmonized within a collaboration. To do this, the board<br />

outline must be transferred between the collaborating systems.<br />

Step 3: Constraint-based <strong>ECAD</strong>/<strong>MCAD</strong> collaboration = Step 2 + Package 5<br />

An implementation in Step 3 can also handle constraints within the collaboration. These constraints can be defined in both the<br />

<strong>ECAD</strong> and the <strong>MCAD</strong> environments.<br />

Example: Within a collaboration, an <strong>ECAD</strong> engineer specifies that three electrical components can only be moved<br />

together (due to electrical constraints). This constraint can then be transferred to the <strong>MCAD</strong> system within the framework<br />

of the collaboration so that any repositioning in the <strong>MCAD</strong> system will also involve all three components.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

81


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.5 Mapping logic<br />

4.5.1 Package 1: item definition and product structure<br />

The mapping in Package 1 is shown in Figure 18 below.<br />

The mapping between the application-driven data model and the implementation-driven data model (EDMDSchema) is characterized<br />

in Package 1 by a high level of grouping of object structures and the relationships between objects.<br />

The reason behind the groupings of objects in EDMDSchema is the fact that only the collaboration view is available in EDMDSchema<br />

and, in this view, it is the assembly component relationships and the information on the position of the items which are of interest. However,<br />

the strict separation between the actual definition of an object (item) and the various instances of this object (item_instance) remains important.<br />

Since only one specific version can be viewed within the collaboration, additional version control mechanisms (item_version) are not required.<br />

For these reasons, the information about the item and the item_version is grouped together and mapped by the object EDMDItem.<br />

The instantiation of the EDMDItem object thus always contains the use of exactly one version of the object within the collaboration.<br />

The assembly placement and view information are mapped by the object EDMDItemInstance. The assembly placement (next_higher_assembly)<br />

in the EDMD schema is realized by a relation between the EDMDItem and EDMDItemInstance object.<br />

Information on the position (transformation) is mapped within the assembly using EDMDTransformation and assigned directly to EDMDItemInstance.<br />

No explicit distinction is made between 2D and 3D transformation. EDMDTransformation is able to map both sets of information.<br />

82 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Figure 18: Mapping in Package 1<br />

83<br />

84


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.5.2 Package 2: item classification and grouping<br />

The mapping in Package 2 is shown in Figure 19 below.<br />

Figure 19: Mapping classification and grouping mechanisms<br />

EDMDSchema offers only one grouping mechanism, EDMDGroup. The classification mechanism EDMDGeneralClassification is derived<br />

from EDMDGroup.<br />

85 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD DATA MODEL<br />

4.5.3 Package 3: person and organization information<br />

The mapping in Package 3 is shown in Figure 20 below.<br />

Figure 20: Mapping the organizational units and roles<br />

All the important object types for mapping the organizational units and roles were modeled in EDMDSchema. To facilitate processing,<br />

EDMDRoleOnItem and EDMDRoleInOrganisation were derived from EDMDRole. EDMDRole represents a general concept for mapping<br />

roles in the given context. EDMDRoleOnItem was extended in such a way that the context can also be an ItemInstance.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

86


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.5.4 Package 4: <strong>ECAD</strong> shape information<br />

The mapping in Package 1 is shown in Figure 21 below.<br />

The shape information is always mapped using the same pattern. Because the <strong>MCAD</strong> system in particular is not able to<br />

interpret most of the information relating to the functions of a shape in the context of an electrical circuit, only the most important<br />

super types were modeled as real types. However, these types each contain a type that maps the original function of the<br />

shape.<br />

87 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Figure 21: Mapping the shape information<br />

88<br />

89


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.5.5 Package 5: constraint definition<br />

The mapping in Package 1 is shown in Figure 22 below.<br />

Figure 22: Mapping the constraints<br />

In EDMDSchema, the constraints are mapped using two different mechanisms. In the user-driven data model a general type of<br />

dependency is defined and then specialized, in the EDMDSchema, property definitions can already include limitations. These<br />

limitations are included directly in the property, which allows for easier processing. Dependencies between EDMDItems and<br />

EDMDItemInstances can be described using EDMDItemConstraint, a subtype of EDMDGroup.<br />

4.5.6 Package 6: property and material definition<br />

The mapping in Package 6 is shown in Figure 23 below.<br />

Mapping between the application-driven data model and the implementation-driven data model is characterized in Package<br />

6 by the consistent use of an object structure and inheritance in EDMDSchema. This means that only a small number of<br />

classes are needed in EDMDSchema to map the requirements planned for the application-driven data model.<br />

Therefore, the basic object for mapping properties (property) and assigning properties to an item (property_value_representation)<br />

are mapped by EDMDUserProperty.<br />

As a subclass of EDMDUserProperty, EDMDUserSimpleProperty also offers the option of mapping simple value/unit combinations<br />

and thus corresponds to the familiar value_with_unit concept. Limiting the value properties using the value_limit and value_range<br />

objects can also be done in EDMDSchema using an EDMDConstrainedProperty.<br />

In addition, the general_property in the application-driven data model satisfies the users’ desire to define any property and assign<br />

it to the item. The counterpart in EDMDSchema is the EDMDUserAnyProperty, which also allows any property to be assigned to<br />

the EDMDItem. Unlike the application-driven data model, these arbitrary properties can also be mapped using any<br />

XML representation. Therefore, EDMDUserAnyProperty can also be used to map the material_property and is thus significantly<br />

more powerful than the corresponding elements in the application-driven data model.<br />

90 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


4 EDMD DATA MODEL<br />

<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Figure 23: Mapping in Package 6<br />

91<br />

92


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.5.7 Package 7: 2d geometry model<br />

The mapping in Package 7 is shown in Figure 24 below.<br />

Figure 24: Mapping in Package 7<br />

Mapping between the application-driven data model and the implementation-driven data model is done in Package 7 by<br />

defining a similar object model including curve set, curve and point and defining corresponding sub type for the elements<br />

defined in user driven data model. Since there is a definition for an upper bound and a lower bound at the EDMDCurveSet2d<br />

it is feasible to describe 3d shapes using this object type.<br />

4.5.8 Package 8: shape dependant information<br />

The mapping in Package 8 is shown in Figure 25 below.<br />

In Package 8 the mapping between user driven data model and implementation driven data model is done by defining a similar<br />

structure including item, item shape, shape element and shape description. Since there are global mechanisms to describe<br />

annotations and user defined properties (EDMDAnnotation and EDMDUserProperty) there are no special types for defining<br />

those at item shape. To describe a shape in EDMDScheme there are also two main function internal representations and<br />

external representations. Since the definition of external files is made by unified resource iterators the external representation of<br />

shapes can be done by one entity type (EDMDExternalGeometricModel).<br />

4.5.9 Package 9: 3d geometry model<br />

Since there are only two mechanisms for describing item shape in EDMDSchema a special mapping of this package is not<br />

needed.<br />

93 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


4 EDMD DATA MODEL<br />

<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Figure 25: Mapping in Package 8<br />

94<br />

95


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.6 Implementation-driven data model (EDMDSchema)<br />

The actual interconnection of CAD systems is performed using a protocol which is based on the implementation-driven data<br />

model. This model was created as an XML schema and is shipped as an extra zip archive, which is also part of the recommendation<br />

but not part of this printable piece of the recommendation (see. 4.6.6).<br />

The basic concepts on which the data model is based are described below.<br />

4.6.1 Concept of the “item”<br />

The item is the basic element for describing the product, see Figure 26:<br />

Figure 26: Item model<br />

The “item” is the basic element used to create the structure of the product description (product structure and geometry) relevant<br />

to the collaboration. Unlike STEP AP214, for example, the item not only represents a completed part (e.g. assembly or part) but<br />

can also be a single geometric element. This means that, for example, individual components (e.g. a PCB) can be represented<br />

as “assemblies” comprising individual elements (e.g. PCB comprising the “items”: board, mounting holes and several cutouts).<br />

An item always represents only one version of an object, version chains or sequences of changes on one and the same part<br />

can be represented implicitly by using the same number and version designator. Within the protocol, this correlation is<br />

represented by specifying the predecessor of an item.<br />

The item is the only object including an Identifier, for that it is the only object collaboration is available on, so by providing<br />

an item for some elements, IT systems show they are ready to collaborate on these elements. The item identifier is the only<br />

mechanism to establish cross references between EDMDSchema compliant xml documents. So the only addressable elements<br />

in collaboration space are item (by its identifier) and item instance (by the identifiers of the including item and the name of the<br />

item instance).<br />

Please note:<br />

Within the protocol, the predecessor-successor relationship is NOT established by evaluating similarities in the<br />

identifier but by specifying it explicitly in the message.<br />

96 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD DATA MODEL<br />

Please note:<br />

EDMDItem describes a defined state of an element, not the element itself. The assignment of the element states to elements<br />

in the CAD system takes place in the CAD system via the CAD-system-specific designator (see EDMDDesignator)<br />

for the EDMDItem.<br />

As a rule, the complete description of an element is not transported in a message but rather the differences between<br />

two states of an element.<br />

As example an assembly comprising two occurences of the same part is shown in Figure 27:<br />

Figure 27: Item data<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

97


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.6.2 Concept of the designator within the context of the system<br />

The designator is linked with the object as an aggregation, see Figure 28:<br />

Figure 28: Designator model<br />

To be able to identify elements in different contexts (e.g. systems), designators (➝ EDMDDesignator) are always assigned to a<br />

context in which they are valid. Designators are names (➝ EDMDName) or identifiers (➝ EDMDIdentifier) where names must<br />

be unique within a list of elements and identifiers must be unique within the complete context.<br />

Elements can have different designators which are valid in different system. This means that the CAD systems involved in the<br />

collaboration can use different designators for shared objects. The example in Figure 29 contains instances of EDMDItem and<br />

EDMDItemInstance which have different designators in two CAD systems. In this example an ‘assembly’ contains two times the<br />

same ‘part’. While the assembly is identified as in the <strong>ECAD</strong> system called the<br />

assembly is identified as in the system called . Also the instances of ‘part’ in<br />

‘assembly’ have different names, the name of the first instance is in and <br />

in . Second instance and the ‘part’ itself have also different name and identifier in the different system.<br />

Since this mechanism is very flexible it is also used to describe external references, e.g. filename, reference on library entry or<br />

identification on back end systems, e.g. pdm. In EDMDSchema there are some predefined types of EDMDSystems:<br />

• Manufacturer<br />

o The EDMDSystem describes the product range of a manufacturer.<br />

• PLM<br />

o The EDMDSystem is a product lifecycle management system<br />

(e.g. engineering data management or enterprise ressource planning)<br />

• <strong>ECAD</strong><br />

o The EDMDSystem is a computer-aided design system for electrical design.<br />

• <strong>MCAD</strong><br />

o The EDMDSystem is a computer-aided design system for mechanical design.<br />

• Proxy<br />

o The EDMDSystem is a proxy that maps its own numbers to internal numbers.<br />

• Library<br />

o The EDMDSystem is a library where components can be found.<br />

98 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD DATA MODEL<br />

• CommonStandard<br />

o The EDMDSystem is a common standard (e.g. DIN 41429)<br />

• FactoryStandard<br />

o The EDMDSystem is a factory standard<br />

As example objects with different designators from different systems are shown in Figure 29:<br />

Figure 29: Designator data<br />

Please note:<br />

Item in a collaboration session have to contain at least two identifiers, one for each collaborating system.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

99


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.6.3 Limitations on properties, user-defined properties<br />

Classes for representing limited properties and user-defined properties are shown in Figure 30:<br />

Figure 30: UserProperties model<br />

The properties of objects are represented as properties in EDMDSchema. In additional to the actual value, limitations regarding<br />

the value or the unit involved can be specified. This allows unnecessary loops within the collaboration to be avoided. The<br />

corresponding function is implemented in the class EDMDConstrainedProperty from which all property types inherit.<br />

Every EDMDConstrainedProperty can also have an originator. In the case of a property, this indicates the user who specified<br />

the value for the property. In the case of a limitation, this indicates the user who defined the limit. If during collaboration one or<br />

more limitations are violated, it is easy to determine which user to consult.<br />

In addition to the predefined properties, user-defined properties can also be added to most elements in EDMDSchema. This<br />

function is defined in the element EDMDExtensibleObject. All subtypes of this type can be extended by means of user-defined<br />

properties.<br />

XML data which corresponds to other XML schemas can also be included as user-defined properties with the help of<br />

EDMDUserAnyProperty.<br />

The example UserProperties.idx (shipped in the zip archive including the xml schema definition of EDMDSchema, available at<br />

www.prostep.org/en/downloads) illustrates the embedding of user-defined properties and the integration of other XML data as<br />

EDMDUserAnyProperty.<br />

100 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD DATA MODEL<br />

4.6.4 The geometry model, shape of an item<br />

Basic elements for describing the shape of an item are shown in Figure 31:<br />

Figure 31: Shape model<br />

The geometric model provides two mechanisms for representing the shape of an item:<br />

• Storing the geometry information in external files<br />

• Representing the geometry information in the integrated geometry model<br />

The shape of an item is described by an ItemShape, which comprises a number of different parts.<br />

The element ‘inverted’ for ShapeElement indicates whether the element is added to the shape of the item (OR operator), in which<br />

case inverted is ‘false’ or empty, or whether the element is taken away from the other objects (NAND operator), in which case<br />

inverted is ‘true’. The shape is put together in the order in which the elements occur in the XML document.<br />

Instances of the abstract class EDMDShapeDescription are used to represent the geometric information. There are two concrete<br />

types, which inherit from EDMDShapeDescription. If the shape of the ShapeElement is stored in external files, this is done using<br />

an EDMDExternalGeometricModel which is linked with an EDMDExternalSource which describes the mechanism for downloading<br />

the external files. The class EDMDCurveSet2d is used to represent the shape in EDMDSchema. As the name indicates, the<br />

description of the lines, points and curves within such a set is two-dimensional. EDMDCurveSet2d nevertheless describes<br />

a three-dimensional shape since an upper and lower limit for the described partial shape can be specified based on the basic<br />

level (on which the 2D elements are located).<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

101


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Please note:<br />

An EDMDCurve can – either on its own or together with other EDMDCurves – describe a closed curve and thus a<br />

surface. Or using an (optional) thickness, it can itself describe a surface.<br />

Elements for the internal description of the shape are shown in Figure 32:<br />

102 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Figure 32: CurveSet2d<br />

103<br />

104


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.6.5 Roles<br />

A distinction is made between different types of roles:<br />

• Role which a user assumes with regard to a collaboration object (RoleOnItem, Owner or Listener)<br />

• Role executing a change (Actor)<br />

• Role as the originator of an element (Originator)<br />

The distinction between the roles owner, listener and actor are shown in Figure 33:<br />

Figure 33: Roles<br />

Owner<br />

Specification of an owner is informal. The user is the person who is responsible for an item in a higher-level process.<br />

Listener<br />

Specification of a listener is informal. The listener is the person who, because of their responsibilities in a higher-level process,<br />

wants to be notified about any change made to an item. With regard to notification, an owner must be treated like a listener<br />

and must also receive a message about changes made to an item.<br />

The roles owner and listener for an item are passed on to subordinate items and elements. The specification of the owner of an<br />

item or element overwrites the owner specified by the higher-level item. This owner is then downgraded to listener.<br />

Actor<br />

The actor is the person who sent a message (e.g. with a change) in the protocol.<br />

Originator<br />

Properties and property limits can have an optional originator. The originator is the person who specified the value or the limit<br />

for the value. Within the collaboration, this information can be used to contact the appropriate user. Systems can evaluate this<br />

information and send automatic notifications if these limitations are violated.<br />

105 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD DATA MODEL<br />

4.6.6 General information<br />

In xml schema the type definitions are organized in packages called namespace. This mechanism can be used to allow the<br />

usage of object types from different namespaces in a single XML document. EDMDSchema defines the following namespaces:<br />

• http://www.prostep.org/edmd/1.0/administration<br />

• http://www.prostep.org/edmd/1.0/annotation<br />

• http://www.prostep.org/edmd/1.0/computational<br />

• http://www.prostep.org/edmd/1.0/external<br />

• http://www.prostep.org/edmd/1.0/foundation<br />

• http://www.prostep.org/edmd/1.0/geometry.d2<br />

• http://www.prostep.org/edmd/1.0/grouping<br />

• http://www.prostep.org/edmd/1.0/material<br />

• http://www.prostep.org/edmd/1.0/pdm<br />

• http://www.prostep.org/edmd/1.0/property<br />

• http://www.prostep.org/edmd/1.0/text<br />

The WSDL is described in the namespace:<br />

• http://www.prostep.org/edmd/0.1/ws<br />

The EDMDSchema explicitly allows the use of other namespaces in documents. The UserProperties.idx example (shipped in the<br />

zip archive including the xml schema definition of EDMDSchema, available at www.prostep.org/en/downloads) shows the<br />

use of additional namespaces in an XML document according to EDMDSchema. The documents must be well formed and it<br />

must be possible to validate them, i.e. for validation purposes not only the EDMDSchema documents but also XML schemas must<br />

be available for the other namespaces used. EDMDSchema uses the IDREF mechanism for references within documents. The<br />

standard suffix for documents according to EDMDSchema is .idx, an acronym for Interdomain Design Exchange.<br />

EDMDSchema is supplied as set of XSD documents in a zip archive, which is part of this Recommendation. This archive contains<br />

the xml schemas of the informational model, each with simple annotation as text or with annotations as embedded XHTML:<br />

• [html|plain]/administration.xsd<br />

• [html|plain]/annotation.xsd<br />

• [html|plain]/external.xsd<br />

• [html|plain]/foundation.xsd<br />

• [html|plain]/geometry.d2.xsd<br />

• [html|plain]/grouping.xsd<br />

• [html|plain]/material.xsd<br />

• [html|plain]/pdm.xsd<br />

• [html|plain]/property.xsd<br />

• [html|plain]/text.xsd<br />

The wsdl and schema of the computational model:<br />

• EDMDService.wsdl<br />

• [html|plain]/computational.xsd<br />

Sample data<br />

• sample/pattern.xml<br />

• sample/pattern.idx<br />

• sample/UserProperties.idx<br />

• sample/Systems.idx<br />

• sample/vcard.xsd<br />

• sample/xlink.xsd<br />

The documentation of EDMDSchema is part of the recommendation but shipped as a separate html document. The<br />

documentation is structured in packages. Each package covers on namespace. The following sub chapters describe the main<br />

purpose of each package.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

106


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.6.7 Package EDMDSchema.foundation<br />

This package (cp. Figure 34) describes the contents of the namespace:<br />

http://www.prostep.org/edmd/1.0/foundation<br />

It contains object types and relation types that serve as basic elements of the data schema. All types within the EDMDSchema<br />

inherit from these types. For more details about the types of this package please refer the document Implementation driven<br />

data model (EDMDSchema), which is part of this Recommendation but released as a html document.<br />

107 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Figure 34: Overview of foundation Package<br />

108<br />

109


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.6.8 Package EDMDSchema.property<br />

This package (cp. Figure 35) describes the contents of the namespace:<br />

http://www.prostep.org/edmd/1.0/property<br />

It contains object types and relation types for describing properties and user-defined properties. Types which describe<br />

properties in the EDMDSchema inherit from types which are described in this package. For more details about the types of this<br />

package please refer the document Implementation driven data model (EDMDSchema), which is part of this Recommendation<br />

but released as a html document.<br />

110 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Figure 35: Over view of property Package<br />

111<br />

112


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.6.9 Package EDMDSchema.administration<br />

This package (cp. Figure 36) describes the contents of the namespace:<br />

http://www.prostep.org/edmd/1.0/administration<br />

It contains object types and relation types for describing administrative relationships and persons. For more details about the<br />

types of this package please refer the document Implementation driven data model (EDMDSchema), which is part of this<br />

recommendation but released as a html document.<br />

Figure 36: Overview of administration Package<br />

4.6.10 Package EDMDSchema.pdm<br />

This package (cp. Figure 37) describes the contents of the namespace:<br />

http://www.prostep.org/edmd/1.0/pdm<br />

It contains object types and relation types for describing the structure of items. For more details about the types of this package<br />

please refer the document Implementation driven data model (EDMDSchema), which is part of this Recommendation<br />

but released as a html document.<br />

113 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


4 EDMD DATA MODEL<br />

<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Figure 37: Overview of pdm Package<br />

114<br />

115


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.6.11 Package EDMDSchema.material<br />

This package (cp. Figure 38) describes the contents of the namespace:<br />

http://www.prostep.org/edmd/1.0/material<br />

It contains object types and relation types for describing materials. Future extensions are planned. For more details about the<br />

types of this package please refer the document Implementation driven data model (EDMDSchema), which is part of this<br />

Recommendation but released as a html document.<br />

Figure 38: Overview of material Package<br />

4.6.12 Package EDMDSchema.d2<br />

This package describes the contents of the namespace:<br />

http://www.prostep.org/edmd/1.0/geometry.d2<br />

It contains object types and relation types for describing geometric information. For more details about the types of this package<br />

please refer the document Implementation driven data model (EDMDSchema), which is part of this Recommendation but<br />

released as a html document.<br />

4.6.13 Package EDMDSchema.external<br />

This package (cp. Figure 39) describes the contents of the namespace:<br />

http://www.prostep.org/edmd/1.0/external<br />

It contains object types and relation types for describing external documents and external data sources. For more details about<br />

the types of this package please refer the document Implementation driven data model (EDMDSchema), which is part of this<br />

Recommendation but released as a html document.<br />

Figure 39: Overview of external Package<br />

116 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD DATA MODEL<br />

4.6.14 Package EDMDSchema.grouping<br />

This package (cp. Figure 40) describes the contents of the namespace:<br />

http://www.prostep.org/edmd/1.0/grouping<br />

It contains object types and relation types for describing groupings. Types which describe groups inherit from the types defined<br />

in this package. For more details about the types of this package please refer the document Implementation driven data model<br />

(EDMDSchema), which is part of this Recommendation but released as a html document.<br />

Figure 40: Overview of grouping Package<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

117


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.6.15 Package EDMDSchema.annotation<br />

This package (cp. Figure 41) describes the contents of the namespace:<br />

http://www.prostep.org/edmd/1.0/annotation<br />

It contains object types and relation types for describing annotations which the user can add to collaboration objects. For more<br />

details about the types of this package please refer the document Implementation driven data model (EDMDSchema), which<br />

is part of this Recommendation but released as a html document.<br />

Figure 41: Overview of annotation Package<br />

118 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4 EDMD DATA MODEL<br />

4.6.16 Package EDMDSchema.text<br />

This package (cp. Figure 42) describes the contents of the namespace:<br />

http://www.prostep.org/edmd/1.0/text<br />

It contains object types and relation types for describing simple texts that can be placed in Items. For more details about the<br />

types of this package please refer the document Implementation driven data model (EDMDSchema), which is part of this<br />

Recommendation but released as a html document.<br />

Figure 42: Overview of text Package<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

119


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

4.6.17 Package EDMDSchema.computational<br />

This package (cp. Figure 43) describes the contents of the namespace:<br />

http://www.prostep.org/edmd/1.0/computational<br />

It contains object types and relation types which are sent as parameters with EDMDMessages. For more details about the types of<br />

this package please refer the document Implementation driven data model (EDMDSchema), which is part of this Recommendation<br />

but released as a html document.<br />

120 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Figure 43: Over view of computational Package<br />

121<br />

122


5 EDMD PROTOCOL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

5 EDMD protocol<br />

The EDMD protocol is based on the implementation-driven data model (section 4.5.1) and serves to transfer change information<br />

between the systems involved.<br />

5.1 General information<br />

The messages in the EDMD protocol are defined in a general manner and can be exchanged between the systems involved<br />

using any technology (P2P approach). This means that the use cases involving synchronous and asynchronous collaboration can<br />

be represented in a 1:1 configuration or a 1:m configuration (cp. Figure 44). The subject of this Recommendation is the 1:1<br />

configuration.<br />

Figure 44: Types of communication<br />

The representation of message exchange via Web services is part of this Recommendation. The protocol interfaces are described<br />

in WSDL. WSDL is part of this Recommendation and can be found in the zip archive including the xml schema definition of<br />

EDMDSchema. Alternatively, EDMD data can also be stored as XML documents, in which case the root element is always an<br />

EDMDDataSet. This can also include ProcessInstructions. The computational Package (➝ computational Package) contains<br />

definitions of ProcessInstruction subtypes which correspond to the messages. In this case, the message also refers to the<br />

EDMDDateSet itself. If several such ProcessInstructions exist, these are processed one after the other.<br />

In addition to describing the messages (➝ Messages), the protocol also specifies when the systems involved exchange which<br />

messages (➝ Protocol).<br />

The description of a CAD data set with the help of the implementation-driven data model can take place statically, i.e. a data set conforming<br />

to this schema can represent a complete version of design. During transferring changes, only the changed parts are transferred.<br />

If a message includes references to items which have not been included in messages it self, these items are represented in the<br />

message as item stub. These items only include at the very least an identifier and can be referenced within the document using IDREF.<br />

In the following, the item stub is taken to mean items which contain only identifiers that can be used to identify the item in the context<br />

of different systems. The section on processing rules describes how the information from these data sets has to be merged again.<br />

123 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

5 EDMD PROTOCOL<br />

5.2 Messages<br />

5.2.1 General information<br />

The messages are defined in such a way that they are easy to transfer to other technologies. In WSDL, they are defined as<br />

operations. They can however also be understood as function calls involving a shared library, as a call involving remote<br />

procedures, or as messages in a message queue. Therefore no mechanisms for receiver addressing have been defined in the<br />

schema since these would have to be made available by the underlying communication layer, e.g. by calling a remote<br />

procedure on precisely this remote system or by sending the message to this receiver in the message queue. It is also possible<br />

to embed the messages as ProcessInstructions in XML documents with an EDMDDataSet as the root element. The corresponding<br />

types are defined in the computational Package.<br />

This Recommendation also defines a return value, which is returned as the result of a processing operation (? ServiceResult). If<br />

call interfaces are used, this value must be returned immediately. If queuing mechanisms are used, the underlying communication<br />

layer should allow a correlation between messages and results to be established. If queuing is used according to the “fire<br />

and forget” principle, this correlation must be ensured by the definition of additional solution-specific messages.<br />

5.2.2 SendInformation message<br />

In Figure 45 the message "SendInformation" is shown:<br />

Figure 45: SendInformation message<br />

This message is used to send information about the state of an item and the corresponding geometry. Therefore the message<br />

contains only one EDMDDateSet, which in turn contains information on the states of the items.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

124


5 EDMD PROTOCOL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

5.2.3 SendChanges message<br />

In Figure 46 the message "SendChanges" is shown:<br />

Figure 46: SendChanges message<br />

This message is used to send changes made to parts. Only the item elements to which changes have been made are sent. Every<br />

changed item has a predecessor whose elements are transferred to the new item. The elements included in the message then<br />

overwrite the elements taken over from the predecessor. A more detailed description of how this is done is provided in the<br />

section on the processing rules (➝ Processing rules). Since the underlying transport mechanism does not necessarily allow a<br />

correlation to the sender to be established, the message also includes an IDREF indicating the originator of the message (actor).<br />

The originator must be formulated as an EDMDPerson in the EDMDDataSet included in the message.<br />

5.2.4 RequestForInformation message<br />

In Figure 47 the message "RequestForInformation " is shown:<br />

Figure 47: RequestInformation message<br />

This message can be used to request information on the states of items. Since the underlying transport mechanism does not<br />

necessarily allow a correlation to the sender to be established, the message also includes an IDREF indicating the originator of<br />

the message (actor). The actor must be formulated as an EDMDPerson in the EDMDDataSet included in the message.<br />

125 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

5 EDMD PROTOCOL<br />

5.2.5 ServiceResult class<br />

In Figure 48 the class " 5.2.5 ServiceResult " is shown:<br />

Figure 48: ServiceResult class<br />

The ServiceResult class describes errors that can occur during the processing of messages.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

126


5 EDMD PROTOCOL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

5.3 Protocol<br />

The protocol specifies when, during the collaboration, which messages must be sent.<br />

Please note:<br />

In the case of Web service binding, every message sent is a client call. The reply expected by the protocol is not returned<br />

in the response. Only the EDMDResult including informations about processing state of call are included in the response.<br />

5.3.1 General information<br />

All the systems involved manage assignments between the item identifiers used in their own systems and the identifiers used in<br />

other systems in an identifier repository. Since items can be identified only by an identifier (EDMDItemIdentifier) and the reference<br />

mechanism in EDMDSchema is IDREF, there is always an instance of EDMDItem including EDMDIdentifiers needed, which<br />

can be referenced by IDRef in an xml document. EDMDItems including only identifiers to facilititate references are hereinafter<br />

called item stub. Once a message containing new items is received, the receiver sends a mandatory message of the type<br />

SendInformation, which contains an item stub with at least two identifiers for all new items: the identifier of the original sender<br />

and the identifier of the receiver. This allows the sender to maintain his assignment table.<br />

An overview of the messages sent when transferring changes is shown in Figure 49:<br />

Figure 49: SendChanges<br />

Once the changes have been sent with message SendChange (see Figure above), the mandatory message containing the new<br />

identifiers is sent. Optionally, additional information can be requested with a message of the type RequestForInformation. The<br />

changes in the message may refer to items with which the receiver is not yet familiar. In this case, the message only contains the<br />

item stub. The receiver can request the other information using RequestForInformation.<br />

127 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

5 EDMD PROTOCOL<br />

An overview of the messages sent when requesting information is shown in Figure 50:<br />

Figure 50: RequestForInformation<br />

A message of the type RequestForInformation can be used to request information about items; the items in the RequestForInformation<br />

message are only item stub. The response to such a request is always one or more messages of the type SendInformation. The<br />

items in these messages should contain all known identifiers. If new items are transferred, the mandatory adjustment of the<br />

identifiers is performed by means of a message of the type SendChange.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

128


5 EDMD PROTOCOL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

5.4 Processing rules<br />

5.4.1 General information<br />

The processing rules describe how the internal representations of the elements, which are represented by an item, have to be<br />

changed when a message is received. The processing of a message must be executed as a transaction. If errors occur during<br />

the processing, all the changes transported in the message are discarded.<br />

The processing is performed individually for each item. The following elements belonging to an item are processed in blocks:<br />

• Identifier (list)<br />

• ItemType<br />

• PackageName (list)<br />

• ItemInstance (list)<br />

• Shape<br />

• ShapeTransformation<br />

• Accept (list)<br />

• Roles on item or included instance (list)<br />

Elements resp. their internal representations can have the following states:<br />

• set<br />

• not set<br />

Where set means the element was already set at the internal representation of item and unset means the element was never set<br />

at the internal representation of item. In the case of lists, this state always applies to the whole list.<br />

5.4.2 SendInformation<br />

When processing a message of the type SendInformation, the items in the message are processed one after the other (cp. Figure<br />

51, Figure 52):<br />

1) Checking identifiers (list).<br />

a. If the item does not contain any identifiers, the message is errored and the processing transaction is aborted.<br />

b. If the item does not contain any known identifiers, the item is new. A representation according to the other information in<br />

the item is created. Processing is then concluded.<br />

c. If the item contains known identifiers, the representation of a known item must be adjusted. Processing continues with Step 2.<br />

2) Adjustment of identifier repository<br />

a. If the identifiers contained in the item do not agree with the identifier repository, the message is errored and the processing<br />

transaction is aborted.<br />

b. If the identifiers contained in the item do not disagree with the identifier repository, new identifiers are stored in the repository,<br />

and processing continues with Step 3.<br />

3) Adjustment of ItemType<br />

a. If the ItemType is not set in the existing representation of the item but is set in the message, the ItemType from the message<br />

is set in the representation. Processing continues with Step 4.<br />

b. If the ItemType is set in the existing representation of the item but is not set in the message, processing continues with Step 4.<br />

c. If the ItemType is set in the existing representation of the item and the same ItemType is set in the message, processing<br />

continues with Step 4.<br />

d. If the ItemType is set in the existing representation of the item but a different ItemType is set in the message, the message<br />

is errored and the processing transaction is aborted.<br />

129 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

5 EDMD PROTOCOL<br />

4) Adjustment of PackageName, for every PackageName in the list; processing continues with Step 5 once all the PackageNames<br />

have been processed without error.<br />

a. If the PackageName is not set in this system context in the existing representation of the item but is set for this system context<br />

in the message, the PackageName from the message for this system context is set in the representation. Processing<br />

continues with the next PackageName.<br />

b. If the PackageName is set in this system context in the existing representation of the item but is not set for this system<br />

context in the message, processing continues with the next PackageName.<br />

c. If the PackageName is set in this system context in the existing representation of the item and the same PackageName is<br />

set in the message for this system context, processing continues with the next PackageName.<br />

d. If the PackageName is set in this system context in the existing representation of the item and a different PackageName<br />

is set in the message for this system context, the message is errored and the processing transaction is aborted.<br />

5) Adjustment ItemInstance (list)<br />

a. If the list of ItemInstances is not set in the existing representation of the item but is set in the message, the list of ItemInstances<br />

from the message is set in the representation. Processing continues with Step 6.<br />

b. If the list of ItemInstances is set in the existing representation of the item but is not set in the message, processing continues<br />

with Step 6.<br />

c. If the list of ItemInstances is set in the existing representation of the item and the same list of ItemInstances is set in the message,<br />

processing continues with Step 6.<br />

d. If the list of ItemInstances is set in the existing representation of the item but a different list of ItemInstances is set in the message,<br />

the message is errored and the processing transaction is aborted.<br />

6) Adjustment Shape<br />

a. If the Shape is not set in the existing representation of the item but is set in the message, the Shape from the message is<br />

set in the representation. Processing continues with Step 7.<br />

b. If the Shape is set in the existing representation of the item but is not set in the message, processing continues with Step 7.<br />

c. If the Shape is set in the existing representation of the item and the same Shape is set in the message, processing<br />

continues with Step 7.<br />

d. If the Shape is set in the existing representation of the item but a different Shape is set in the message, the message is<br />

errored and the processing transaction is aborted.<br />

7) Adjustment of Accept-Status, for every entry in the list; once all the entries in the list have been processed without error, the<br />

processing of the message has been completed successfully.<br />

a. If the originator has not set the Accept-Status in the existing representation of the item but has set it in the message, the<br />

Accept-Status from the message is set for this originator in the representation. Processing continues with the next entry.<br />

b. If the originator has set the Accept-Status in the existing representation of the item but has not set it in the message,<br />

processing continues with the next entry.<br />

c. If the originator has set the Accept-Status in the existing representation of the item and has set the same Accept-Status in<br />

the message, processing continues with the next entry.<br />

d. If the originator has set the Accept-Status in the existing representation of the item and has set a different Accept-Status in<br />

the message, the message is errored and the processing transaction is aborted.<br />

8) Adjustment of the roles in EDMDItems und EDMDItemInstances<br />

Please note:<br />

EDMDItem describes the state of an element. This means that properties that have not yet been communicated can be<br />

added to an EDMDItem. It is not possible to make changes to properties which have already been communicated<br />

since this is always involves a new state of the underlying element. The roles and acceptance statuses constitute the<br />

only logical exceptions since they do not describe the state of an element itself but rather the relationship of individual<br />

actors to this state of the element.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

130


5 EDMD PROTOCOL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Figure 51: Processing SendInformation (1 of 2)<br />

131 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

5 EDMD PROTOCOL<br />

Figure 52: Processing SendInformation (2 of 2)<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

132


5 EDMD PROTOCOL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

5.4.3 SendChanges<br />

The SendChanges message contains a number of changes which can be grouped into transactions. These transactions should<br />

not be confused with the transactions used to process the messages. The transactions in SendChanges messages are informal<br />

groups of changes which indicate to the user that his collaboration partner views these changes as a unit. This avoids unnecessary<br />

inquiries.<br />

When changes are processed, the following elements involved in the change are processed:<br />

• NewItem is the identifier of the new item; the message contains the changes involved in the new item compared with the<br />

predecessor.<br />

• PredecessorItem is the identifier of the predecessor item.<br />

• DeletedInstanceName is the list of the names of the ItemInstances which the new item no longer includes.<br />

The changes are processed one after the other (cp. Figure 53, Figure 54, Figure 55).<br />

1) Checking identifiers of NewItem (list).<br />

a. If the identifier of NewItem already exists, the message is errored and the processing transaction is aborted.<br />

b. The identifier is not known, a representation of NewItem is created.<br />

2) Checking identifiers of PredecessorItem (list)<br />

a) If the identifier for PredecessorItem is not known, the item involved is a new item for which processing must first be<br />

requested, therefore this step is followed by Step 3.<br />

b) If the identifier for PredecessorItem is known, the item involved is an item which has already been adjusted and whose<br />

representation can be used.<br />

3) Request representation of PredecessorItem<br />

4) Adjustment of ItemType<br />

a. If the ItemType is not set in the existing representation of the PredecessorItem but is set in the message, the ItemType from<br />

the message is set in the representation of NewItem. Processing continues with Step 5.<br />

b. If the ItemType is set in the existing representation of the PredecessorItem but is not set in the message, the ItemType from<br />

the PredecessorItem is set in the representation of NewItem. Processing continues with Step 5.<br />

c. If the ItemType is set in the existing representation of the PredecessorItem and in the message, the ItemType from the<br />

message is set in the representation of NewItem. Processing continues with Step 5.<br />

5) Adjustment of PackageName, for every PackageName in the list; processing continues with Step 5 once all the PackageNames<br />

have been processed without error.<br />

a. If the PackageName is not set in this system context in the existing representation of the PredecessorItem but is set for this<br />

system context in the message, the PackageName from the message for this system context is set in the representation of<br />

NewItem. Processing continues with the next PackageName.<br />

b. If the PackageName is set in this system context in the existing representation of the PredecessorItem but is not set in the<br />

message for this system context, the PackageName from the PredecessorItem for this system context is set in the representation<br />

of NewItem. Processing continues with the next PackageName.<br />

c. If the PackageName is set in this system context in the existing representation of the PredecessorItem and in the message<br />

for this system context, the PackageName from the message for this system context is set in the representation of NewItem.<br />

6) Checking ItemInstance names:<br />

a) The ItemInstance names are unique for every context. Processing continues with Step 7.<br />

b) The ItemInstance names are not unique for every context. Processing of the transaction is aborted with an error.<br />

7) Create ItemInstance list for NewItem: The following is checked for each entry in the ItemInstance list in the representation of<br />

PredecessorItem using the InstanceName:<br />

a) Whether the list in the message contains an ItemInstance with the same name. If this is the case, this ItemInstance is<br />

copied from the message to the representation of NewItem.<br />

b) Or whether the name of the ItemInstance is included in the list of DeletedInstanceNames. In this case, this ItemInstance<br />

with the change is deleted, i.e. not copied to NewItem.<br />

c) If neither a) nor b) apply, the ItemInstance is copied from the representation of PredecessorItem to the representation of<br />

NewItem.<br />

133 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

5 EDMD PROTOCOL<br />

8) Adjustment Shape<br />

a. If the Shape is not set in the existing representation of the PredecessorItem but is set in the message, the Shape from the<br />

message is set in the representation of NewItem. Processing continues with Step 9.<br />

b. If the Shape is set in the existing representation of the PredecessorItem but is not set in the message, the Shape from the<br />

representation of PredecessorItem is copied to the representation of NewItem. Processing continues with Step 9.<br />

c. If the Shape is set in the existing representation of PredecessorItem and in the message, the Shape from the message is<br />

set in the representation of NewItem. Processing continues with Step 9.<br />

9) Adjustment of Accept-Status, only the Accept-Statuses from the message are used for the representation of NewItem:<br />

a. If the message contains Accept-Status for NewItem, these are copied to the representation of NewItem. Once this has<br />

been done, the processing of the change has been brought to a successful conclusion and the next change can be<br />

processed.<br />

b. If the message does not contain an Accept-Status for NewItem, the processing of the change has been brought to a<br />

successful conclusion and the next change can be processed<br />

10) Adjustment of roles for EDMDItem and EDMDItemInstance<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

134


5 EDMD PROTOCOL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Figure 53: Processing SendChanges (1 of 3)<br />

135 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

5 EDMD PROTOCOL<br />

Figure 54: Processing SendChanges (2 of 3)<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

136


5 EDMD PROTOCOL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

Figure 55: Processing SendChanges (3 of 3)<br />

137 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008


<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />

6 ANNEX A · ANNEX B<br />

Annex A: Packages EDMDSchema<br />

The Implementation driven data model with documentation of EDMDSchema, including also UML is provided in html in the<br />

separated zip-archive (PSI_PSI5_EDMD-Schema_1.0_HTML.zip, available at www.prostep.org/en/downloads). The page<br />

index.html is the entry point.<br />

Annex B: EDMDSchema<br />

EDMDSchema is supplied in the separated zip-archive (PSI_PSI5_EDMD-Schema_1.0.zip, available at www.prostep.org/en/<br />

downloads). This archive contains the xsd-schemas of the informational model, each with simple annotation as text or with<br />

annotations as embedded XHTML:<br />

• [html|plain]/administration.xsd<br />

• [html|plain]/annotation.xsd<br />

• [html|plain]/external.xsd<br />

• [html|plain]/foundation.xsd<br />

• [html|plain]/geometry.d2.xsd<br />

• [html|plain]/grouping.xsd<br />

• [html|plain]/material.xsd<br />

• [html|plain]/pdm.xsd<br />

• [html|plain]/property.xsd<br />

• [html|plain]/text.xsd<br />

The wsdl and schema of the computational model:<br />

• EDMDService.wsdl<br />

• [html|plain]/computational.xsd<br />

Sample data<br />

• sample/pattern.xml<br />

• sample/pattern.idx<br />

• sample/UserProperties.idx<br />

• sample/Systems.idx<br />

• sample/vcard.xsd<br />

• sample/xlink.xsd<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />

138


<strong>ProSTEP</strong> <strong>iViP</strong> Association<br />

Dolivostraße 11<br />

64293 Darmstadt<br />

Germany<br />

Tel. +49-6151-9287-336<br />

Fax +49-6151-9287-326<br />

psev@prostep.com<br />

www.prostep.org<br />

ISBN 978-3-9811864-7-5<br />

Version 1.0, April 2008

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!