ECAD/MCAD Collaboration ECAD/MCAD ... - ProSTEP iViP
ECAD/MCAD Collaboration ECAD/MCAD ... - ProSTEP iViP
ECAD/MCAD Collaboration ECAD/MCAD ... - ProSTEP iViP
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>ECAD</strong>/<strong>MCAD</strong> <strong>Collaboration</strong><br />
RECOMMENDATION<br />
<strong>ECAD</strong>/<strong>MCAD</strong> <strong>Collaboration</strong>; PSI 5<br />
Version 1.0
ABSTRACT<br />
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Abstract<br />
The integration of mechanical and electrical components in mechatronic integrated products is becoming increasingly<br />
important. Development takes place in separate domains using different CAD tools (<strong>ECAD</strong> and <strong>MCAD</strong>). Although powerful<br />
software tools are available on the market for the respective disciplines, support for existing processes and systems is reaching<br />
its functional limits with regard to collaboration between these systems. With increasing product complexity and the demand for<br />
shorter development cycles, there is a growing need for feasible solutions for sustainable collaboration on the basis the existing<br />
<strong>ECAD</strong> and <strong>MCAD</strong> systems.<br />
This <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation serves to manage the exchange of <strong>ECAD</strong> and <strong>MCAD</strong> entities within a mechatronic design<br />
process by collaborating information between the domains involved. The exchange of collaboration data is not restricted to a<br />
certain phase of the product life cycle.<br />
This <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation deals with collaboration between developers in the business processes. It does not deal with<br />
change management or product data management processes. These subjects go beyond the scope of this recommendation and<br />
should be applied and handled as appropriate in the particular product development environments.<br />
This <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation covers the results elaborated by the <strong>ProSTEP</strong> <strong>iViP</strong> Project Group <strong>ECAD</strong>/<strong>MCAD</strong>-<strong>Collaboration</strong>.<br />
II PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
DISCLAIMER · COPYRIGHT<br />
Disclaimer<br />
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendations (PSI Recommendations) are recommendations that are available for anyone to use. Anyone using<br />
these recommendations is responsible for ensuring that they are used correctly.<br />
This PSI Recommendation gives due consideration to the prevailing state-of-the-art at the time of publication. Anyone using PSI<br />
Recommendations must assume responsibility for his or her actions and acts at their own risk. The <strong>ProSTEP</strong> <strong>iViP</strong> Association and<br />
the parties involved in drawing up the PSI Recommendation assume no liability whatsoever.<br />
We request that anyone encountering an error or the possibility of an incorrect interpretation when using the PSI Recommendation<br />
contact the <strong>ProSTEP</strong> <strong>iViP</strong> Association (psi-issues@prostep.com) immediately so that any errors can be rectified.<br />
Copyright<br />
I. All rights on this <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation, in particular the copyright rights of use and sale such as the right to duplicate,<br />
distribute or publish the recommendation remain exclusively with the <strong>ProSTEP</strong> <strong>iViP</strong> Association and its members.<br />
II. The recommendation may be duplicated and distributed unchanged, for instance for use in the context of creating software<br />
or services.<br />
III. It is not permitted to change or edit this recommendation.<br />
IV. A suitable notice indicating the copyright owner and the restrictions on use must always appear.<br />
.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
III
TABLE OF CONTENTS<br />
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Table of Contents<br />
1 Introduction 10<br />
1.1 Preface 10<br />
1.2 Objectives of <strong>ECAD</strong>/<strong>MCAD</strong> collaboration 10<br />
1.3 Structure of the Recommendation 11<br />
2 General Requirements 12<br />
2.1 Shortening the iteration cycles between <strong>ECAD</strong> and <strong>MCAD</strong> development processes 12<br />
2.2 Working in the native system 12<br />
2.3 Separate collaboration environment 14<br />
2.4 Asynchronous and synchronous collaboration 15<br />
2.5 Means of communication parallel to collaboration 15<br />
2.6 Support for different forms of representation 15<br />
2.7 Cardinality of collaboration 16<br />
2.8 Initiating collaboration 17<br />
3 Use cases 18<br />
3.1 Standardized use case description 18<br />
3.2 Actors within the use cases 19<br />
3.3 Defining a board baseline 20<br />
3.4 Placement under mechanical constraints 21<br />
3.5 Placement under electrical constraints 23<br />
3.6 Change of board components 25<br />
3.7 Change of placement locations 26<br />
3.8 Replacement of components 28<br />
3.9 Panelization design review 30<br />
4 EDMD data model 32<br />
4.1 Overview 32<br />
4.2 Packages in the user-driven data model 35<br />
4.2.1 Package 1: item definition and product structure 35<br />
4.2.2 Package 2: item classification and grouping 38<br />
4.2.3 Package 3: person and organization information 39<br />
4.2.4 Package 4: <strong>ECAD</strong> shape information 40<br />
4.2.5 Package 5: constraint definition 43<br />
4.2.6 Package 6: property and material definition 43<br />
4.2.7 Package 7: 2d geometry model 46<br />
4.2.8 Package 8: shape dependant information 49<br />
4.2.9 Package 9: 3d geometry model 52<br />
4.3 Objects 53<br />
4.3.1 annotation 53<br />
4.3.2 assembly_component 53<br />
4.3.3 assembly_component_relationship 53<br />
4.3.4 assembly_definition 53<br />
4.3.5 assembly_group_component 53<br />
4.3.6 b_rep_model 54<br />
4.3.7 b_spline_curve 54<br />
4.3.8 cartesian_coordinate_space 54<br />
4.3.9 cartesian_coordinate_space_2d 54<br />
4.3.10 cartesian_coordinate_space_3d 54<br />
4.3.11 cartesian_point 54<br />
4.3.12 centre_of_mass 55<br />
IV PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008 III
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
TABLE OF CONTENTS<br />
4.3.13 circle 55<br />
4.3.14 classification_association 55<br />
4.3.15 classification_attribute 56<br />
4.3.16 collaboration_definition 56<br />
4.3.17 component_termination_passage 56<br />
4.3.18 component_termination_passage_template_interface_terminal 56<br />
4.3.19 component_termination_passage_template_join_terminal 56<br />
4.3.20 component_termination_passage_template_terminal 57<br />
4.3.21 composite_curve 57<br />
4.3.22 constraint 57<br />
4.3.23 curve 57<br />
4.3.24 curve_on_surface 58<br />
4.3.25 curve_set_2d 58<br />
4.3.26 cutout 58<br />
4.3.27 Cutout_edge_segment 58<br />
4.3.28 data_environment 58<br />
4.3.29 definition_based_product_occurrence 59<br />
4.3.30 design_discipline_item_definition 59<br />
4.3.31 design_layer_stratum 59<br />
4.3.32 design_layer_technology 59<br />
4.3.33 detailed_geometric_model_element 59<br />
4.3.34 digital_file 60<br />
4.3.35 documentation_layer_stratum 60<br />
4.3.36 documentation_layer_technology 60<br />
4.3.37 ellipse 60<br />
4.3.38 external_geometric_model 60<br />
4.3.39 external_geometric_model_with_parameters 61<br />
4.3.40 external_model 61<br />
4.3.41 feature_parameter 61<br />
4.3.42 filled_via 61<br />
4.3.43 general_classification 62<br />
4.3.44 general_parameter 62<br />
4.3.45 general_property 62<br />
4.3.46 general_shape_dependent_property 63<br />
4.3.47 geometric_model 63<br />
4.3.48 geometric_model_relationship_with_transformation 63<br />
4.3.49 hybrid_geometric_model_3D 64<br />
4.3.50 hyperbola 64<br />
4.3.51 instance_placement 64<br />
4.3.52 inter_stratum_feature 64<br />
4.3.53 interconnect_module_constraint_region 65<br />
4.3.54 item 65<br />
4.3.55 item_contraint 66<br />
4.3.56 item_definition_instance_relationship 66<br />
4.3.57 item_instance 66<br />
4.3.58 item_property_association 66<br />
4.3.59 item_shape 67<br />
4.3.60 item_version 67<br />
4.3.61 laminate_component 67<br />
4.3.62 line 67<br />
IV PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
V
TABLE OF CONTENTS<br />
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.3.63 material 68<br />
4.3.64 material_property 68<br />
4.3.65 material_property_association 68<br />
4.3.66 material_property_value_representation 68<br />
4.3.67 moments_of_inertia 68<br />
4.3.68 next_higher_assembly 69<br />
4.3.69 non_features_shape_element 69<br />
4.3.70 numerical_value 69<br />
4.3.71 offset_curve 69<br />
4.3.72 organization 70<br />
4.3.73 parabola 70<br />
4.3.74 part_feature 70<br />
4.3.75 part_mounting_feature 70<br />
4.3.76 partially_plated_cutout 70<br />
4.3.77 person 71<br />
4.3.78 person_in_organization 71<br />
4.3.79 person_organization_assignment 71<br />
4.3.80 physical_connectivity_interrupting_cutout 72<br />
4.3.81 plated_cutout 72<br />
4.3.82 plated_cutout_edge_segment 72<br />
4.3.83 plated_inter_stratum_feature 72<br />
4.3.84 plated_passage 72<br />
4.3.85 point 73<br />
4.3.86 point_on_curve 73<br />
4.3.87 point_on_surface 73<br />
4.3.88 polyline 73<br />
4.3.89 printed_part_template_terminal 74<br />
4.3.90 printed_part_cross_section_template_terminal 74<br />
4.3.91 printed_part_template_interface_terminal 74<br />
4.3.92 printed_part_template_join_terminal 74<br />
4.3.93 printed_part_template_terminal 74<br />
4.3.94 property 74<br />
4.3.95 property_value 75<br />
4.3.96 property_value_association 75<br />
4.3.97 property_value_representation 75<br />
4.3.98 property_constraint 76<br />
4.3.99 shape_dependent_property 76<br />
4.3.100 shape_description 76<br />
4.3.101 shape_element 76<br />
4.3.102 shape_feature 76<br />
4.3.103 single_instance 77<br />
4.3.104 stratum 77<br />
4.3.105 stratum_feature_template_component 77<br />
4.3.106 stratum_technology 77<br />
4.3.107 structured_printed_part_template_terminal 78<br />
4.3.108 thermal_component 78<br />
4.3.109 transformation 78<br />
4.3.110 transformation_2d 78<br />
4.3.111 transformation_3d 78<br />
4.3.112 trimmed_curve 78<br />
4.3.113 unit 79<br />
VI PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
TABLE OF CONTENTS<br />
4.3.114 unsupported_passage 79<br />
4.3.115 value_limit 79<br />
4.3.116 value_range 80<br />
4.3.117 value_with_unit 80<br />
4.3.118 via 80<br />
4.3.119 wireframe_model_2d 80<br />
4.4 Implementation steps and functional scope 81<br />
4.5 Mapping logic 82<br />
4.5.1 Package 1: item definition and product structure 82<br />
4.5.2 Package 2: item classification and grouping 85<br />
4.5.3 Package 3: person and organization information 86<br />
4.5.4 Package 4: <strong>ECAD</strong> shape information 87<br />
4.5.5 Package 5: constraint definition 90<br />
4.5.6 Package 6: property and material definition 90<br />
4.5.7 Package 7: 2d geometry model 93<br />
4.5.8 Package 8: shape dependant information 93<br />
4.5.9 Package 9: 3d geometry model 93<br />
4.6 Implementation-driven data model (EDMDSchema) 96<br />
4.6.1 Concept of the “item” 96<br />
4.6.2 Concept of the designator within the context of the system 98<br />
4.6.3 Limitations on properties, user-defined properties 100<br />
4.6.4 The geometry model, shape of an item 101<br />
4.6.5 Roles 105<br />
4.6.6 General information 106<br />
4.6.7 Package EDMDSchema.foundation 107<br />
4.6.8 Package EDMDSchema.property 110<br />
4.6.9 Package EDMDSchema.administration 113<br />
4.6.10 Package EDMDSchema.pdm 113<br />
4.6.11 Package EDMDSchema.material 116<br />
4.6.12 Package EDMDSchema.d2 116<br />
4.6.13 Package EDMDSchema.external 116<br />
4.6.14 Package EDMDSchema.grouping 117<br />
4.6.15 Package EDMDSchema.annotation 118<br />
4.6.16 Package EDMDSchema.text 119<br />
4.6.17 Package EDMDSchema.computational 120<br />
5 EDMD protocol 123<br />
5.1 General information 123<br />
5.2 Messages 124<br />
5.2.1 General information 124<br />
5.2.2 SendInformation message 124<br />
5.2.3 SendChanges message 125<br />
5.2.4 RequestForInformation message 125<br />
5.2.5 ServiceResult class 126<br />
5.3 Protocol 127<br />
5.3.1 General information 127<br />
5.4 Processing rules 129<br />
5.4.1 General information 129<br />
5.4.2 SendInformation 129<br />
5.4.3 SendChanges 133<br />
Annex A: Packages EDMDSchema 137<br />
Annex B: EDMDSchema 137<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
VII
FIGURES<br />
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Figures<br />
Figure 1: <strong>Collaboration</strong> model embedded in native <strong>ECAD</strong>/<strong>MCAD</strong> systems 11<br />
Figure 2: Options for integrating the collaboration modules 13<br />
Figure 3: <strong>Collaboration</strong> module and communication with the native system using <strong>ECAD</strong> as an example 14<br />
Figure 4: Configuration of collaboration control 16<br />
Figure 5: Dependencies between the use cases 18<br />
Figure 6: Roles and actors within <strong>ECAD</strong>/<strong>MCAD</strong> collaboration 19<br />
Figure 7: Overview of the application-driven data model 33<br />
Figure 8: Overview of the “item definition and product structure” Package 36<br />
Figure 9: Overview of the “item classification and grouping” Package 38<br />
Figure 10: Overview of the “person and organization information” Package 39<br />
Figure 11: Overview of the “<strong>ECAD</strong> shape information” Package 41<br />
Figure 12: Overview of the “constraint definition” Package 43<br />
Figure 13: Overview of the “property and material definition” Package 44<br />
Figure 14: Overview of the “2d geometry model” Package 47<br />
Figure 15: Overview of the “shape dependant information” Package 50<br />
Figure 16: Overview of the “3d geometry model” Package 52<br />
Figure 17: Implementation steps 81<br />
Figure 18: Mapping in Package 1 83<br />
Figure 19: Mapping classification and grouping mechanisms 85<br />
Figure 20: Mapping the organizational units and roles 86<br />
Figure 21: Mapping the shape information 88<br />
Figure 22: Mapping the constraints 90<br />
Figure 23: Mapping in Package 6 91<br />
Figure 24: Mapping in Package 7 93<br />
Figure 25: Mapping in Package 8 94<br />
Figure 26: Item model 96<br />
Figure 27: Item data 97<br />
Figure 28: Designator model 98<br />
Figure 29: Designator data 99<br />
Figure 30: UserProperties model 100<br />
Figure 31: Shape model 101<br />
Figure 32: CurveSet2d 103<br />
Figure 33: Roles 105<br />
Figure 34: Overview of foundation Package 108<br />
Figure 35: Over view of property Package 111<br />
Figure 36: Overview of administration Package 113<br />
Figure 37: Overview of pdm Package 114<br />
Figure 38: Overview of material Package 116<br />
Figure 39: Overview of external Package 116<br />
Figure 40: Overview of grouping Package 117<br />
Figure 41: Overview of annotation Package 118<br />
Figure 42: Overview of text Package 119<br />
Figure 43: Over view of computational Package 121<br />
Figure 44: Types of communication 123<br />
Figure 45: SendInformation message 124<br />
Figure 46: SendChanges message 125<br />
Figure 47: RequestInformation message 125<br />
Figure 48: ServiceResult class 126<br />
VIII PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
FIGURES<br />
Figure 49: SendChanges 127<br />
Figure 50: RequestForInformation 128<br />
Figure 51: Processing SendInformation (1 of 2) 131<br />
Figure 52: Processing SendInformation (2 of 2) 132<br />
Figure 53: Processing SendChanges (1 of 3) 135<br />
Figure 54: Processing SendChanges (2 of 3) 136<br />
Figure 55: Processing SendChanges (3 of 3) 137<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
IX
1 INTRODUCTION <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
1 Introduction<br />
1.1 Preface<br />
Existing processes and applications in the area of <strong>ECAD</strong>/<strong>MCAD</strong> collaboration are currently reaching their limitations. At the<br />
same time, the demands being made on the quality and scope of collaborative efforts are increasing. With increasing product<br />
complexity and the demand for shorter development cycles and improved quality, the need for ways of implementing <strong>ECAD</strong>/<strong>MCAD</strong><br />
collaboration is steadily growing.<br />
Currently available methods based on data exchange formats do not permit collaboration. The IDF format, for example, is not<br />
suitable for adequate collaboration due in particular to its limitations when changing the position of components, inadequate<br />
functionality when defining data ownerships and the lack of an option for performing incremental data exchange. There are<br />
also no data management functions for implementing satisfactory change and versioning processes. The handling of constraints<br />
as well as their exchange and administration also remains an unresolved task within the framework of <strong>ECAD</strong>/<strong>MCAD</strong><br />
collaboration.<br />
The key questions for collaboration between the domains electric and mechanics are:<br />
• Which information are divided by the two domains?<br />
• When and/or at which time during the product development process?<br />
• Which solutions exist for a better collaboration between the domains?<br />
These picked up by the <strong>ProSTEP</strong> <strong>iViP</strong> Project Group <strong>ECAD</strong>/<strong>MCAD</strong>-<strong>Collaboration</strong> which specified a data model based on the<br />
entities of ISO10303 AP 210 and AP 214 and a related XML schema for implementation. Furthermore services were<br />
defined which enable the exchange of information between that <strong>ECAD</strong> and the <strong>MCAD</strong> system on basis of the defined data<br />
model.<br />
Efficient collaboration between <strong>ECAD</strong> and <strong>MCAD</strong> developers provides a new method for communicating and exchanging<br />
information between both domains electric and mechanics.<br />
1.2 Objectives of <strong>ECAD</strong>/<strong>MCAD</strong> collaboration<br />
The current limitation of promising options for collaboration between <strong>ECAD</strong> and <strong>MCAD</strong> domains give rise to a demand<br />
for appropriate solutions. Therefore, the objective of this <strong>ECAD</strong>/<strong>MCAD</strong> Recommendation is to specify the data models<br />
and protocols required to enable collaboration between the domains <strong>ECAD</strong> and <strong>MCAD</strong> – process oriented and based on<br />
existing standards.<br />
The essence of this approach is to facilitate collaboration between the <strong>ECAD</strong> and <strong>MCAD</strong> domains in such a way that the users<br />
in one domain have access to all relevant information in the other domain. The improved flow of information means that<br />
iteration loops can be avoided, and thus the product development can be accelerated. Scope is to support an interactive<br />
procedure that is characterized by informal collaboration processes.<br />
The interoperability in terms of a collaboration process on selected <strong>ECAD</strong> and <strong>MCAD</strong> objects that might be originally created<br />
either in the one or the other CAD environment is an essential requirement. The collaboration process must embed both the<br />
creation of a baseline and the common collaborative work on the collaboration model proposing changes where the baseline<br />
has been created earlier in the design process. To exploit the most benefit it must be possible that not only the whole data<br />
model but also selective parts of it are exclusively usable.<br />
10 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
1 INTRODUCTION<br />
The data model specified to enable mandatory collaboration between <strong>ECAD</strong> and <strong>MCAD</strong> domains is based on terminologies<br />
derived from STEP AP 214 (Core Data for Automotive Mechanical Design Processes) with enrichments using STEP AP 210<br />
(Electronic Assembly, Interconnection and Packaging Design). To facilitate implementation, the data model specified in the Unified<br />
Modeling Language (UML) has been made available as an XML schema.<br />
The data model for collaboration has been established to allow interaction between <strong>ECAD</strong> and <strong>MCAD</strong> systems on common defined<br />
collaboration objects. The collaboration model and the corresponding communication protocol, which enable exchange<br />
of the necessary information between both domains, are shown in relation to the native CAD systems in Figure 1.<br />
Figure 1: <strong>Collaboration</strong> model embedded in native <strong>ECAD</strong>/<strong>MCAD</strong> systems<br />
The collaboration model represents an extension of the particular <strong>MCAD</strong> and <strong>ECAD</strong> data models but not the disclosure of the<br />
native data models. The collaboration enhancement of the respective <strong>ECAD</strong> and <strong>MCAD</strong> systems has to be implemented by the<br />
system vendors.<br />
1.3 Structure of the Recommendation<br />
This <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation first of all includes a section describing the requirements regarding mandatory collaboration<br />
between <strong>ECAD</strong> and <strong>MCAD</strong> domains. This is followed by an introduction to collaboration use cases, which in turn is followed<br />
by both the data model and protocol for collaboration. The EDMD implementation schema is provided in the Annex. EDMD is<br />
a abbreviation for Electrical Design Mechanical Design.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
11
2 GENERAL REQUIREMENTS <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
2 General requirements<br />
This section provides a definition of the requirements relating to systems that provide support for <strong>ECAD</strong>/<strong>MCAD</strong> collaboration.<br />
These requirements are based on discussions that took place at the workshops conducted within the framework of the <strong>ECAD</strong>/<strong>MCAD</strong><br />
<strong>Collaboration</strong> Project Group in 2006 and 2007.<br />
2.1 Shortening the iteration cycles between <strong>ECAD</strong> and <strong>MCAD</strong> development<br />
processes<br />
The main requirement of any product or project manager is shortening product development cycles. This objective is even<br />
more difficult to achieve in the area of mechatronic product development since more than one discipline is directly affected by<br />
a change cycle.<br />
Any change – regardless of whether it occurs in the mechanical or the electrical domain – has a direct impact on the other domain.<br />
Example: If the mechanical designer changes the housing type, thus reducing the height, this could mean that the<br />
electrical layouter will have to change his layout or allow for components with a different housing type. If, as a<br />
result of a change in requirements regarding the electrical wiring, the electrical layouter needs alternative<br />
components with larger dimensions, this could lead to a change in the board outline. Any change to board outline,<br />
however, will have a direct impact on the housing type with regard to possible mountings, etc.<br />
It is this interdisciplinary impact that slows down the product development process considerably since different systems are always<br />
involved in validating a change, and at the moment these systems have no direct means of communication.<br />
Example: A mechanical collision can only be checked in the exact 3D geometry model in the CAD system.<br />
In summary, it can be said that a change in one domain may have a considerable impact on the other domain. This impact<br />
can, however, only be validated and assessed in the authoring tool of the respective domain.<br />
This gives rise to the first core requirement for a system aimed at providing support for <strong>ECAD</strong>/<strong>MCAD</strong> collaboration.<br />
Requirement 1:<br />
Shortening the iteration cycles between mechanical and electrical product development processes when a change occurs<br />
by providing an efficient communication platform for the <strong>ECAD</strong> and <strong>MCAD</strong> systems involved.<br />
2.2 Working in the native system<br />
There are a number of different ways in which the communication platform between <strong>ECAD</strong> and <strong>MCAD</strong> can be implemented<br />
(cp. Figure 2):<br />
a) Integration of the collaboration module in the <strong>ECAD</strong> system, in which case communication takes place directly with the<br />
<strong>MCAD</strong> system.<br />
b) Integration of the collaboration module in the <strong>MCAD</strong> system, in which case communication takes place directly with the<br />
<strong>ECAD</strong> system.<br />
c) Separate collaboration module which controls only the collaboration and which is provided with the respective data from<br />
the authoring tools.<br />
d) Integration of a collaboration module in both the <strong>ECAD</strong> and the <strong>MCAD</strong> system. Communication then takes place between<br />
the two collaboration modules.<br />
12 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
2 GENERAL REQUIREMENTS<br />
Figure 2: Options for integrating the collaboration modules<br />
For the reasons presented, the Project Group favored solution d). As far as the product developer is concerned, it is necessary<br />
that the collaboration modules must be integrated seamlessly in the native systems and that no information is lost due to additional<br />
interfaces.<br />
Furthermore, this type of system architecture allows rules that can only be defined in the native systems to be checked. This<br />
gives rise to the following requirement:<br />
Requirement 2:<br />
It must be possible to call the collaboration modules directly in the native systems. Communication then takes place between<br />
the collaboration modules integrated in each system.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
13
2 GENERAL REQUIREMENTS <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
2.3 Separate collaboration environment<br />
During the course of collaboration, a variety of product development data can be created that also has a significant impact on<br />
the respective native data. It may also be the case that the user does not wish to make all of the data from his native model<br />
available within the framework of the collaboration.<br />
It is therefore necessary that a collaboration model is created in the native system in parallel to the current native model. In this<br />
case, the interface between the native systems and the collaboration module regulates the mapping between the two models,<br />
see Figure 3.<br />
Figure 3: <strong>Collaboration</strong> module and communication with the native system using <strong>ECAD</strong> as an example<br />
It must remain possible for the user to decide which results he ultimately wants to transfer to the native model once collaboration<br />
has been brought to a close.<br />
This gives rise to the following requirement:<br />
Requirement 3:<br />
<strong>Collaboration</strong> is initially performed on dedicated collaboration models derived from the native model by the user. The user<br />
is free to decide which elements he wants to make available within the framework of the collaboration and which changes<br />
he wants to transfer to his native model once the collaboration is over.<br />
14 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
2 GENERAL REQUIREMENTS<br />
2.4 Asynchronous and synchronous collaboration<br />
The globally distributed development of mechatronic products also requires support for collaboration scenarios that give due<br />
consideration to time differences. It is impossible to ensure that all the parties participating in a collaboration can be involved<br />
at a desired point in time during collaboration. In these cases, synchronous collaboration cannot take place.<br />
Control mechanisms must be defined which, in the case of asynchronous collaboration, allow the collaboration information to<br />
be stored persistently and transferred to the collaboration module.<br />
This gives rise to the following requirement:<br />
Requirement 4:<br />
The collaboration module must support both a synchronous and an asynchronous form of communication.<br />
2.5 Means of communication parallel to collaboration<br />
Communication during a collaborative session does not necessarily have to be controlled directly via the collaboration modules.<br />
The collaboration modules should provide simple means of communicating a message to the collaboration partner.<br />
Additional means of communication can be used parallel to the collaboration. This gives rise to the following requirement:<br />
Requirement 5:<br />
The collaboration module must provide simple means of communicating messages during collaboration. Enhanced forms of<br />
communication should be provided by external systems.<br />
2.6 Support for different forms of representation<br />
The representation of a product in <strong>MCAD</strong> systems is fundamentally different to the representation of a product in <strong>ECAD</strong> systems.<br />
In <strong>MCAD</strong>, focus is placed on representation of the precise, three-dimensional geometry. In <strong>ECAD</strong>, on the other hand, representation<br />
in a 2D or 2.5D (footprint plus height information) model is also often sufficient.<br />
Collaborative scenarios must take these different forms of representation into consideration, and the collaboration modules must<br />
provide appropriate mapping rules.<br />
Example: If the mechanical designer changes the outline of the PCB, he will do so directly in the 3D model. However,<br />
in the <strong>ECAD</strong> system, the board outline only exists as a 2D boundary line. This means that during collaboration the<br />
collaboration modules must give due consideration to the options provided by the other system. In the case in hand,<br />
it would only be possible to change the geometry on the 2D plane, and it would not be possible to map an additional<br />
change in the third dimension in the collaboration scenario – although the <strong>MCAD</strong> system is able to do so<br />
from a purely technical point of view.<br />
This gives rise to the following requirement regarding the collaboration platform:<br />
Requirement 6:<br />
The collaboration modules must be able to map different forms of representation onto each other and assign them to the<br />
native model in the respective domain.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
15
2 GENERAL REQUIREMENTS <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
2.7 Cardinality of collaboration<br />
The first step in implementing collaboration support involves 1:1 peer-to-peer communication of the <strong>ECAD</strong> and <strong>MCAD</strong> systems<br />
involved. Control of the collaboration can be assumed by either side during collaboration. At the start of the collaboration, the<br />
initiator of the collaboration is automatically the master, who has control.<br />
In a common product development environment with numerous development engineers it may be necessary to clarify changes<br />
within a collaboration scenario involving several involved parties. This means that in the second step, the collaboration module<br />
must allow more than one engineer to participate in a synchronous collaboration (cp. Figure 4).<br />
In this context, it is however important that there is ever only one master – from either the mechanical or electrical domain –<br />
responsible for controlling the collaboration. The other parties participating in the collaboration have only “read” access to the<br />
collaboration process. They have no way of actively making a change.<br />
Figure 4: Configuration of collaboration control<br />
This gives rise to the following requirement:<br />
Requirement 7:<br />
As a matter of principle, the collaboration module must provide support for scenarios that involve several parties participating<br />
in the collaboration. It must however be clearly defined who from either the mechanical or electrical domain is in control<br />
of the collaboration. The other participants have only read access to the collaboration. It must be possible for another<br />
participant to take over control at any time during the collaboration. In the initial configuration, 1:1 peer-to-peer collaboration<br />
will be supported. This configuration will be extended to n:m in the subsequent stages of implementation.<br />
16 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
2 GENERAL REQUIREMENTS<br />
2.8 Initiating collaboration<br />
Appropriate mechanisms for initiating the collaboration must be made available. These mechanisms allow the collaboration<br />
partner to be informed of a desire for collaboration. To do this, a means of clearly identifying the partner must be introduced.<br />
This identification allows the current collaboration session to be initiated.<br />
Requirement 8:<br />
Appropriate identification mechanisms for initiating the collaboration must be made available. These mechanisms allow the<br />
collaboration partner to be informed of a desire for collaboration.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
17
3 USE CASES <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
3 Use cases<br />
<strong>Collaboration</strong> between <strong>ECAD</strong> and <strong>MCAD</strong> domains can be required at numerous points within a mechatronic development process.<br />
Depending on the point of time in the process being considered, different use cases can be defined which must be supported<br />
by any future <strong>ECAD</strong>/<strong>MCAD</strong> collaboration solution. It was decided within the Project Group to focus initially on seven<br />
modular use cases, which are described in detail below.<br />
3.1 Standardized use case description<br />
The use cases are described according to the following schema:<br />
Aim<br />
A brief description (short sentence) of the use case and its aim<br />
Actors Main human and machine entities and their roles<br />
Preconditions A description of what if anything is assumed to have happened before the activities described in the use<br />
case description<br />
Description A narrative description of the use case or usage scenario<br />
Alternatives Possible (important) variants of the description<br />
Postconditions Description of the final state<br />
Diagram Simple illustration of the use case as sequence or activity diagram<br />
Benefits Documentation of main benefits concerning the application of this use case for the actors<br />
Notes<br />
Documentation of important decisions and, if existing, open issues<br />
The use cases have mutual dependencies. The relationships between the use cases are shown in Figure 5.<br />
Figure 5: Dependencies between the use cases<br />
18 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
3 USE CASES<br />
3.2 Actors within the use cases<br />
In the descriptions of the use cases, mention is made of “actors”. In this context, actors can be either human users of a system,<br />
a machine, software or any system. Anything that interacts with the system within the context of a use case is referred to as an<br />
actor. An initial general description of the various actors is provided in Figure 6.<br />
Figure 6: Roles and actors within <strong>ECAD</strong>/<strong>MCAD</strong> collaboration<br />
• Project manager: Responsible for the overall project. Defines the mechanical and electrical product structure, requirements<br />
and tasks. Controls results.<br />
• Mechanical designer: Designs the surrounding geometry in the mechanical 3D CAD system. Fulfills the requirements of<br />
the project manager. Defines requirements for PCB development.<br />
• Mechanical digital mock-up: Performs 3D interference checks in a mechanical 3D CAD system. Checks whether the<br />
current design fits with the surrounding geometry. Uses the 3D representation of the mechanical and electrical design.<br />
• Electrical designer: Designs the schematics of the PCB. His output is the netlist as input for the layout of the PCB, which<br />
is done by the <strong>ECAD</strong> layouter. Fulfills the requirements of the project manager and designers.<br />
• Electrical layouter: Designs the layout of the PCB in the <strong>ECAD</strong> system based on the netlist of the Electrical designer. Fulfills<br />
the requirements of the project manager, <strong>ECAD</strong> designers and <strong>MCAD</strong> designers.<br />
• Thermal: Performs thermal analysis based on the PCB layout. Checks whether heating, cooling, security and other thermal<br />
requirements are fulfilled by the current PCB design.<br />
• EMI/EMC: Analyzes whether the current PCB design fulfills the requirements concerning the electromagnetic compatibility<br />
(EMC), which require that the system is able to tolerate a specified degree of electromagnetic interference (EMI) and does<br />
not generate more than a specified amount of interference.<br />
• <strong>ECAD</strong> system: The components are placed on the PCB in the <strong>ECAD</strong> system. In this recommendation, the <strong>ECAD</strong> system is<br />
viewed only as an <strong>ECAD</strong> layout system. This system receives its input from the schematics design.<br />
• <strong>MCAD</strong> system: The 3D geometry of the product is designed in the <strong>MCAD</strong> system and the 2D/3D information of the electrical<br />
components is processed.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
19
3 USE CASES <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
3.3 Defining a board baseline<br />
Aim<br />
Transfer of the initial printed circuit board layout from the <strong>ECAD</strong> domain to the <strong>MCAD</strong> domain or vice<br />
versa. Both information about the electrical components and the board outline must be transferred. This use<br />
case can be initiated from either the <strong>MCAD</strong> or <strong>ECAD</strong> domain.<br />
Actors<br />
Electrical layouter: Designs the PCB layout in the <strong>ECAD</strong> layout system. Defines electrical requirements concerning<br />
the board outline and the component placement.<br />
<strong>ECAD</strong> system: The electrical components are placed on the PCB in the <strong>ECAD</strong> layout system.<br />
Mechanical designer: Designs the surrounding geometry in the mechanical 3D CAD system and defines the<br />
requirements concerning the board outline. Places electrical components that have an impact on the mechanical<br />
design.<br />
<strong>MCAD</strong> system: In the <strong>MCAD</strong> system, both the 3D geometry of the product is defined and the 2D/3D information<br />
relating to the electrical components is processed.<br />
Preconditions<br />
From an electrical point of view, the schematic design must be concluded before the components can be<br />
placed. The result of the schematic is the netlist, which describes how the electrical components are connected.<br />
PCB layout is started on the basis of this netlist.<br />
The mechanical definition of the surrounding geometry is required, on the one hand, to define the board<br />
outline. On the other hand, restrictions regarding the height and size of electrical components and their<br />
placement depend on the housing type and must be defined as a precondition for this use case.<br />
Description<br />
There are basically two different ways of defining the board baseline depending on who assumes development<br />
leadership in the process (for Case 2, see section “Alternatives” in this use case description).<br />
Case 1: <strong>MCAD</strong> assumes leadership, i.e. the mechanical designer creates the board outline and places<br />
several PCB components from a mechanical point of view. These can include connectors, LEDs or potentiometers<br />
which have a direct impact on the mechanical geometry.<br />
This predefined layout is then transferred to the electrical layouter as the board baseline. If necessary,<br />
existing 3D information from the mechanical 3D CAD system must be transferred to the <strong>ECAD</strong> system in a<br />
format that can be processed by the <strong>ECAD</strong> system, e.g. 2D or 2.5D information. In addition, a mapping<br />
between the designators in the mechanical design (e.g. feature or part IDs) and the designators in the<br />
electrical design (reference designators) must be performed.<br />
Alternatives<br />
Case 2: <strong>ECAD</strong> assumes leadership, i.e. the electrical layouter starts placing the electrical components on<br />
the basis of the schematic information. This includes placing components that may affect the mechanical<br />
design. Once he has finished, the layout is transferred to the mechanical designer as the board baseline.<br />
2D or 2.5D information is normally used in the electrical domain, i.e. a footprint and height information for<br />
the components is transferred. In addition, a mapping between the designators in the electrical design<br />
(reference designators) and the designators in the mechanical design (e.g. feature or part IDs) must be<br />
performed.<br />
Postconditions An initial baseline for the PCB has been transferred, and the initial mapping of the IDs for the PCB components<br />
within collaboration between the two domains has been defined.<br />
20 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
3 USE CASES<br />
Diagram<br />
Benefits<br />
Notes<br />
The use of <strong>ECAD</strong>/<strong>MCAD</strong> collaboration simplifies the initial transfer of a board baseline considerably<br />
since no time-consuming transfers via interfaces such as, for example, IDF are required. The common<br />
data model means that both domains can access identical information. The initial transfer of the baseline for<br />
the PCB is the starting point for all subsequent collaboration scenarios described in the following use cases.<br />
No additional notes<br />
3.4 Placement under mechanical constraints<br />
Aim<br />
Placing electrical components on the PCB under mechanical constraints, e.g. housing type or mechanical<br />
connections. This use case is initiated from the <strong>MCAD</strong> domain.<br />
Actors<br />
Mechanical designer: Designs the surrounding geometry in the mechanical 3D CAD system and defines the requirements<br />
concerning the board outline. Places electrical components that have an impact on the mechanical design.<br />
<strong>MCAD</strong> system: In the <strong>MCAD</strong> system, both the 3D geometry of the product is defined and the 2D/3D<br />
information relating to the electrical components is processed.<br />
Electrical layouter: Designs the PCB layout in the <strong>ECAD</strong> layout system.<br />
<strong>ECAD</strong> layout system: The electrical components are placed on the PCB in the <strong>ECAD</strong> system. In the use<br />
case described, the <strong>ECAD</strong> system also checks components placed under mechanical constraints with<br />
regard to their placement from an electrical point of view.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
21
3 USE CASES <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Preconditions<br />
The mechanical definition of the surrounding geometry is first of all required to define the board outline,<br />
which from a mechanical point of view is mainly determined by the housing geometry. Mounting holes on<br />
the PCB must also be coordinated with the housing geometry. In addition, restrictions regarding the height<br />
and size of electrical components and their placement depend on the housing type. Ideally, it should be<br />
possible for the mechanical designer to access the 3D geometry. To do this, a 3D component library needs<br />
to be set up. Only with precise 3D information can correct placement be performed while utilizing the<br />
design space as best as possible. The diagram below illustrates why precise 3D geometry is important<br />
for optimum utilization of design space and why 2.5D information is not sufficient. In addition, the<br />
availability of the exact 3D geometry allows additional components to be placed which could not otherwise<br />
be placed with 2.5D.<br />
An additional precondition is that the initial board baseline has been transferred and is available in both<br />
domains in a synchronized status.<br />
Description<br />
Based on the initial board baseline, the mechanical designer starts the collaboration process in order to<br />
transfer placement of the mechanical components to the electrical layouter.<br />
The mechanical designer creates the board outline and places several PCB components from a mechanical<br />
point of view. These can include connectors, LEDs or potentiometers which have a direct impact on the mechanical<br />
geometry. This mechanically predefined layout is then transferred to the electrical layouter, who<br />
then places other electrical components depending on the schematic and the electrical constraints. Once<br />
this has been completed, iteration between <strong>MCAD</strong> and <strong>ECAD</strong> begins if the components placed by the<br />
mechanical designer have to be moved due to electrical constraints or electrical components collide with<br />
the mechanical housing (see also, for example, use case: Change of placement locations). In the iterative<br />
process, the electrical designer can check whether the placed components violate electrical constraints.<br />
Agreement can be achieved very quickly and efficiently within the framework of <strong>ECAD</strong>/<strong>MCAD</strong> collaboration<br />
since both users can compare the impact with the design rules of their native systems.<br />
Alternatives<br />
See use case: Placement under electrical constraints<br />
Postconditions The mechanical components have been placed on the PCB and the layout has been harmonized with the<br />
electrical designer within the framework of collaboration.<br />
22 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
3 USE CASES<br />
Diagram<br />
Benefits<br />
Notes<br />
The use of an <strong>ECAD</strong>/<strong>MCAD</strong> collaboration can significantly reduce the time needed for the iterative<br />
process. The common data model allows for a common language in both system environments. This means<br />
that changes in one environment can be transferred in a standardized manner to the other environment and<br />
interpreted there.<br />
No additional notes<br />
3.5 Placement under electrical constraints<br />
Aim<br />
Placing electrical components on the PCB subject to electrical constraints stipulated by the schematic. This<br />
use case is initiated from the <strong>ECAD</strong> domain.<br />
Actors<br />
Electrical layouter: Designs the PCB layout in the <strong>ECAD</strong> layout system.<br />
<strong>ECAD</strong> layout system: The components are placed on the PCB in the <strong>ECAD</strong> system.<br />
Mechanical designer: Designs the surrounding geometry in the mechanical 3D CAD system and defines<br />
requirements concerning the board outline.<br />
<strong>MCAD</strong> system: In the <strong>MCAD</strong> system, both the 3D geometry of the product is defined and the 2D/3D information<br />
relating to the electrical components is processed.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
23
3 USE CASES <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Preconditions<br />
From an electrical point of view, the schematic design must be concluded before the components can be<br />
placed. The result of the schematic is the netlist, which describes how the electrical components are connected.<br />
PCB layout is started on the basis of this netlist, i.e. placement of the components based on the electrical<br />
constraints.<br />
An additional precondition is that the initial board baseline has been transferred and is available in both<br />
domains in a synchronized status.<br />
Description<br />
Based on the initial board baseline, the electrical layouter starts the collaboration process in order to transfer<br />
the placement of the electrical components to the mechanical designer.<br />
The electrical layouter has created his components based on the schematic. Once this has been completed,<br />
iteration between <strong>MCAD</strong> and <strong>ECAD</strong> begins if the components placed by the electrical layouter have to be<br />
moved due to mechanical constraints because, for example, the electrical components collide with the<br />
housing. In the iterative process, the mechanical designer can check whether the placed components<br />
violate mechanical constraints.<br />
Agreement can be achieved very quickly and efficiently within the framework of <strong>ECAD</strong>/<strong>MCAD</strong> collaboration<br />
since both users can compare the impact with the rules of their native systems.<br />
Alternatives<br />
See use case: Placement under mechanical constraints<br />
Postconditions The electrical components have been placed on the PCB and the layout has been harmonized with the<br />
mechanical designer within the framework of collaboration.<br />
Diagram<br />
24 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
3 USE CASES<br />
Benefits<br />
Notes<br />
The use of an <strong>ECAD</strong>/<strong>MCAD</strong> collaboration can significantly reduce the time needed for the iterative<br />
process. The common data model allows for a common language in both system environments. This means<br />
that changes in one environment can be transferred in a standardized manner to the other environment and<br />
interpreted there.<br />
No additional notes<br />
3.6 Change of board components<br />
Aim<br />
Components which have already been placed and harmonized within the collaboration framework are to<br />
be deleted or new components added. This use case can be initiated from either the <strong>MCAD</strong> domain or the<br />
<strong>ECAD</strong> domain.<br />
Actors<br />
Electrical layouter: Designs the PCB layout in the <strong>ECAD</strong> layout system.<br />
<strong>ECAD</strong> layout system: The components are placed on the PCB in the <strong>ECAD</strong> system.<br />
Mechanical designer: Designs the surrounding geometry in the mechanical 3D CAD system and defines requirements<br />
concerning the board outline<br />
<strong>MCAD</strong> system: In the <strong>MCAD</strong> system, both the 3D geometry of the product is defined and the 2D/3D information<br />
relating to the electrical components is processed.<br />
Preconditions<br />
Description<br />
The board baseline has already been transferred and initial harmonization of the components has already<br />
been performed.<br />
Based on the initial board baseline, the electrical layouter or the mechanical designer starts the collaboration<br />
process because changes relating to the components on the PCB have arisen. For example, the mechanical<br />
designer has realized that a component is no longer required since the design has been changed.<br />
Or the electrical layouter has realized that – due to an updating of the schematic – an additional electrical<br />
component which has not yet been placed on the PCB is required.<br />
Once the collaboration has been initiated, the person who started the collaboration must transfer the information<br />
about the deleted or added components. Subsequently either the existing ID mapping is deleted (if<br />
a component has been deleted) or a new ID mapping is generated (if a new component has been added).<br />
Within the collaboration, both the mechanical designer and the electrical layouter now check together what<br />
impact the deleted or new component has on the existing PCB layout.<br />
Agreement can be achieved very quickly and efficiently within the framework of <strong>ECAD</strong>/<strong>MCAD</strong> collaboration<br />
since both users can compare the impact with the rules of their native systems.<br />
Alternatives –<br />
Postconditions After collaboration, the components have been either deleted or added and the impact of this change has<br />
been checked using both native systems.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
25
3 USE CASES <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Diagram<br />
Benefits<br />
Notes<br />
The use of an <strong>ECAD</strong>/<strong>MCAD</strong> collaboration can significantly reduce the time needed for the iterative process.<br />
No additional notes<br />
3.7 Change of placement locations<br />
Aim<br />
Components which have already been placed and harmonized within the collaboration framework are to<br />
be moved to a different location as a result of new constraints. This use case can be initiated from either the<br />
<strong>MCAD</strong> domain or the <strong>ECAD</strong> domain.<br />
Actors<br />
Electrical layouter: Designs the PCB layout in the <strong>ECAD</strong> layout system.<br />
<strong>ECAD</strong> layout system: The components are placed on the PCB in the <strong>ECAD</strong> system.<br />
Mechanical designer: Designs the surrounding geometry in the mechanical 3D CAD system and defines<br />
requirements concerning the board outline.<br />
<strong>MCAD</strong> system: In the <strong>MCAD</strong> system, both the 3D geometry of the product is defined and the 2D/3D information<br />
relating to the electrical components is processed.<br />
Preconditions<br />
Description<br />
The board baseline has already been transferred and initial harmonization of the components has already<br />
been performed.<br />
Based on the initial board baseline, the electrical layouter or the mechanical designer starts the collaboration<br />
process because changes relating to the placement of the components on the PCB have arisen. For<br />
example, the mechanical designer has detected collisions with the housing or the electrical layouter has<br />
realized that a certain wiring of the components does not fulfill the requirements.<br />
26 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
3 USE CASES<br />
Once the collaboration has been initiated, the person who started the collaboration must transfer the information<br />
about the component to be moved. This involves transferring information about both the current position<br />
of the component and the desired new position.<br />
Within the collaboration, both the mechanical designer and the electrical layouter now check together what<br />
impact the new placement of the component has on the existing PCB layout.<br />
Agreement can be achieved very quickly and efficiently within the framework of <strong>ECAD</strong>/<strong>MCAD</strong> collaboration<br />
since both users can compare the impact with the rules of their native systems.<br />
Alternatives –<br />
Postconditions After collaboration, the components have placed in a new position and the impact of this change has been<br />
checked using both native systems.<br />
Diagram<br />
Benefits<br />
Notes<br />
The use of an <strong>ECAD</strong>/<strong>MCAD</strong> collaboration can significantly reduce the time needed for the iterative process.<br />
No additional notes<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
27
3 USE CASES <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
3.8 Replacement of components<br />
Aim<br />
Components which have already been placed and harmonized within the collaboration framework are to<br />
be replaced as a result of new constraints. The replaced component provides the same functionality in the<br />
same way. This use case can be initiated from either the <strong>MCAD</strong> domain or the <strong>ECAD</strong> domain.<br />
Actors<br />
Electrical layouter: Designs the PCB layout in the <strong>ECAD</strong> layout system.<br />
<strong>ECAD</strong> layout system: The components are placed on the PCB in the <strong>ECAD</strong> system.<br />
Mechanical designer: Designs the surrounding geometry in the mechanical 3D CAD system and defines<br />
requirements concerning the board outline<br />
<strong>MCAD</strong> system: In the <strong>MCAD</strong> system, both the 3D geometry of the product is defined and the 2D/3D<br />
information relating to the electrical components is processed.<br />
Preconditions<br />
Description<br />
The board baseline has already been transferred and initial harmonization of the components has already<br />
been performed.<br />
Based on the initial board baseline, the electrical layouter or the mechanical designer starts the collaboration<br />
process because a component is to be replaced by a different component offering the same functionality.<br />
This can be the case, for example, if suppliers discontinue certain components, which means that they can<br />
no longer be included on the PCB. In this case, alternative components offering the same functionality must<br />
replace the existing components.<br />
Once the collaboration has been initiated, the person who started the collaboration must transfer information<br />
about the component to be replaced. Changes to the connectors in particular can lead to an additional<br />
need for collaboration since wiring may have to be moved.<br />
Within the collaboration, both the mechanical designer and the electrical layouter now check together what<br />
impact the replaced component has on the existing PCB layout.<br />
Agreement can be achieved very quickly and efficiently within the framework of <strong>ECAD</strong>/<strong>MCAD</strong> collaboration<br />
since both users can compare the impact with the rules of their native systems.<br />
Alternatives ---<br />
Postconditions After collaboration, the components in both domains can be replaced by the updated components since the<br />
impact of this change has been checked during collaboration using both native systems.<br />
28 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
3 USE CASES<br />
Diagram<br />
Benefits<br />
Notes<br />
The use of an <strong>ECAD</strong>/<strong>MCAD</strong> collaboration can significantly reduce the time needed for the iterative process.<br />
No additional notes<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
29
3 USE CASES <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
3.9 Panelization design review<br />
Aim<br />
The aim of the collaboration is to determine the optimal producibility of a PCB from a carrier material (panel).<br />
To save material costs and thus reduce raw material loss, the PCB layout and PCB design need to be<br />
reviewed for PWB (printed wiring board) panelization. At the end of the collaboration, the PCB layout that<br />
best meets manufacturing constraints will have been defined.<br />
The diagram below represents an example result of the panelization process.<br />
Actors<br />
Electrical layouter: Designs the PCB layout in the <strong>ECAD</strong> layout system.<br />
Mechanical designer: Designs the surrounding geometry in the mechanical 3D CAD system and defines<br />
requirements concerning the board outline.<br />
Manufacturing or process engineer: Is responsible for the manufacturing line and is familiar with the<br />
constraints imposed by the available manufacturing machines.<br />
Panelization simulation system: System which is able to simulate the PCB panelization process.<br />
<strong>ECAD</strong> layout system: The components are placed on the PCB in the <strong>ECAD</strong> system.<br />
<strong>MCAD</strong> system: In the <strong>MCAD</strong> system, both the 3D geometry of the product is defined and the 2D/3D information<br />
relating to the electrical components is processed.<br />
Preconditions<br />
Description<br />
The PCB layout has been defined (board outline and component placement) and an initial PWB profile has<br />
been created.<br />
The electrical layouter, mechanical designer, manufacturing or process engineer and, if necessary, other<br />
persons must be involved in the design review since not only technical constraints but also commercial<br />
constraints have to be taken into consideration.<br />
Once the initial PWB profile for manufacturing the PCB has been created, the above-mentioned persons<br />
should come to an agreement in order to find the best solution – and not only from an electrical point of<br />
view. In the collaboration, answers can be found to questions such as, for example, where can symmetries<br />
be utilized or what tolerances have to be observed in the manufacturing process?<br />
30 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
3 USE CASES<br />
From a manufacturing point of view, the best outcome is not always to make the panel as small as possible.<br />
Constraints such as utilization of the manufacturing lines or tool changes on the machines might mean that<br />
a larger panel can be manufactured more efficiently.<br />
In the collaboration, the current PWB profile is assessed by all those involved and, if necessary, any changes<br />
to be made are checked in the native systems.<br />
Alternatives ---<br />
Postconditions After the collaboration, the PCB layout which best meet manufacturing constraints and the matching PWB<br />
profile have been created.<br />
Diagram<br />
Benefits<br />
Notes<br />
The use of an <strong>ECAD</strong>/<strong>MCAD</strong> collaboration can significantly reduce the time needed to reach agreement up<br />
to and including the manufacturing processes.<br />
No additional notes<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
31
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD data model<br />
4.1 Overview<br />
An application-driven data model based on user requirements was first of all defined within the Project Group. The applicationdriven<br />
data model is intended to describe the requirements relating to <strong>ECAD</strong>/<strong>MCAD</strong> collaboration from the view of the user. In<br />
addition, it should also be able to support the functionality required by the user within the framework of an <strong>ECAD</strong>/<strong>MCAD</strong><br />
collaboration.<br />
The application-driven data model is divided into different functional areas, which are referred to as “packages”. Figure 7<br />
provides an overview of the developed data model with the nine currently defined packages.<br />
The contents of the packages are described in detail in section 4.2 below. A detailed description of the objects in the<br />
packages can be found in section 4.3.<br />
In the next step, the application-driven data model was mapped to an implementation-driven data model within the Project<br />
Group, together with the implementors. This data model serves to satisfy the boundary conditions for efficient implementation.<br />
To do this, the implementation-driven data model can, for example, group together objects, convert objects into attributes,<br />
simplify relationships, etc. These changes ensure efficient implementation with the consideration of boundary conditions such as<br />
uniqueness, stability and performance of the software solution. The implementation-driven data model is described in detail in<br />
section 4.5.1.<br />
32 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
4 EDMD DATA MODEL<br />
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Figure 7: Overview of the application-driven data model<br />
33<br />
34
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.2 Packages in the user-driven data model<br />
4.2.1 Package 1: item definition and product structure<br />
The central package in the application-driven data model is the Package "item definition and product structure" (cp. Figure 8).<br />
The entire structure between the objects involved in the collaboration is described in this package. Additional information such<br />
as the properties and geometry of these collaboration objects can be defined using the objects in the other packages. In addition,<br />
the versioning of collaboration objects (item_version) and the multiple utilization of objects (item_instance) are defined in<br />
this package.<br />
Application example:<br />
20 LED displays of the same type (item) and with an identical version status (item_version) are placed on a PCB (Printed Circuit<br />
Board). Each LED display is then defined as an item_instance. Since the LED displays have different positions on the PCB, the<br />
positioning of the item_instance objects are defined using a transformation (in this case transformation_2D).<br />
The following objects are defined in this package:<br />
item, item_version, design_discipline_item_definition, collaboration_definition, instance_placement, single_instance, item_instance,<br />
assembly_definition, interconnect_module, pcb, item_definition_instance_realtionship, assembly_component_relationship,<br />
next_higher_assembly, geometric_model_relationship_with_transformation, transformation, transformation_2d, transformation_3d<br />
35 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Figure 8: Overview of the “item definition and product structure” Package<br />
36<br />
37
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.2.2 Package 2: item classification and grouping<br />
In addition to Package 1, the Package "item classification and grouping" allows the classification and grouping of collaboration<br />
objects and their versions (cp. Figure 9).<br />
Figure 9: Overview of the “item classification and grouping” Package<br />
Application example:<br />
All the LED displays (represented by item objects) on a PCB can be grouped together by means of a classification (general_classification).<br />
The following objects are defined in this package:<br />
classification_association, general_classification, classification_attribute<br />
38 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD DATA MODEL<br />
4.2.3 Package 3: person and organization information<br />
Person and organization-specific data is defined in the Package "person and organization information" (cp. Figure 10). The<br />
package allows a person with a specific role to be assigned to each collaboration object.<br />
Figure 10: Overview of the “person and organization information” Package<br />
Application example:<br />
A capacitor on the PCB (represented by an item object) can be assigned the person Miller in his role as “electrical layouter”<br />
(using the object person_and_organization_assignment). This allows clear identification during collaboration of which persons<br />
are, for example, allowed to make changes to the components.<br />
The following objects are defined in this package:<br />
organization, person_organization_assignment, person, person_in_organization<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
39
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.2.4 Package 4: <strong>ECAD</strong> shape information<br />
The "<strong>ECAD</strong> shape information" Package describes component-related geometric information about how the electrical components<br />
are, for example, stored in a component library (cp. Figure 11). The package allows electrical semantics to be defined<br />
for an explicit 2D or 3D geometry (defined in Package 7 or Package 8).<br />
The following objects are defined in this package:<br />
non_feature_shape_element, interconnect_module_constraint_region, shape_feature,<br />
component_termination_passage_template_terminal, component_termination_passage_template_join_terminal,<br />
component_termination_passage_template_interface_terminal, printed_part_template_terminal,<br />
printed_part_cross_section_template_terminal, printed_part_template_interface_terminal, printed_part_template_terminal,<br />
printed_part_template_join_terminal, part_feature_ part_mounting_feature, assembly_component,<br />
definition_based_product_occurence, thermal_component, assembly_group_component, laminate_component,<br />
inter_stratum_feature, unsupported_passage, stratum_feature_template_component, cutout_edge_segment,<br />
plated_ cutout_edge_segment, plated_inter_stratum_feature, plated_passage, via, filled_via, component_termination_passage,<br />
stratum, documentation_layer_stratum, design_layer_stratum, stratum_technology, documentation_layer_technology,<br />
design_layer_technology, cutout, plated_cutout, partially_plated_cutout, physical_connectivity_interrupting_cutout<br />
40 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Figure 11: Overview of the “<strong>ECAD</strong> shape information” Package<br />
41<br />
42
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.2.5 Package 5: constraint definition<br />
The "constraint definition" Package can be used to define constraints between objects or properties (cp. Figure 12).<br />
Figure 12: Overview of the “constraint definition” Package<br />
Application example:<br />
A constraint of the type “relating” can be used to indicate the fact that two components must only ever be moved together<br />
during a collaboration session, i.e. the constraint places restrictions on the positioning of the items.<br />
The following objects are defined in this package:<br />
constraint, item_constraint, property_constraint<br />
4.2.6 Package 6: property and material definition<br />
The definition of arbitrary properties and materials relating to collaboration objects is a fundamental part of any collaboration.<br />
Therefore all this information has been grouped together in a separate package (cp. Figure 13). The package "property and<br />
material definition" allows properties, together with parameters and ranges of values, to be assigned to an entire class of collaboration<br />
objects (item) or their instances (item_instance). The defined properties are represented by values and units. It is also<br />
possible to assign materials.<br />
Application example:<br />
10 LED displays have been placed on a PCB. All the LED displays can be assigned the material “plastic”. To do this, the<br />
relationship directly to the item “LED” is used for property assignment. Each individual instance (item_instance) of the 10 LED<br />
displays can, for example, be assigned a different color using a "general_property" object with "property_type = color". The<br />
values of the color properties are defined using the "property_value" object with "value_name = red, green, blue etc.".<br />
The following objects are defined in this package:<br />
item_property_association, property_value_association, property_value_representation, property, property_value,<br />
unit_ value_with_unit, numerical_value, value_limit, value_range, feature_parameter, material_property, general_property,<br />
general_parameter, material_property_value_representation, material_property_association, data_environment<br />
43 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
4 EDMD DATA MODEL<br />
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Figure 13: Overview of the “property and material definition” Package<br />
44<br />
45
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.2.7 Package 7: 2d geometry model<br />
The "2d geometry model" Package allows the definition of two-dimensional geometry elements within collaboration (cp. Figure 14).<br />
Application example:<br />
A change to the board outline is to be defined within a collaboration session. To do this, the collaboration object “PCB”<br />
(defined using an item) can be assigned the appropriate outline defined, for example, as a b-spline_curve. Changes to the<br />
individual points on the curve can then be made directly in the collaboration session and then transferred to both the <strong>MCAD</strong><br />
and <strong>ECAD</strong> systems.<br />
The following objects are defined in this package:<br />
wireframe_model_2d, curve_set_2d, curve, hyperbola, composite_curve, line, ellipse, plyline, curve_on_surface, trimmed_curve,<br />
circle, parabola, offset_curve, b_spline_curve, detailed_geometric_model_element, point, point_on_surface, point_on_curve,<br />
cartesian_point<br />
46 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Figure 14: Overview of the “2d geometry model” Package<br />
47<br />
48
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.2.8 Package 8: shape dependant information<br />
The basic elements that allow geometric properties to be assigned to collaboration objects are contained in the Package<br />
"shape dependant information" (cp. Figure 15). A more detailed description of the geometry takes place in Package 7 or Package 9.<br />
Furthermore, this package allows external geometric models, e.g. in an external file, to be assigned to an item. This package<br />
also allows annotations to be added during collaboration by means of the “annotation” object. The annotations can be<br />
represented either geometrically or as text.<br />
Application example (1):<br />
The exact geometry of an electrical component has been stored in a neutral 3D geometry format, e.g. STEP AP214 CC02. The<br />
object "external_model" can be used to assign the file containing this geometry to the “design_discipline_item_definition” of the<br />
electrical component (item).<br />
Application example (2):<br />
During a collaboration session a specific part of a PCB element is of special interest. Therefore the "annotation" object kann be<br />
used to assign a textual or graphical annotation to the "shape description" of this item.<br />
The following objects are defined in this package:<br />
item_shape, shape_element, shape_description, annotation, geometric_model, shape_dependent_property,<br />
general_shape_dependent_property, moments_od_inertia, centre_of_mass, cartesian_coordinate_space,<br />
cartesian_coordinate_space_2d, cartesian_coordinate_space_3d, external_model, digital_file, external_geometric_model,<br />
external_geometric_model_with_parameters<br />
49 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Figure 15: Overview of the “shape dependant information” Package<br />
50<br />
51
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.2.9 Package 9: 3d geometry model<br />
The "3d geometry model" Package allows three-dimensional geometry elements to be defined within collaboration (cp. Figure 16).<br />
These can be stored either as a B-rep model or hybrid model. Package 9 thus allows three-dimensional geometric changes to<br />
be taken into consideration directly in a collaboration.<br />
Note: This is, however, only possible insofar as both the systems involved in the collaboration can work with three-dimensional<br />
geometric models.<br />
In this version of the Recommendation, the collaboration is limited to 2D elements. Therefore although the 3D geometry<br />
package has been included in the structure, its contents have not yet been defined.<br />
Figure 16: Overview of the “3d geometry model” Package<br />
The following objects are defined in this package:<br />
b_rep_model, hybrid_geometric_model_3d<br />
52 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD DATA MODEL<br />
4.3 Objects<br />
4.3.1 annotation<br />
An annotation is used to annotate specific shape elements during a collaboration. The annotation could be a simple text or a<br />
complex 2D geometry used to define the area for which the annotation is applicable.<br />
This object type has no attributes.<br />
4.3.2 assembly_component<br />
An assembly_component represents a component in an assembly or in an interconnect. An assembly_component is a type of<br />
item_shape and of definition_based_product_occurrence.<br />
This object type has no attributes.<br />
4.3.3 assembly_component_relationship<br />
An assembly_component_relationship is the relation between an assembly_definition and an item_instance representing a<br />
constituent of the assembly.<br />
Note: The constituent may also be an assembly.<br />
An assembly_component_relationship is a type of item_definition_instance_relationship. The association placement specifies the<br />
geometric_model_relationship_with_transformation that specifies the transformation information which is used to locate and orient the<br />
constituent in the coordinate space of the assembly_definition. If present, there must be exactly one object that defines the placement<br />
for an assembly_component_relationship. The association relating specifies the assembly_definition that has subordinate constituents.<br />
This object type has no attributes.<br />
4.3.4 assembly_definition<br />
An assembly_definition is a definition of an item_version that contains other subordinate objects. An assembly_definition is a<br />
type of design_discipline_item_definition.<br />
The following table shows the attributes of an assembly_definition:<br />
Attribute name<br />
id<br />
name<br />
assembly_type<br />
Description<br />
The id specifies the identifier of the design_discipline_item_definition.<br />
The name specifies the name of the design_discipline_item_definition.<br />
The assembly_type specifies the kind of the assembly_definition.<br />
Note: "functional assembly" or "design assembly" are examples of an<br />
assembly_type.<br />
4.3.5 assembly_group_component<br />
An assembly_group_component is a type of assembly_component. Each component that is part of a group is in the same design<br />
view as that group.<br />
This object type has no attributes.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
53
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.3.6 b_rep_model<br />
A b_rep_model is a collection of b_rep objects.A b_rep-model is a type of geometric_model and is used fpr the representation<br />
of 3 dimensional geometry.<br />
This object type has no attributes.<br />
4.3.7 b_spline_curve<br />
A b_spline_curve is a general polynomial or a rational parametric sculptured curve of various degrees and segments, defined<br />
in terms of control points, associated basic functions, weights, and nodes<br />
Note: A polynomial uniform b_spline_curve is defined by a list of control points and by the associated basis functions. The<br />
node values can be derived and the weights are equal. A rational non-uniform b_spline_curve is defined by a list of control<br />
points, by the associated basis functions, by weights and by multiplicities of nodes.<br />
Note: A circular arc can be represented by a rational parametric curve.<br />
The following table shows the attributes of a b_spline_curve:<br />
Attribute name<br />
name<br />
Description<br />
The name specifies the name by which the<br />
detailed_geometric_model_element is referred to.<br />
4.3.8 cartesian_coordinate_space<br />
A cartesian_coordinate_space is a coordinate space in which geometric and annotation elements may be defined. It is either<br />
two-dimensional or three-dimensional. An origin for coordinate values is implicitly defined. The units applicable to the coordinate<br />
values of elements defined in the cartesian_coordinate_space are specified. Each cartesian_coordinate_space is a<br />
cartesian_coordinate_space_3d or a cartesian_coordinate_space_2d.<br />
This object type has no attributes.<br />
4.3.9 cartesian_coordinate_space_2d<br />
A cartesian_coordinate_space_2d is a two-dimensional coordinate space. Any two-dimensional geometric and annotation<br />
element must be defined in a cartesian_coordinate_space_2d.<br />
A cartesian_coordinate_space_2d is a type of cartesian_coordinate_space.<br />
This object type has no attributes.<br />
4.3.10 cartesian_coordinate_space_3d<br />
A cartesian_coordinate_space_3d is a three-dimensional coordinate space. Any three-dimensional geometric data must be<br />
defined in a cartesian_coordinate_space_3d.<br />
A cartesian_coordinate_space_3d is a type of cartesian_coordinate_space.<br />
This object type has no attributes.<br />
54 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD DATA MODEL<br />
4.3.11 cartesian_point<br />
A cartesian_point is a point that is defined by its coordinates in a rectangular cartesian coordinate system.<br />
The following table shows the attributes of a cartesian_point:<br />
Attribute name<br />
name<br />
Description<br />
The name specifies the name by which the<br />
detailed_geometric_model_element is referred to.<br />
4.3.12 centre_of_mass<br />
A centre_of_mass is the centre of the mass of a body. The relative position of the centre_of_mass within the body is an invariant<br />
datum relative to rotation and translation. The centre_of_mass is a characteristic of an item, not its shape.<br />
The following table shows the attributes of a centre_of_mass:<br />
Attribute name<br />
description<br />
Description<br />
The description specifies additional information about the property_value.<br />
4.3.13 circle<br />
A circle is a planar unbounded curve where all points are equidistant from one point.<br />
The following table shows the attributes of a circle:<br />
Attribute name<br />
name<br />
Description<br />
The name specifies the name by which the<br />
detailed_geometric_model_element is referred to.<br />
4.3.14 classification_association<br />
A classification_association associates a general_classification with an object. The relation associated_classification specifies<br />
the general_classification object that provides classification information. The relation classified_element specifies the object that<br />
is classified.<br />
For the attribute role applicable the following values shall be used:<br />
* 'electromagnetic compatibility': The associated object is the classification that categorizes the classified element in respect of<br />
its ability to comply with requirements concerning electromagnetic interference;<br />
* 'environmental conditions': The associated object is the classification that categorizes the classified element with respect to its<br />
ability to comply with environmental impact requirements.<br />
The following table shows the requirements of a classification_association:<br />
Attribute name<br />
role<br />
Description<br />
The role specifies the relationship between the<br />
general_classification and the associated object.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
55
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.3.15 classification_attribute<br />
A classification_attribute is a characteristic used to classify an object associated with the corresponding general_classification.<br />
The following table shows the attributes of a classification_attribute:<br />
Attribute name<br />
id<br />
name<br />
description<br />
Description<br />
The id specifies the identifier of the classification_attribute that must be<br />
unique within the scope of the associated general_classification<br />
The name specifies the name by which the classification_attribute<br />
is referred to.<br />
The description specifies additional information about the<br />
classification_attribute.<br />
4.3.16 collaboration_definition<br />
A collaboration_definition is a definition of an item_version that is used within the collaboration between the mechanical and<br />
electrical domain. If an item of the PCB should be used within a collaboration a collaboration_definition should be instantiated<br />
for the item_version of this item. The relation associated_item_version is used to assign the collaboration_definition to the item.<br />
A collaboration_definition is a type of design_discipline_item_definition.<br />
The following table shows the attributes of a collaboration_definition:<br />
Attribute name<br />
id<br />
name<br />
description<br />
Description<br />
The id specifies the identifier of the design_discipline_item_definition.<br />
The name specifies a name of the design_discipline_item_definition.<br />
The collaboration_type specifies the kind of collaboration.<br />
The collaboration_type could be for example "moving of a mounting hole"<br />
or "placement under mechanical constraints".<br />
4.3.17 component_termination_passage<br />
A component_termination_passage is a type of plated_passage through which a component_terminal may pass.<br />
This object type has no attributes.<br />
4.3.18 component_termination_passage_template_interface_terminal<br />
A component_termination_passage_template_interface_terminal is a type of component_termination_passage_template_terminal,<br />
an occurrence of which provides an interface capability to the next level of assembly.<br />
This object type has no attributes.<br />
4.3.19 component_termination_passage_template_join_terminal<br />
A component_termination_passage_template_join_terminal is a type of component_termination_passage_template_terminal, an<br />
occurrence of which provides a fabrication join capability, within an optionally constrained set of stratum.<br />
This object type has no attributes.<br />
56 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD DATA MODEL<br />
4.3.20 component_termination_passage_template_terminal<br />
A component_termination_passage_template_terminal is a type of Shape_feature.<br />
This object type has no attributes.<br />
4.3.21 composite_curve<br />
A composite_curve is a curve that is composed of a number of curves which join end to end.<br />
A composite curve is a type of curve.<br />
Note: A composite_curve may be closed and self-intersecting.<br />
The following table shows the attributes of a composite_curve:<br />
Attribute name<br />
name<br />
Description<br />
The name specifies the name by which the<br />
detailed_geometric_model_element is referred to.<br />
4.3.22 constraint<br />
A constraint defines constraining information between items or properties of the model. The constraint_type specifies detailed<br />
information about the constraint.<br />
The following table shows the attributes of a constraint:<br />
Attribute name<br />
id<br />
name<br />
constraint_type<br />
Description<br />
The id specifies the identifier of the contraint that must be unique within<br />
the collaboration.<br />
The name specifies the name by which the constraint is referred to.<br />
The following values are recommended to use for the constraint_type:<br />
relating (e.g. to move parts together), placement (e.g. for clearance),<br />
or rotation (for rotation of elements).<br />
4.3.23 curve<br />
A curve is a path of a point moving in a coordinate space. A curve is an abstract data model element.<br />
A curve is a type of detailed_geometric_model_element.<br />
The following table shows the attributes of a curve:<br />
Attribute name<br />
name<br />
Description<br />
The name specifies the name by which the<br />
detailed_geometric_model_element is referred to.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
57
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.3.24 curve_on_surface<br />
A curve_on_surface is a curve that lies on a parametric surface. This includes the cases of a 3D curve representation together<br />
with the basis surface, a 2D curve representation within the parameter space of the surface, and a combination of both.<br />
A curve_on_surface is a type of curve.<br />
The following table shows the attributes of a curve_on_surface:<br />
Attribute name<br />
name<br />
Description<br />
The name specifies the name by which the<br />
detailed_geometric_model_element is referred to.<br />
4.3.25 curve_set_2d<br />
A curve_set_2d is a collection of a two-dimensional curve or point objects that establish a wireframe_model_2d.<br />
This object type has no attributes.<br />
4.3.26 cutout<br />
A cutout is a closed, internal shape in a substrate. A cutout may not extend completely through the substrate. The cutout is<br />
represented by a closed curve in two dimensional representations and by a manifold surface in three dimensional<br />
representations. A Cutout is a type of Inter_stratum_feature.<br />
This object type has no attributes.<br />
4.3.27 cutout_edge_segment<br />
A cutout_edge_segment defines an edge segment of a cutout. When the cutout_edge_segment participates in a cutout that is<br />
fully described by a collection of cutout_edge_segment, the end_vertex of the final segment shall be the start_vertex of the first<br />
segment. Pre-processors shall adhere to the requirement that the boundary this segment is contributing to shall be closed. A<br />
cutout_edge_segment is a type of inter_stratum_feature.<br />
This object type has no attributes.<br />
4.3.28 data_environment<br />
A data_environment is the specification of the conditions under which a material_property_value_representation is valid.<br />
Note: A data_environment may have the name"'standard" and the description "20 degrees Celsius, 75 % humidity".<br />
The following table shows the attributes of a data_environment:<br />
Attribute name<br />
description<br />
environment_name<br />
Description<br />
The description specifies additional information about the<br />
data_environment.<br />
The environment_name specifies the name by which the<br />
data_environment is referred to.<br />
58 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD DATA MODEL<br />
4.3.29 definition_based_product_occurrence<br />
A product_occurrence is the identification of an occurrence of an object in a product structure. It also specifies the design view of this occurrence.<br />
This object type has no attributes.<br />
4.3.30 design_discipline_item_definition<br />
A design_discipline_item_definition is a view of an item_version. This view is relevant for the requirements of one or more life<br />
cycle stages and application domains and collects product data of the item_version. If the item_version is used within a<br />
collaboration session the subtype collaboration_definition should be instantiated. If the item_version represents an assembly of<br />
items the subtype assembly_definition should be instantiated. Each design_discipline_item_definition may be any combination<br />
of assembly_definition and collaboration_definition.<br />
The associated_item_version specifies the item_version for which the design_discipline_item_definition is a view.<br />
The following table shows the attributes of a design_discipline_item_definition:<br />
Attribute name<br />
id<br />
name<br />
Description<br />
The id specifies the identifier of the design_discipline_item_definition.<br />
The name specifies a name of the design_discipline_item_definition.<br />
4.3.31 design_layer_stratum<br />
A design_layer_stratum is a type of stratum for the purpose of realizing a physical network in one material.<br />
This object type has no attributes.<br />
4.3.32 design_layer_technology<br />
A design_layer_technology is a type of stratum_technology. The design_layer_technology is a technology specification tailored<br />
for those materials intended to be used to implement the direct connectivity as described in a design.<br />
This object type has no attributes.<br />
4.3.33 detailed_geometric_model_element<br />
A detailed_geometric_model_element is the identification of a geometric element.<br />
Note: The detailed_geometric_model_element may be used to define the elements of a geometric_model.<br />
The following table shows the attributes of a detailed_geometric_model_element:<br />
Attribute name<br />
name<br />
Description<br />
The name specifies the name by which the<br />
detailed_geometric_model_element is referred to.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
59
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.3.34 digital_file<br />
A digital_file contains computer interpretable data stored in a physical file within the filesystem.<br />
This object type has no attributes.<br />
4.3.35 documentation_layer_stratum<br />
A documentation_layer_stratum is a type of stratum used to describe patterns and other artwork information needed to manufacture<br />
a stratum from materials which are not independently implementing a generic_physical_network in the printed circuit<br />
This object type has no attributes.<br />
4.3.36 documentation_layer_technology<br />
A documentation_layer_technology is a type of stratum_technology that may have patterns applied and whose purpose is not<br />
for directly implementing point to point connectivity as in the design_layer_technology.<br />
This object type has no attributes.<br />
4.3.37 ellipse<br />
An ellipse is a conic section defined by the lengths of the semi-major and semi-minor diameters and by the position (center or<br />
mid-point of the line joining the foci) and orientation of the curve.<br />
An ellipse is a type of curve.<br />
The following table shows the attributes of an ellipse:<br />
Attribute name<br />
name<br />
Description<br />
The name specifies the name by which the<br />
detailed_geometric_model_element is referred to.<br />
4.3.38 external_geometric_model<br />
An external_geometric_model is the identification of a model that contains geometry in a 3D context only.<br />
An external_geometric_model is a type of external_model. Each external_geometric_model may be an<br />
external_geometric_model_with_parameters.<br />
The following table shows the attributes of an external_geometric_model:<br />
Attribute name<br />
model_id<br />
description<br />
Description<br />
The model_id specifies the identifier of the external_model.<br />
The description specifies additional information about the external_model.<br />
60 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD DATA MODEL<br />
4.3.39 external_geometric_model_with_parameters<br />
An external_geometric_model_with_parameters is the identification of a model that contains geometry in a 3D context, and where<br />
some characteristics of the model may be controlled or changed in a predefined way in each occurrence of the model.<br />
Note: A geometric model may have predefined aspect ratios of its overall dimensions, but a parameterized volume. In each occurrence<br />
of the external_geometric_model_with_parameters, the volume may be specified by the user and the dimensions of the<br />
model are set automatically while the predefined aspect ratio requirements are met.<br />
An external_geometric_model_with_parameters is a type of external_geometric_model. The association parameter_value specifies<br />
the general_parameter objects that may be varied in each occurrence.<br />
The following table shows the attributes of an external_geometric_model_with_parameters:<br />
Attribute name<br />
model_id<br />
description<br />
Description<br />
The model_id specifies the identifier of the external_model.<br />
The description specifies additional information about the<br />
external_geometric_model_with_parameters.<br />
4.3.40 external_model<br />
An external_model is the identification of a model that is described in a digital_file and by the cartesian_coordinate_space that<br />
is needed to further process the externally described information. In the collaboration context each external_model is an<br />
external_geometric_model.<br />
The following table shows the attributes of an external_model:<br />
Attribute name<br />
model_id<br />
description<br />
Description<br />
The model_id specifies the identifier of the external_model.<br />
The description specifies additional information about the external_model.<br />
4.3.41 feature_parameter<br />
A feature_parameter is the representation of a characteristic of a feature_definition. In the <strong>ECAD</strong>/<strong>MCAD</strong> collaboration model the<br />
feature_parameter is used to define parameters of an external_geometric_model_with_parameters. The association parameter_value<br />
specifies the value of the feature_parameter. This includes information about units and possibly about limitations.<br />
The following table shows the attributes of a feature_parameter:<br />
Attribute name<br />
parameter_name<br />
Description<br />
The parameter_name specifies the character, abbreviation, or word by<br />
which the feature_parameter is referred to. Note "a", "b1", or "r"<br />
are typical examples for the parameter_name.<br />
4.3.42 filled_via<br />
A filled_via is a type of via.<br />
This object type has no attributes.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
61
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.3.43 general_classification<br />
A general_classification is a classification of an object which characterizes all objects of the same kind; such a classification is<br />
independent from the application of the classified object.<br />
Note: A resistor with subclasses, such as resistors with long or short connections, a bracket with subclasses, e.g., with 90 or<br />
100 degrees bending angle, or screws with subclasses such as metal screws or machine screws are examples for<br />
general_classification.<br />
The following table shows the attributes of a general_classification:<br />
Attribute name<br />
id<br />
description<br />
version_id<br />
Description<br />
The id specifies the identifier of the general_classification.<br />
The description specifies additional information about the<br />
general_classification.<br />
The version_id specifies the identification of a particular version of the<br />
general_classification.<br />
4.3.44 general_parameter<br />
A general_parameter is the association of an external_geometric_model_with parameters and a feature_parameter. The association<br />
parameter_value specifies the feature_parameter that has the value and possibly a name of the general_parameter.<br />
The following table shows the attributes of a general_parameter:<br />
Attribute name<br />
parameter_role<br />
Description<br />
The parameter_role specifies the kind of parameter that is represented by<br />
the general_parameter. Note "width" or "diameter" are examples for the<br />
parameter_role.<br />
4.3.45 general_property<br />
A general_property is the definition of a property that is specified by the attribute "property_type".<br />
Note: The noise emission of a fan on the PCB, maintenance intervals, and duration of parts, or electrical properties are examples<br />
for a general_property.<br />
A general_property is a type of property.<br />
The following table shows the attributes of a general_property:<br />
Attribute name<br />
description<br />
id<br />
version_id<br />
property_type<br />
Description<br />
The description specifies additional information about the property.<br />
The id specifies the identifier of the property.<br />
The version_id specifies the identification of a particular version of<br />
a property.<br />
The property_type specifies the kind of property the<br />
general_property defines.<br />
62 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD DATA MODEL<br />
4.3.46 general_shape_dependent_property<br />
A general_shape_dependent_property is a user-defined characteristic of an object. The 'property_value' specified by a<br />
general_shape_dependent_property is derived from geometry.<br />
Note: The general_shape_dependent_property may be used for the purpose of validation of geometric models.<br />
Note: If a geometry model is exchanged between two partners, the calculation of various properties of the bodies, such as<br />
centre of mass, overall surface, or overall volume, is performed by originator and recipient. When comparing these set of<br />
values, the existence of deficiencies in the received model can be easily detected.<br />
A general_shape_dependent_property is a type of shape_dependent_property.<br />
The following table shows the attributes of a general_shape_dependent_property:<br />
Attribute name<br />
description<br />
property_type<br />
property_value<br />
Description<br />
The description specifies additional information about the<br />
property_value of the shape_dependent_property.<br />
The property_type defines the type of characteristic that is specified<br />
for an object.<br />
The property_value specifies the value that is given for a particular<br />
characteristic.<br />
4.3.47 geometric_model<br />
A geometric_model is a representation of geometry. In the <strong>ECAD</strong>/<strong>MCAD</strong> collaboration three different models must be used:<br />
wireframe_model_2d: Is used to represent 2D information, e.g. board outline.<br />
b_rep_model: Is used to represent 3D geometry with a boundary representation, e.g. 3D shape of a component (this model<br />
will be described in further versions of the recommendation).<br />
hybrid_model: Is used to represent 3D geometry with history information, e.g. 3D shape of a component with feature structure<br />
of the 3D-CAD system (this model will be described in further versions of the recommendation).<br />
This object type has no attributes.<br />
4.3.48 geometric_model_relationship_with_transformation<br />
A geometric_model_relationship_with_transformation is a relationship between two model objects with the additional information<br />
about a geometric transformation. This transformation defines the location and orientation of the related model relative to the<br />
relating model. The association model_placement specifies the geometric transformation that places and orients the related<br />
model relative to the relating model.<br />
This object type has no attributes.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
63
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.3.49 hybrid_geometric_model_3D<br />
A hybrid_geometric_model_3d is a representation of geometry that consists of a set of detailed_geometric_model_element objects.<br />
The details of a hybrid_geometric_model_3d will be described in further versions of the recommendation.<br />
This object type has no attributes.<br />
4.3.50 hyperbola<br />
A hyperbola is one branch of an open conic section defined by its radius, imaginary radius, the centre point and the direction<br />
of the line joining the centre to the focus.<br />
A hyperbola is a type of curve.<br />
The following table shows the attributes of a hyperbola:<br />
Attribute name<br />
name<br />
Description<br />
The name specifies the name by which the<br />
detailed_geometric_model_element is referred to.<br />
4.3.51 instance_placement<br />
An instance_placement is the information pertaining to the placement of a single_instance, which is defined in the cartesian<br />
coordinate space of the product used within the collaboration.<br />
Note: An instance_placement is used to define the position of each occurence of e.g. a resistor component of the PCB. For<br />
each resistor an individual instance_placement has to be defined.<br />
This object type has no attributes.<br />
4.3.52 inter_stratum_feature<br />
An inter_stratum_feature is a type of laminate_component. An inter_stratum_feature spans one or more stratum.<br />
The association inter_stratum_feature_stratum specifies stratum(s) which are related to the inter_stratum_feature.<br />
Note: An inter_stratum_feature may be realized by removal of material by drilling, routing, punching, chemically etching, laser<br />
burning, or otherwise penetrating one or more sequential stratum; by the addition of material; or by combining both removal<br />
and addition of material in the fabrication process.<br />
The following table shows the attributes of a inter_stratum_feature:<br />
Attribute name<br />
feature of size<br />
Description<br />
Specifies whether or not the inter_stratum_feature interfaces with a feature<br />
of another product in an assembly context. A value of TRUE specifies<br />
that it interfaces. A value of FALSE specifies that it does not interface.<br />
vertical_extent<br />
64 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD DATA MODEL<br />
4.3.53 interconnect_module_constraint_region<br />
An interconnect_module_constraint_region is a region within an interconnect_module in which a placement constraint on some<br />
category of design object is to be met by the design.<br />
An interconnect_module_constraint_region may overlap other interconnect_module_constraint_regions.<br />
The following table shows the attributes of an item:<br />
Attribute name<br />
keepout<br />
constrained_design_object_category<br />
Description<br />
Specifies if the meaning of the interconnect_module_constraint_region is to<br />
describe that items shall be in the interior of the element_shape or shall be<br />
on the exterior of the element_shape. The value of TRUE states that objects<br />
in the constrained_design_object_category are not to be within the<br />
element_shape. The value of FALSE states that objects in the<br />
constrained_design_object_category are to be only within the<br />
element_shape.<br />
Specifies object categories for the interconnect_module_constraint_region.<br />
The names shall be interpreted as the identification of Application Object<br />
categories to be constrained.<br />
4.3.54 item<br />
An item is a representation for any object used within the <strong>ECAD</strong>/<strong>MCAD</strong> collaboration. It collects the information that is<br />
common to all versions of the object. An item could be classified or grouped using the general_classification or the<br />
specific_item_classification objects within the data model. If the item is used in a collaboration session the<br />
collaboration_definition object should instantiated in order to detail the collaboration information of the item. Additionally, if<br />
an assembly_definition exists for at least one version of the item, the item must be classified as being an "assembly" using<br />
specific_item_classification.<br />
Note: An item may be either a single piece part or an assembly.<br />
Example: In the context of <strong>ECAD</strong>/<strong>MCAD</strong> collaboration an item may be the mechatronic product as a whole, the assembly of<br />
the PCB, the shape of the board outline or electrical/mechanical components such as resistors, capacitors, LED displays, plugs<br />
etc.<br />
The following table shows the attributes of an item:<br />
Attribute name<br />
id<br />
name<br />
description<br />
Description<br />
The id specifies the identifier of the item. For the id, an owner must be<br />
specified by a person_organization_assignment with role "id owner".<br />
The id must be unique within the scope of the organization that is<br />
specified by the person_organization_assignment.<br />
The name specifies the name of the item.<br />
The description specifies additional information about the item.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
65
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.3.55 item_contraint<br />
An item_constraint is used to constrain the relation between two or more items. The type of item_contraint needs to be specified<br />
with the constraint_type attribute.<br />
An item_constraint is a type of constraint.<br />
The following table shows the attributes of an item:<br />
Attribute name<br />
id<br />
name<br />
constraint_type<br />
Description<br />
The id specifies the identifier of the contraint that must be unique within<br />
the collaboration.<br />
The name specifies the name by which the constraint is referred to.<br />
The following values are recommended to use for the constraint_type:<br />
relating (e.g. to move parts together), placement (e.g. for clearance),<br />
or rotation (for rotation of elements).<br />
4.3.56 item_definition_instance_relationship<br />
An item_definition_instance_relationship is a relationship between a design_discipline_item_definition and an item_instance.<br />
Within a collaboration session the item_definition_instance_relationship is used to represent the assembly information of the<br />
product structure. Therefore the subtype assembly_component_relationship should be used. The association related<br />
specifies the item_instance that is part of the item_definition_instance_relationship. The association relating specifies the<br />
design_discipline_item_definition that is part of the assembly.<br />
This object type has no attributes.<br />
4.3.57 item_instance<br />
An item_instance is the occurrence of an object in a product structure, e.g. a resistor is defined once within a PCB. Its<br />
design_discipline_item_definition carries all the information necessary to define the resistor (e.g., its shape and properties)<br />
indepedent of its usage. Additionally, there are five item_instance objects for this resistor since there are five equal resistors used<br />
in the PCB. Each of these instances may carry additional information such as placement or properties.<br />
The following table shows the attributes of an item_instance:<br />
Attribute name<br />
description<br />
id<br />
Description<br />
The description specifies additional information about the item_instance.<br />
The id specifies the identifier of the item_instance.<br />
4.3.58 item_property_association<br />
An item_property_association is a mechanism to associate a property value with an object.<br />
This object type has no attributes.<br />
66 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD DATA MODEL<br />
4.3.59 item_shape<br />
An item_shape is the definition of the shape of a design_discipline_item_definition or an item_instance.<br />
The following table shows the attributes of an item_shape:<br />
Attribute name<br />
described_object<br />
Description<br />
The described_object specifies the object whose shape the item_shape<br />
defines.<br />
4.3.60 item_version<br />
An item_version is a version of an item and serves as the collector of the data characterizing a physically realizable object in<br />
various application contexts. An item_version may be produced, consumed, used to produce other item_version objects,<br />
or offered to the market. The set of item_version objects of an item represents the history of the item within a particular<br />
life cycle stage or over its complete life cycle. The item_version_relationship is used to define the relationship between<br />
two different item_versions. Within the collaboration session an item_version is used to define different versions of collaboration<br />
objects.<br />
The following table shows the attributes of an item_version:<br />
Attribute name<br />
id<br />
description<br />
Description<br />
The id specifies the identifier of the item_version. The id must be unique<br />
within the scope of the associated item. A particular object is identified by<br />
the id of the item_version.<br />
The description specifies additional information about the item_version.<br />
4.3.61 laminate_component<br />
A laminate_component is a type of assembly_component. All laminate_component types are realized as part of the manufacturing<br />
process that produces the interconnect.<br />
This object type has no attributes.<br />
4.3.62 line<br />
A line is an unbounded curve that is defined by a point and a vector. The positive direction of the line is in the direction of the<br />
vector and the magnitude of the vector controls the parametrization.<br />
A line is a type of curve.<br />
The following table shows the attributes of a line:<br />
Attribute name<br />
name<br />
Description<br />
The name specifies the name by which the<br />
detailed_geometric_model_element is referred to.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
67
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.3.63 material<br />
A material is the substance out of which an item is or can be made.The association described_element specifies the objects the<br />
material information is provided for.<br />
The following table shows the attributes of a line:<br />
Attribute name<br />
material_name<br />
Description<br />
The material_name specifies the name by which the material is referred to.<br />
4.3.64 material_property<br />
A material_property is a characteristic that depends on material aspects. A material_property is a type of property.<br />
The following table shows the attributes of a material_property:<br />
Attribute name<br />
description<br />
id<br />
version_id<br />
property_name<br />
Description<br />
The description specifies additional information about the property.<br />
The id specifies the identifier of the property.<br />
The version_id specifies the identification of a particular version<br />
of a property.<br />
The property_name specifies the kind of material_property.<br />
Note: 'EM1' is an example for a "property_name" that may be associated<br />
with a material_property that is described as 'elastic modulus'.<br />
4.3.65 material_property_association<br />
A material_property_association is an object that associates a material object with a material_property_value_representation<br />
object.<br />
This object type has no attributes.<br />
4.3.66 material_property_value_representation<br />
A material_property_value_representation is the representation of a characteristic of a material.<br />
The association definition specifies the material_property that defines the material_property_value_representation.<br />
The association environment_condition specifies the environmental conditions in which the defined<br />
material_property_value_representation is applicable.<br />
This object type has no attributes.<br />
4.3.67 moments_of_inertia<br />
A moments_of_inertia describes the matrix of inertia of a rigid body. The moments of inertia are described with the 9 inertia<br />
coefficients.<br />
A moments_of_inertia is a type of property_value.<br />
The following table shows the attributes of a moments_of_inertia:<br />
Attribute name<br />
description<br />
Description<br />
The description specifies additional information about the property_value.<br />
68 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD DATA MODEL<br />
4.3.68 next_higher_assembly<br />
A next_higher_assembly is a relationship where the association "related" specifies a constituent of an assembly and the association<br />
"relating" specifies the immediate parent assembly of the constituent.<br />
Note: A constituent may be a single part or an assembly.<br />
A next_higher_assembly is a type of assembly_component_relationship.<br />
This object type has no attributes.<br />
4.3.69 non_feature_shape_element<br />
A non_feature_shape_element is a type of Shape_element that is not on the physical boundary of a Part_view_definition.<br />
This object type has no attributes.<br />
4.3.70 numerical_value<br />
A numerical_value is a quantity expressed with a numerical value and a unit.<br />
A numerical_value is a type of value_with_unit.<br />
The following table shows the attributes of a numerical_value:<br />
Attribute name<br />
value_name<br />
value_component<br />
Description<br />
The value_name specifies the name by which the property_value is referred to.<br />
Note: "l1" or "vol2" are examples for the value_name of a Property_value.<br />
The value_component specifies the quantity of the numerical_value.<br />
4.3.71 offset_curve<br />
An offset_curve is a curve in 2D or 3D space that is defined as a set of points for which there is at least one point on the basis<br />
curve that is at the offset distance of the considered point. At a given point of the basis curve, the distance is measured along<br />
a vector that is the normalized cross product of the tangent of the basis curve at this point, and of a reference direction vector.<br />
Note: The reference direction of the offset must be defined. An offset_curve must not self-intersect and may reference any type<br />
of curve except another offset_curve.<br />
An offset_curve is a type of curve.<br />
The following table shows the attributes of an offset_curve:<br />
Attribute name<br />
name<br />
Description<br />
The name specifies the name by which the<br />
detailed_geometric_model_element is referred to.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
69
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.3.72 organization<br />
An organization is a group of people involved in a particular business process.<br />
The following table shows the attributes of an organization:<br />
Attribute name<br />
organization_name<br />
id<br />
Description<br />
The organization_name specifies the name used to refer to the organization.<br />
The id specifies the identifier of the organization.<br />
4.3.73 parabola<br />
A parabola is an open conic curve defined by its focal length, apex and the direction of the line joining the apex and focus.<br />
A parabola is a type of curve.<br />
The following table shows the attributes of a parabola:<br />
Attribute name<br />
name<br />
Description<br />
The name specifies the name by which the<br />
detailed_geometric_model_element is referred to.<br />
4.3.74 part_feature<br />
A part_feature is a type of shape_feature.<br />
The following table shows the attributes of a part_feature:<br />
Attribute name<br />
material_state_change<br />
Description<br />
Specifies whether the material state change for the part_feature is due to<br />
addition of material or due to removal of material.<br />
4.3.75 part_mounting_feature<br />
A part_mounting_feature is a type of part_feature that is identified to facilitate tolerance specification when an occurrence of the<br />
associated part is used in an assembly.<br />
This object type has no attributes.<br />
4.3.76 partially_plated_cutout<br />
A partially_plated_cutout is a type of cutout that is not a completely plated cutout for reason of manufacturing capabilities or<br />
design purposes.<br />
This object type has no attributes.<br />
70 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD DATA MODEL<br />
4.3.77 person<br />
A person within the collaboration is an individual human being who has some relationship to product data used within the collaboration.<br />
The person must always be identified in the context of one or more organizations.<br />
The following table shows the attributes of a person:<br />
Attribute name<br />
person_name<br />
Description<br />
The person_name specifies the name used to refer to the Person.<br />
Note: The person_name includes the first, middle, and last names as well<br />
as titles, if applicable.<br />
4.3.78 person_in_organization<br />
A person_in_organization is the specification of a person in the context of an organization. The association associated_organization<br />
specifies the organization with which the person is associated. The association associated_person specifies the person.<br />
The following table shows the attributes of a person_in_organization:<br />
Attribute name<br />
role<br />
location<br />
id<br />
Description<br />
The role specifies the relationship between the person and the organization.<br />
The location specifies the relevant address of the person_in_organization.<br />
The id specifies an identifier of the person. The identifier must be unique<br />
within the scope of the "associated_organization".<br />
Note: The id may be a staff number or a user id in a computer system.<br />
4.3.79 person_organization_assignment<br />
A person_organization_assignment is an object that associates an organization or a person_in_organization with the product<br />
data used in the collaboration. The role attribut of the person_organization_assignment must be used in a <strong>MCAD</strong>/<strong>ECAD</strong><br />
collaboration with the following values:<br />
Project manager: A project manager is responsible for the overall project, defines the mechanical and electrical product<br />
structure, requirements, and tasks. The project manager controls the results.<br />
Mechanical designer: A mechanical designer designs the surrounding geometry in the mechanical 3D CAD system. A mechanical<br />
designer fulfills the requirements of the project manager and defines the requirements for the PCB development based on<br />
mechanical constraints.<br />
Mechanical digital mock-up: A person doing a digital mock-up (DMU) performs 3D-interference checks in a mechanical 3D CAD<br />
system. This person checks whether the current design fits with the surrounding geometry. Within the DMU the 3D representation<br />
of the mechanical and electrical design is used.<br />
Electrical designer: An electrical designer designs the schematics of the PCB. His output is the netlist as an input for the layout<br />
of the PCB, which is done by the <strong>ECAD</strong> layouter. The electrical designer fulfills the requirements of the project manager and<br />
<strong>MCAD</strong> designers.<br />
Electrical layouter: An electrical layouter designs the layout of the PCB in the <strong>ECAD</strong> system. The electrical layouter fulfills the<br />
requirements of the project manager, <strong>ECAD</strong> designers and <strong>MCAD</strong> designers.<br />
Thermal: The role thermal is used for a person who performs thermal analysis based on the PCB layout. This person checks whether<br />
heating, cooling, security and other thermal requirements are fulfilled by the current PCB design.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
71
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
EMI/EMC: The role EMI/EMC is used for a person who analyzes whether the current PCB design fulfills the requirements<br />
concerning the electromagnetic compatibility (EMC), which require that the system is able to tolerate a specified degree of<br />
electromagnetic interference (EMI) and does not generate more than a specified amount of interference.<br />
The following table shows the attributes of a person_organization_assignment:<br />
Attribute name<br />
role<br />
Description<br />
The role specifies the responsibility of the assigned Person or organization<br />
with respect to the object that it is applied to.<br />
4.3.80 physical_connectivity_interrupting_cutout<br />
A physical_connectivity_interrupting_cutout is a type of cutout that is included in the design of an interconnect_module for the<br />
purpose of interrupting one or more connectivity elements in an interconnect_module.<br />
This object type has no attributes.<br />
4.3.81 plated_cutout<br />
A plated_cutout is an interior volume of the substrate, such as a void included for passage of a shaft, and may be plated for<br />
EMI shielding purposes. This object conveys the semantic that the interior referenced by the related shape is conductive.<br />
A plated_cutout is a type of plated_inter_stratum_feature and a type of cutout.<br />
This object type has no attributes.<br />
4.3.82 plated_cutout_edge_segment<br />
The Plated_cutout_edge_segment is a feature with a specified shape that makes up part of the edge of a partially plated cutout.<br />
A plated_cutout_edge_segment is a type of plated_inter_stratum_feature and is a type of cutout_edge_segment.<br />
This object type has no attributes.<br />
4.3.83 plated_inter_stratum_feature<br />
A plated_inter_stratum_feature is a inter_stratum_feature with deposited metal on its walls that makes an electrical connection<br />
between conductive patterns on internal design_layer_stratum, external design_layer_stratum, or both, of a printed circuit<br />
board. A plated_inter_stratum_feature is a type of inter_stratum_feature.<br />
This object type has no attributes.<br />
4.3.84 plated_passage<br />
A plated_passage is a type of plated_inter_stratum_feature. A plated_passage may be either a component_termination_passage<br />
or a via.<br />
This object type has no attributes.<br />
72 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD DATA MODEL<br />
4.3.85 point<br />
A point is a location in a Cartesian coordinate space.<br />
A point is an abstract data model element.<br />
The following table shows the attributes of a point:<br />
Attribute name<br />
name<br />
Description<br />
The name specifies the name by which the<br />
detailed_geometric_model_element is referred to.<br />
4.3.86 point_on_curve<br />
A point_on_curve is a point that is defined by evaluating a given curve at a specified parameter value.<br />
Note: A point_on_curve implicitly represents the topological relation between a point and a curve.<br />
A point_on_curve is a type of point.<br />
The following table shows the attributes of a point_on_curve:<br />
Attribute name<br />
name<br />
Description<br />
The name specifies the name by which the<br />
detailed_geometric_model_element is referred to.<br />
4.3.87 point_on_surface<br />
A point_on_surface is a point that is defined in the domain of a surface. Its actual location in 3D geometric space is obtained<br />
by evaluating the parametric equation of the surface with a particular pair of parameter values.<br />
Note: The object implicitly represents the topological relation between a point and a surface.<br />
A point_on_surface is a type of point.<br />
The following table shows the attributes of a point_on_surface:<br />
Attribute name<br />
name<br />
Description<br />
The name specifies the name by which the<br />
detailed_geometric_model_element is referred to.<br />
4.3.88 polyline<br />
A polyline is a curve that is represented by n-1 linear segments, defined by a list of n points. A polyline may be closed and may<br />
self-intersect.<br />
A polyline is a type of curve.<br />
The following table shows the attributes of a polyline:<br />
Attribute name<br />
name<br />
Description<br />
The name specifies the name by which the<br />
detailed_geometric_model_element is referred to.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
73
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.3.89 printed_part_template_terminal<br />
A printed_part_template_terminal is a terminal of a printed_part_template. A Printed_part_template_terminal is a type of shape_feature.<br />
This object type has no attributes.<br />
4.3.90 printed_part_cross_section_template_terminal<br />
A pPrinted_part_cross_section_template_terminal is a type of printed_part_template_terminal that is the terminal of the<br />
printed_part_cross_section_template.<br />
This object type has no attributes.<br />
4.3.91 printed_part_template_interface_terminal<br />
A printed_part_template_interface_terminal is a type of printed_part_template_terminal, an occurrence of which is an external<br />
access to the printed circuit board of which it is a component.<br />
This object type has no attributes.<br />
4.3.92 printed_part_template_join_terminal<br />
A printed_part_template_join_terminal is a type of printed_part_template_terminal an occurrence of which provides access to<br />
the functionality of the printed_part_template from within a printed circuit board.<br />
This object type has no attributes.<br />
4.3.93 printed_part_template_terminal<br />
A printed_part_template_terminal is a terminal of a printed_part_template. A printed_part_template_terminal is a type of Shape_feature.<br />
This object type has no attributes.<br />
4.3.94 property<br />
A property is the definition of a particular quality. Within the collaboration each property is defined as a material_property or<br />
a general_property.<br />
Note: A property may reflect physics or arbitrary user defined measurements.<br />
The following table shows the attributes of a property:<br />
Attribute name<br />
description<br />
id<br />
version_id<br />
Description<br />
The description specifies additional information about the property.<br />
The id specifies the identifier of the property.<br />
The version_id specifies the identification of a particular version<br />
of a property.<br />
74 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD DATA MODEL<br />
4.3.95 property_value<br />
A property_value is the numerical or textual value of a property_value_representation. Each property_value is a value_list, a<br />
string_value, or a value_with_unit.<br />
The following table shows the attributes of a property_value:<br />
Attribute name<br />
value_name<br />
Description<br />
The value_name specifies the name by which the<br />
property_value is referred to.<br />
Note: "l1" or "vol2" are examples for the value_name of a property_value.<br />
4.3.96 property_value_association<br />
A property_value_association is a mechanism to assign a property_value_representation to an object.<br />
This object type has no attributes.<br />
4.3.97 property_value_representation<br />
A property_value_representation is the representation of property.<br />
The association definition specifies the property that the property_value_representation characterizes.<br />
The association specified_value specifies the property_value that qualifies the property_value_representation by a value_with_unit.<br />
For the value_determination the following values must be used:<br />
calculated: The value has been calculated;<br />
designed: The value represents a value intended by the design;<br />
estimated: The value has been estimated;<br />
measured: The value has been measured;<br />
required: The value represents a requirement;<br />
set point: The value is used as the initialization value.<br />
The following table shows the attributes of a property_value_representation:<br />
Attribute name<br />
value_determination<br />
Description<br />
The value_determination specifies information on how the<br />
property_value_representation must be interpreted.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
75
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.3.98 property_constraint<br />
A property_constraint defines constraints between two or more properties.<br />
An property_constraint is used to constrain the relation between two or more properties. The type of property_constraint needs<br />
to be specified with the constraint_type attribute.<br />
A property_constraint is a type of constraint.<br />
The following table shows the attributes of a property_constraint:<br />
Attribute name<br />
id<br />
name<br />
constraint_type<br />
Description<br />
The id specifies the identifier of the contraint that must be unique within<br />
the collaboration.<br />
The name specifies the name by which the constraint is referred to.<br />
The constraint_type specifies the dependencies between the constrained<br />
properties, e.g. "identical values", "derived" are are examples for the<br />
constraint_type of a property_constraint.<br />
4.3.99 shape_dependent_property<br />
A shape_dependent_property is a characteristic of the shape, or of a portion of the shape of an object. This object is either an<br />
item, an occurrence of an item in the product structure or the physical realization of an item.<br />
Note: A shape_dependent_property is independent of the representations of the shape.<br />
Each shape_dependent_property is a centre_of_mass, a moments_of_inertia, or a general_shape_dependent_property.<br />
The following table shows the attributes of a shape_dependent_property:<br />
Attribute name<br />
description<br />
Description<br />
The description specifies additional information about the<br />
shape_dependent_property.<br />
4.3.100 shape_description<br />
A shape_description is either a geometric_model or a external_geometric_model.<br />
This object type has no attributes.<br />
4.3.101 shape_element<br />
A shape_element is a portion of shape that has to be identified explicitly to be associated with other information.<br />
This object type has no attributes.<br />
4.3.102 shape_feature<br />
A shape_feature is a type of shape_element.<br />
This object type has no attributes.<br />
76 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD DATA MODEL<br />
4.3.103 single_instance<br />
A single_instance is one particular occurrence of an object that is defined as a design_discipline_item_definition.<br />
A single_instance may or may not be associated with placement information using an instance_placement.<br />
Note: In a PCB, a capacitor is used as a single_instance and its position is specified by a geometric transformation.<br />
A single_instance is a type of item_instance.<br />
The following table shows the attributes of an single_instance:<br />
Attribute name<br />
description<br />
id<br />
Description<br />
The description specifies additional information about the item_instance.<br />
The id specifies the identifier of the item_instance.<br />
4.3.104 stratum<br />
A stratum consists of a single material within an interconnect substrate. The vertical contours of either boundary surface may<br />
vary. Thus, the thickness of the stratum may vary throughout its range. The material used may be specific, such as 24K gold, or<br />
more general, such as etched copper.<br />
A stratum is a type of item_shape. The association Stratum_Stratum_technology qualifies the stratum_technology of this stratum.<br />
The following table shows the attributes of an single_instance:<br />
Attribute name<br />
id<br />
of_technology<br />
stratum_surface_designation<br />
Description<br />
The identifier that distinguishes the stratum.<br />
Specifies a role of the stratum_technology for the stratum.<br />
Kind of designation of the stratum, either average or primary or secondary.<br />
4.3.105 stratum_feature_template_component<br />
A stratum_feature_template_component is a type of inter_stratum_feature.<br />
This object type has no attributes.<br />
4.3.106 stratum_technology<br />
stratum_technology is a means to provide material properties, parametric data associated with the technology, and material<br />
identification. A stratum_technology maybe either a design_layer_technology or a documentation_layer_technology.<br />
The following table shows the attributes of an single_instance:<br />
Attribute name<br />
name<br />
layer_position<br />
id<br />
Description<br />
The words by which the stratum_technology is known.<br />
Specifies the alphanumeric identifier of a stratum_technology.<br />
Specifies one of the layer_position_types of the stratum for the<br />
stratum_technology. Primary and secondary shall only be used if the<br />
member of stratum_technology is a design_layer_technology.<br />
Unique identifier.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
77
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.3.107 structured_printed_part_template_terminal<br />
A structured_printed_part_template_terminal is a terminal of a structured_printed_part_template. A printed_part_template_terminal<br />
is a type of shape_feature.<br />
This object type has no attributes.<br />
4.3.108 thermal_component<br />
A thermal_component is a type of assembly_component that is included in the design in order to satisfy a heat flow requirement.<br />
This object type has no attributes.<br />
4.3.109 transformation<br />
A transformation is a geometric transformation composed of translation and rotation. Scaling is not included. Each transformation is<br />
a transformation_3d or a transformation_2d<br />
This object type has no attributes.<br />
4.3.110 transformation_2d<br />
A transformation_2d is the definition of a geometric transformation in 2D space.<br />
A transformation_2d is a type of transformation.<br />
This object type has no attributes.<br />
4.3.111 transformation_3d<br />
A transformation_3d is the definition of a geometric transformation in 3D space.<br />
A transformation_3d is a type of transformation.<br />
This object type has no attributes.<br />
4.3.112 trimmed_curve<br />
A trimmed_curve is a curve of finite length that is the result of trimming a curve between two points. The trimming points are the<br />
start and end points of the trimmed_curve. These points may be specified by cartesian points or by parameter values.<br />
A trimmed_curve is a type of curve.<br />
The following table shows the attributes of a shape trimmed_curve:<br />
Attribute name<br />
name<br />
Description<br />
The name specifies the name by which the<br />
detailed_geometric_model_element is referred to.<br />
78 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD DATA MODEL<br />
4.3.113 unit<br />
A unit is a quantity defined as a standard in terms of which other quantities may be expressed. The types of units should use SI<br />
unit standard in order to ensure a consistent interpretation of units within a collaboration.<br />
Within a collaboration, it should be possible to use different unit systems. Each system must be able to convert a foreign unit<br />
based on the standard SI unit system.<br />
The following table shows the attributes of a shape unit:<br />
Attribute name<br />
unit_name<br />
Description<br />
The unit_name specifies the term representing the kind of unit.<br />
Note: "gram", "litre", or "volt" are examples for the unit_name.<br />
4.3.114 unsupported_passage<br />
An unsupported_passage has no metallization in the realization of its walls. An unsupported_passage is a type of inter_stratum_feature.<br />
This object type has no attributes.<br />
4.3.115 value_limit<br />
A value_limit is a qualified numerical value representing either the lower limit or the upper limit of a particular physical<br />
characteristic.<br />
Note: "30.5 maximum" and "5 minimum" are examples for a value_limit.<br />
A value_limit is a type of value_with_unit.<br />
The following table shows the attributes of a value_limit:<br />
Attribute name<br />
value_name<br />
limit<br />
limit_qualifier<br />
Description<br />
The value_name specifies the name by which the<br />
property_value is referred to.<br />
The limit specifies the value of the limit.<br />
The limit_qualifier specifies the kind of limit. The following values must<br />
be used: "maximum": The specified limit is an upper limit; "minimum":<br />
The specified limit is a lower limit.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
79
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.3.116 value_range<br />
A value_range is a pair of numerical values representing the range in which the value must lie.<br />
A value_range is a type of value_with_unit.<br />
The following table shows the attributes of a value_range:<br />
Attribute name<br />
value_name<br />
upper_limit<br />
lower_limit<br />
Description<br />
The value_name specifies the name by which the<br />
property_value is referred to.<br />
The upper_limit specifies the maximum acceptable value that is<br />
constrained by the value_range.<br />
The lower_limit specifies the minimum acceptable value that is constrained<br />
by the value_range.<br />
4.3.117 value_with_unit<br />
A value_with_unit is either a single numerical measure, or a range of numerical measures with upper, lower, or upper and<br />
lower bounds.<br />
A value_with_unit is a type of property_value. Each value_with_unit is a value_range, a numerical_value, or a value_limit.<br />
The following table shows the attributes of a value_with_unit:<br />
Attribute name<br />
value_name<br />
Description<br />
The value_name specifies the name by which the<br />
property_value is referred to.<br />
4.3.118 via<br />
A via is a type of plated_passage. Via is defined in IEC 60050-541.<br />
This object type has no attributes.<br />
4.3.119 wireframe_model_2d<br />
A wireframe_model_2d is a collection of curve_set_2d objects, i.e., curve and point objects defined in two-dimensional<br />
space.<br />
This object type has no attributes.<br />
80 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD DATA MODEL<br />
4.4 Implementation steps and functional scope<br />
The following in Figure 17 depicted three functional scopes have been defined to support the different steps:<br />
Figure 17: Implementation steps<br />
Step 1: Basic component-related collaboration = Package 1,2,3,6<br />
Step 1 allows <strong>ECAD</strong>/<strong>MCAD</strong> collaboration based on components, component properties and the geometric position of<br />
components.<br />
Example: The question of whether the position of an electrical component can be changed is to be clarified<br />
within a collaboration.<br />
Step 2: Advanced shape-related collaboration = Step 1 + Package 4, 7, 8, 9<br />
In addition to the functionality provided in Step 1, Step 2 allows collaboration based on geometry-dependent information. This<br />
means that simple geometric models need to be supported within the collaboration.<br />
Example: The new geometry of the PCB is to be harmonized within a collaboration. To do this, the board<br />
outline must be transferred between the collaborating systems.<br />
Step 3: Constraint-based <strong>ECAD</strong>/<strong>MCAD</strong> collaboration = Step 2 + Package 5<br />
An implementation in Step 3 can also handle constraints within the collaboration. These constraints can be defined in both the<br />
<strong>ECAD</strong> and the <strong>MCAD</strong> environments.<br />
Example: Within a collaboration, an <strong>ECAD</strong> engineer specifies that three electrical components can only be moved<br />
together (due to electrical constraints). This constraint can then be transferred to the <strong>MCAD</strong> system within the framework<br />
of the collaboration so that any repositioning in the <strong>MCAD</strong> system will also involve all three components.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
81
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.5 Mapping logic<br />
4.5.1 Package 1: item definition and product structure<br />
The mapping in Package 1 is shown in Figure 18 below.<br />
The mapping between the application-driven data model and the implementation-driven data model (EDMDSchema) is characterized<br />
in Package 1 by a high level of grouping of object structures and the relationships between objects.<br />
The reason behind the groupings of objects in EDMDSchema is the fact that only the collaboration view is available in EDMDSchema<br />
and, in this view, it is the assembly component relationships and the information on the position of the items which are of interest. However,<br />
the strict separation between the actual definition of an object (item) and the various instances of this object (item_instance) remains important.<br />
Since only one specific version can be viewed within the collaboration, additional version control mechanisms (item_version) are not required.<br />
For these reasons, the information about the item and the item_version is grouped together and mapped by the object EDMDItem.<br />
The instantiation of the EDMDItem object thus always contains the use of exactly one version of the object within the collaboration.<br />
The assembly placement and view information are mapped by the object EDMDItemInstance. The assembly placement (next_higher_assembly)<br />
in the EDMD schema is realized by a relation between the EDMDItem and EDMDItemInstance object.<br />
Information on the position (transformation) is mapped within the assembly using EDMDTransformation and assigned directly to EDMDItemInstance.<br />
No explicit distinction is made between 2D and 3D transformation. EDMDTransformation is able to map both sets of information.<br />
82 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Figure 18: Mapping in Package 1<br />
83<br />
84
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.5.2 Package 2: item classification and grouping<br />
The mapping in Package 2 is shown in Figure 19 below.<br />
Figure 19: Mapping classification and grouping mechanisms<br />
EDMDSchema offers only one grouping mechanism, EDMDGroup. The classification mechanism EDMDGeneralClassification is derived<br />
from EDMDGroup.<br />
85 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD DATA MODEL<br />
4.5.3 Package 3: person and organization information<br />
The mapping in Package 3 is shown in Figure 20 below.<br />
Figure 20: Mapping the organizational units and roles<br />
All the important object types for mapping the organizational units and roles were modeled in EDMDSchema. To facilitate processing,<br />
EDMDRoleOnItem and EDMDRoleInOrganisation were derived from EDMDRole. EDMDRole represents a general concept for mapping<br />
roles in the given context. EDMDRoleOnItem was extended in such a way that the context can also be an ItemInstance.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
86
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.5.4 Package 4: <strong>ECAD</strong> shape information<br />
The mapping in Package 1 is shown in Figure 21 below.<br />
The shape information is always mapped using the same pattern. Because the <strong>MCAD</strong> system in particular is not able to<br />
interpret most of the information relating to the functions of a shape in the context of an electrical circuit, only the most important<br />
super types were modeled as real types. However, these types each contain a type that maps the original function of the<br />
shape.<br />
87 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Figure 21: Mapping the shape information<br />
88<br />
89
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.5.5 Package 5: constraint definition<br />
The mapping in Package 1 is shown in Figure 22 below.<br />
Figure 22: Mapping the constraints<br />
In EDMDSchema, the constraints are mapped using two different mechanisms. In the user-driven data model a general type of<br />
dependency is defined and then specialized, in the EDMDSchema, property definitions can already include limitations. These<br />
limitations are included directly in the property, which allows for easier processing. Dependencies between EDMDItems and<br />
EDMDItemInstances can be described using EDMDItemConstraint, a subtype of EDMDGroup.<br />
4.5.6 Package 6: property and material definition<br />
The mapping in Package 6 is shown in Figure 23 below.<br />
Mapping between the application-driven data model and the implementation-driven data model is characterized in Package<br />
6 by the consistent use of an object structure and inheritance in EDMDSchema. This means that only a small number of<br />
classes are needed in EDMDSchema to map the requirements planned for the application-driven data model.<br />
Therefore, the basic object for mapping properties (property) and assigning properties to an item (property_value_representation)<br />
are mapped by EDMDUserProperty.<br />
As a subclass of EDMDUserProperty, EDMDUserSimpleProperty also offers the option of mapping simple value/unit combinations<br />
and thus corresponds to the familiar value_with_unit concept. Limiting the value properties using the value_limit and value_range<br />
objects can also be done in EDMDSchema using an EDMDConstrainedProperty.<br />
In addition, the general_property in the application-driven data model satisfies the users’ desire to define any property and assign<br />
it to the item. The counterpart in EDMDSchema is the EDMDUserAnyProperty, which also allows any property to be assigned to<br />
the EDMDItem. Unlike the application-driven data model, these arbitrary properties can also be mapped using any<br />
XML representation. Therefore, EDMDUserAnyProperty can also be used to map the material_property and is thus significantly<br />
more powerful than the corresponding elements in the application-driven data model.<br />
90 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
4 EDMD DATA MODEL<br />
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Figure 23: Mapping in Package 6<br />
91<br />
92
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.5.7 Package 7: 2d geometry model<br />
The mapping in Package 7 is shown in Figure 24 below.<br />
Figure 24: Mapping in Package 7<br />
Mapping between the application-driven data model and the implementation-driven data model is done in Package 7 by<br />
defining a similar object model including curve set, curve and point and defining corresponding sub type for the elements<br />
defined in user driven data model. Since there is a definition for an upper bound and a lower bound at the EDMDCurveSet2d<br />
it is feasible to describe 3d shapes using this object type.<br />
4.5.8 Package 8: shape dependant information<br />
The mapping in Package 8 is shown in Figure 25 below.<br />
In Package 8 the mapping between user driven data model and implementation driven data model is done by defining a similar<br />
structure including item, item shape, shape element and shape description. Since there are global mechanisms to describe<br />
annotations and user defined properties (EDMDAnnotation and EDMDUserProperty) there are no special types for defining<br />
those at item shape. To describe a shape in EDMDScheme there are also two main function internal representations and<br />
external representations. Since the definition of external files is made by unified resource iterators the external representation of<br />
shapes can be done by one entity type (EDMDExternalGeometricModel).<br />
4.5.9 Package 9: 3d geometry model<br />
Since there are only two mechanisms for describing item shape in EDMDSchema a special mapping of this package is not<br />
needed.<br />
93 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
4 EDMD DATA MODEL<br />
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Figure 25: Mapping in Package 8<br />
94<br />
95
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.6 Implementation-driven data model (EDMDSchema)<br />
The actual interconnection of CAD systems is performed using a protocol which is based on the implementation-driven data<br />
model. This model was created as an XML schema and is shipped as an extra zip archive, which is also part of the recommendation<br />
but not part of this printable piece of the recommendation (see. 4.6.6).<br />
The basic concepts on which the data model is based are described below.<br />
4.6.1 Concept of the “item”<br />
The item is the basic element for describing the product, see Figure 26:<br />
Figure 26: Item model<br />
The “item” is the basic element used to create the structure of the product description (product structure and geometry) relevant<br />
to the collaboration. Unlike STEP AP214, for example, the item not only represents a completed part (e.g. assembly or part) but<br />
can also be a single geometric element. This means that, for example, individual components (e.g. a PCB) can be represented<br />
as “assemblies” comprising individual elements (e.g. PCB comprising the “items”: board, mounting holes and several cutouts).<br />
An item always represents only one version of an object, version chains or sequences of changes on one and the same part<br />
can be represented implicitly by using the same number and version designator. Within the protocol, this correlation is<br />
represented by specifying the predecessor of an item.<br />
The item is the only object including an Identifier, for that it is the only object collaboration is available on, so by providing<br />
an item for some elements, IT systems show they are ready to collaborate on these elements. The item identifier is the only<br />
mechanism to establish cross references between EDMDSchema compliant xml documents. So the only addressable elements<br />
in collaboration space are item (by its identifier) and item instance (by the identifiers of the including item and the name of the<br />
item instance).<br />
Please note:<br />
Within the protocol, the predecessor-successor relationship is NOT established by evaluating similarities in the<br />
identifier but by specifying it explicitly in the message.<br />
96 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD DATA MODEL<br />
Please note:<br />
EDMDItem describes a defined state of an element, not the element itself. The assignment of the element states to elements<br />
in the CAD system takes place in the CAD system via the CAD-system-specific designator (see EDMDDesignator)<br />
for the EDMDItem.<br />
As a rule, the complete description of an element is not transported in a message but rather the differences between<br />
two states of an element.<br />
As example an assembly comprising two occurences of the same part is shown in Figure 27:<br />
Figure 27: Item data<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
97
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.6.2 Concept of the designator within the context of the system<br />
The designator is linked with the object as an aggregation, see Figure 28:<br />
Figure 28: Designator model<br />
To be able to identify elements in different contexts (e.g. systems), designators (➝ EDMDDesignator) are always assigned to a<br />
context in which they are valid. Designators are names (➝ EDMDName) or identifiers (➝ EDMDIdentifier) where names must<br />
be unique within a list of elements and identifiers must be unique within the complete context.<br />
Elements can have different designators which are valid in different system. This means that the CAD systems involved in the<br />
collaboration can use different designators for shared objects. The example in Figure 29 contains instances of EDMDItem and<br />
EDMDItemInstance which have different designators in two CAD systems. In this example an ‘assembly’ contains two times the<br />
same ‘part’. While the assembly is identified as in the <strong>ECAD</strong> system called the<br />
assembly is identified as in the system called . Also the instances of ‘part’ in<br />
‘assembly’ have different names, the name of the first instance is in and <br />
in . Second instance and the ‘part’ itself have also different name and identifier in the different system.<br />
Since this mechanism is very flexible it is also used to describe external references, e.g. filename, reference on library entry or<br />
identification on back end systems, e.g. pdm. In EDMDSchema there are some predefined types of EDMDSystems:<br />
• Manufacturer<br />
o The EDMDSystem describes the product range of a manufacturer.<br />
• PLM<br />
o The EDMDSystem is a product lifecycle management system<br />
(e.g. engineering data management or enterprise ressource planning)<br />
• <strong>ECAD</strong><br />
o The EDMDSystem is a computer-aided design system for electrical design.<br />
• <strong>MCAD</strong><br />
o The EDMDSystem is a computer-aided design system for mechanical design.<br />
• Proxy<br />
o The EDMDSystem is a proxy that maps its own numbers to internal numbers.<br />
• Library<br />
o The EDMDSystem is a library where components can be found.<br />
98 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD DATA MODEL<br />
• CommonStandard<br />
o The EDMDSystem is a common standard (e.g. DIN 41429)<br />
• FactoryStandard<br />
o The EDMDSystem is a factory standard<br />
As example objects with different designators from different systems are shown in Figure 29:<br />
Figure 29: Designator data<br />
Please note:<br />
Item in a collaboration session have to contain at least two identifiers, one for each collaborating system.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
99
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.6.3 Limitations on properties, user-defined properties<br />
Classes for representing limited properties and user-defined properties are shown in Figure 30:<br />
Figure 30: UserProperties model<br />
The properties of objects are represented as properties in EDMDSchema. In additional to the actual value, limitations regarding<br />
the value or the unit involved can be specified. This allows unnecessary loops within the collaboration to be avoided. The<br />
corresponding function is implemented in the class EDMDConstrainedProperty from which all property types inherit.<br />
Every EDMDConstrainedProperty can also have an originator. In the case of a property, this indicates the user who specified<br />
the value for the property. In the case of a limitation, this indicates the user who defined the limit. If during collaboration one or<br />
more limitations are violated, it is easy to determine which user to consult.<br />
In addition to the predefined properties, user-defined properties can also be added to most elements in EDMDSchema. This<br />
function is defined in the element EDMDExtensibleObject. All subtypes of this type can be extended by means of user-defined<br />
properties.<br />
XML data which corresponds to other XML schemas can also be included as user-defined properties with the help of<br />
EDMDUserAnyProperty.<br />
The example UserProperties.idx (shipped in the zip archive including the xml schema definition of EDMDSchema, available at<br />
www.prostep.org/en/downloads) illustrates the embedding of user-defined properties and the integration of other XML data as<br />
EDMDUserAnyProperty.<br />
100 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD DATA MODEL<br />
4.6.4 The geometry model, shape of an item<br />
Basic elements for describing the shape of an item are shown in Figure 31:<br />
Figure 31: Shape model<br />
The geometric model provides two mechanisms for representing the shape of an item:<br />
• Storing the geometry information in external files<br />
• Representing the geometry information in the integrated geometry model<br />
The shape of an item is described by an ItemShape, which comprises a number of different parts.<br />
The element ‘inverted’ for ShapeElement indicates whether the element is added to the shape of the item (OR operator), in which<br />
case inverted is ‘false’ or empty, or whether the element is taken away from the other objects (NAND operator), in which case<br />
inverted is ‘true’. The shape is put together in the order in which the elements occur in the XML document.<br />
Instances of the abstract class EDMDShapeDescription are used to represent the geometric information. There are two concrete<br />
types, which inherit from EDMDShapeDescription. If the shape of the ShapeElement is stored in external files, this is done using<br />
an EDMDExternalGeometricModel which is linked with an EDMDExternalSource which describes the mechanism for downloading<br />
the external files. The class EDMDCurveSet2d is used to represent the shape in EDMDSchema. As the name indicates, the<br />
description of the lines, points and curves within such a set is two-dimensional. EDMDCurveSet2d nevertheless describes<br />
a three-dimensional shape since an upper and lower limit for the described partial shape can be specified based on the basic<br />
level (on which the 2D elements are located).<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
101
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Please note:<br />
An EDMDCurve can – either on its own or together with other EDMDCurves – describe a closed curve and thus a<br />
surface. Or using an (optional) thickness, it can itself describe a surface.<br />
Elements for the internal description of the shape are shown in Figure 32:<br />
102 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Figure 32: CurveSet2d<br />
103<br />
104
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.6.5 Roles<br />
A distinction is made between different types of roles:<br />
• Role which a user assumes with regard to a collaboration object (RoleOnItem, Owner or Listener)<br />
• Role executing a change (Actor)<br />
• Role as the originator of an element (Originator)<br />
The distinction between the roles owner, listener and actor are shown in Figure 33:<br />
Figure 33: Roles<br />
Owner<br />
Specification of an owner is informal. The user is the person who is responsible for an item in a higher-level process.<br />
Listener<br />
Specification of a listener is informal. The listener is the person who, because of their responsibilities in a higher-level process,<br />
wants to be notified about any change made to an item. With regard to notification, an owner must be treated like a listener<br />
and must also receive a message about changes made to an item.<br />
The roles owner and listener for an item are passed on to subordinate items and elements. The specification of the owner of an<br />
item or element overwrites the owner specified by the higher-level item. This owner is then downgraded to listener.<br />
Actor<br />
The actor is the person who sent a message (e.g. with a change) in the protocol.<br />
Originator<br />
Properties and property limits can have an optional originator. The originator is the person who specified the value or the limit<br />
for the value. Within the collaboration, this information can be used to contact the appropriate user. Systems can evaluate this<br />
information and send automatic notifications if these limitations are violated.<br />
105 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD DATA MODEL<br />
4.6.6 General information<br />
In xml schema the type definitions are organized in packages called namespace. This mechanism can be used to allow the<br />
usage of object types from different namespaces in a single XML document. EDMDSchema defines the following namespaces:<br />
• http://www.prostep.org/edmd/1.0/administration<br />
• http://www.prostep.org/edmd/1.0/annotation<br />
• http://www.prostep.org/edmd/1.0/computational<br />
• http://www.prostep.org/edmd/1.0/external<br />
• http://www.prostep.org/edmd/1.0/foundation<br />
• http://www.prostep.org/edmd/1.0/geometry.d2<br />
• http://www.prostep.org/edmd/1.0/grouping<br />
• http://www.prostep.org/edmd/1.0/material<br />
• http://www.prostep.org/edmd/1.0/pdm<br />
• http://www.prostep.org/edmd/1.0/property<br />
• http://www.prostep.org/edmd/1.0/text<br />
The WSDL is described in the namespace:<br />
• http://www.prostep.org/edmd/0.1/ws<br />
The EDMDSchema explicitly allows the use of other namespaces in documents. The UserProperties.idx example (shipped in the<br />
zip archive including the xml schema definition of EDMDSchema, available at www.prostep.org/en/downloads) shows the<br />
use of additional namespaces in an XML document according to EDMDSchema. The documents must be well formed and it<br />
must be possible to validate them, i.e. for validation purposes not only the EDMDSchema documents but also XML schemas must<br />
be available for the other namespaces used. EDMDSchema uses the IDREF mechanism for references within documents. The<br />
standard suffix for documents according to EDMDSchema is .idx, an acronym for Interdomain Design Exchange.<br />
EDMDSchema is supplied as set of XSD documents in a zip archive, which is part of this Recommendation. This archive contains<br />
the xml schemas of the informational model, each with simple annotation as text or with annotations as embedded XHTML:<br />
• [html|plain]/administration.xsd<br />
• [html|plain]/annotation.xsd<br />
• [html|plain]/external.xsd<br />
• [html|plain]/foundation.xsd<br />
• [html|plain]/geometry.d2.xsd<br />
• [html|plain]/grouping.xsd<br />
• [html|plain]/material.xsd<br />
• [html|plain]/pdm.xsd<br />
• [html|plain]/property.xsd<br />
• [html|plain]/text.xsd<br />
The wsdl and schema of the computational model:<br />
• EDMDService.wsdl<br />
• [html|plain]/computational.xsd<br />
Sample data<br />
• sample/pattern.xml<br />
• sample/pattern.idx<br />
• sample/UserProperties.idx<br />
• sample/Systems.idx<br />
• sample/vcard.xsd<br />
• sample/xlink.xsd<br />
The documentation of EDMDSchema is part of the recommendation but shipped as a separate html document. The<br />
documentation is structured in packages. Each package covers on namespace. The following sub chapters describe the main<br />
purpose of each package.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
106
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.6.7 Package EDMDSchema.foundation<br />
This package (cp. Figure 34) describes the contents of the namespace:<br />
http://www.prostep.org/edmd/1.0/foundation<br />
It contains object types and relation types that serve as basic elements of the data schema. All types within the EDMDSchema<br />
inherit from these types. For more details about the types of this package please refer the document Implementation driven<br />
data model (EDMDSchema), which is part of this Recommendation but released as a html document.<br />
107 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Figure 34: Overview of foundation Package<br />
108<br />
109
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.6.8 Package EDMDSchema.property<br />
This package (cp. Figure 35) describes the contents of the namespace:<br />
http://www.prostep.org/edmd/1.0/property<br />
It contains object types and relation types for describing properties and user-defined properties. Types which describe<br />
properties in the EDMDSchema inherit from types which are described in this package. For more details about the types of this<br />
package please refer the document Implementation driven data model (EDMDSchema), which is part of this Recommendation<br />
but released as a html document.<br />
110 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Figure 35: Over view of property Package<br />
111<br />
112
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.6.9 Package EDMDSchema.administration<br />
This package (cp. Figure 36) describes the contents of the namespace:<br />
http://www.prostep.org/edmd/1.0/administration<br />
It contains object types and relation types for describing administrative relationships and persons. For more details about the<br />
types of this package please refer the document Implementation driven data model (EDMDSchema), which is part of this<br />
recommendation but released as a html document.<br />
Figure 36: Overview of administration Package<br />
4.6.10 Package EDMDSchema.pdm<br />
This package (cp. Figure 37) describes the contents of the namespace:<br />
http://www.prostep.org/edmd/1.0/pdm<br />
It contains object types and relation types for describing the structure of items. For more details about the types of this package<br />
please refer the document Implementation driven data model (EDMDSchema), which is part of this Recommendation<br />
but released as a html document.<br />
113 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
4 EDMD DATA MODEL<br />
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Figure 37: Overview of pdm Package<br />
114<br />
115
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.6.11 Package EDMDSchema.material<br />
This package (cp. Figure 38) describes the contents of the namespace:<br />
http://www.prostep.org/edmd/1.0/material<br />
It contains object types and relation types for describing materials. Future extensions are planned. For more details about the<br />
types of this package please refer the document Implementation driven data model (EDMDSchema), which is part of this<br />
Recommendation but released as a html document.<br />
Figure 38: Overview of material Package<br />
4.6.12 Package EDMDSchema.d2<br />
This package describes the contents of the namespace:<br />
http://www.prostep.org/edmd/1.0/geometry.d2<br />
It contains object types and relation types for describing geometric information. For more details about the types of this package<br />
please refer the document Implementation driven data model (EDMDSchema), which is part of this Recommendation but<br />
released as a html document.<br />
4.6.13 Package EDMDSchema.external<br />
This package (cp. Figure 39) describes the contents of the namespace:<br />
http://www.prostep.org/edmd/1.0/external<br />
It contains object types and relation types for describing external documents and external data sources. For more details about<br />
the types of this package please refer the document Implementation driven data model (EDMDSchema), which is part of this<br />
Recommendation but released as a html document.<br />
Figure 39: Overview of external Package<br />
116 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD DATA MODEL<br />
4.6.14 Package EDMDSchema.grouping<br />
This package (cp. Figure 40) describes the contents of the namespace:<br />
http://www.prostep.org/edmd/1.0/grouping<br />
It contains object types and relation types for describing groupings. Types which describe groups inherit from the types defined<br />
in this package. For more details about the types of this package please refer the document Implementation driven data model<br />
(EDMDSchema), which is part of this Recommendation but released as a html document.<br />
Figure 40: Overview of grouping Package<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
117
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.6.15 Package EDMDSchema.annotation<br />
This package (cp. Figure 41) describes the contents of the namespace:<br />
http://www.prostep.org/edmd/1.0/annotation<br />
It contains object types and relation types for describing annotations which the user can add to collaboration objects. For more<br />
details about the types of this package please refer the document Implementation driven data model (EDMDSchema), which<br />
is part of this Recommendation but released as a html document.<br />
Figure 41: Overview of annotation Package<br />
118 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4 EDMD DATA MODEL<br />
4.6.16 Package EDMDSchema.text<br />
This package (cp. Figure 42) describes the contents of the namespace:<br />
http://www.prostep.org/edmd/1.0/text<br />
It contains object types and relation types for describing simple texts that can be placed in Items. For more details about the<br />
types of this package please refer the document Implementation driven data model (EDMDSchema), which is part of this<br />
Recommendation but released as a html document.<br />
Figure 42: Overview of text Package<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
119
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
4.6.17 Package EDMDSchema.computational<br />
This package (cp. Figure 43) describes the contents of the namespace:<br />
http://www.prostep.org/edmd/1.0/computational<br />
It contains object types and relation types which are sent as parameters with EDMDMessages. For more details about the types of<br />
this package please refer the document Implementation driven data model (EDMDSchema), which is part of this Recommendation<br />
but released as a html document.<br />
120 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
4 EDMD DATA MODEL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Figure 43: Over view of computational Package<br />
121<br />
122
5 EDMD PROTOCOL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
5 EDMD protocol<br />
The EDMD protocol is based on the implementation-driven data model (section 4.5.1) and serves to transfer change information<br />
between the systems involved.<br />
5.1 General information<br />
The messages in the EDMD protocol are defined in a general manner and can be exchanged between the systems involved<br />
using any technology (P2P approach). This means that the use cases involving synchronous and asynchronous collaboration can<br />
be represented in a 1:1 configuration or a 1:m configuration (cp. Figure 44). The subject of this Recommendation is the 1:1<br />
configuration.<br />
Figure 44: Types of communication<br />
The representation of message exchange via Web services is part of this Recommendation. The protocol interfaces are described<br />
in WSDL. WSDL is part of this Recommendation and can be found in the zip archive including the xml schema definition of<br />
EDMDSchema. Alternatively, EDMD data can also be stored as XML documents, in which case the root element is always an<br />
EDMDDataSet. This can also include ProcessInstructions. The computational Package (➝ computational Package) contains<br />
definitions of ProcessInstruction subtypes which correspond to the messages. In this case, the message also refers to the<br />
EDMDDateSet itself. If several such ProcessInstructions exist, these are processed one after the other.<br />
In addition to describing the messages (➝ Messages), the protocol also specifies when the systems involved exchange which<br />
messages (➝ Protocol).<br />
The description of a CAD data set with the help of the implementation-driven data model can take place statically, i.e. a data set conforming<br />
to this schema can represent a complete version of design. During transferring changes, only the changed parts are transferred.<br />
If a message includes references to items which have not been included in messages it self, these items are represented in the<br />
message as item stub. These items only include at the very least an identifier and can be referenced within the document using IDREF.<br />
In the following, the item stub is taken to mean items which contain only identifiers that can be used to identify the item in the context<br />
of different systems. The section on processing rules describes how the information from these data sets has to be merged again.<br />
123 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
5 EDMD PROTOCOL<br />
5.2 Messages<br />
5.2.1 General information<br />
The messages are defined in such a way that they are easy to transfer to other technologies. In WSDL, they are defined as<br />
operations. They can however also be understood as function calls involving a shared library, as a call involving remote<br />
procedures, or as messages in a message queue. Therefore no mechanisms for receiver addressing have been defined in the<br />
schema since these would have to be made available by the underlying communication layer, e.g. by calling a remote<br />
procedure on precisely this remote system or by sending the message to this receiver in the message queue. It is also possible<br />
to embed the messages as ProcessInstructions in XML documents with an EDMDDataSet as the root element. The corresponding<br />
types are defined in the computational Package.<br />
This Recommendation also defines a return value, which is returned as the result of a processing operation (? ServiceResult). If<br />
call interfaces are used, this value must be returned immediately. If queuing mechanisms are used, the underlying communication<br />
layer should allow a correlation between messages and results to be established. If queuing is used according to the “fire<br />
and forget” principle, this correlation must be ensured by the definition of additional solution-specific messages.<br />
5.2.2 SendInformation message<br />
In Figure 45 the message "SendInformation" is shown:<br />
Figure 45: SendInformation message<br />
This message is used to send information about the state of an item and the corresponding geometry. Therefore the message<br />
contains only one EDMDDateSet, which in turn contains information on the states of the items.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
124
5 EDMD PROTOCOL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
5.2.3 SendChanges message<br />
In Figure 46 the message "SendChanges" is shown:<br />
Figure 46: SendChanges message<br />
This message is used to send changes made to parts. Only the item elements to which changes have been made are sent. Every<br />
changed item has a predecessor whose elements are transferred to the new item. The elements included in the message then<br />
overwrite the elements taken over from the predecessor. A more detailed description of how this is done is provided in the<br />
section on the processing rules (➝ Processing rules). Since the underlying transport mechanism does not necessarily allow a<br />
correlation to the sender to be established, the message also includes an IDREF indicating the originator of the message (actor).<br />
The originator must be formulated as an EDMDPerson in the EDMDDataSet included in the message.<br />
5.2.4 RequestForInformation message<br />
In Figure 47 the message "RequestForInformation " is shown:<br />
Figure 47: RequestInformation message<br />
This message can be used to request information on the states of items. Since the underlying transport mechanism does not<br />
necessarily allow a correlation to the sender to be established, the message also includes an IDREF indicating the originator of<br />
the message (actor). The actor must be formulated as an EDMDPerson in the EDMDDataSet included in the message.<br />
125 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
5 EDMD PROTOCOL<br />
5.2.5 ServiceResult class<br />
In Figure 48 the class " 5.2.5 ServiceResult " is shown:<br />
Figure 48: ServiceResult class<br />
The ServiceResult class describes errors that can occur during the processing of messages.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
126
5 EDMD PROTOCOL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
5.3 Protocol<br />
The protocol specifies when, during the collaboration, which messages must be sent.<br />
Please note:<br />
In the case of Web service binding, every message sent is a client call. The reply expected by the protocol is not returned<br />
in the response. Only the EDMDResult including informations about processing state of call are included in the response.<br />
5.3.1 General information<br />
All the systems involved manage assignments between the item identifiers used in their own systems and the identifiers used in<br />
other systems in an identifier repository. Since items can be identified only by an identifier (EDMDItemIdentifier) and the reference<br />
mechanism in EDMDSchema is IDREF, there is always an instance of EDMDItem including EDMDIdentifiers needed, which<br />
can be referenced by IDRef in an xml document. EDMDItems including only identifiers to facilititate references are hereinafter<br />
called item stub. Once a message containing new items is received, the receiver sends a mandatory message of the type<br />
SendInformation, which contains an item stub with at least two identifiers for all new items: the identifier of the original sender<br />
and the identifier of the receiver. This allows the sender to maintain his assignment table.<br />
An overview of the messages sent when transferring changes is shown in Figure 49:<br />
Figure 49: SendChanges<br />
Once the changes have been sent with message SendChange (see Figure above), the mandatory message containing the new<br />
identifiers is sent. Optionally, additional information can be requested with a message of the type RequestForInformation. The<br />
changes in the message may refer to items with which the receiver is not yet familiar. In this case, the message only contains the<br />
item stub. The receiver can request the other information using RequestForInformation.<br />
127 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
5 EDMD PROTOCOL<br />
An overview of the messages sent when requesting information is shown in Figure 50:<br />
Figure 50: RequestForInformation<br />
A message of the type RequestForInformation can be used to request information about items; the items in the RequestForInformation<br />
message are only item stub. The response to such a request is always one or more messages of the type SendInformation. The<br />
items in these messages should contain all known identifiers. If new items are transferred, the mandatory adjustment of the<br />
identifiers is performed by means of a message of the type SendChange.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
128
5 EDMD PROTOCOL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
5.4 Processing rules<br />
5.4.1 General information<br />
The processing rules describe how the internal representations of the elements, which are represented by an item, have to be<br />
changed when a message is received. The processing of a message must be executed as a transaction. If errors occur during<br />
the processing, all the changes transported in the message are discarded.<br />
The processing is performed individually for each item. The following elements belonging to an item are processed in blocks:<br />
• Identifier (list)<br />
• ItemType<br />
• PackageName (list)<br />
• ItemInstance (list)<br />
• Shape<br />
• ShapeTransformation<br />
• Accept (list)<br />
• Roles on item or included instance (list)<br />
Elements resp. their internal representations can have the following states:<br />
• set<br />
• not set<br />
Where set means the element was already set at the internal representation of item and unset means the element was never set<br />
at the internal representation of item. In the case of lists, this state always applies to the whole list.<br />
5.4.2 SendInformation<br />
When processing a message of the type SendInformation, the items in the message are processed one after the other (cp. Figure<br />
51, Figure 52):<br />
1) Checking identifiers (list).<br />
a. If the item does not contain any identifiers, the message is errored and the processing transaction is aborted.<br />
b. If the item does not contain any known identifiers, the item is new. A representation according to the other information in<br />
the item is created. Processing is then concluded.<br />
c. If the item contains known identifiers, the representation of a known item must be adjusted. Processing continues with Step 2.<br />
2) Adjustment of identifier repository<br />
a. If the identifiers contained in the item do not agree with the identifier repository, the message is errored and the processing<br />
transaction is aborted.<br />
b. If the identifiers contained in the item do not disagree with the identifier repository, new identifiers are stored in the repository,<br />
and processing continues with Step 3.<br />
3) Adjustment of ItemType<br />
a. If the ItemType is not set in the existing representation of the item but is set in the message, the ItemType from the message<br />
is set in the representation. Processing continues with Step 4.<br />
b. If the ItemType is set in the existing representation of the item but is not set in the message, processing continues with Step 4.<br />
c. If the ItemType is set in the existing representation of the item and the same ItemType is set in the message, processing<br />
continues with Step 4.<br />
d. If the ItemType is set in the existing representation of the item but a different ItemType is set in the message, the message<br />
is errored and the processing transaction is aborted.<br />
129 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
5 EDMD PROTOCOL<br />
4) Adjustment of PackageName, for every PackageName in the list; processing continues with Step 5 once all the PackageNames<br />
have been processed without error.<br />
a. If the PackageName is not set in this system context in the existing representation of the item but is set for this system context<br />
in the message, the PackageName from the message for this system context is set in the representation. Processing<br />
continues with the next PackageName.<br />
b. If the PackageName is set in this system context in the existing representation of the item but is not set for this system<br />
context in the message, processing continues with the next PackageName.<br />
c. If the PackageName is set in this system context in the existing representation of the item and the same PackageName is<br />
set in the message for this system context, processing continues with the next PackageName.<br />
d. If the PackageName is set in this system context in the existing representation of the item and a different PackageName<br />
is set in the message for this system context, the message is errored and the processing transaction is aborted.<br />
5) Adjustment ItemInstance (list)<br />
a. If the list of ItemInstances is not set in the existing representation of the item but is set in the message, the list of ItemInstances<br />
from the message is set in the representation. Processing continues with Step 6.<br />
b. If the list of ItemInstances is set in the existing representation of the item but is not set in the message, processing continues<br />
with Step 6.<br />
c. If the list of ItemInstances is set in the existing representation of the item and the same list of ItemInstances is set in the message,<br />
processing continues with Step 6.<br />
d. If the list of ItemInstances is set in the existing representation of the item but a different list of ItemInstances is set in the message,<br />
the message is errored and the processing transaction is aborted.<br />
6) Adjustment Shape<br />
a. If the Shape is not set in the existing representation of the item but is set in the message, the Shape from the message is<br />
set in the representation. Processing continues with Step 7.<br />
b. If the Shape is set in the existing representation of the item but is not set in the message, processing continues with Step 7.<br />
c. If the Shape is set in the existing representation of the item and the same Shape is set in the message, processing<br />
continues with Step 7.<br />
d. If the Shape is set in the existing representation of the item but a different Shape is set in the message, the message is<br />
errored and the processing transaction is aborted.<br />
7) Adjustment of Accept-Status, for every entry in the list; once all the entries in the list have been processed without error, the<br />
processing of the message has been completed successfully.<br />
a. If the originator has not set the Accept-Status in the existing representation of the item but has set it in the message, the<br />
Accept-Status from the message is set for this originator in the representation. Processing continues with the next entry.<br />
b. If the originator has set the Accept-Status in the existing representation of the item but has not set it in the message,<br />
processing continues with the next entry.<br />
c. If the originator has set the Accept-Status in the existing representation of the item and has set the same Accept-Status in<br />
the message, processing continues with the next entry.<br />
d. If the originator has set the Accept-Status in the existing representation of the item and has set a different Accept-Status in<br />
the message, the message is errored and the processing transaction is aborted.<br />
8) Adjustment of the roles in EDMDItems und EDMDItemInstances<br />
Please note:<br />
EDMDItem describes the state of an element. This means that properties that have not yet been communicated can be<br />
added to an EDMDItem. It is not possible to make changes to properties which have already been communicated<br />
since this is always involves a new state of the underlying element. The roles and acceptance statuses constitute the<br />
only logical exceptions since they do not describe the state of an element itself but rather the relationship of individual<br />
actors to this state of the element.<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
130
5 EDMD PROTOCOL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Figure 51: Processing SendInformation (1 of 2)<br />
131 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
5 EDMD PROTOCOL<br />
Figure 52: Processing SendInformation (2 of 2)<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
132
5 EDMD PROTOCOL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
5.4.3 SendChanges<br />
The SendChanges message contains a number of changes which can be grouped into transactions. These transactions should<br />
not be confused with the transactions used to process the messages. The transactions in SendChanges messages are informal<br />
groups of changes which indicate to the user that his collaboration partner views these changes as a unit. This avoids unnecessary<br />
inquiries.<br />
When changes are processed, the following elements involved in the change are processed:<br />
• NewItem is the identifier of the new item; the message contains the changes involved in the new item compared with the<br />
predecessor.<br />
• PredecessorItem is the identifier of the predecessor item.<br />
• DeletedInstanceName is the list of the names of the ItemInstances which the new item no longer includes.<br />
The changes are processed one after the other (cp. Figure 53, Figure 54, Figure 55).<br />
1) Checking identifiers of NewItem (list).<br />
a. If the identifier of NewItem already exists, the message is errored and the processing transaction is aborted.<br />
b. The identifier is not known, a representation of NewItem is created.<br />
2) Checking identifiers of PredecessorItem (list)<br />
a) If the identifier for PredecessorItem is not known, the item involved is a new item for which processing must first be<br />
requested, therefore this step is followed by Step 3.<br />
b) If the identifier for PredecessorItem is known, the item involved is an item which has already been adjusted and whose<br />
representation can be used.<br />
3) Request representation of PredecessorItem<br />
4) Adjustment of ItemType<br />
a. If the ItemType is not set in the existing representation of the PredecessorItem but is set in the message, the ItemType from<br />
the message is set in the representation of NewItem. Processing continues with Step 5.<br />
b. If the ItemType is set in the existing representation of the PredecessorItem but is not set in the message, the ItemType from<br />
the PredecessorItem is set in the representation of NewItem. Processing continues with Step 5.<br />
c. If the ItemType is set in the existing representation of the PredecessorItem and in the message, the ItemType from the<br />
message is set in the representation of NewItem. Processing continues with Step 5.<br />
5) Adjustment of PackageName, for every PackageName in the list; processing continues with Step 5 once all the PackageNames<br />
have been processed without error.<br />
a. If the PackageName is not set in this system context in the existing representation of the PredecessorItem but is set for this<br />
system context in the message, the PackageName from the message for this system context is set in the representation of<br />
NewItem. Processing continues with the next PackageName.<br />
b. If the PackageName is set in this system context in the existing representation of the PredecessorItem but is not set in the<br />
message for this system context, the PackageName from the PredecessorItem for this system context is set in the representation<br />
of NewItem. Processing continues with the next PackageName.<br />
c. If the PackageName is set in this system context in the existing representation of the PredecessorItem and in the message<br />
for this system context, the PackageName from the message for this system context is set in the representation of NewItem.<br />
6) Checking ItemInstance names:<br />
a) The ItemInstance names are unique for every context. Processing continues with Step 7.<br />
b) The ItemInstance names are not unique for every context. Processing of the transaction is aborted with an error.<br />
7) Create ItemInstance list for NewItem: The following is checked for each entry in the ItemInstance list in the representation of<br />
PredecessorItem using the InstanceName:<br />
a) Whether the list in the message contains an ItemInstance with the same name. If this is the case, this ItemInstance is<br />
copied from the message to the representation of NewItem.<br />
b) Or whether the name of the ItemInstance is included in the list of DeletedInstanceNames. In this case, this ItemInstance<br />
with the change is deleted, i.e. not copied to NewItem.<br />
c) If neither a) nor b) apply, the ItemInstance is copied from the representation of PredecessorItem to the representation of<br />
NewItem.<br />
133 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
5 EDMD PROTOCOL<br />
8) Adjustment Shape<br />
a. If the Shape is not set in the existing representation of the PredecessorItem but is set in the message, the Shape from the<br />
message is set in the representation of NewItem. Processing continues with Step 9.<br />
b. If the Shape is set in the existing representation of the PredecessorItem but is not set in the message, the Shape from the<br />
representation of PredecessorItem is copied to the representation of NewItem. Processing continues with Step 9.<br />
c. If the Shape is set in the existing representation of PredecessorItem and in the message, the Shape from the message is<br />
set in the representation of NewItem. Processing continues with Step 9.<br />
9) Adjustment of Accept-Status, only the Accept-Statuses from the message are used for the representation of NewItem:<br />
a. If the message contains Accept-Status for NewItem, these are copied to the representation of NewItem. Once this has<br />
been done, the processing of the change has been brought to a successful conclusion and the next change can be<br />
processed.<br />
b. If the message does not contain an Accept-Status for NewItem, the processing of the change has been brought to a<br />
successful conclusion and the next change can be processed<br />
10) Adjustment of roles for EDMDItem and EDMDItemInstance<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
134
5 EDMD PROTOCOL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Figure 53: Processing SendChanges (1 of 3)<br />
135 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
5 EDMD PROTOCOL<br />
Figure 54: Processing SendChanges (2 of 3)<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
136
5 EDMD PROTOCOL <strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
Figure 55: Processing SendChanges (3 of 3)<br />
137 PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008
<strong>ProSTEP</strong> <strong>iViP</strong> Recommendation<br />
6 ANNEX A · ANNEX B<br />
Annex A: Packages EDMDSchema<br />
The Implementation driven data model with documentation of EDMDSchema, including also UML is provided in html in the<br />
separated zip-archive (PSI_PSI5_EDMD-Schema_1.0_HTML.zip, available at www.prostep.org/en/downloads). The page<br />
index.html is the entry point.<br />
Annex B: EDMDSchema<br />
EDMDSchema is supplied in the separated zip-archive (PSI_PSI5_EDMD-Schema_1.0.zip, available at www.prostep.org/en/<br />
downloads). This archive contains the xsd-schemas of the informational model, each with simple annotation as text or with<br />
annotations as embedded XHTML:<br />
• [html|plain]/administration.xsd<br />
• [html|plain]/annotation.xsd<br />
• [html|plain]/external.xsd<br />
• [html|plain]/foundation.xsd<br />
• [html|plain]/geometry.d2.xsd<br />
• [html|plain]/grouping.xsd<br />
• [html|plain]/material.xsd<br />
• [html|plain]/pdm.xsd<br />
• [html|plain]/property.xsd<br />
• [html|plain]/text.xsd<br />
The wsdl and schema of the computational model:<br />
• EDMDService.wsdl<br />
• [html|plain]/computational.xsd<br />
Sample data<br />
• sample/pattern.xml<br />
• sample/pattern.idx<br />
• sample/UserProperties.idx<br />
• sample/Systems.idx<br />
• sample/vcard.xsd<br />
• sample/xlink.xsd<br />
PSI 5 (<strong>ECAD</strong>/<strong>MCAD</strong>) / V 1.0 / April 2008<br />
138
<strong>ProSTEP</strong> <strong>iViP</strong> Association<br />
Dolivostraße 11<br />
64293 Darmstadt<br />
Germany<br />
Tel. +49-6151-9287-336<br />
Fax +49-6151-9287-326<br />
psev@prostep.com<br />
www.prostep.org<br />
ISBN 978-3-9811864-7-5<br />
Version 1.0, April 2008