17.12.2012 Views

ECAD / MCAD Collaboration - prostep.org

ECAD / MCAD Collaboration - prostep.org

ECAD / MCAD Collaboration - prostep.org

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 2.0


ABSTRACT ProSTEP iViP Recommendation<br />

Abstract<br />

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

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

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

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

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

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

This ProSTEP iViP 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 ProSTEP iViP Recommendation deals with collaboration between developers in the business processes. It does not deal with<br />

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

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

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

II<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation DISCLAIMER · COPYRIGHT · ACKNOWLEDGMENT<br />

Disclaimer<br />

ProSTEP iViP 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 ProSTEP iViP 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 ProSTEP iViP Association (psi-issues@<strong>prostep</strong>.com) immediately so that any errors can be rectified.<br />

Copyright<br />

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

duplicate, distribute or publish the recommendation remain exclusively with the ProSTEP iViP 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 />

Acknowledgment<br />

Our thanks go to all the companies and their staff who were actively involved in drafting this recommendation and for the<br />

many constructive suggestions received. The following companies and research institutes were involved:<br />

Cenit, Continental, Delphi, :em engineering methods, Fern Universität Hagen, Fraunhofer IPK, Mentor Graphics, Parametric<br />

Technology, PDTec, PROSTEP, Siemens PLM Software, Universität Karlsruhe, xPLM Solution.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010<br />

III


TABLE OF CONTENTS ProSTEP iViP Recommendation<br />

Table of Contents<br />

1 Introduction 1<br />

1.1 Preface 1<br />

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

1.3 Scope of the EDMD Schema 2<br />

1.4 Structure of the recommendation 3<br />

2 General requirements 4<br />

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

2.2 Working in the native system 4<br />

2.3 Separate collaboration environment 5<br />

2.4 Asynchronous and synchronous collaboration 6<br />

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

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

2.7 Cardinality of collaboration 7<br />

2.8 Initiating collaboration 8<br />

3 Use cases 9<br />

3.1 Standardized use case description 9<br />

3.2 Actors within the use cases 10<br />

3.3 Defining a board baseline 11<br />

3.4 Placement under mechanical constraints 13<br />

3.5 Placement under electrical constraints 15<br />

3.6 Change of board components 16<br />

3.7 Change of placement locations 17<br />

3.8 Replacement of components 18<br />

3.9 Panelization design review 20<br />

4 System and Process Integration 22<br />

4.1 The role of a PDM system within collaboration 23<br />

4.1.1 Online <strong>Collaboration</strong> 24<br />

4.1.2 Offline <strong>Collaboration</strong> 25<br />

4.2 Use Cases for System and Process Integration 26<br />

4.2.1 Create <strong>Collaboration</strong>-Session-Object (CSO) for a collaboration session 26<br />

4.2.2 Identify and attach PDM system objects to the CSO 27<br />

4.2.3 Identify responsible persons based on the PDM system information 28<br />

4.2.4 Invite responsible persons to the collaboration 29<br />

4.2.5 Select and start collaboration session 29<br />

4.2.6 Checkout data from the PDM system to the <strong>ECAD</strong>/<strong>MCAD</strong> system 30<br />

4.2.7 Store back modifications into the PDM-system 30<br />

4.3 PDM/TDM system supported collaboration 31<br />

4.4 PDM system supported cooperation 34<br />

4.4.1 Represent additional user roles which are necessary within a collaboration 35<br />

4.4.2 Management of a collaboration session object within the PDM system 35<br />

4.4.3 CSO Metadata management 35<br />

4.4.4 CSO Document management 35<br />

4.4.5 CSO Search management 35<br />

4.4.6 CSO Link management 35<br />

4.4.7 <strong>Collaboration</strong> session preparation support 35<br />

4.4.8 <strong>Collaboration</strong> session initiation support 36<br />

4.4.9 <strong>Collaboration</strong> session data management 36<br />

IV<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation TABLE OF CONTENTS<br />

4.4.10 Closing the collaboration session 36<br />

4.4.11 Managemet of the <strong>Collaboration</strong> sandbox 37<br />

4.4.12 Handling of ECO/ECR within a collaboration process 37<br />

5 Standardized Library Components 38<br />

5.1 Use Cases for Standardized Library Components 38<br />

5.1.1 Using library information within collaboration 38<br />

5.1.2 Cross domain library to library data exchange 39<br />

5.1.3 Provision of library data from supplier 39<br />

5.2 Parameterized Library Components 40<br />

5.2.1 3D Master Model "Type A" 42<br />

5.2.2 3D Master Model "Type B" 50<br />

5.2.3 General Implementation Issues 51<br />

6 EDMD data model 52<br />

6.1 Overview 52<br />

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

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

6.2.2 Package 2: item classification and grouping 54<br />

6.2.3 Package 3: person and <strong>org</strong>anization information 55<br />

6.2.4 Package 4: <strong>ECAD</strong> shape information 56<br />

6.2.5 Package 5: constraint definition 58<br />

6.2.6 Package 6: property and material definition 59<br />

6.2.7 Package 7: 2d geometry model 60<br />

6.2.8 Package 8: shape dependant information 60<br />

6.2.9 Package 9: 3d geometry model 62<br />

6.3 Objects 62<br />

6.3.1 annotation 62<br />

6.3.2 assembly_component 62<br />

6.3.3 assembly_component_relationship 62<br />

6.3.4 assembly_definition 63<br />

6.3.5 assembly_group_component 63<br />

6.3.6 b_rep_model 63<br />

6.3.7 b_spline_curve 63<br />

6.3.8 cartesian_coordinate_space 63<br />

6.3.9 cartesian_coordinate_space_2d 64<br />

6.3.10 cartesian_coordinate_space_3d 64<br />

6.3.11 cartesian_point 64<br />

6.3.12 centre_of_mass 64<br />

6.3.13 circle 64<br />

6.3.14 classification_association 65<br />

6.3.15 classification_attribute 65<br />

6.3.16 collaboration_definition 65<br />

6.3.17 component_termination_passage 66<br />

6.3.18 component_termination_passage_template_interface_terminal 66<br />

6.3.19 component_termination_passage_template_join_terminal 66<br />

6.3.20 component_termination_passage_template_terminal 66<br />

6.3.21 composite_curve 66<br />

6.3.22 constraint 66<br />

6.3.23 curve 67<br />

6.3.24 curve_on_surface 67<br />

6.3.25 curve_set_2d 67<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010<br />

V


TABLE OF CONTENTS ProSTEP iViP Recommendation<br />

VI<br />

6.3.26 cutout 67<br />

6.3.27 Cutout_edge_segment 67<br />

6.3.28 data_environment 68<br />

6.3.29 definition_based_product_occurrence 68<br />

6.3.30 design_discipline_item_definition 68<br />

6.3.31 design_layer_stratum 68<br />

6.3.32 design_layer_technology 68<br />

6.3.33 detailed_geometric_model_element 69<br />

6.3.34 digital_file 69<br />

6.3.35 documentation_layer_stratum 69<br />

6.3.36 documentation_layer_technology 69<br />

6.3.37 ellipse 69<br />

6.3.38 external_geometric_model 70<br />

6.3.39 external_geometric_model_with_parameters 70<br />

6.3.40 external_model 70<br />

6.3.41 feature_parameter 71<br />

6.3.42 filled_via 71<br />

6.3.43 general_classification 71<br />

6.3.44 general_parameter 71<br />

6.3.45 general_property 72<br />

6.3.46 general_shape_dependent_property 72<br />

6.3.47 geometric_model 72<br />

6.3.48 geometric_model_relationship_with_transformation 73<br />

6.3.49 hybrid_geometric_model_3D 73<br />

6.3.50 hyperbola 73<br />

6.3.51 instance_placement 73<br />

6.3.52 inter_stratum_feature 73<br />

6.3.53 interconnect_module_constraint_region 74<br />

6.3.54 item 74<br />

6.3.55 item_contraint 75<br />

6.3.56 item_definition_instance_relationship 75<br />

6.3.57 item_instance 75<br />

6.3.58 item_property_association 75<br />

6.3.59 item_shape 75<br />

6.3.60 item_version 76<br />

6.3.61 laminate_component 76<br />

6.3.62 line 76<br />

6.3.63 material 76<br />

6.3.64 material_property 77<br />

6.3.65 material_property_association 77<br />

6.3.66 material_property_value_representation 77<br />

6.3.67 moments_of_inertia 77<br />

6.3.68 next_higher_assembly 78<br />

6.3.69 numerical_value 78<br />

6.3.70 offset_curve 78<br />

6.3.71 <strong>org</strong>anization 78<br />

6.3.72 parabola 79<br />

6.3.73 part_feature 79<br />

6.3.74 part_mounting_feature 79<br />

6.3.75 partially_plated_cutout 79<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation TABLE OF CONTENTS<br />

6.3.76 person 79<br />

6.3.77 person_in_<strong>org</strong>anization 80<br />

6.3.78 person_<strong>org</strong>anization_assignment 80<br />

6.3.79 physical_connectivity_interrupting_cutout 81<br />

6.3.80 plated_cutout 81<br />

6.3.81 plated_cutout_edge_segment 81<br />

6.3.82 plated_inter_stratum_feature 81<br />

6.3.83 plated_passage 81<br />

6.3.84 point 81<br />

6.3.85 point_on_curve 81<br />

6.3.86 point_on_surface 82<br />

6.3.87 polyline 82<br />

6.3.88 printed_part_template_terminal 82<br />

6.3.89 printed_part_cross_section_template_terminal 82<br />

6.3.90 printed_part_template_interface_terminal 82<br />

6.3.91 printed_part_template_join_terminal 83<br />

6.3.92 printed_part_template_terminal 83<br />

6.3.93 property 83<br />

6.3.94 property_value 83<br />

6.3.95 property_value_association 83<br />

6.3.96 property_value_representation 83<br />

6.3.97 property_constraint 84<br />

6.3.98 shape_dependent_property 84<br />

6.3.99 shape_description 84<br />

6.3.100 shape_element 85<br />

6.3.101 shape_feature 85<br />

6.3.102 single_instance 85<br />

6.3.103 stratum 85<br />

6.3.104 stratum_feature_template_component 85<br />

6.3.105 stratum_technology 86<br />

6.3.106 structured_printed_part_template_terminal 86<br />

6.3.107 thermal_component 86<br />

6.3.108 transformation 86<br />

6.3.109 transformation_2d 86<br />

6.3.110 transformation_3d 86<br />

6.3.111 trimmed_curve 86<br />

6.3.112 unit 87<br />

6.3.113 unsupported_passage 87<br />

6.3.114 value_limit 87<br />

6.3.115 value_range 88<br />

6.3.116 value_with_unit 88<br />

6.3.117 via 88<br />

6.3.118 wireframe_model_2d 88<br />

6.4 Implementation steps and functional scope 89<br />

6.5 Mapping logic 90<br />

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

6.5.2 Package 2: item classification and grouping 91<br />

6.5.3 Package 3: person and <strong>org</strong>anization information 92<br />

6.5.4 Package 4: <strong>ECAD</strong> shape information 92<br />

6.5.5 Package 5: constraint definition 93<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 VII


TABLE OF CONTENTS ProSTEP iViP Recommendation<br />

6.5.6 Package 6: property and material definition 94<br />

6.5.7 Package 7: 2d geometry model 95<br />

6.5.8 Package 8: shape dependant information 96<br />

6.5.9 Package 9: 3d geometry model 96<br />

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

6.6.1 Concept of the “item” 97<br />

6.6.2 Concept of the designator within the context of the system 99<br />

6.6.3 Limitations on properties, user-defined properties 101<br />

6.6.4 The geometry model, shape of an item 103<br />

6.6.5 Roles 104<br />

6.6.6 General information 105<br />

6.6.7 Package EDMDSchema.foundation 106<br />

6.6.8 Package EDMDSchema.property 108<br />

6.6.9 Package EDMDSchema.administration 110<br />

6.6.10 Package EDMDSchema.pdm 110<br />

6.6.11 Package EDMDSchema.material 113<br />

6.6.12 Package EDMDSchema.d2 113<br />

6.6.13 Package EDMDSchema.external 114<br />

6.6.14 Package EDMDSchema.grouping 114<br />

6.6.15 Package EDMDSchema.annotation 115<br />

6.6.16 Package EDMDSchema.text 115<br />

6.6.17 Package EDMDSchema.computational 116<br />

6.6.18 Package EDMDSchema.3d_master_parts 116<br />

7 EDMD protocol 119<br />

7.1 General information 119<br />

7.2 Messages 120<br />

7.2.1 General information 120<br />

7.2.2 SendInformation message 120<br />

7.2.3 SendChanges message 120<br />

7.2.4 RequestForInformation message 121<br />

7.2.5 ServiceResult class 121<br />

7.3 Protocol 122<br />

7.3.1 General information 122<br />

7.3.2 Self contained Messages 123<br />

7.4 Processing rules 123<br />

7.4.1 General information 123<br />

7.4.2 SendInformation 124<br />

7.4.3 SendChanges 128<br />

Annex A: Packages EDMDSchema 133<br />

Annex B: EDMDSchema 134<br />

Annex C: 3D Master Models 135<br />

Annex D: Conformance Guidelines 136<br />

Annex E: Implementation Guidelines 137<br />

VIII<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation FIGURES<br />

Figures<br />

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

Figure 2: Support scenarios for EDMD based collaboration 2<br />

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

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

Figure 5: Configuration of collaboration control 8<br />

Figure 6: Dependencies between the use cases 9<br />

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

Figure 8: EDMD collaboration scope 22<br />

Figure 9: PDM system stores not the collaboration models 23<br />

Figure 10: Steps of an online collaboration process 24<br />

Figure 11: Steps of an offline collaboration process 25<br />

Figure 12: PDM/TDM supported <strong>Collaboration</strong> Step by Step 1/4 31<br />

Figure 13: PDM/TDM supported <strong>Collaboration</strong> Step by Step 2/4 32<br />

Figure 14: PDM/TDM supported <strong>Collaboration</strong> Step by Step 3/4 32<br />

Figure 15: PDM/TDM supported <strong>Collaboration</strong> Step by Step 4/4 33<br />

Figure 16: PDM system's collaboration session support 34<br />

Figure 17: Main characteristics of Master Model Types 40<br />

Figure 18: Hierarchical structure of the parameters of 3D master models 41<br />

Figure 19: Pin type "L" 46<br />

Figure 20: Pin type "I" 46<br />

Figure 21: Pin type "Z" 46<br />

Figure 22: Pin type "C" 46<br />

Figure 23: Offset additional body 47<br />

Figure 24: Numbering and naming of Pins 47<br />

Figure 25: Offset for pin rows 48<br />

Figure 26: Copper area definition 48<br />

Figure 27: Pins through Basic Body 49<br />

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

Figure 29: Overview of the "item definition and product structure" Package 53<br />

Figure 30: Overview of the "item classification and grouping" Package 54<br />

Figure 31: Overview of the "person and <strong>org</strong>anization information" Package 55<br />

Figure 32: Overview of the "<strong>ECAD</strong> shape information" Package 56<br />

Figure 33: Overview of the "constraint definition" Package 58<br />

Figure 34: Overview of the "property and material definition" Package 59<br />

Figure 35: Overview of the "2d geometry model" Package 60<br />

Figure 36: Overview of the "shape dependant information" Package 61<br />

Figure 37: Overview of the "3d geometry model" Package 62<br />

Figure 38: Implementation steps 89<br />

Figure 39: Mapping in Package 1 90<br />

Figure 40: Mapping classification and grouping mechanisms 91<br />

Figure 41: Mapping the <strong>org</strong>anizational units and roles 92<br />

Figure 42: Mapping the shape information 92<br />

Figure 43: Mapping the constraints 93<br />

Figure 44: Mapping in Package 6 94<br />

Figure 45: Mapping in Package 7 95<br />

Figure 46: Mapping in Package 8 96<br />

Figure 47: Item model 97<br />

Figure 48: Item data 98<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 IX


FIGURES ProSTEP iViP Recommendation<br />

Figure 49: Designator model 99<br />

Figure 50: Designator data 100<br />

Figure 51: UserProperties model 101<br />

Figure 52: Shape model 103<br />

Figure 53: CurveSet2d 104<br />

Figure 54: Roles 105<br />

Figure 55: Overview of foundation Package 107<br />

Figure 56: Over view of property Package 108<br />

Figure 57: Overview of administration Package 110<br />

Figure 58: Overview of pdm Package 111<br />

Figure 59: Overview of material Package 113<br />

Figure 60: Overview of external Package 114<br />

Figure 61: Overview of grouping Package 114<br />

Figure 62: Overview of annotation Package 115<br />

Figure 63: Overview of text Package 115<br />

Figure 64: Over view of computational Package 116<br />

Figure 65: Overview of 3d_master_parts Package 117<br />

Figure 66: Color and length property used to describe properties of 3D master part 117<br />

Figure 67: properties of pad property set 118<br />

Figure 68: Types of communication 119<br />

Figure 69: SendInformation message 120<br />

Figure 70: SendChanges message 120<br />

Figure 71: RequestInformation message 121<br />

Figure 72: ServiceResult class 121<br />

Figure 73: SendChanges 122<br />

Figure 74: RequestForInformation 123<br />

Figure 75: Processing SendInformation (1 of 2) 126<br />

Figure 76: Processing SendInformation (2 of 2) 127<br />

Figure 77: Processing SendChanges (1 of 3) 130<br />

Figure 78: Processing SendChanges (2 of 3) 131<br />

Figure 79: Processing SendChanges (3 of 3) 132<br />

X<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 1 INTRODUCTION<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 ProSTEP iViP Project Group <strong>ECAD</strong>/<strong>MCAD</strong>-<strong>Collaboration</strong> and 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 defined which<br />

enable the exchange of information between that <strong>ECAD</strong> and the <strong>MCAD</strong> system on basis of the defined data 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 />

.<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 for appropriate<br />

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

required to enable collaboration between the domains <strong>ECAD</strong> and <strong>MCAD</strong> - process oriented and based on 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 iteration<br />

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

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 />

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<br />

defined 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 />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 1


1 INTRODUCTION ProSTEP iViP Recommendation<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 Scope of the EDMD Schema<br />

With version 2.0 of the recommendation the scope was enhanced. The recommendation describes collaboration process with<br />

and without the control of a PDM or TDM system. The following figure gives an overview of the scenarios which are supported<br />

by the EDMD schema.<br />

Figure 2: Support scenarios for EDMD based collaboration<br />

2<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 1 INTRODUCTION<br />

In principle the EDMD schema supports the following four constellations:<br />

Oflline <strong>Collaboration</strong> with PDM/TDM system<br />

Online <strong>Collaboration</strong> with PDM/TDM system<br />

Oflline <strong>Collaboration</strong> without PDM/TDM system<br />

Online <strong>Collaboration</strong> without PDM/TDM system<br />

1.4 Structure of the recommendation<br />

This ProSTEP iViP 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, the integration into systems<br />

and processes and the description of simpliefied 3D master models for library management. These chapters in turn are followed<br />

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

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

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 3


2 GENERAL REQUIREMENTS ProSTEP iViP 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 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<br />

domain.<br />

4<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 result<br />

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

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

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 3):<br />

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

system.<br />

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

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 />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 2 GENERAL REQUIREMENTS<br />

Figure 3: 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 gives<br />

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 />

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 available<br />

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 4.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 5


2 GENERAL REQUIREMENTS ProSTEP iViP Recommendation<br />

Figure 4: <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 colla boration<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 />

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 />

6<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 2 GENERAL REQUIREMENTS<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 native<br />

model in the respective domain.<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 5).<br />

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

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 />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 7


2 GENERAL REQUIREMENTS ProSTEP iViP Recommendation<br />

Figure 5: 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 collabora tion<br />

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

2.8 Initiating collaboration<br />

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

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

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 />

8<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 3 USE CASE<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.<br />

It was decided within the project group to focus initially on seven 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 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 case<br />

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 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 6.<br />

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

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 9


3 USE CASES ProSTEP iViP Recommendation<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 7.<br />

Figure 7: 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 the<br />

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 current<br />

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 is done<br />

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 viewed<br />

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 elec trical<br />

components is processed.<br />

10<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 3 USE CASES<br />

3.3 Defining a board baseline<br />

Aim 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 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<br />

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 in formation<br />

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

Preconditions 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<br />

con nected. 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 There are basically two different ways of defining the board baseline depending on who assumes<br />

development 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<br />

potentiometers 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, existing<br />

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

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

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

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

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

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

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

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

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

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

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

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

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 11


3 USE CASES ProSTEP iViP Recommendation<br />

Diagram<br />

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

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

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

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

Notes No additional notes<br />

12<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 3 USE CASES<br />

3.4 Placement under mechanical constraints<br />

Aim 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 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 />

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 case<br />

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

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

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

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

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

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

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

Only with precise 3D information can correct placement be performed while utilizing the design space as<br />

best as possible. The diagram below illustrates why precise 3D geometry is important for optimum utilization<br />

of design space and why 2.5D information is not sufficient. In addition, the availability of the exact 3D geometry<br />

allows additional components to be placed which could not otherwise 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 />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 13


3 USE CASES ProSTEP iViP Recommendation<br />

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

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

14<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 then<br />

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

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

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

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

designer can check whether the placed components violate electrical constraints. Agreement can be<br />

achieved very quickly and efficiently within the framework of <strong>ECAD</strong>/<strong>MCAD</strong> collaboration since both users<br />

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

Alternatives 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 />

Diagram<br />

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

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

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

there.<br />

Notes No additional notes<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 3 USE CASES<br />

3.5 Placement under electrical constraints<br />

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

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

Actors 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 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 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 violate<br />

mechanical constraints.<br />

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

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

Alternatives 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 />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 15


3 USE CASES ProSTEP iViP Recommendation<br />

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

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

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

there.<br />

Notes No additional notes<br />

3.6 Change of board components<br />

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

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

domain.<br />

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

16<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 The board baseline has already been transferred and initial harmonization of the components has already<br />

been performed.<br />

Description Based on the initial board baseline, the electrical layouter or the mechanical designer starts the collabo ration<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. Or<br />

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

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

Alternatives Non<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 a component<br />

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> collabo ration<br />

since both users can compare the impact with the rules of their native systems.<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.2.0 / May 2010


ProSTEP iViP Recommendation 3 USE CASES<br />

Diagram<br />

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

Notes No additional notes<br />

3.7 Change of placement locations<br />

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

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 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 The board baseline has already been transferred and initial harmonization of the components has already<br />

been performed.<br />

Description 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 example,<br />

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

that a certain wiring of the components does not fulfill the requirements.<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> collabo ration<br />

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

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 17


3 USE CASES ProSTEP iViP Recommendation<br />

Alternatives Non<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 The use of an <strong>ECAD</strong>/<strong>MCAD</strong> collaboration can significantly reduce the time needed for the iterative<br />

process.<br />

Notes No additional notes<br />

3.8 Replacement of components<br />

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

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

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

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

18<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 />

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

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

been performed.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 3 USE CASES<br />

Description 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 />

Alternatives ---<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<br />

what 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 />

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

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

Diagram<br />

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

process.<br />

Notes No additional notes<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 19


3 USE CASES ProSTEP iViP Recommendation<br />

3.9 Panelization design review<br />

Aim 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 reviewed<br />

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

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

20<br />

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

Actors 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 constraints<br />

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 The PCB layout has been defined (board outline and component placement) and an initial PWB profile has<br />

been created.<br />

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

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

have to be taken into consideration.<br />

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

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

collaboration, answers can be found to questions such as, for example, where can symmetries be utilized or<br />

what tolerances have to be observed in the manufacturing process?<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 a<br />

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 />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 3 USE CASES<br />

Alternatives ---<br />

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

have been created.<br />

Diagram<br />

Benefits 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 />

Notes No additional notes<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 21


4 SYSTEM AND PROCESS INTEGRATION ProSTEP iViP Recommendation<br />

4 System and Process Integration<br />

In order to integrate the <strong>ECAD</strong>/<strong>MCAD</strong> <strong>Collaboration</strong> process into the existing PDM/TDM environments an extension of the<br />

scope is necessary. The following figure shows the system architecture with a PDM-system participating within the collaboration<br />

process based on the EDMD Schema definition. Additionally it is important that an online and offline collaboration process<br />

will be supported by the EDMD schema.<br />

Figure 8: EDMD collaboration scope<br />

The PDM system is responsible to store and provide the data which is necessary within the collaboration. The PDM system is<br />

not responsible to steere the collaboration process. The collaboration process takes place between the <strong>ECAD</strong> and <strong>MCAD</strong> system<br />

and their collaboration moduls. An important role within the collaboration process plays the management of the collaboration<br />

sandbox.<br />

In the collaboration sandbox the data used within the collaboration is stored. Each system participating in the collaborations<br />

needs provide data in the collaboration sandbox. The physical representation of the collaboration syndbox differs if the collaboration<br />

is an online or offline collaboration.<br />

In an online collaboration the collaboration sandbox is a central “file system” in which the PDM-system checks out the native data<br />

which is used in the collaboration. It is a snapshot of the data in the collaboration space. After the collaboration the data stored<br />

in the sandbox is deleted. The PDM/TDM system takes care of the collaboration sandbox management within an online<br />

collaboration.<br />

Within an offline collaboration the collaboration sandbox exists locally in each location. No centralized managed storage is<br />

available because the EDMD schema data is submitted with an offline medium such as email etc. The management of the collaboration<br />

sandbox is done by the user himself or by the participating collaboration systems.<br />

22<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 4 SYSTEM AND PROCESS INTEGRATION<br />

4.1 The role of a PDM system within collaboration<br />

The TDM system of the <strong>ECAD</strong> world only knows the electrical structure of the product. It has no informationen about the mechanical<br />

world. The TDM system of the <strong>MCAD</strong> world only knows the mechanical structure of the product. It has no informationen<br />

about the electrical world. Only the PDM system has - with the information about the partnumbers and a mapping table<br />

- the information about the mechanical and electrical structure of the product. For this reason the PDM system is responsible<br />

to provide th overall structure information used within a collaboration either to the TDM systems or directly to the participating<br />

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

It is not in the scope of the PDM/TDM system to provide storage mechanisms for the reduced models generated in the native<br />

systems for the purpose of the collaboration. The following figure shows that the PDM system is only responsible for the<br />

native data and the provision of this data to the <strong>ECAD</strong> or <strong>MCAD</strong> system or to the appropriate TDM systems. If the <strong>ECAD</strong> or<br />

<strong>MCAD</strong> system generates a derived model in order to support the collaboration this model is only valid within this specific<br />

collaboration. This models are stored in the collaboration sandbox. Only the changes to the original model after the collaboration<br />

will be stored backed into the PDM/TDM systems.<br />

Figure 9: PDM system stores not the collaboration models<br />

In order to define the role and the tasks of a PDM/TDM system within an <strong>ECAD</strong>/<strong>MCAD</strong> collaboration process it is necessary<br />

to analyze in a first step the collaboration set-up and closure process.<br />

It is important to distinguish between an online and offline collaboration process. Each process has different requirements concerning<br />

a PDM/TDM support. Furthermore it should be possible to switch the mode between online- and offline collaboration.<br />

Example: A collaboration process has started in an offline mode. During the collaboration a difficult problem was encountered<br />

and a decision was made to switch to an online collaboration. This use case should be supported by the participating systems.<br />

The principle workflows of online and offline collaboration will be described in the following chapters.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 23


4 SYSTEM AND PROCESS INTEGRATION ProSTEP iViP Recommendation<br />

4.1.1 Online <strong>Collaboration</strong><br />

The following figure shows in principle an online collaboration process from the very first initialization up to the closure of the<br />

collaboration session. Additionally typical tasks which are necessary in each step are described.<br />

Figure 10: Steps of a collaboration process<br />

The inner collaboration in step four and five takes place between the <strong>ECAD</strong> and <strong>MCAD</strong> system without any PDM system<br />

participation. The use cases for the PDM system within the other steps of the collaboration process are described in the next<br />

chapter.<br />

24<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 4 SYSTEM AND PROCESS INTEGRATION<br />

4.1.2 Offline <strong>Collaboration</strong><br />

The following figure shows in principle an offline collaboration process from the very first initialization up to the closure of the<br />

collaboration session. All communication within the process is done with an offline communication medium such as email<br />

transfer. Additionally typical tasks which are necessary in each step are described in the figure.<br />

Figure 11: Steps of an offline collaboration process<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 25


4 SYSTEM AND PROCESS INTEGRATION ProSTEP iViP Recommendation<br />

4.2 Use Cases for System and Process Integration<br />

In this chapter the use cases based on the standardized use case description (see chapter 3) are documented.<br />

4.2.1 Create <strong>Collaboration</strong>-Session-Object (CSO) for a collaboration session<br />

This Use Case is relevant in collaboration step 1 “Preparation of the collaboration” in online and offline collaboration.<br />

Aim The aim is the creation of a collaboration session object in the PDM system in order to represent the<br />

information of a collaboration session. All information generated during the collaboration session should<br />

be attached to this object in the PDM system.<br />

Actors In which system the CSO will be physically created?<br />

26<br />

a) Only in the requesting TDM system<br />

b) In both TDM systems<br />

c) Only in the PDM system<br />

d) In the PDM and TDM system<br />

PDM system<br />

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

requirements and tasks. Controls results<br />

Preconditions Objects which should be used in the collaboration session are available in the PDM system.<br />

Description The project manager creates a collaboration session object for the collaboration session within the PDM<br />

system. The PDM system stores all relevant metadata such as version, creation data, creator etc.<br />

Alternatives None<br />

In an offline and online <strong>Collaboration</strong> this use case is done in the locally available PDM system.<br />

Post conditions A new collaboration session object (CSO) with all relevant metadata is created.<br />

Diagram None<br />

Benefits All information generated during the collaboration session is attached to one single object. This objects<br />

allows to exactly rebuild the collaboration session in future.<br />

Notes No additional notes<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 4 SYSTEM AND PROCESS INTEGRATION<br />

4.2.2 Identify and attach PDM system objects to the CSO<br />

This Use Case is relevant in collaboration step 1 “Preparation of the collaboration” in online and offline collaboration.<br />

Aim The aim is to attach all object which are relevant within the collaboration to the collaboration session object.<br />

Actors Only the PDM system knows both worlds based on the meta data information and the BoM. The real data is<br />

stored in the different TDM systems.<br />

PDM system<br />

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

requirements and tasks. Controls results<br />

Preconditions A collaboration session object exists in the PDM system.<br />

Description The project manager identifies all PDM system objects (layouts, elements, parts, assemblies etc.) which should<br />

go into the collaboration session as collaboration objects. The project manager links these objects to the generated<br />

collaboration session object. The PDM system stores the selected version information for this objects<br />

together with the collaboration session object.<br />

Alternatives None<br />

In an offline and online <strong>Collaboration</strong> this use case is done in the locally available PDM system.<br />

Post conditions All relevant mechanical and electrical data is attached to the generated collaboration session object.<br />

Diagram None<br />

Benefits All data used during the collaboration session is attached to the collaboration session object. This objects<br />

allows to exactly rebuild the data used in collaboration session in future.<br />

Notes No additional notes<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 27


4 SYSTEM AND PROCESS INTEGRATION ProSTEP iViP Recommendation<br />

4.2.3 Identify responsible persons based on the PDM system information<br />

This Use Case is relevant in collaboration step 1 “Preparation of the collaboration” in online and offline collaboration.<br />

Aim The aim is to identify all relevant persons which are responsible for the objects in a collaboration.<br />

Actors The identification must be done in the PDM system because not all user are administrated in the TDM system.<br />

28<br />

PDM system<br />

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

requirements and tasks. Controls results<br />

Preconditions A collaboration session object with attached data objects exists in the PDM system.<br />

A mapping of relevant persons to the collaboration objects exists in the PDM system.<br />

Description Based on the objects the project manager is able to identify the responsible persons and their roles for this<br />

objects based on a PDM system information. Minimum one person attached to the object should have an additional<br />

information which identifies the person as responsible for a collaboration.<br />

Alternatives None<br />

In an offline and online <strong>Collaboration</strong> this use case is done in the locally available PDM system.<br />

Post conditions A list of all persons which are relevant for the collaboration session is available. The rights within the collaboration<br />

session are defined based on the PDM system information.<br />

Diagram None<br />

In this example:<br />

Bob: Read/Write Access to MechanicalPart “Housing” and sub assembly<br />

Read Access to all other information<br />

Alice: Read/Write Access to MechanicalPart “Lower Part”<br />

Read Access to all other information<br />

Joe: Read/Write Access to ElectricalPart “Control PCB” and all components<br />

Read Access to all other information<br />

Benefits The project manager has a direct link to the responsible persons. This prevents time consuming searches of<br />

responsible persons.<br />

Notes No additional notes<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 4 SYSTEM AND PROCESS INTEGRATION<br />

4.2.4 Invite responsible persons to the collaboration<br />

This Use Case is relevant in collaboration step 2 in an online collaboration and step 3 in offline collaboration “Initiation of the<br />

collaboration session”.<br />

Aim The aim is to automatically invite all relevant persons to a collaboration session.<br />

Actors Must be done via the PDM system.<br />

PDM system<br />

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

requirements and tasks. Controls results<br />

Preconditions A list of relevant persons which should participate the collaboration.<br />

Description Based on the list of participants the project manager is able to sent an invitation to the persons directly from<br />

the PDM system. The invitation could be for an online or offline collaboration session.<br />

Alternatives None<br />

In an offline collaboration the invitation is done via email or other offline media. In an online collaboration<br />

the invitation is done via an online service.<br />

The PDM system manages the responses and defines the time for the collaboration session. It informs the<br />

participants about the data which is relevant for the collaboration.<br />

Post conditions The invited persons know that there is a collaboration session scheduled. The starting time for the<br />

collaboration session is defined.<br />

Diagram None<br />

Benefits Every participant of the collaboration knows exactly the time an the content of the collaboration session.<br />

Notes No additional notes<br />

4.2.5 Select and start collaboration session<br />

This Use Case is relevant in collaboration step 2 in an online collaboration and step 3 in an offline collaboration “Initiation of<br />

the collaboration session”.<br />

Aim The aim is to automatically start the collaboration session with the invited persons and the necessary data.<br />

Actors Must be done via the PDM system. The PDM system must sent a message to the TDM system to start their<br />

collboration modules.<br />

PDM system<br />

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

requirements and tasks. Controls results<br />

Preconditions <strong>Collaboration</strong> Session Object, List of participants who have accepted the collaboration<br />

Description The project manager is able to start the collaboration session based in the <strong>Collaboration</strong> Session Object in<br />

the PDM system.<br />

Alternatives None<br />

In an offline collaboration the start of the collaboration session generates an email template with automatically<br />

filled in “Recipient “and “Subject”. The Recipient is derived from Use Case 3. In an online collaboration the<br />

collaboration session is started directly from the PDM/TDM system. The user gets an online message that a<br />

collaboration has started. (like Sametime)<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 29


4 SYSTEM AND PROCESS INTEGRATION ProSTEP iViP Recommendation<br />

Post conditions The invited persons get a message that the collaboration starts. The persons can accept the start of the<br />

collaboration.<br />

Diagram None<br />

Benefits No additional efforts to search relevant persons for the manager of a collaboration.<br />

Notes No additional notes<br />

4.2.6 Checkout data from the PDM system to the <strong>ECAD</strong>/<strong>MCAD</strong> system<br />

This Use Case is relevant in collaboration step 3 in an online collaboration and step 4 in offline collaboration “Provision of the<br />

data for a collaboration session”.<br />

Aim The aim is to automatically provide the necessary data to the participants of the collaboration.<br />

Actors The data is stored in the different TDM systems. The initiation of a check out process must be done from the<br />

PDM system based on the CSO information.<br />

30<br />

PDM system<br />

Preconditions <strong>Collaboration</strong> Session Object, List of participants who have accepted the collaboration<br />

Accepted collaboration from the participants.<br />

Description The PDM system provides the participants the current data necessary for the collaboration. It is also possible<br />

that the PDM system automatically starts the corresponding application.<br />

Alternatives None<br />

In offline collaboration the data is directly attached to the email or available in the file system of the receiver.<br />

In an online collaboration the data is checked out directly to a “central” collaboration space.<br />

Post conditions The data is loaded in the application participating the collaboration. The user has now the possibility to perform<br />

the collaboration session based on this data.<br />

Diagram None<br />

Benefits The user has no additional efforts in order to load the data to the application. The PDM system ensures that<br />

the correct versions are loaded.<br />

Notes No additional notes<br />

4.2.7 Store back modifications into the PDM-system<br />

This Use Case is relevant in collaboration step 6 in an online collaboration and step 8 in offline collaboration “Documentation<br />

of the collaboration session”.<br />

Aim The aim is to store the modifications which are the result of a collaboration back into the PDM system.<br />

Actors The information about meta data changes must be stored back to the PDM system together with the sandbox<br />

data. The modified data must be stored back via the standard TDM system interface to the TDM system.<br />

PDM system<br />

Preconditions Finished collaboration session.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 4 SYSTEM AND PROCESS INTEGRATION<br />

Description After the collaboration has finished the PDM system automatically stores the metadata information generated<br />

within the collaboration back to the CSO, e.g. protocol of collaboration, participating persons, objects<br />

modified etc.. After the collaboration the CSO gets a PDM status “frozen” which does not allow to modify this<br />

version of the object in the future.<br />

Alternatives None<br />

Furthermore each participant has the choice to store the modified native information back to the PDM system with<br />

the following possibilities:<br />

1. Overwrite existing data<br />

2. Create new version of data<br />

3. Create new data<br />

In an offline collaboration this could be only done with a manual import of the data to the local PDM systems. In<br />

an online collaboration the data from the collaboration space could be checked in directly to the PDM system.<br />

Post conditions The collaboration is documented with the frozen CSO and the modified data is stored back in the PDM system.<br />

Diagram None<br />

Benefits No information gets lost. The collaboration is exactly documented and comprehensible in the future.<br />

Notes No additional notes<br />

4.3 PDM/TDM system supported collaboration<br />

The following chapter describes the principle collaboration process in the case that a PDM and a TDM system exist in the<br />

company.<br />

Figure 12: PDM/TDM supported <strong>Collaboration</strong> Step by Step 1/4<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 31


4 SYSTEM AND PROCESS INTEGRATION ProSTEP iViP Recommendation<br />

Figure 13: PDM/TDM supported <strong>Collaboration</strong> Step by Step 2/4<br />

Figure 14: PDM/TDM supported <strong>Collaboration</strong> Step by Step 3/4<br />

32<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 4 SYSTEM AND PROCESS INTEGRATION<br />

Figure 15: PDM/TDM supported <strong>Collaboration</strong> Step by Step 4/4<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 33


4 SYSTEM AND PROCESS INTEGRATION ProSTEP iViP Recommendation<br />

4.4 PDM system supported cooperation<br />

Based on the described use cases the PDM system must fulfill additional requirements The following picture gives a rough overview<br />

of the necessary PDM system’s collaboration session support: The roles and objects as well as the resulting requirements<br />

will be described in the following sub chapters.<br />

Figure 16: PDM system’s collaboration session support<br />

34<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 4 SYSTEM AND PROCESS INTEGRATION<br />

4.4.1 Represent additional user roles which are necessary within a collaboration<br />

The PDM system should represent additional user roles which are necessary for a collaboration. These role are:<br />

<strong>Collaboration</strong> manager: Person who has the right to manage a CSO by means of creating links to other objects, starting<br />

the collaboration, inviting persons, managing and versioning the CSO etc.<br />

<strong>Collaboration</strong> part responsible: Person who is responsible for a PDM system part within a collaboration session. Each part<br />

in the PDM system should have exactly one person who is responsible for the part in the collaboration context. This person<br />

participates in a collaboration session. It must be ensured that all necessary software is installed for a person which has this<br />

role. It must be defined which application this person will use within a collaboration. The <strong>Collaboration</strong> part responsible<br />

can change release levels of the data according to the collaboration, e.g. a part of the PDM system could have the status<br />

“released for collaboration”.<br />

<strong>Collaboration</strong> leader: Person who has the lead within a collaboration. This person could be different from the<br />

collaboration manager or the same person. A <strong>Collaboration</strong> leader has the right to initiate a collaboration. He is not<br />

allowed to generate links between the CSO and other PDM system’s objects. The role <strong>Collaboration</strong> leader could be<br />

granted by a <strong>Collaboration</strong> manager. The <strong>Collaboration</strong> leader defines the access rights and privileges of a person/role<br />

related to a specific collaboration item (e.g. view, update, create of object data and structures). The PDM system provides<br />

a collaboration management support for the collaboration leader.<br />

4.4.2 Management of a collaboration session object within the PDM system<br />

The PDM system data model must be able to define a collaboration session object (CSO). The CSO must be versioned and<br />

must be able to have links to other objects stored in the PDM system. The CSO has an own version management within the PDM<br />

system. After a collaboration a new version of the CSO will be created automatically and the old version will be checked in<br />

and frozen. The CSO should only be created with a specific PDM system’s role called <strong>Collaboration</strong> manager.<br />

4.4.3 CSO Metadata management<br />

It should be possible to attach additional metadata to the CSO, such as creator, creation date, collaboration history etc.<br />

4.4.4 CSO Document management<br />

It should be possible to attach additional documents to the CSO, e.g. the protocol of a collaboration after the collaboration has<br />

finished.<br />

4.4.5 CSO Search management<br />

The PDM system’s search and retrieve mechanisms should allow to search upon specific attributes of the CSO.<br />

4.4.6 CSO Link management<br />

It is important that a CSO could be linked with other objects of the PDM-system. Especially the linkage between the CSO and<br />

the data which should be used in the collaboration is a prerequisite for the start of a collaboration based on the CSO.<br />

4.4.7 <strong>Collaboration</strong> session preparation support<br />

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

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

data which should be used within a collaboration is called the collaboration scope. This data will be linked a collaboration manager<br />

to the collaboration session object, The PDM system should automatically identify all persons which have the role<br />

“<strong>Collaboration</strong> part responsible” for the parts of the collaboration scope. These persons are the basis for the invitation management<br />

of the collaboration.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 35


4 SYSTEM AND PROCESS INTEGRATION ProSTEP iViP Recommendation<br />

This identification allows the current collaboration session to be initiated. The PDM system invites responsible persons based on<br />

the CSO for a collaboration and support of the two principle collaboration types:<br />

Synchronous (online) <strong>Collaboration</strong>: All users which should attend the collaboration are logged in the PDM system (online).<br />

The PDM system should use an internal notification mechanism and invite the responsible persons. The PDM system should<br />

provide possibilities to reject, accept or rearrange a collaboration invitation.<br />

Asynchronous (offline) <strong>Collaboration</strong>: Users which should attend the collaboration are offline. The PDM system should<br />

inform the inviting user that only a offline collaboration is possible. It should start the collaboration.<br />

4.4.8 <strong>Collaboration</strong> session initiation support<br />

The PDM system must provide mechanisms to start the collaboration based on a CSO. The PDM system must furthermore check<br />

if all necessary information for the collaboration is linked to the CSO:<br />

1. Data for the collaboration session (collaboration scope)<br />

2. Responsible persons (<strong>Collaboration</strong> part responsible)<br />

3. Data and time of the collaboration session<br />

The right to start a collaboration should be attached to a specific role within the PDM system, e.g. a collaboration manager<br />

role. The role could be attached also to a mechanical or electrical designer if they should be able to start a collaboration process.<br />

4.4.9 <strong>Collaboration</strong> session data management<br />

The PDM system should automatically check out all relevant data for a collaboration session. Based on the information of the<br />

CSO the PDM system should retrieve the “<strong>Collaboration</strong> part responsible” persons. Each person has associated a collaboration<br />

application. The PDM system could automatically start the defined application and with its collaboration session management<br />

module. The <strong>Collaboration</strong> part responsible has the task to define the data which should be shared within the collaboration<br />

session in the collaboration “sandbox”. After the collaboration session the <strong>Collaboration</strong> part responsible has the option<br />

which modification from the collaboration influence the native data. The native data is stored back to the PDM system. The PDM<br />

system provides the following possibilities:<br />

1. Overwrite existing data in the PDM system<br />

2. Create new version of the existing data in the PDM system<br />

3. Create new data with now version history<br />

Remark: the collaboration data itself (sandbox data) gets lost after the collaboration.<br />

4.4.10 Closing the collaboration session<br />

After closing the collaboration session by the <strong>Collaboration</strong> leader the PDM system should store back the metadata and<br />

session information to the CSO. This could be for example:<br />

Participating persons<br />

<strong>Collaboration</strong> session log file<br />

After the collaboration it should not be possible to modify the content or the link information of a CSO. The PDM system must<br />

ensure that this information is frozen within the PDM system.<br />

36<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 4 SYSTEM AND PROCESS INTEGRATION<br />

4.4.11 Managemet of the <strong>Collaboration</strong> sandbox<br />

The management of a data check out process is done within the PDM system. From a PDM system’s point of view it is not<br />

relevant if the checkout is done for the reason of working with the data or collaborating with the data.<br />

The ‘simplified’ data used within collaboration is stored locally in the so called sandbox. After the collaboration the changes are<br />

submitted back to the native data.<br />

For an online collaboration the sandbox data will be deleted after the closure of the collaboration process. Within an online<br />

collaboration the PDM system takes care on this step. The results of the collaboration are only available in the native <strong>ECAD</strong> or<br />

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

Within an offline collaboration the sandbox exists locally in each location. Therefore the user himself must take care about the<br />

further management of the sandbox data. In an offline collaboration this is no requirement for a PDM or TDM system.<br />

4.4.12 Handling of ECO/ECR within a collaboration process<br />

The asumption is, that the handling of an Engineering Change Request and an Engineering Change Order is availbale in the<br />

standard installation of the PDM system in a company. The handling is synchronized with the versioning mechanisms of the PDM<br />

system. If an ECO is succesful a new version of the data is created.<br />

Form the collaboration point of view the versioning is used to<br />

1. Perform a versioning of the <strong>Collaboration</strong> session object: Which each initiation of the same collaboration a new version<br />

of the CSO is created. The previous results of a collaboration are still available in the previous version of the CSO.<br />

2. Perform a versioning of the part modified during the collaboration session. After the collaboration is closed the user has<br />

the choice if the modified results are stored back from the sandbox to the native data and afterwards back to the PDM<br />

system. In this case a new version of the data will be generated.<br />

The ECDA/<strong>MCAD</strong> collaboration has no additional special requirements to the handling of these processes. The mechanism<br />

could be applied to the collaboration process as well.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 37


5 STANDARDIZED LIBRARY COMPONENTS ProSTEP iViP Recommendation<br />

5 Standardized Library Components<br />

To create <strong>ECAD</strong> representations and 3D representations of electrical and electromechanical components is an enormous<br />

workload. The goal is to provide within the EDMDSchema a standardized component library specification of components.<br />

5.1 Use Cases for Standardized Library Components<br />

In this chapter the use cases for an EDMDSchema supported library management are documented. The documentation is based<br />

on the standardized use case description (see chapter 3).<br />

The following three use cases were defined and will be detailed in the next chapters:<br />

UC1: Using library information within collaboration<br />

UC2: Cross domain library to library data exchange<br />

UC3: Provision of library data from supplier<br />

5.1.1 Using library information within collaboration<br />

Aim Within the collaboration process the usage of library information should be enabled.<br />

Actors <strong>ECAD</strong>, <strong>MCAD</strong>, <strong>ECAD</strong>-Library, <strong>MCAD</strong>-Library.<br />

Preconditions Established collaboration session. The two standard library elements are available in each library of the<br />

participating systems. Functionality for instantiation based on parameters exists within the libraries.<br />

Description The standardized library information is used in order to minimize necessary data exchange within<br />

collaboration. For library elements only the element type and the standardized parameterization needs to be<br />

exchanged. An explicit exchange of the component geometry is not necessary.<br />

Alternatives No alternatives.<br />

Post conditions Library elements are available as explicit collaboration object with all necessary information. The instantiation<br />

was done by each system based on the provided parameterization of the library components.<br />

Diagram<br />

Benefits Minimization of data exchange. Individual Library element description possible (e.g. 3D for <strong>MCAD</strong>, 2D for<br />

<strong>ECAD</strong> etc.). Standardized data exchange.<br />

Notes After first instantiation the library components may be modified or enriched by librarian information, e.g.<br />

pure <strong>ECAD</strong> information has to be added to <strong>ECAD</strong> library components.<br />

38<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 5 STANDARDIZED LIBRARY COMPONENTS<br />

5.1.2 Cross domain library to library data exchange<br />

Aim Exchange of library information between different <strong>ECAD</strong>- and <strong>MCAD</strong>-libraries.<br />

Actors <strong>ECAD</strong>-Library, <strong>MCAD</strong>-Library.<br />

Preconditions The two standard library elements are available in each library of the participating systems. Functionality for<br />

instantiation based on parameters exists within the library.<br />

Description The standardized library information is used in order to synchronize the information between different existing<br />

libraries. The standardized library information could also be used for building new library content. Each<br />

library has its own mechanism for generating the components. The parameterization of the components which<br />

is submitted via the EDMDSchema must contain all necessary information.<br />

Alternatives Without the EDMDSchema support an exchange between library information is only possible with a manual<br />

process.<br />

Post conditions After the synchronization the library elements are instantiated within the participating libraries based on the<br />

submitted parameterization.<br />

Diagram<br />

Benefits Minimization of manual data exchange work. Transfer between different library types (2D/3D) possible<br />

based on an individual parameterization.<br />

Notes After first instantiation the library components may be modified or enriched by librarian information, e.g.<br />

pure <strong>ECAD</strong> information has to be added to <strong>ECAD</strong> library components.<br />

5.1.3 Provision of library data from supplier<br />

Aim Exchange of component information between component supplier and customer based on the EDMD-Schema.<br />

Actors Supplier, <strong>ECAD</strong>-Library, <strong>MCAD</strong>-Library.<br />

Preconditions 2 Standard library elements are available in the customer target library. Functionality for instantiation based<br />

on parameters exists within the library.<br />

Description The standardized library information is used in order to submit component information from a supplier to its<br />

customer. The information could be used to fill either a mechanical or an electrical component library. The<br />

standardized library information is used in order to build up new library content based on the supplier's specification.<br />

Alternatives Exchange of the component information based on “common” data exchange ways such as email, fax etc.<br />

and manual entering of the information into the library.<br />

Post conditions After the data transfer the supplier component is available as a component within the customer library. The<br />

component was instantiated automatically based on the submitted parameterization. It could be directly used<br />

within the <strong>ECAD</strong>- or <strong>MCAD</strong>-application.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 39


5 STANDARDIZED LIBRARY COMPONENTS ProSTEP iViP Recommendation<br />

Diagram<br />

Benefits Error free component information data exchange. Minimization of manual work. Digital process without<br />

paper based information.<br />

Notes After first instantiation the library components may be modified or enriched by librarian information, e.g.<br />

pure <strong>ECAD</strong> information has to be added to <strong>ECAD</strong> library components.<br />

5.2 Parameterized Library Components<br />

The EDMD library schema is based on two standard electrical component types (cp. Figure 17). Each type is parameterized<br />

within a library-dependent native format. The data exchange of a component instance takes place based on the component type<br />

and the parameter information. The parameterization information is standardized within the EDMDSchema definition. The<br />

EDMDSchema is not a format for the library definition, meaning each library could have additional, tool dependent component<br />

information such as tool dependent wiring and insertion information etc.<br />

Figure 17: Main characteristics of Master Model Types<br />

40<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 5 STANDARDIZED LIBRARY COMPONENTS<br />

Basic principle for the standardized library components is the definition of parametric 3D master models.These master models<br />

are categorized into two types, which differ in their main geometric appearance. In Scope is the rough geometry with exact<br />

dimensions and additional necessary information for both <strong>MCAD</strong> and <strong>ECAD</strong>. Technology information is out of scope. The<br />

instantiation itself will be triggered by the corresponding XML-File, which contains the parameters to feed the 3D master models.<br />

Afterwards, the instantiated models may be modified or enriched by librarian information.<br />

The specification of the 3D master parts is independent from any specific CAD system. As a result users and respectively<br />

vendors could implement the master model parts in their own <strong>ECAD</strong> or <strong>MCAD</strong> system<br />

environment.<br />

The master models are specified by both geometrical parameters and non-geometrical parameters. The parameters are<br />

categorized into element classes. The hierarchical structure is illustrated in Figure 18:<br />

Figure 18: Hierarchical structure of the parameters of 3D master models<br />

The parameters describing the master models and driving the respective component instantiations are stored in an XML file with<br />

the identical hierarchical structure. The structure of the XML file has to be conform with the part of the EDMDSchema specifying<br />

the master model (cp. 6.6.18).<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 41


5 STANDARDIZED LIBRARY COMPONENTS ProSTEP iViP Recommendation<br />

5.2.1 3D Master Model "Type A"<br />

In the following table the geometrical parameters of the master model "Type A" are listed:<br />

Element Class Parameter short name Parameter full name<br />

(in illustration) (in EDMDSchema)<br />

Electrical Insertion Point X_Offset ACS_X_Offset<br />

42<br />

Y_Offset ACS_Y_Offset<br />

Z_Offset ACS_Z_Offset<br />

Angle ACS_Angle<br />

Body Width Body_Width<br />

Length Body_Length<br />

Height Body_Height<br />

Bottom_Height Body_Bottom_Height<br />

Chamfer_LB Body_Chamfer_LB<br />

Chamfer_RB Body_Chamfer_RB<br />

Chamfer_LA Body_Chamfer_LA<br />

Chamfer_RA Body_Chamfer_RA<br />

Additional Body Add_Length Body_Add_Length<br />

Add_Width Body_Add_Width<br />

Add_Radius Body_Add_Radius<br />

Add_Bottom_Height Body_Add_Bottom_Height<br />

Add_Height Body_Add_Height<br />

Add_Offset_X Body_Add_Offset_X<br />

Add_Offset_Y Body_Add_Offset_Y<br />

Opt Hole_X Opt_Hole_X<br />

Hole_Y Opt_Hole_Y<br />

Hole_Diameter Opt_Hole_Diameter<br />

Hole_Z1 Opt_Hole_Z1<br />

Hole_Z2 Opt_Hole_Z2<br />

Cut_X1 Opt_Cut_X1<br />

Cut_Y1 Opt_Cut_Y1<br />

Cut_X2 Opt_Cut_X2<br />

Cut_Y2 Opt_Cut_Y2<br />

Cut_Z1 Opt_Cut_Z1<br />

Cut_Z2 Opt_Cut_Z2<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 5 STANDARDIZED LIBRARY COMPONENTS<br />

Element Class Parameter short name Parameter full name<br />

(in illustration) (in EDMDSchema)<br />

Pin<br />

Width_R<br />

Width_L<br />

Width_B<br />

Width_A<br />

Pitch_R<br />

Pitch_L<br />

Pitch_B<br />

Pitch_A<br />

Thickness_R<br />

Thickness_L<br />

Thickness_B<br />

Thickness_A<br />

Radius_R<br />

Radius_L<br />

Radius_B<br />

Radius_A<br />

Fixation_Height_R<br />

Fixation_Height_L<br />

Fixation_Height_B<br />

Fixation_Height_A<br />

Fixation_Height_1_R<br />

Fixation_Height_1_L<br />

Fixation_Height_1_B<br />

Fixation_Height_1_A<br />

Length_R<br />

Length_L<br />

Length_B<br />

Length_A<br />

Length_1_R<br />

Length_1_L<br />

Length_1_B<br />

Length_1_A<br />

Offset_R<br />

Offset_L<br />

Offset_B<br />

Offset_A<br />

Pin_Width_R<br />

Pin_Width_L<br />

Pin_Width_B<br />

Pin_Width_A<br />

Pin_Pitch_R<br />

Pin_Pitch_L<br />

Pin_Pitch_B<br />

Pin_Pitch_A<br />

Pin_Thickness_R<br />

Pin_Thickness_L<br />

Pin_Thickness_B<br />

Pin_Thickness_A<br />

Pin_Radius_R<br />

Pin_Radius_L<br />

Pin_Radius_B<br />

Pin_Radius_A<br />

Pin_Fixation_Height_R<br />

Pin_Fixation_Height_L<br />

Pin_Fixation_Height_B<br />

Pin_Fixation_Height_A<br />

Pin_Fixation_Height_1_R<br />

Pin_Fixation_Height_1_L<br />

Pin_Fixation_Height_1_B<br />

Pin_Fixation_Height_1_A<br />

Pin_Length_R<br />

Pin_Length_L<br />

Pin_Length_B<br />

Pin_Length_A<br />

Pin_Length_1_R<br />

Pin_Length_1_L<br />

Pin_Length_1_B<br />

Pin_Length_1_A<br />

Pin_Offset_R<br />

Pin_Offset_L<br />

Pin_Offset_B<br />

Pin_Offset_A<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 43


5 STANDARDIZED LIBRARY COMPONENTS ProSTEP iViP Recommendation<br />

Element Class Parameter short name Parameter full name<br />

(in illustration) (in EDMDSchema)<br />

Pad<br />

In the following table the non-geometrical parameters of the master model "Type A" are listed:<br />

44<br />

Length<br />

Width<br />

Offset_R<br />

Offset_L<br />

Offset_A<br />

Offset_B<br />

Pad_Length<br />

Pad_Width<br />

Pad_Offset_R<br />

Pad_Offset_L<br />

Pad_Offset_A<br />

Pad_Offset_B<br />

Element Class Parameter short name Parameter full name<br />

(in EDMDSchema)<br />

Body<br />

Additional Body<br />

Pad<br />

Opt<br />

Pin<br />

Color<br />

Add_Count<br />

Color<br />

Name<br />

Count_R<br />

Count_L<br />

Count_A<br />

Count_B<br />

Hole_Count<br />

Cut_Count<br />

Identifier<br />

Digit<br />

Number_R<br />

Number_L<br />

Number_B<br />

Number_A<br />

Type_R<br />

Type_L<br />

Type_B<br />

Type_A<br />

Body_Color<br />

Body_Add_Count<br />

Body_Add_Color<br />

Pad_Name<br />

Pad_Count_R<br />

Pad_Count_L<br />

Pad_Count_A<br />

Pad_Count_B<br />

Opt_Hole_Count<br />

Opt_Cut_Count<br />

Pin_Identifier<br />

Pin_Digit<br />

Pin_Number_R<br />

Pin_Number_L<br />

Pin_Number_B<br />

Pin_Number_A<br />

Pin_Type_R<br />

Pin_Type_L<br />

Pin_Type_B<br />

Pin_Type_A<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 5 STANDARDIZED LIBRARY COMPONENTS<br />

Element Class Parameter short name Parameter full name<br />

(in EDMDSchema)<br />

Color_R<br />

Color_L<br />

Color_B<br />

Color_A<br />

Index_R<br />

Index_L<br />

Index_B<br />

Index_A<br />

Increment_R<br />

Increment_L<br />

Increment_B<br />

Increment_A<br />

Count_R<br />

Count_L<br />

Count_A<br />

Count_B<br />

Pin_Color_R<br />

Pin_Color_L<br />

Pin_Color_B<br />

Pin_Color_A<br />

Pin_Index_R<br />

Pin_Index_L<br />

Pin_Index_B<br />

Pin_Index_A<br />

Pin_Increment_R<br />

Pin_Increment_L<br />

Pin_Increment_B<br />

Pin_Increment_A<br />

Pin_Count_R<br />

Pin_Count_L<br />

Pin_Count_A<br />

Pin_Count_B<br />

The geometrical parameters of the 3D master model "Type A" are described within the extra document PSI5_Mastermodel_Type_A.pdf,<br />

which is also part of the recommendation but not part of this printable piece of the recommendation. Within this 3D PDF<br />

document the dimensioning concept is illustrated. The dimensions of the respective parameters are stored on different views.<br />

Through show and hide mechanism of selective parameters or even entire views, it is very comfortable to understand the<br />

definitions of the parameters. As basis orientation a clockwise cartesian coordinate system is used (x-axis red arrow, y-axis green<br />

arrow, z-axis blue arrow).<br />

For purposes of clarity not all definitions are described in the 3D PDF document. The following definitions are described by<br />

separate illustrations:<br />

Pin Types 'L", "I", "Z" and "C"<br />

Offset of Additional Body<br />

Definition of numbering and naming of Pins<br />

Additional Pin rows<br />

Offset for pin rows<br />

Definition of Copper Area<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 45


5 STANDARDIZED LIBRARY COMPONENTS ProSTEP iViP Recommendation<br />

The position of the pins is represented in the 3D PDF master model description. The definition of the pin types "L", "I", "Z" and "C"<br />

are described by the following drawings:<br />

Figure 19: Pin type "L"<br />

46<br />

Figure 20: Pin type "I"<br />

Figure 21: Pin type "Z" Figure 22: Pin type "C"<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 5 STANDARDIZED LIBRARY COMPONENTS<br />

The offset of the additional body is illustrated by Figure 23:<br />

Figure 23: Offset additional body<br />

Each Pin row has an Index for numbering, and a counting Increment. In addition each Pin has a number (Pin_Digit) and a<br />

name (Pin_Identifier). The numbering and naming of the pins is described in Figure 24:<br />

Figure 24: Numbering and naming of Pins<br />

Example: Pin_Index_A = 1 and Pin_Increment_A = 2, then the pins in row A have the numbers 1, 3, 5, and 7<br />

Additional pin rows are allowed for each side [0…n]. The pin rows are defined by the following parameters<br />

Type<br />

Pitch<br />

Offset<br />

Width<br />

Number<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 47


5 STANDARDIZED LIBRARY COMPONENTS ProSTEP iViP Recommendation<br />

The pin rows could have an offset (cp. Figure 25):<br />

Figure 25: Offset for pin rows<br />

Positive values for offset in positive x-/y-axis; negative values for offsets in negative x-/y-axis (e.g. Pin_Offset_A in above<br />

figure). Equivalent definition for Pin_Offset_L and Pin_Offset_R.<br />

The definition of the simplified copper area is illustrated in Figure 26:<br />

Figure 26: Copper area definition<br />

Multiple copper area pads are allowed [0..n]. The pad is defined by the length, width and an offset. The pad is always<br />

centered to longitudinal direction and is located on the x-y plane (z=0). Each pin row refers to one pad type.<br />

48<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 5 STANDARDIZED LIBRARY COMPONENTS<br />

5.2.1.1 Implementation Constraints<br />

For the implementation of the 3D master model "Type A" in a CAD system the following implementation<br />

constraints have to be observed:<br />

Default Orientation<br />

- The longer side of the basic body extends along the x-axis<br />

Body<br />

- Origin in the middle of the Body<br />

Optional Chamfers of Basic Body<br />

- 45° Chamfers<br />

- If value = "0" or "" then no Chamfer<br />

Optional Additional Body<br />

- All 4 radiuses are identical<br />

- Multiple Additional Bodies allowed: Add_Count [0..n]<br />

Cut (Optional through Body or Contacts)<br />

- Multiple Cuts allowed: Cut_Count [0..n]<br />

Hole (optional through Body or Contacts)<br />

- If Diameter = 0 or "" then no Hole<br />

- Multiple Holes allowed: Hole_Count [0..n]<br />

Pin (the asterisk symbol * represents the for sides A, B, L and R)<br />

- "Pin 1" is the pin along the positive x- and y-axis (first max. x-direction, then max. ydirection)<br />

- Pin definition for each side is independent (different Pins on sides right (R), left (L), ahead (A) and behind (B) possible)<br />

- Positioning of pins: evenly distributed on each row [number of Pins and pitch]<br />

- Definition of 'Pin_Length' and 'Pin_Length_1' depends on the 'Section Type'<br />

- Multiple Pin(rows) allowed: Pin_Count_* [0..n]<br />

- Pin_Identifier and Pin_Digit refers to Pin_Index_* and Pin_Increment_*<br />

- Identical Pin_Radius for each edge of the pin<br />

- If both the Pin_Width and the Pin_Thickness are twice the Pin_Radius, the pins are round.<br />

- Pin_Length_2 could be negative, then the Pins will go through the Basic Body (cp. Figure 27):<br />

Figure 27: Pins through Basic Body<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 49


5 STANDARDIZED LIBRARY COMPONENTS ProSTEP iViP Recommendation<br />

5.2.2 3D Master Model "Type B"<br />

In the following table the geometrical parameters of the master model "Type B" are listed:<br />

Element Class Parameter short name Parameter full name<br />

(in illustration) (in EDMDSchema)<br />

Electrical Insertion Point<br />

Body<br />

Pin<br />

Pin optional<br />

In the following table the non-geometrical parameters of the master model "Type B" are listed:<br />

Element Class Parameter short name Parameter full name<br />

(in EDMDSchema)<br />

Body<br />

Pin<br />

The geometrical parameters of the 3D master model "Type B" are described within the extra document PSI5_Mastermodel_Type_B.pdf,<br />

which is also part of the recommendation but not part of this printable piece of the recommendation. Within this 3D PDF<br />

document the dimensioning concept is illustrated. The dimensions of the respective parameters are stored on different views.<br />

Through show and hide mechanism of selective parameters or even entire views, it is very comfortable to understand the<br />

definitions of the parameters. As basis orientation a clockwise cartesian coordinate system is used (x-axis red arrow, y-axis green<br />

arrow, z-axis blue arrow).<br />

50<br />

X_Offset<br />

Y_Offset<br />

Z_Offset<br />

Angle<br />

Diameter<br />

Length<br />

Diameter<br />

Length<br />

Width<br />

Diameter<br />

Length<br />

Width<br />

Color<br />

Color<br />

ACS_X_Offset<br />

ACS_Y_Offset<br />

ACS_Z_Offset<br />

ACS_Angle<br />

Body_Diameter<br />

Body_Length<br />

Pin_Diameter<br />

Pin_Length<br />

Pin_Width<br />

Pin_opt_Diameter<br />

Pin_opt_Offset<br />

Pin_opt_Width<br />

Body_Color<br />

Pin_Color<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 5 STANDARDIZED LIBRARY COMPONENTS<br />

5.2.2.1 Implementation Constraints<br />

For the implementation of the 3D master model "Type B" in a CAD system the following implementation constraints have to be<br />

observed:<br />

"Pin 1" is the pin along the positive x-axis<br />

Model is mirror-symmetrical<br />

- Cylinder is in the middle of the pins<br />

- Both pins are identical<br />

Special type with "ring" as contact without standard L-Pins<br />

- Inner Diameter of ring equals Body Diameter<br />

- Standard L-Pins values:<br />

· Pin_Diameter = 0<br />

· Pin_Length = 0<br />

· Pin_Width = 0<br />

Special type with upright body position is out of scope<br />

5.2.3 General Implementation Issues<br />

The following implementation constraints are valid for both Types A and B:<br />

Tolerances<br />

- Tolerances must be applied to all geometric parameters<br />

· Nominal Value<br />

· algebraic sign + Tolerance for Maximum Material Model<br />

· algebraic sign + Tolerance for Minimum Material Model<br />

Color<br />

- Each feature (Basic Body, Add. Body, Pin row) has an attribute for the color<br />

· 9-digit rgb-code (e.g. 255255255 for white)<br />

Electrical Insertion Point<br />

- ACS Electrical Insertion Point represents the placement constraint. The origin coordinate system is just for defining the ACS.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 51


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

6 EDMD data model<br />

6.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 28<br />

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

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

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

can be found in section 6.3.<br />

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

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 6.5.1.<br />

52<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

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

6.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 29).<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 />

Figure 29: Overview of the “item definition and product structure” 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 />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 53


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

6.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 30).<br />

Figure 30: 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<br />

(general_classification).<br />

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

classification_association, general_classification, classification_attribute<br />

54<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

6.2.3 Package 3: person and <strong>org</strong>anization information<br />

Person and <strong>org</strong>anization-specific data is defined in the Package "person and <strong>org</strong>anization information" (cp. Figure 31). The<br />

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

Figure 31: Overview of the “person and <strong>org</strong>anization 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_<strong>org</strong>anization_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 />

<strong>org</strong>anization, person_<strong>org</strong>anization_assignment, person, person_in_<strong>org</strong>anization<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 55


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

6.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 32). The package allows electrical semantics to be defined<br />

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

Figure 32: Overview of the “<strong>ECAD</strong> shape information” Package<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 />

56<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<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 />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 57


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

6.2.5 Package 5: constraint definition<br />

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

Figure 33: 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 during<br />

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 />

58<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

6.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 34). 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 />

Figure 34: Overview of the “property and material definition” Package<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 />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 59


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

6.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 35).<br />

Figure 35: Overview of the “2d geometry model” Package<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” (defined<br />

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

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

<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 />

6.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 "shape<br />

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

9. 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 represented<br />

either geometrically or as text.<br />

60<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

Figure 36: Overview of the “shape dependant information” Package<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 />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 61


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

6.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<br />

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

to 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 the first 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 37: 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 />

6.3 Objects<br />

6.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 />

6.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 />

6.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 geometric_model_relationship_with_transformation<br />

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

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

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

This object type has no attributes.<br />

62<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

6.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 Description<br />

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

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

assembly_type The assembly_type specifies the kind of the assembly_definition. Note: "functional<br />

assembly" or "design assembly" are examples of an assembly_type.<br />

6.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<br />

design view as that group.<br />

This object type has no attributes.<br />

6.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 />

6.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 node<br />

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

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 Description<br />

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

6.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 cartesian_coordinate_space_3d<br />

or a cartesian_coordinate_space_2d.<br />

This object type has no attributes.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 63


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

6.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 />

6.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 />

6.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 Description<br />

name The name specifies the name by which the detailed_geometric_model_element is referred<br />

to.<br />

6.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 Description<br />

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

6.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 Description<br />

name The name specifies the name by which the detailed_geometric_model_element is referred<br />

to.<br />

64<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

6.3.14 classification_association<br />

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

object that provides classification information. The relation classified_element specifies the object that 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<br />

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

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

Attribute name Description<br />

role The role specifies the relationship between the general_classification and the associated<br />

object.<br />

6.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 Description<br />

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

scope of the associated general_classification<br />

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

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

6.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 a 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 Description<br />

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

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

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

be for example "moving of a mounting hole" or "placement under mechanical constraints".<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 65


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

6.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 />

6.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 />

6.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 />

6.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 />

6.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 Description<br />

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

6.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 Description<br />

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

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

constraint_type The following values are recommended to use for the constraint_type: relating (e.g. to<br />

move parts together), placement (e.g. for clearance), or rotation (for rotation of elements).<br />

66<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

6.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 Description<br />

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

6.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 Description<br />

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

6.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 />

6.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 represented<br />

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

Cutout is a type of Inter_stratum_feature.<br />

This object type has no attributes.<br />

6.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 />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 67


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

6.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 Description<br />

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

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

6.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<br />

of this occurrence.<br />

This object type has no attributes<br />

6.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 collaboration<br />

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

the suptype assembly_definition should be instantiated. Each design_discipline_item_definition may be any combination of<br />

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 Description<br />

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

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

6.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 />

6.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 />

68<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

6.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 Description<br />

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

6.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 />

6.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 />

6.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 />

6.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 Description<br />

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

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 69


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

6.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 Description<br />

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

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

6.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<br />

where 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<br />

occurrence of the external_geometric_model_with_parameters, the volume may be specified by the user and the dimensions of<br />

the 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 Description<br />

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

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

external_geometric_model_with_parameters.<br />

6.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 Description<br />

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

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

70<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

6.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 Description<br />

parameter_name The parameter_name specifies the character, abbreviation, or word by which the<br />

feature_parameter is referred to. Note "a", "b1", or "r" are typical examples for the<br />

parameter_name.<br />

6.3.42 filled_via<br />

A filled_via is a type of via.<br />

This object type has no attributes.<br />

6.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 Description<br />

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

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

version_id The version_id specifies the identification of a particular version of the general_classification.<br />

6.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 Description<br />

parameter_role The parameter_role specifies the kind of parameter that is represented by the general_parameter.<br />

Note "width" or "diameter" are examples for the parameter_role.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 71


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

6.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 Description<br />

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

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

version_id The version_id specifies the identification of a particular version of a property.<br />

property_type The property_type specifies the kind of property the general_property defines.<br />

6.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 centre<br />

of mass, overall surface, or overall volume, is performed by originator and recipient. When comparing these set of values, the<br />

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 Description<br />

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

shape_dependent_property.<br />

property_type The property_type defines the type of characteristic that is specified for an object.<br />

property_value The property_value specifies the value that is given for a particular characteristic.<br />

6.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 />

72<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<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 />

6.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 />

6.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<br />

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 />

6.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 Description<br />

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

6.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 />

6.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 />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 73


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

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

Attribute name Description<br />

feature of size specifies whether or not the inter_stratum_feature interfaces with a feature of another<br />

product in an assembly context. A value of TRUE specifies that it interfaces. A value of<br />

FALSE specifies that it does not interface.<br />

vertical_extent<br />

6.3.53 interconnect_module_constraint_region<br />

An interconnect_module_constraint_region is a region within an interconnect_module in which a placement constraint<br />

on some category of design object is to be met by the design. An interconnect_module_constraint_region may overlap other<br />

interconnect_module_constraint_regions.<br />

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

Attribute name Description<br />

keepout specifies if the meaning of the interconnect_module_constraint_region is to describe<br />

that items shall be in the interior of the element_shape or shall be on the exterior of<br />

the element_shape.<br />

The value of TRUE states that objects in the constrained_design_object_category are<br />

not to be within the element_shape. The value of FALSE states that objects in the<br />

constrained_design_object_category are to be only within the element_shape<br />

constrained_design_object_category specifies object categories for the interconnect_module_constraint_region.<br />

The names shall be interpreted as the identification of Application Object categories<br />

to be constrained.<br />

6.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 collaboration_definition<br />

object should instantiated in order to detail the collaboration information of the item. Additionally, if an assembly_definition exists<br />

for at least one version of the item, the item must be classified as being an "assembly" using 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 the<br />

PCB, the shape of the board outline or electrical/mechanical components such as resistors, capacitors, LED displays, plugs etc.<br />

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

Attribute name Description<br />

id The id specifies the identifier of the item. For the id, an owner must be specified by a<br />

person_<strong>org</strong>anization_assignment with role "id owner". The id must be unique within<br />

the scope of the <strong>org</strong>anization that is specified by the person_<strong>org</strong>anization_assignment<br />

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

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

74<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

6.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 Description<br />

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

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

constraint_type The following values are recommended to use for the constraint_type: relating (e.g. to<br />

move parts together), placement (e.g. for clearance), or rotation (for rotation of elements).<br />

6.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. Within a<br />

collaboration session the item_definition_instance_relationship is used to represent the assembly information of the product structure.<br />

Therefore the subtype assembly_component_relationship should be used. The association related specifies the item_instance that is part of<br />

the item_definition_instance_relationship. The association relating specifies the design_discipline_item_definition that is part of the assembly.<br />

This object type has no attributes.<br />

6.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 />

in depedent 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 Description<br />

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

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

6.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 />

6.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 Description<br />

described_object The described_object specifies the object whose shape the item_shape defines.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 75


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

6.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, or<br />

offered to the market. The set of item_version objects of an item represents the history of the item within a particular life cycle<br />

stage or over its complete life cycle. The item_version_relationship is used to define the relationship between two different<br />

item_versions. Within the collaboration session an item_version is used to define different versions of collaboration objects.<br />

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

Attribute name Description<br />

id The id specifies the identifier of the item_version. The id must be unique within the scope<br />

of the associated item. A particular object is identified by the id of the item_version.<br />

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

6.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 />

6.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 Description<br />

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

6.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 Description<br />

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

76<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

6.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 Description<br />

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

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

version_id The version_id specifies the identification of a particular version of a property.<br />

property_name The property_name specifies the kind of material_property. Note: 'EM1' is an example for<br />

a "property_name" that may be associated with a material_property that is described as<br />

'elastic modulus'.<br />

6.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 />

6.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 material_property_value_<br />

representation is applicable.<br />

This object type has no attributes.<br />

6.3.67 moments_of_inertia<br />

A moments_of_inertia describes the matrix of inertia of a rigid body. The moments of inertia I 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 Description<br />

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

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 77


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

6.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 />

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 />

6.3.69 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 Description<br />

value_name 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 />

value_component The value_component specifies the quantity of the numerical_value.<br />

6.3.70 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 Description<br />

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

6.3.71 <strong>org</strong>anization<br />

An <strong>org</strong>anization is a group of people involved in a particular business process.<br />

The following table shows the attributes of an <strong>org</strong>anization:<br />

Attribute name Description<br />

<strong>org</strong>anization_name The <strong>org</strong>anization_name specifies the name used to refer to the <strong>org</strong>anization.<br />

Id The id specifies the identifier of the <strong>org</strong>anization.<br />

78<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

6.3.72 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 Description<br />

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

6.3.73 part_feature<br />

A part_feature is a type of shape_feature.<br />

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

Attribute name Description<br />

material_state_change specifies whether the material state change for the part_feature is due to addition of<br />

material or due to removal of material.<br />

6.3.74 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 />

6.3.75 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 />

6.3.76 person<br />

A person within the collaboration is an individual human being who has some relationship to product data used within the<br />

collaboration. The person must always be identified in the context of one or more <strong>org</strong>anizations.<br />

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

Attribute name Description<br />

person_name The person_name specifies the name used to refer to the Person. Note: The person_name<br />

includes the first, middle, and last names as well as titles, if applicable.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 79


5 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

6.3.77 person_in_<strong>org</strong>anization<br />

A person_in_<strong>org</strong>anization is the specification of a person in the context of an <strong>org</strong>anization. The association associated_<strong>org</strong>anization<br />

specifies the <strong>org</strong>anization with which the person is associated. The association associated_person specifies the person.<br />

The following table shows the attributes of a person_in_<strong>org</strong>anization:<br />

Attribute name Description<br />

role The role specifies the relationship between the person and the <strong>org</strong>anization.<br />

location The location specifies the relevant address of the person_in_<strong>org</strong>anization.<br />

id The id specifies an identifier of the person. The identifier must be unique within the scope<br />

of the "associated_<strong>org</strong>anization". Note: The id may be a staff number or a user id<br />

in a computer system.<br />

6.3.78 person_<strong>org</strong>anization_assignment<br />

A person_<strong>org</strong>anization_assignment is an object that associates an <strong>org</strong>anization or a person_in_<strong>org</strong>anization with the product<br />

data used in the collaboration. The role attribut of the person_<strong>org</strong>anization_assignment must be used in a <strong>MCAD</strong>/<strong>ECAD</strong> collaboration<br />

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 representa -<br />

tion 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 of the<br />

PCB, which is done by the <strong>ECAD</strong> layouter. The electrical designer fulfills the requirements of the project manager and <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<br />

whether heating, cooling, security and other thermal requirements are fulfilled by the current PCB design.<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<br />

of electromagnetic interference (EMI) and does not generate more than a specified amount of interference.<br />

The following table shows the attributes of a person_<strong>org</strong>anization_assignment:<br />

Attribute name Description<br />

role The role specifies the responsibility of the assigned Person or <strong>org</strong>anization with respect<br />

to the object that it is applied to.<br />

80<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 5 EDMD DATA MODEL<br />

6.3.79 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 />

6.3.80 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. A<br />

plated_cutout is a type of plated_inter_stratum_feature and a type of cutout.<br />

This object type has no attributes.<br />

6.3.81 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 />

6.3.82 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 />

6.3.83 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 />

6.3.84 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 Description<br />

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

6.3.85 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 />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 81


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

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

Attribute name Description<br />

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

6.3.86 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 Description<br />

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

6.3.87 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 Description<br />

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

6.3.88 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<br />

Shape_feature.<br />

This object type has no attributes.<br />

6.3.89 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 />

6.3.90 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 />

82<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

6.3.91 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 />

6.3.92 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<br />

Shape_feature.<br />

This object type has no attributes.<br />

6.3.93 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 Description<br />

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

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

version_id The version_id specifies the identification of a particular version of a property.<br />

6.3.94 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 Description<br />

value_name 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 />

6.3.95 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 />

6.3.96 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 />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 83


6 EDMD DATA MODEL ProSTEP iViP Recommendation<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 Description<br />

value_determination The value_determination specifies information on how the property_value_representation<br />

must be interpreted.<br />

6.3.97 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 Description<br />

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

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

constraint_type The constraint_type specifies the dependencies between the constrained properties, e.g.<br />

"identical values", "derived" are are examples for the constraint_type of a property_constraint.<br />

6.3.98 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 Description<br />

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

6.3.99 shape_description<br />

A shape_description is either a geometric_model or a external_geometric_model.<br />

This object type has no attributes.<br />

84<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

6.3.100 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 />

6.3.101 shape_feature<br />

A shape_feature is a type of shape_element.<br />

This object type has no attributes.<br />

6.3.102 single_instance<br />

A single_instance is one particular occurrence of an object that is defined as a design_discipline_item_definition. A single_instance<br />

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 Description<br />

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

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

6.3.103 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 Description<br />

id the identifier that distinguishes the stratum<br />

of_technology specifies a role of the stratum_technology for the stratum<br />

stratum_surface_designation Kind of designation of the stratum, either average or primary or secondary<br />

6.3.104 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 />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 85


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

6.3.105 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 Description<br />

name the words by which the stratum_technology is known. Specifies the alphanumeric<br />

identifier of a stratum_technology<br />

layer_position specifies one of the layer_position_types of the stratum for the stratum_technology. Primary<br />

and secondary shall only be used if the member of stratum_technology is a<br />

design_layer_technology<br />

ID unique identifier<br />

6.3.106 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 />

6.3.107 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 />

6.3.108 transformation<br />

A transformation is a geometric transformation composed of translation and rotation. Scaling is not included. Each transformation<br />

is a transformation_3d or a transformation_2d<br />

This object type has no attributes.<br />

6.3.109 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 />

6.3.110 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 />

6.3.111 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 />

86<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

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

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

Attribute name Description<br />

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

6.3.112 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 Description<br />

unit_name The unit_name specifies the term representing the kind of unit. Note "gram", "litre", or<br />

"volt" are examples for the unit_name.<br />

6.3.113 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 />

6.3.114 value_limit<br />

A value_limit is a qualified numerical value representing either the lower limit or the upper limit of a particular physical 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 Description<br />

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

limit The limit specifies the value of the limit.<br />

limit_qualifier The limit_qualifier specifies the kind of limit. The following values must be used: "maximum":<br />

The specified limit is an upper limit;"minimum"': The specified limit is a lower limit.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 87


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

6.3.115 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 Description<br />

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

upper_limit The upper_limit specifies the maximum acceptable value that is constrained by the<br />

value_range.<br />

lower_limit The lower_limit specifies the minimum acceptable value that is constrained by the<br />

value_range.<br />

6.3.116 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 Description<br />

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

6.3.117 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 />

6.3.118 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 space.<br />

This object type has no attributes.<br />

88<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

6.4 Implementation steps and functional scope<br />

The following in Figure 38 depicted three functional scopes have been defined to support the different steps:<br />

Figure 38: 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 components.<br />

Example: The question of whether the position of an electrical component can be changed is to be clarified 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 outline must be<br />

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 together (due<br />

to electrical constraints). This constraint can then be transferred to the <strong>MCAD</strong> system within the framework of the collaboration<br />

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.2.0 / May 2010 89


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

6.5 Mapping logic<br />

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

The mapping in Package 1 is shown in Figure 39 below.<br />

Figure 39: Mapping in Package 1<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<br />

interest. However, the strict separation between the actual definition of an object (item) and the various instances of this object<br />

(item_instance) remains important. Since only one specific version can be viewed within the collaboration, additional version<br />

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<br />

(next_higher_assembly) in the EDMDSchema 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<br />

EDMDItemInstance. No explicit distinction is made between 2D and 3D transformation. EDMDTransformation is able to map<br />

both sets of information.<br />

90<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

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

The mapping in Package 2 is shown in Figure 40 below.<br />

Figure 40: Mapping classification and grouping mechanisms<br />

EDMDSchema offers only one grouping mechanism, EDMDGroup. The classification mechanism EDMDGeneralClassification<br />

is derived from EDMDGroup.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 91


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

6.5.3 Package 3: person and <strong>org</strong>anization information<br />

The mapping in Package 3 is shown in Figure 41 below.<br />

Figure 41: Mapping the <strong>org</strong>anizational units and roles<br />

All the important object types for mapping the <strong>org</strong>anizational units and roles were modeled in EDMDSchema. To facilitate<br />

processing, EDMDRoleOnItem and EDMDRoleInOrganisation were derived from EDMDRole. EDMDRole represents a general<br />

concept for mapping roles in the given context. EDMDRoleOnItem was extended in such a way that the context can also be an<br />

ItemInstance.<br />

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

The mapping in Package 1 is shown in Figure 42 below.<br />

Figure 42: Mapping the shape information<br />

92<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

The shape information is always mapped using the same pattern. Because the <strong>MCAD</strong> system in particular is not able to interpret<br />

most of the information relating to the functions of a shape in the context of an electrical circuit, only the most important super<br />

types were modeled as real types. However, these types each contain a type that maps the original function of the shape.<br />

6.5.5 Package 5: constraint definition<br />

The mapping in Package 1 is shown in Figure 43 below.<br />

Figure 43: 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 />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 93


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

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

The mapping in Package 6 is shown in Figure 44 below.<br />

Figure 44: Mapping in Package 6<br />

Mapping between the application-driven data model and the implementation-driven data model is characterized in Package 6<br />

by the consistent use of an object structure and inheritance in EDMDSchema. This means that only a small number of classes<br />

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<br />

to the EDMDItem. Unlike the application-driven data model, these arbitrary properties can also be mapped using any XML<br />

representation. Therefore, EDMDUserAnyProperty can also be used to map the material_property and is thus significantly more<br />

powerful than the corresponding elements in the application-driven data model.<br />

94<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

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

The mapping in Package 7 is shown in Figure 45 below.<br />

Figure 45: Mapping in Package 7<br />

Mapping between the application-driven data model and the implementation-driven data model is done in Package 7 by defining<br />

a similar object model including curve set, curve and point and defining corresponding sub type for the elements defined<br />

in user driven data model. Since there is a definition for an upper bound and a lower bound at the EDMDCurveSet2d it is feasible<br />

to describe 3d shapes using this object type.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 95


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

6.5.8 Package 8: shape dependant information<br />

The mapping in Package 8 is shown in Figure 46 below.<br />

Figure 46: Mapping in Package 8<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 those<br />

at item shape. To describe a shape in EDMDScheme there are also two main function internal representations and external<br />

representations. Since the definition of external files is made by unified resource iterators the external representation of shapes<br />

can be done by one entity type (EDMDExternalGeometricModel).<br />

6.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 />

6.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 model.<br />

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. 6.6.6).<br />

The basic concepts on which the data model is based are described below.<br />

96<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

6.6.1 Concept of the “item”<br />

The item is the basic element for describing the product, see Figure 47:<br />

Figure 47: 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 represented<br />

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 an<br />

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 identifier<br />

but by specifying it explicitly in the message.<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 31:<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 97


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

Figure 48: Item data<br />

98<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

6.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 49:<br />

Figure 49: 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 collaboration<br />

can use different designators for shared objects. The example in Figure 50 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 assembly<br />

is identified as in the system called . Also the instances of ‘part’ in ‘assembly’<br />

have different names, the name of the first instance is in and in<br />

. 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 (e.g. engineering data management or enterprise ressource<br />

planning)<br />

<strong>ECAD</strong><br />

o The EDMDSystem is a computer-aided design system for electrical design.<br />

<strong>MCAD</strong><br />

oThe EDMDSystem is a computer-aided design system for mechanical design.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 99


6 EDMD DATA MODEL ProSTEP iViP Recommendation<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 />

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 50:<br />

Figure 50: Designator data<br />

Please note:<br />

Item in a collaboration session have to contain at least two identifiers, one for each collaborating system.<br />

100<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

6.6.3 Limitations on properties, user-defined properties<br />

Classes for representing limited properties and user-defined properties are shown in Figure 51:<br />

Figure 51: UserProperties model<br />

The properties of objects are represented as properties in EDMDSchema. In additional to the actual value, limitations regarding the value or<br />

the unit involved can be specified. This allows unnecessary loops within the collaboration to be avoided. The corresponding function is implemented<br />

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 the value for the<br />

property. In the case of a limitation, this indicates the user who defined the limit. If during collaboration one or more limitations are violated, it<br />

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 function is defined<br />

101<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010<br />

ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

in the element EDMDExtensibleObject. All subtypes of this type can be extended by means of user-defined 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.<strong>prostep</strong>.<strong>org</strong>/en/downloads) illustrates the embedding of user-defined properties and the integration of other XML data as<br />

EDMDUserAnyProperty.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 201012 102


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

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

Basic elements for describing the shape of an item are shown in Figure 52:<br />

Figure 52: 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<br />

using an EDMDExternalGeometricModel which is linked with an EDMDExternalSource which describes the mechanism for<br />

downloading the external files. The class EDMDCurveSet2d is used to represent the shape in EDMDSchema. As the name<br />

indicates, the description of the lines, points and curves within such a set is two-dimensional. EDMDCurveSet2d nevertheless<br />

describes a three-dimensional shape since an upper and lower limit for the described partial shape can be specified based on<br />

the basic level (on which the 2D elements are located).<br />

103<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

Please note:<br />

An EDMDCurve can – either on its own or together with other EDMDCurves – describe a closed curve and thus a surface.<br />

Or using an (optional) thickness, it can itself describe a surface.<br />

Elements for the internal description of the shape are shown in Figure 53:<br />

Figure 53: CurveSet2d<br />

6.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 37:<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 104


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

Figure 54: 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 />

6.6.6 General information<br />

In xml schema the type definitions are <strong>org</strong>anized in packages called namespace. This mechanism can be used to allow the usage<br />

of object types from different namespaces in a single XML document. EDMDSchema defines the following namespaces:<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.0/administration<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.0/annotation<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.0/computational<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.0/external<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.0/foundation<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.0/geometry.d2<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.0/grouping<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.0/material<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.0/pdm<br />

105<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.0/property<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.0/text<br />

The WSDL is described in the namespace:<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.0/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.<strong>prostep</strong>.<strong>org</strong>/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.<br />

This archive contains the xsd-schemas of the informational model:<br />

administration.xsd<br />

annotation.xsd<br />

external.xsd<br />

foundation.xsd<br />

geometry.d2.xsd<br />

grouping.xsd<br />

masterPart.d3.xsd<br />

material.xsd<br />

pdm.xsd<br />

property.xsd<br />

text.xsd<br />

The wsdl and schema of the computational model:<br />

EDMDService.wsdl<br />

computational.xsd<br />

Sample data<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 documentation<br />

is structured in packages. Each package covers on namespace. The following sub chapters describe the main purpose of<br />

each package.<br />

6.6.7 Package EDMDSchema.foundation<br />

This package (cp. Figure 55) describes the contents of the namespace:<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.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 data<br />

model (EDMDSchema), which is part of this recommendation but released as a html document.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 106


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

Figure 55: Overview of foundation Package<br />

107<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

6.6.8 Package EDMDSchema.property<br />

This package (cp. Figure 56) describes the contents of the namespace:<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.0/property<br />

It contains object types and relation types for describing properties and user-defined properties. Types which describe properties<br />

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 />

Figure 56: Over view of property Package<br />

108<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010<br />

ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 109


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

6.6.9 Package EDMDSchema.administration<br />

This package (cp. Figure 57) describes the contents of the namespace:<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.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 recommendation<br />

but released as a html document.<br />

Figure 57: Overview of administration Package<br />

6.6.10 Package EDMDSchema.pdm<br />

This package (cp. Figure 58) describes the contents of the namespace:<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.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 but released<br />

as a html document.<br />

110<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

Figure 58: Overview of pdm Package<br />

111<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010<br />

ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 112


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

6.6.11 Package EDMDSchema.material<br />

This package (cp. Figure 59) describes the contents of the namespace:<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.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 recommendation<br />

but released as a html document.<br />

Figure 59: Overview of material Package<br />

6.6.12 Package EDMDSchema.d2<br />

This package describes the contents of the namespace:<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.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 released<br />

as a html document.<br />

113<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

6.6.13 Package EDMDSchema.external<br />

This package (cp. Figure 60) describes the contents of the namespace:<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.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 60: Overview of external Package<br />

6.6.14 Package EDMDSchema.grouping<br />

This package (cp. Figure 61) describes the contents of the namespace:<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.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 61: Overview of grouping Package<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 114


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

6.6.15 Package EDMDSchema.annotation<br />

This package (cp. Figure 62) describes the contents of the namespace:<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.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 is<br />

part of this recommendation but released as a html document.<br />

Figure 62: Overview of annotation Package<br />

6.6.16 Package EDMDSchema.text<br />

This package (cp. Figure 63) describes the contents of the namespace:<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.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 recommendation<br />

but released as a html document.<br />

Figure 63: Overview of text Package<br />

115<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

6.6.17 Package EDMDSchema.computational<br />

This package (cp. Figure 64) describes the contents of the namespace:<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.0/computational<br />

It contains object types and relation types which are sent as parameters with EDMDMessages. For more details about the types<br />

of 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 />

Figure 64: Over view of computational Package<br />

6.6.18 Package EDMDSchema.3d_master_parts<br />

This package (cp. Figure 65) describes the contents of the namespace:<br />

http://www.<strong>prostep</strong>.<strong>org</strong>/ecad-mcad/edmd/2.0/3d_master_parts<br />

Elements in this EDMD package are used to implement the 3D master part concept described in chapter 5.2. The abstract entity<br />

EDMD3dMasterModel is subclass of EDMDShapeDescription. Currently there are two master part models types described<br />

in EDMD recommendation: EDMD3dMasterModelTypeA and EDMD3dMasterModelTypB. The properties of these types are<br />

described by different kinds of property sets:<br />

Electrical insert property set<br />

Body property set<br />

Additional body property set (type A only)<br />

Pin property set<br />

Pad property set (type A only)<br />

Opt property set (type A only)<br />

Non geometry property set<br />

Except Electrical insert property set, these property sets are different for each 3D master part type.<br />

Therefore the EDMD schema defines type specific property sets (E.g. EDMDPinPropertyTypeA, EDMDPinPropertyTypeB).<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 116


6 EDMD DATA MODEL ProSTEP iViP Recommendation<br />

Figure 65: Overview of 3d_master_parts Package<br />

The properties of 3d master parts uses the property types EDMDLenghtProperty and EDMDColorProperty. Both entities are<br />

subclasses of EDMDConstrainedProperty. The EDMDConstrainedProperty allows to describe a tolerance range using the MinValue<br />

(deviation minus) and MaxValue (deviation plus) relation. The EDMDColorProperty describes the color by 9-digit rgb-code<br />

(red/green/blue).<br />

Figure 66: Color and length property used to describe properties of 3D master part<br />

Currently the property sets of the two 3d master model types contain over 100 properties. Figure 67 exemplary shows the properties<br />

for of EDMDPadPropertySetTypeA. For details see XSD schema of this package.<br />

117<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 6 EDMD DATA MODEL<br />

Figure 67: properties of pad property set<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 118


7 EDMD PROTOCOL ProSTEP iViP Recommendation<br />

7 EDMD protocol<br />

The EDMD protocol is based on the implementation-driven data model (section 6.5.1) and serves to transfer change information<br />

between the systems involved.<br />

7.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 68). The subject of this recommendation is the 1:1<br />

configuration.<br />

Figure 68: 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<br />

of EDMDSchema. Alternatively, EDMD data can also be stored as XML documents, in which case the root element is always<br />

an 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 EDMDDateSet<br />

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<br />

set conforming to this schema can represent a complete version of design. During transferring changes, only the changed parts<br />

are transferred. If a message includes references to items which have not been included in messages it self, these items are represented<br />

in the message as item stub. These items only include at the very least an identifier and can be referenced within the<br />

document using IDREF. In the following, the item stub is taken to mean items which contain only identifiers that can be used to<br />

identify the item in the context of different systems. The section on processing rules describes how the information from these data<br />

sets has to be merged again.<br />

119<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 7 EDMD PROTOCOL<br />

7.2 Messages<br />

7.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 procedures,<br />

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 procedure<br />

on precisely this remote system or by sending the message to this receiver in the message queue. It is also possible to<br />

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 f<strong>org</strong>et” principle, this correlation must be ensured by the definition of additional solution-specific messages.<br />

7.2.2 SendInformation message<br />

In Figure 69 the message "SendInformation" is shown:<br />

Figure 69: 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 />

7.2.3 SendChanges message<br />

In Figure 70 the message "SendChanges" is shown:<br />

Figure 70: SendChanges message<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 120


7 EDMD PROTOCOL ProSTEP iViP Recommendation<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 section<br />

on the processing rules (➞ Processing rules). Since the underlying transport mechanism does not necessarily allow a correlation<br />

to the sender to be established, the message also includes an IDREF indicating the originator of the message (actor). The<br />

originator must be formulated as an EDMDPerson in the EDMDDataSet included in the message.<br />

7.2.4 RequestForInformation message<br />

In Figure 71 the message "RequestForInformation " is shown:<br />

Figure 71: RequestInformation message<br />

This message can be used to request information on the states of items. Since the underlying transport mechanism does not necessarily<br />

allow a correlation to the sender to be established, the message also includes an IDREF indicating the originator of the<br />

message (actor). The actor must be formulated as an EDMDPerson in the EDMDDataSet included in the message.<br />

7.2.5 ServiceResult class<br />

In Figure 72 the class " 5.2.5 ServiceResult " is shown:<br />

Figure 72: ServiceResult class<br />

The ServiceResult class describes errors that can occur during the processing of messages.<br />

121<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 7 EDMD PROTOCOL<br />

7.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 information about processing state of call are included in the response.<br />

7.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 73:<br />

Figure 73: 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 />

An overview of the messages sent when requesting information is shown in Figure 74:<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 122


7 EDMD PROTOCOL ProSTEP iViP Recommendation<br />

Figure 74: 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 identifiers<br />

is performed by means of a message of the type SendChange.<br />

7.3.2 Self contained Messages<br />

To allow a more convenient implementation of CAD system adapters the concept of a self contained message resp. document is introduced.<br />

A self contained document can contain several messages but has to include all informations about included items. This means,<br />

there is no external link to other document via item stubs. (External geometry can be included.) All optional information on an item<br />

that can be omitted in a normal SendInformation message is recommended. This means all known Identifiers and Attributs of an item<br />

has to be included in the same message. If message includes changes, it has to include all changes from the base line otherwise the<br />

NewItems of Changes might be not complete. For marking a document as self contained the IsSelfContained flag at EDMDHeader<br />

should be used. For indication that an IT system can process self contained messages only the flag NeedsSelfContainedMessages at<br />

EDMDSystem should be used. Marking an item as a base line can be done by the flag BaseLine at EDMDItem.<br />

7.4 Processing rules<br />

7.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 />

123<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 7 EDMD PROTOCOL<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 />

7.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 />

75, Figure 76):<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<br />

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 />

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<br />

message, 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<br />

message, the message is errored and the processing transaction is aborted.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 124


7 EDMD PROTOCOL ProSTEP iViP Recommendation<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 continues<br />

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 />

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<br />

the 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 />

125<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 7 EDMD PROTOCOL<br />

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

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 126


7 EDMD PROTOCOL ProSTEP iViP Recommendation<br />

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

127<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 7 EDMD PROTOCOL<br />

7.4.3 SendChanges<br />

The SendChanges message contains a number of changes which can be grouped into transactions. These transactions should not be<br />

confused with the transactions used to process the messages. The transactions in SendChanges messages are informal groups of<br />

changes which indicate to the user that his collaboration partner views these changes as a unit. This avoids unnecessary inquiries.<br />

Before starting processing of a message (or document) containing SendChanges messages all items that are not referenced by<br />

an change have to be processed like in a SendInformation message.<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 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 77, Figure 78, Figure 79).<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 requested,<br />

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 NewItem.<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 128


7 EDMD PROTOCOL ProSTEP iViP Recommendation<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 processed.<br />

b. If the message does not contain an Accept-Status for NewItem, the processing of the change has been brought to a successful<br />

conclusion and the next change can be processed<br />

10) Adjustment of roles for EDMDItem and EDMDItemInstance<br />

Note:<br />

EDMDItem reference as a NewItem in a change have to contain all changed sub elements. Only SendInformation<br />

messages allow split up the information on several messages.<br />

129<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 7 EDMD PROTOCOL<br />

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

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 130


7 EDMD PROTOCOL ProSTEP iViP Recommendation<br />

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

131<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation 7 EDMD PROTOCOL<br />

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

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 132


ANNEX A: PACKAGES EDMDSCHEMA ProSTEP iViP Recommendation<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 PSI5_EDMD-Schema_2.0_HTML.zip (available at www.<strong>prostep</strong>.<strong>org</strong>/en/downloads). The page<br />

index.html is the entry point.<br />

133<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation ANNEX B: EDMDSCHEMA<br />

Annex B: EDMDSchema<br />

EDMDSchema is supplied in the separated zip-archive PSI5_EDMD-Schema_2.0.zip (available at www.<strong>prostep</strong>.<strong>org</strong>/en/downloads).<br />

This archive contains the xsd-schemas of the informational model:<br />

administration.xsd<br />

annotation.xsd<br />

external.xsd<br />

foundation.xsd<br />

geometry.d2.xsd<br />

grouping.xsd<br />

masterPart.d3.xsd<br />

material.xsd<br />

pdm.xsd<br />

property.xsd<br />

text.xsd<br />

The wsdl and schema of the computational model:<br />

EDMDService.wsdl<br />

computational.xsd<br />

Sample data<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.2.0 / May 2010 134


ANNEX C: 3D MASTER MODELS ProSTEP iViP Recommendation<br />

Annex C: 3D Master Models<br />

The 3D Master Models (cp. 5) are provided as separated zip-archive PSI5_Mastermodels.zip (available at<br />

www.<strong>prostep</strong>.<strong>org</strong>/en/downloads). Both types are included:<br />

PSI5_Mastermodel_Type_A.pdf<br />

PSI5_Mastermodel_Type_B.pdf<br />

135<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Recommendation ANNEX D: CONFORMANCE GUIDELINES<br />

Annex D: Conformance Guidelines<br />

The Conformance Guidelines are provided as separate document PSI5_Conformance_Guidelines_v2.0.pdf (available at<br />

www.<strong>prostep</strong>.<strong>org</strong>/en/downloads).<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010 136


ANNEX E: IMPLEMENTATION GUIDELINES ProSTEP iViP Recommendation<br />

Annex E: Implementation Guidelines<br />

The Implementation Guidelines are provided as separate document PSI5_Implemenation_Guidelines_v2.0.pdf (available at<br />

www.<strong>prostep</strong>.<strong>org</strong>/en/downloads).<br />

137<br />

PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V.2.0 / May 2010


ProSTEP iViP Association<br />

Dolivostraße 11<br />

64293 Darmstadt<br />

Germany<br />

Tel. +49-6151-9287336<br />

Fax +49-6151-9287326<br />

psev@<strong>prostep</strong>.com<br />

www.<strong>prostep</strong>.<strong>org</strong><br />

ISBN 978-3-9812689-0-4<br />

Version 2.0, May 2010<br />

Price 109€

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!