104
ENOVIA Collaborative Design Administrator’s Guide 1 ENOVIA Collaborative Design for Mentor Graphics Expedition Enterprise V6R2013x Administrator's Guide

ENOVIA Collaborative Design for Mentor Graphics Expedition

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 1

ENOVIA Collaborative Design for Mentor Graphics Expedition Enterprise V6R2013x

Administrator's Guide

Page 2: ENOVIA Collaborative Design for Mentor Graphics Expedition

2 ENOVIA Collaborative Design – Administrator’s Guide

Copyrights and Trademarks © Dassault Systèmes, 1994 – 2012.

All rights reserved.

PROPRIETARY RIGHTS NOTICE: This documentation is proprietary property of Dassault Systèmes. This

documentation shall be treated as confidential information and may only be used by employees or contractors

with the Customer in accordance with the applicable Software License Agreement.

Adaplet, Compliance Connect, DesignSync, ENOVIA, ProjectSync, Synchronicity, Team Central,

ENOVIA Collaboration Platform, ENOVIA Business Process Services, ENOVIA Platform Server,

ENOVIA Modeling Studio, ENOVIA 3D Live, FCS, AEF, Application Exchange Framework, Application

Development Kit, ENOVIA V6X-BOM Engineering, ENOVIA Library Central, ENOVIA Materials

Compliance Central, ENOVIA Variant Configuration, ENOVIA Program Central, ENOVIA Sourcing

Central, ENOVIA Specification Central, ENOVIA Supplier Central, ENOVIA Collaborative Interference

Management, ENOVIA Semiconductor Accelerator for Team Compliance, ENOVIA Aerospace and Defense

Accelerator for Program Management, ENOVIA Apparel Accelerator for Design and Development,

ENOVIA Automotive Accelerator for Program Management, ENOVIA Medical Device Accelerator for

Regulatory Compliance, ENOVIA X-BOM Cost Analytics, ENOVIA X-BOM Manufacturing,

ENOVIA Synchronicity DesignSync DFII, ENOVIA Synchronicity DesignSync MW,

ENOVIA Synchronicity DesignSync CTS, ENOVIA IP Gear, IconMail, ImageIcon and Star Browser are

either trademarks or registered trademarks of Dassault Systèmes or its subsidiaries in the US and/or other

countries.

Oracle® is a registered trademark of Oracle Corporation, Redwood City, California. DB2, AIX, and WebSphere

are registered trademarks of IBM Corporation. WebLogic is a registered trademark of BEA Systems, Inc.

Solaris, UltraSPARC, Java, JavaServer Pages, JDBC, and J2EE are registered trademarks of Sun Microsystems,

Inc. Windows XP and Internet Explorer are registered trademarks of Microsoft Corp. HP and HP-UX are

registered trademarks of HP. All other product names and services identified throughout this book are

recognized as trademarks, registered trademarks, or service marks of their respective companies.

The documentation that accompanies ENOVIA Synchronicity DesignSync products describes the applications as

delivered by Dassault Systèmes. This documentation includes readme files, online help, user guides, and

administrator guides. If changes are made to an application or to the underlying framework, Dassault Systèmes

cannot ensure the accuracy of this documentation.

NOTE: This manual was generated directly from the online help with minimal reformatting. The PDF version is

optimized for printing and does not contain active cross-reference links or animated use cases. Because the

intent of the help is to be an online guide, there may be shortcomings in its organization and general usability as

a printed document. The PDF version was created before limited changes were made to WebHelp. For the most

current information, see the product’s online help.

Dassault Systèmes ENOVIA

175 Wyman Street,

Waltham, MA 02451

Telephone 781.810.3500

Email: [email protected]

http://www.3ds.com

Page 3: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 3

Table of Contents

TABLE OF CONTENTS ........................................................................................................................................ 3

LIST OF FIGURES ............................................................................................................................................... 6

KNOWN LIMITATION ........................................................................................................................................ 8

MIGRATION IN COMPONENT DATA MANAGEMENT ........................................................................................................ 8

SERVER INTEGRATION INSTALLATION .............................................................................................................. 9

EXECUTE SETUP ....................................................................................................................................................... 9 Windows Platforms ......................................................................................................................................... 9 UNIX Platforms ................................................................................................................................................ 9 ENOVIA Products ............................................................................................................................................. 9 Java Environment ............................................................................................................................................ 9

INSTALLATION STEPS ............................................................................................................................................... 10 Installation Error “Java Virtual Machine not found” ..................................................................................... 10 Web based installation .................................................................................................................................. 11 Console mode installation ............................................................................................................................. 16 Assign ECAD Integration in Web Frontend .................................................................................................... 16

CLIENT INTEGRATION INSTALLATION ............................................................................................................. 18

SYSTEM REQUIREMENTS .......................................................................................................................................... 18 Operating System .......................................................................................................................................... 18 Mentor Environment ..................................................................................................................................... 18 Java Environment .......................................................................................................................................... 18 ENOVIA Products ........................................................................................................................................... 18

EXECUTE SETUP ..................................................................................................................................................... 19 Windows Platforms ..................................................................................................................................................... 19

INSTALLATION STEPS ............................................................................................................................................... 20 Installation Error “Java Virtual Machine not found” ..................................................................................... 20 Web based installation .................................................................................................................................. 21

CLIENT SETTINGS ............................................................................................................................................ 26

DERIVED OUTPUT PARAMETER FILE ........................................................................................................................... 27 KEEP SESSION ALIVE ............................................................................................................................................... 29 SAVE USER SETTINGS TO ENOVIA ............................................................................................................................ 30 CHECKIN REVISION BEHAVIOR .................................................................................................................................. 31

FINALIZE / UNDO-FINALIZE ............................................................................................................................. 32

FINALIZE ............................................................................................................................................................... 32 UNDO-FINALIZE ..................................................................................................................................................... 32

BOM DATA MANAGEMENT ............................................................................................................................ 33

UI ELEMENTS ........................................................................................................................................................ 33 Component Search Dialog ............................................................................................................................. 33

Type Search Dialog ...................................................................................................................................................... 33 Policy Search Dialog .................................................................................................................................................... 34

Page 4: ENOVIA Collaborative Design for Mentor Graphics Expedition

4 ENOVIA Collaborative Design – Administrator’s Guide

State Search Dialog ..................................................................................................................................................... 35 Operator search .......................................................................................................................................................... 36

Webform Element Definition......................................................................................................................... 39 typechooser ................................................................................................................................................................ 39 policychooser .............................................................................................................................................................. 39 statechooser ............................................................................................................................................................... 39 vaultchooser ............................................................................................................................................................... 39 revision ........................................................................................................................................................................ 39 latestrevision ............................................................................................................................................................... 39 textfield ....................................................................................................................................................................... 39 checkbox ..................................................................................................................................................................... 40

Displayable Columns ..................................................................................................................................... 41 UI Element cache refresh .............................................................................................................................. 41

BOM CREATION .................................................................................................................................................... 42 Predefined BOM Creation Webforms ............................................................................................................ 42

MATERIAL EXISTENCE CHECK .................................................................................................................................... 43 Predefined Existence Check Webforms ......................................................................................................... 43

ECAD INTEGRATION USAGE PROPERTY DEFINITION ....................................................................................................... 44 Predefined USAGE definition ......................................................................................................................... 44

Tables .......................................................................................................................................................................... 44 Webforms ................................................................................................................................................................... 44

GLOBAL DEFINITIONS .............................................................................................................................................. 45 BOM CONFIGURATION OBJECT IN ENOVIA ............................................................................................................... 46

General Settings ............................................................................................................................................ 47 BOM Settings .............................................................................................................................................................. 47 Missing Part Strategy .................................................................................................................................................. 48

BOM Editor .................................................................................................................................................... 49 BOM Table Settings ..................................................................................................................................................... 49

CAD Model .................................................................................................................................................... 49 CAD Model Webform Settings .................................................................................................................................... 49

Assembly Settings.......................................................................................................................................... 49 Assembly Form Settings .............................................................................................................................................. 49

Bareboard Settings ........................................................................................................................................ 50 Bareboard Form Settings ............................................................................................................................................ 50 Part Settings ................................................................................................................................................................ 50 Part Filter Settings ....................................................................................................................................................... 50 Part Form settings ....................................................................................................................................................... 51

Search Settings .............................................................................................................................................. 51 Syntax of the attributes in ENOVIA ............................................................................................................... 52

BOM CONFIGURATION EDITOR IN CSE ...................................................................................................................... 53

COMPONENT DATA MANAGEMENT ............................................................................................................... 55

DATA MIGRATION .................................................................................................................................................. 55 DATA MAPPING LAYER ............................................................................................................................................ 55

CDM Setup Wizard Settings Files .................................................................................................................. 55 General Structure of the XML Configuration ................................................................................................. 57 Regular Expressions....................................................................................................................................... 58

PROCESSING INSTRUCTIONS ..................................................................................................................................... 59 pemappings ................................................................................................................................................... 59 import ............................................................................................................................................................ 59 namespace .................................................................................................................................................... 60 define ............................................................................................................................................................ 60 useref ............................................................................................................................................................ 61 alternatives ................................................................................................................................................... 62 break ............................................................................................................................................................. 62 ignore ............................................................................................................................................................ 63 commit .......................................................................................................................................................... 63

TEST INSTRUCTIONS ................................................................................................................................................ 64 test ................................................................................................................................................................ 64 Alias Instructions ........................................................................................................................................... 66

Page 5: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 5

attribute ...................................................................................................................................................................... 66 specialAttribute ........................................................................................................................................................... 66 attributeExists ............................................................................................................................................................. 68 class ............................................................................................................................................................................. 68 group ........................................................................................................................................................................... 69 type ............................................................................................................................................................................. 70

OPERATIONS ......................................................................................................................................................... 71 duplicate ........................................................................................................................................................ 71 add ................................................................................................................................................................ 71 modify ........................................................................................................................................................... 71 set .................................................................................................................................................................. 72 setSpecialAttribute ........................................................................................................................................ 73 remove .......................................................................................................................................................... 73 removeSpecialAttribute ................................................................................................................................. 73 concatAttribute ............................................................................................................................................. 74

LIBRARY CENTRAL MAPPING CONFIGURATION ............................................................................................................. 76 Upload of Parts ............................................................................................................................................. 76 Download of Parts ......................................................................................................................................... 76 Multiclassification ......................................................................................................................................... 77

Upload of Parts ........................................................................................................................................................... 77 Download of Parts ....................................................................................................................................................... 78

LOG CONFIGURATION .............................................................................................................................................. 79 BACKGROUND SYNCHRONIZATION ............................................................................................................................. 81

Background Synchronization Setup ............................................................................................................... 81 Connection Settings .................................................................................................................................................... 82

Background Synchronization Execution ........................................................................................................ 83 Publishing Web Services for Background Synchronization ............................................................................ 83

CDM CONFIGURATION OBJECT IN ENOVIA ............................................................................................................... 84 ENOVIA CDM Settings ................................................................................................................................................. 84

Syntax of the attributes in ENOVIA ............................................................................................................... 86 CDM CONFIGURATION EDITOR IN CSE ...................................................................................................................... 87

APPENDIX....................................................................................................................................................... 89

REGULAR EXPRESSIONS ........................................................................................................................................... 89 CDM MAPPING CONFIGURATION EXAMPLE ................................................................................................................ 90 CDM DATA MAPPING LAYER XSD SCHEMA ................................................................................................................ 92

Page 6: ENOVIA Collaborative Design for Mentor Graphics Expedition

6 ENOVIA Collaborative Design – Administrator’s Guide

List of Figures

FIGURE 1 JAVA ERROR ............................................................................................................................................... 10 FIGURE 1 INSTALL FROM THE WEB ................................................................................................................................. 11 FIGURE 2 INTRODUCTION ............................................................................................................................................ 12 FIGURE 3 CHOOSE THE SERVER FOLDER .......................................................................................................................... 12 FIGURE 4 GET USER INPUT .......................................................................................................................................... 13 FIGURE 5 INPUTS FOR SCHEMA INSTALLATION ................................................................................................................. 14 FIGURE 6 PRE-INSTALLATION SUMMARY ........................................................................................................................ 14 FIGURE 7 SCHEMA INSTALLATION SUMMARY ................................................................................................................... 15 FIGURE 8 FINAL SUMMARY .......................................................................................................................................... 15 FIGURE 9 ASSIGN LICENSING BY PRODUCT ...................................................................................................................... 16 FIGURE 10 ASSIGN ECAD INTEGRATION ROLE ................................................................................................................. 17 FIGURE 11 UPDATE ASSIGNMENTS ................................................................................................................................ 17 FIGURE 13 JAVA ERROR ............................................................................................................................................. 20 FIGURE 12 INSTALLATION FROM THE WEB ...................................................................................................................... 21 FIGURE 13 INTRODUCTION .......................................................................................................................................... 22 FIGURE 14 CHOOSE SHORTCUT FOLDER ......................................................................................................................... 22 FIGURE 15 CHOOSE SHORTCUT FOLDER ......................................................................................................................... 23 FIGURE 16 CHOOSE INSTALL FOLDER ............................................................................................................................ 23 FIGURE 17 CHOOSE JAVA VIRTUAL MACHINE ................................................................................................................. 24 FIGURE 18 PRE-INSTALLATION SUMMARY ...................................................................................................................... 24 FIGURE 19 INSTALL COMPLETE .................................................................................................................................... 25 FIGURE 20 USERHOME DIRECTORY ................................................................................................................................ 26 FIGURE 21 KEEP SESSION ALIVE: GCO ATTRIBUTES ........................................................................................................... 29 FIGURE 22 KEEP SESSION ALIVE: RENEW SESSION ............................................................................................................ 29 FIGURE 23 CHECKIN REVISION BEHAVIOR: GCO ATTRIBUTES .............................................................................................. 31 FIGURE 24 COMPONENT SEARCH DIALOG....................................................................................................................... 33 FIGURE 25 TYPE SEARCH DIALOG .................................................................................................................................. 34 FIGURE 26 VAULT SEARCH DIALOG ............................................................................................................................... 34 FIGURE 27 POLICY SEARCH DIALOG ............................................................................................................................... 35 FIGURE 28 STATE SEARCH DIALOG ................................................................................................................................ 35 FIGURE 29 OPERATOR SEARCH: REAL ............................................................................................................................. 36 FIGURE 30 OPERATOR SEARCH: STRING.......................................................................................................................... 36 FIGURE 31 WEBFORM PART SEARCH CRITERIA ................................................................................................................. 36 FIGURE 32 SPECIFY A NAME ......................................................................................................................................... 37 FIGURE 33 SPECIFY A LABEL ......................................................................................................................................... 37 FIGURE 34 SETTING PROPERTIES ................................................................................................................................... 38 FIGURE 35 ADDING NEW ATTRIBUTE .............................................................................................................................. 38 FIGURE 36 DEFINITION OF DISPLAY COLUMNS IN A TABLE ................................................................................................... 41 FIGURE 37 DISPLAY COLUMN NAMING CONVENTION ......................................................................................................... 41 FIGURE 38 BOM C/O IN ENOVIA ............................................................................................................................... 46 FIGURE 39 BOM CONFIGURATION EDITOR ..................................................................................................................... 53 FIGURE 40 CREATE NEW: EXISTING NAME ...................................................................................................................... 53 FIGURE 41 CREATE NEW: NEW NAME ........................................................................................................................... 54 FIGURE 42 CREATE NEW: SAVE .................................................................................................................................... 54 FIGURE 43 LIBRARY PROJECT DIRECTORY ........................................................................................................................ 56

Page 7: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 7

FIGURE 44 PART FAMILIES IN LIBRARY CENTRAL ............................................................................................................... 76 FIGURE 45 ENOVIA WEB SERVICES SETUP .................................................................................................................... 81 FIGURE 46 CDM C/O IN ENOVIA ............................................................................................................................... 84 FIGURE 47 CDM CONFIGURATION EDITOR ..................................................................................................................... 87 FIGURE 48 CREATE NEW: EXISTING NAME ...................................................................................................................... 87 FIGURE 49 CREATE NEW: NEW NAME ........................................................................................................................... 88 FIGURE 50 CREATE NEW: SAVE .................................................................................................................................... 88

Page 8: ENOVIA Collaborative Design for Mentor Graphics Expedition

8 ENOVIA Collaborative Design – Administrator’s Guide

Known Limitation

Migration in Component Data Management

Old data in the Library Project will not be migrated to the new format. For detail information please read Data

Migration Chapter under Component Data Management.

Page 9: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 9

Server Integration Installation

Execute Setup

Login as a user with administrative privileges and follow the instructions. If you have no administrative

privileges, the installation may fail.

Windows Platforms

Navigate to the setup file for the web based setup

./install.htm

and execute the link by double clicking on it.

Navigate to the setup file you have downloaded and double click on it or type

install.exe

into the shell

UNIX Platforms

Open a shell window and navigate to the location of the setup file for web based setup

netscape ./install.htm

Open a shell window and navigate to the location of the setup file you have downloaded and type

sh ./install.bin

into the shell

ENOVIA Products - ENOVIA Designer Central V6R2013x

- ENOVIA Engineering Central V6R2013x

- ENOVIA Library Central V6R2013x

Java Environment - Java 1.7 (see section Installation Error “Java Virtual Machine not found”)

Page 10: ENOVIA Collaborative Design for Mentor Graphics Expedition

10 ENOVIA Collaborative Design – Administrator’s Guide

Installation Steps

Web based setup only. For downloading the installation files, click on the corresponding link below the

“Available Installers”.

Your preferred browser opens a new browser window with the possible install options. Click on the button for

the recommended installation of your platform or execute the link for installing Integration Server V6R2013x.

Installation Error “Java Virtual Machine not found”

On a server typically only a JAVA JDK is installed, but no JAVA JRE.. The installer only detects 32-Bit JRE’s

but no JDK’s.

If you get the following error, you can override the default JAVA detection through a command line argument

Figure 1 JAVA Error

Execute the installer with the following command:

install.exe LAX_VM [PATH_TO_JDK_JAVA.EXE]

Example:

install.exe LAX_VM %ProgramFiles%\Java\jdk1.7.0_03\bin\java.exe

Page 11: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 11

Web based installation

.

Figure 2 Install from the web

Page 12: ENOVIA Collaborative Design for Mentor Graphics Expedition

12 ENOVIA Collaborative Design – Administrator’s Guide

1. This dialog shows the version of the setup, and additional recommendations for the proper installation of

Integration Server V6R2013x

Figure 3 Introduction

2. Choose the ENOVIA Platform Server Folder

Figure 4 Choose the Server folder

Page 13: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 13

3. Get User Input

Figure 5 Get User Input

Here the user has to enter the name and password of the ENOVIA user he wants to use for installing the schema.

Please note, that this ENOVIA must have the correct permissions to install and modify administration objects.

Page 14: ENOVIA Collaborative Design for Mentor Graphics Expedition

14 ENOVIA Collaborative Design – Administrator’s Guide

4. Inputs for schema installation

Figure 6 Inputs for Schema Installation

Here the user has to select the vault and store for the schema installation. Additionally he has to select if he

wants to overwrite previously installed integration jpo`s or not. In the latter case the new jpo`s will be installed

with a different name and the user has to merge them afterwards manually.

5. Pre-Installation Summary

Figure 7 Pre-Installation Summary

Here the user can review his selections before proceeding for the actual installation.

Page 15: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 15

6. Schema installation Summary

Figure 8 Schema installation summary

7. Final Summary

Figure 9 Final summary

Page 16: ENOVIA Collaborative Design for Mentor Graphics Expedition

16 ENOVIA Collaborative Design – Administrator’s Guide

Console mode installation

On UNIX platforms, the installer when run in GUI mode can rise to problems due to various factors such as

Old legacy machines are never patched to latest OS patches

Old legacy machines are never patched to latest Java patches

Old legacy machines do not have support for X-Windows and hence X-term is not in path

Not having X-term means, inability to support Graphical User Interface (GUI) from the installations.

Not having right Java patches means the AWT components are not displayed properly

In-correct font displays due to non-availability of fonts on Unix machines

In-compatibilities of IA with certain Unix Emulator versions of Exceed, Kea!x and Cygwin can cause

problems.

In order to deal with these problems, the installer also supports a “Console Mode” in which the installation is

done without any using any GUI elements and all the user interaction is from the command line.

In order to launch the installer in console mode, the following command needs to be given:

./install.bin –i console

The flow of the installation is similar to that of the GUI mode.

Assign ECAD Integration in Web Frontend It is necessary to assign the ECAD integration to the user. Otherwise the user cannot login to ENOVIA through

ENOVIAIntegrationExchangeFrameworkClient.

Following steps describes how to assign the ECAD Integration and all necessary settings that the user can use

login to ENOVIA:

1. Be sure that the user have all needed license

a. Open “Assign Licensing by Product” dialog and check it

Figure 10 Assign Licensing by Product

Page 17: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 17

2. Search user and assign the ECAD Integration Role

Figure 11 Assign ECAD Integration Role

3. Update Assignment and check if the correct GCO is used

Figure 12 Update Assignments

Page 18: ENOVIA Collaborative Design for Mentor Graphics Expedition

18 ENOVIA Collaborative Design – Administrator’s Guide

Client Integration Installation

System Requirements

Operating System - Windows 7 SP1 32bit and 64bit

Mentor Environment - Mentor Graphics Expedition Enterprise 7.9.1 update 20

- Mentor Graphics Expedition Enterprise 7.9.2 update 14

- Mentor Graphics Expedition Enterprise 7.9.3 update 6

Java Environment - Java JRE 1.7 32bit (Note: 64 bit Java is not supported!)

- (see section Installation Error “Java Virtual Machine not found”)

ENOVIA Products - ENOVIAIntegrationExchangeFrameworkClient-V6R2013x

- Microsoft .NET Framework 3.5 SP1 is required in windows operating system to connect through the

client executable to the ENOVIA system.

- The path of the %JAVA_HOME%\bin; %JAVA_HOME%\bin\client; %JAVA_HOME%\lib should

be included in the environment variable path setting of the windows operating system.

- Alternatively the used JAVA for the IEC Client can be specified directly in the Integration Client

Preferences under ENOVIA Designer Central Connection Settings. You have to define a 64Bit JRE

on 64Bit Operating Systems and a 32Bit JRE on 32Bit Operating Systems.

Page 19: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 19

Execute Setup

Login as a user with administrative privileges and follow the instructions. If you have no administrative

privileges, the installation may fail.

Windows Platforms

Navigate to the setup file for the web based setup

./install.htm

and execute the link by double clicking on it.

Navigate to the setup file you have downloaded and double click on it or type

install.exe

into the shell

Page 20: ENOVIA Collaborative Design for Mentor Graphics Expedition

20 ENOVIA Collaborative Design – Administrator’s Guide

Installation Steps

Web based setup only. For downloading the installation files, click on the corresponding link below the

“Available Installers”.

Your preferred browser opens a new browser window with the possible install options. Click on the button for

the recommended installation of your platform or execute the link for installing ENOVIA Collaborative Design

for Mentor Graphics Expedition Enterprise Integration V6R2013x.

Installation Error “Java Virtual Machine not found”

The installer only detects 32-Bit JRE’s but no 64-Bit JRE’s. On a 64Bit Operating System you will be able to

also use a 32Bit JRE.

32Bit Operating System

No further installation instructions are required. The installer will automatically detect a Java 7 32-Bit

JRE and use it for the installation

64Bit Operating System:

- No further installation instructions are required if you want to use a 32Bit JRE. The installer will

automatically detect a Java 7 32-Bit JRE and use it for the installation

- You can also manually run the installer with additional arguments.

install.exe LAX_VM [PATH_TO_32BIT_JRE_JAVA.EXE]

Example:

install.exe LAX_VM %ProgramFiles%\jre7\bin\java.exe

If you get the following error, you can override the default JAVA detection through the command line argument

Figure 13 JAVA Error

Page 21: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 21

Web based installation

.

Figure 14 Installation from the web

Page 22: ENOVIA Collaborative Design for Mentor Graphics Expedition

22 ENOVIA Collaborative Design – Administrator’s Guide

1. This dialog shows the version of the setup, and additional recommendations for the proper installation of

ENOVIA Collaborative Design for Mentor Graphics Expedition Enterprise Integration V6R2013x. Click

Next button to continue the installation.

Figure 15 Introduction

2. In this dialog it is possible to choose a shortcut folder of the product icons.

Click Next button to continue the installation.

Figure 16 Choose Shortcut Folder

Page 23: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 23

3. Choose the folder where the shortcut of the product icons will be created.

Figure 17 Choose Shortcut Folder

4. Enter the installation directory of the ENOVIA Collaborative Design for Mentor Graphics Expedition

Enterprise Integration and click the Next button to continue the installation.

Figure 18 Choose Install Folder

Page 24: ENOVIA Collaborative Design for Mentor Graphics Expedition

24 ENOVIA Collaborative Design – Administrator’s Guide

5. Please choose in this dialog a java VM or use the installed java version.

Click Next button to continue the installation.

Figure 19 Choose Java Virtual Machine

6. The dialog shows the summary of the Pre-Installation. Click Next button to install the integration.

Figure 20 Pre-Installation Summary

Page 25: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 25

7. ENOVIA Collaborative Design Integration is now successfully installed. Click Done button to complete

the installation and restart the system.

Figure 21 Install Complete

Page 26: ENOVIA Collaborative Design for Mentor Graphics Expedition

26 ENOVIA Collaborative Design – Administrator’s Guide

Client settings

The client will create some files and directories in the user’s home directory.

Figure 22 Userhome directory

registry folder

Folder containing registry information for the integration.

templatestore folder

Folder containing internal templates used by CSE.

Logs folder

Folder contains ENOVIA.log. Log file containing debug and trace message of CSE.

config.xml

ENOVIA server configuration file.

CSE.log.xml

Log file containing the communication protocol between ENOVIA DESIGNER CENTRAL

and CSE

Page 27: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 27

Derived Output Parameter File

The integration supports the download and the execution of so called Derived Output Parameter Files prior to

Derived Output Creation. Derived Output Parameter Files allow the Administrator to provide customized scripts

to the end user. Parameter object could be used to provide additional information to create Derived Outputs

while checkin operation. Once the user has selected a Parameter Object for a specific Derived Output, the

Integration downloads the script and executes it.

There are specific conventions which need to be obeyed:

The content of the parameter object can consist of the following files:

- Mandatory control script

- Additional and optional support scripts

a. The mandatory script needs to have the following Naming convention

<SampleParameterName>-<mappedDerivedOutputName>.js

Example: myParameter-mill.js

b. There can be multiple other files in this object which do not need to follow this naming

convention. These other files can then i.e. be used inside the script file

c. The script needs to be checked into the corresponding Derived Output Format of the Parameter

Object

In order to setup the parameter file for its corresponding derived output, the following setting in the GCO should

be set by the user

Attribute Name Value Description Added to

IEF-

DerivedOutputParameterOb

jTypeMapping

<DerivedOutput

MappedType1>|<Parameter

Objecttype1>

<DerivedOutput

MappedType2>|<Parameter

Objecttype2>….

e.g;

mill|Derived Output

Parameter

Explains, which type of

Parameter object could

be used for specific

derived output

Type –

‘MCADInteg-

GlobalConfig

IEF-

DerivedOutputTypeDefaultP

arameterObjectMapping

<DerivedOutput

MappedType1>,<Default

Parameter Object1>

<DerivedOutput

MappedType2>,<Default

Parameter Object1>

….

e.g;

mill|Derived Output

Parameter,DOP-1,A

This attribute contain

default parameter object

for Derived Output type.

Note: This Object is

shown as default in

Derived Output page

while Checkin or This

Value is directly used in

case of checkin no

option.

Type –

‘MCADInteg-

GlobalConfig

Page 28: ENOVIA Collaborative Design for Mentor Graphics Expedition

28 ENOVIA Collaborative Design – Administrator’s Guide

An example script is shown below:

/**

*Script which is showing the default file upload screen to the user. User can select files he wants to upload to

*ENOVIA.

*in this case a

*in this a core method ‘showDefaultManualFileSelection’ from the API is used.

**/

var imports = new JavaImporter(

Packages.java.io.File,

Packages.java.lang.System,

Packages.com.pe_gmbh.pdmappsuite.em1decpdm.Em1DecPdm,

Packages.com.pe_gmbh.pdmappsuite.em1decpdm.tools.UploadFile,

Packages.com.pe_gmbh.pdmappsuite.em1decpdm.pdmpreferences,

Packages.com.pe_gmbh.pdmappsuite.main.AppSuite);

with (imports) {

/**

*@param object , the Derived Output Object to be used.

*@return list of files which have been selected by the user

**/

function execute(object) {

return object.showDefaultManualFileSelection();

}

}

Important note: The format of the Derived Output Parameter (DOP) file checked in to DOP Object

should be of the type “Generic”.

Page 29: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 29

Keep Session Alive This feature is very useful if the user carries out CSE functions which do not require direct communication to

Designer Central. In case of prolonged operation, usually a session timeout happens since no communication

takes place between IEFWorkspaceClient and Designer Central. In this case the user needs to re-login which

requires a reload of all settings.

To avoid this scenario, the user can set the session to be kept alive by configuring it in the GCO. Two GCO

attributes are added which controls this behavior.

GCO Attribute

ECADInteg-KeepSessionAlive = [true|false]

o Defines if the integration sends a KeepSessionAlive command

ECADInteg-KeepSessionAliveInterval=[integer value]

o Defines the interval in minutes when the KeepSessionAlive command is send

o The value should be less than the session timout defined for the AppServer (web.xml)

Figure 23 Keep Session alive: GCO attributes

The DEC LoginExCommand is send to keep the server session alive. The command is only sent if the

ECADInte-KeepSessionAliveInteval time exceeds the time of “now-lastCommandSend”. Each command sent to

Integration Exchange Client resets the internal counter. KeepSessionAlive command is always sent if an

integration task is running.

If ECADInteg-KeepSessionAliveInterval is nearly reached or exceeded(e.g. 1 minute before), the user will be

queried with the information that the session is about to expire with the option to accept or to renew the session.

Figure 24 Keep Session alive: Renew Session

Selecting this performs a logout of the integration forcing IEC to shut down.

Selecting this will send the KeepSessionAlive command

If user does not react within the specified time, the session times out automatically.

Page 30: ENOVIA Collaborative Design for Mentor Graphics Expedition

30 ENOVIA Collaborative Design – Administrator’s Guide

Save User Settings to ENOVIA

The user settings are read during the login to ENOVIA. CSE reads the DEC login response and updates the

setting. The existing CSE settings are overwritten by the ENOVIA settings.

The user can modify these settings at runtime but it lacked saving it back to ENOVIA. Currently this feature

enables the user to save back the user modified settings to ENOVIA.

The settings would be sent to ENOVIA only when the client preferences are committed.

The following user settings from the ENOVIA Options could be saved back to ENOVIA

Attribute Name Corresponding Setting Name in

Integration

MCADInteg-CreateVersionOnCheckin Create Version On Checkin

MCADInteg-LockObjectOnCheckin Retain Lock After Checkin

IEF-DefaultConfigTables Default View

MCADInteg-SelectChildItems Select Children

MCADInteg-LockObjectOnCheckout Lock Objects on Checkout

MCADInteg-CheckOutDirectory Checkout Directory

IEF-DefaultLateralView Default Table View

IEF-SelectedManualDerivedOutputs Manual

MCADInteg-SelectedDerivedOutputs Automatic

Important note: The Settings will not be saved to ENOVIA when the user commits the

modifications done in Options dialog under Checkin and Checkout dialog, also

from the context menu for Derived output selection in Checkin dialog.

Page 31: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 31

Checkin Revision Behavior

The Revision behavior in the checkin is now configurable through GCO setting. Three different ways are

supported for controlling the revisioning. Based on the selected setting, the user can create any revision, select

NEXT revision or can be disallowed to create a new revision in the integration.

GCO Attribute

Figure 25 Checkin Revision Behavior: GCO attributes

Attribute

o Name: ECADInteg-CheckRevisionBehaviour

o Type: String

o Ranges:

“Allow Revisioning”

“Disallow Revisioning”

“Manual Revisioning”

o Default: “Allow Revisioning”

References:

o Referenced in Type: ECADInteg-GlobalConfig

ECADInteg-CheckinRevisionBehavior = [AllowRevisioning|DisallowRevisioning|ManualRevisioning]

o Defines the Checkin revision behavior in CSE

Allow Revisioning:

This allows the user to create only NEXT revision. The menu for creating NEXT revision will be available from

the context menu of the design object in the checkin dialog. The user will not be able to create a manual revision.

All the available revisions will be listed. The Revision list box is non-editable.

Disallow revisioning:

This denies revisioning for the user. The user will not be able to create any manual revision nor a NEXT revision

but all the available revisions will be listed. The Revision list box is non-editable.

Manual Revisioning:

This allows the user to create NEXT revision as well specify an own revision. All the available revisions will be

listed. The Revision list box is editable and the user can specify any revision. This user specified input will be

used as a new revision.

Important note: If the design object does not exist in ENOVIA and user does not have the access

for Revisioning, then the user will not be able to create the design object in

ENOVIA.

Page 32: ENOVIA Collaborative Design for Mentor Graphics Expedition

32 ENOVIA Collaborative Design – Administrator’s Guide

Finalize / Undo-Finalize

Finalize

The finalize step will transfer the data of the minor object (the versioned design) to the major object (the revision

of the design ). If preliminary BOM’s exist, they will be completely disconnected. This complete disconnect of

the EBOM is necessary, to avoid floating EBOM structures within the PLM System.

When running the Finalize step, the attribute “ECAD Mandatory files for finalize” from the

EBOMSynchronization Config Object is evaluated. Only if all requirements are met, this means, if all mandatory

formats are checked in into the corresponding minor object to get finalized, the finalize step will be started.

If the requirements are not met, the minor object is yet not ready to get “promoted” to the major object, an error

message will show the missing formats.

The finalize step will also reset the attribute “EBOM Status” on the minor and major objects, as all preliminary

BOM’s do not exist anymore.

The attribute “BareBoard Names” from the minor object is also transferred to the major object. This assures, that

no different BareBoard ( PCB ) is used for a final EBOM, if a preliminary EBOM was already created.

If the major object is already finalized an additional finalize step is not possible. First an Undo-Finalize step

must be run

Undo-Finalize

Undo-Finalize is used to transfer the data of the major object back to the minor object.

A created EBOM will be completely disconnected.

The Undo-finalize step will also reset the attribute “EBOM Status” on the objects. The attribute “BareBoard

Names” on the major object is also reset.

Page 33: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 33

BOM Data Management

The BOM Management provides a client driven User Interface. The User Interface as well as the business logic

can be partially controlled through a definition in ENOVIA. This functionality is provided through the means of

ENOVIA Webforms and ENOVIA tables.

UI Elements

Component Search Dialog

The Component Search Dialog is configurable regarding the criteria shown in the left frame

Figure 26 Component Search Dialog

Type Search Dialog

Important note: The default Component Search webform ‘ECAD-ComponentSearchForm’ can be

used as a reference to create your own Search Webforms.

Page 34: ENOVIA Collaborative Design for Mentor Graphics Expedition

34 ENOVIA Collaborative Design – Administrator’s Guide

The Type Search Dialog will present the user with an expandable Tree in which the user can make the selection

of exactly one entry.

The Tree displays the type hierarchy based on an input type. By default the first Level of the tree components is

expanded.

Figure 27 Type Search Dialog

Vault Search Dialog

The Vault Search Dialog will present the user with a list of vault entries in which the user can de-/select one or

more entries.

The upper entry field is used to do a fast selection based on some input. This means, if the user is typing some

characters, the possible selection will be highlighted.

Figure 28 Vault Search Dialog

Policy Search Dialog

The Policy Search Dialog will present the user with a list of policy entries in which the user can de-/select one or

more entries.

Page 35: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 35

The upper entry field is used to do a fast selection based on some input. This means, if the user is typing some

characters, the possible selection will be highlighted.

Figure 29 Policy Search Dialog

State Search Dialog

The State Search Dialog will present the user with a list of state entries in which the user can de-/select one or

more entries.

The list of available states is defined by the currently selected policies. Only states which are available for the

selected policy will be shown.

The upper entry field is used to do a fast selection based on some input. This means, if the user is typing some

characters, the possible selection will be highlighted.

Figure 30 State Search Dialog

Page 36: ENOVIA Collaborative Design for Mentor Graphics Expedition

36 ENOVIA Collaborative Design – Administrator’s Guide

Operator search The user has the functionality to search based on additional operators. The operators are shown in a drop down

menu. Based on the type of the attribute different operators are available.

Figure 31 Operator search: Real

Figure 32 Operator search: String

The operators can be configured through ENOVIA Webforms.

The user searches for the Webform responsible for displaying the Part search criteria in the Part search dialog.

Figure 33 Webform Part search criteria

In this example, we will add a new field named “TargetCost” and associate operators for the same.

Click on the Add button to add a new field.

Page 37: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 37

Figure 34 Specify a name

A name for the field is specified here. The user needs to set the label to be displayed in the part search dialog by

selecting the next tab “Expression”.

Figure 35 Specify a label

Page 38: ENOVIA Collaborative Design for Mentor Graphics Expedition

38 ENOVIA Collaborative Design – Administrator’s Guide

The properties needed for enabling the operator search criteria are

typeClass = operatorfield

format = real

This is set in the “settings” tab.as shown below.

Figure 36 Setting properties

The typeClass specifies if the field is an operator field, if so then the user needs to set the format to be used. If

the format is Real then all the operators belonging to this format are displayed in a dropdown menu as shown in

the Figure 31. If the format is String, then the operators in the Figure 32 are shown.

Once the properties are set, the user needs to click on the “Ok” button to add this field to the search criteria.

Figure 37 Adding new attribute

Page 39: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 39

Webform Element Definition

The webform element definition used for the OOTB implementation, also defining the must have attributes.

The following Webform elements exist and have a specific implementation:

typechooser The typechooser element will bring up a hierarchical Type chooser. As additional properties the root type has to

be defined, as well as if the root type has to be made visible in the hierarchical tree.

Properties:

typeClass=typechooser

rootType=[AdminType] e.g. “Part”

rootTypeVisible=[true|false]

policychooser The policycooser element will bring up a policy chooser list. Can only be used in combination with a

typechooser and is automatically linked to the selected types in the type chooser.

Properties:

typeClass=policychooser

statechooser The statechooser element will bring up a policy chooser list. Can only be used in combination with a

policychooser and is automatically linked to the selected policies in the policy chooser.

Properties:

typeClass=statechooser

vaultchooser The vaultchooser element will bring up a vault chooser list.

Properties:

typeClass=vaultchooser

revision The revision element is a simple textfield which is mainly used in combination with the “latestrevision” element.

It has to be linked to the revision property of the BusinessObject

Properties:

typeClass=revision

latestrevision The latestrevision element checkbox is directly linked to the revision element. If activated, it makes the revision

element non-editable. The meaning is to always search for the latest revision of the Business Object

Properties:

typeClass=revision

textfield The textfield element will bring up a standard editable textfield.

Properties:

typeClass=textfield

Page 40: ENOVIA Collaborative Design for Mentor Graphics Expedition

40 ENOVIA Collaborative Design – Administrator’s Guide

checkbox The checkbox element will bring up a standard editable checkbox. An additional property defines if the

checkbox is preselected or not.

Properties:

typeClass=checkbox

typeClassSelected=[true|false]

Page 41: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 41

Important note: please note that you should not use the direct attribute name as the name

of a column. E.g. use ‘_name’ instead of ‘name’, ‘_description’ instead

of ‘description’

Displayable Columns

The columns to be displayed in the tables can be configured and modified through ENOVIA Tables.

Standard ENOVIA tables are created to link any available attributes to the display.

Figure 38 Definition of display columns in a table

Figure 39 Display column naming convention

UI Element cache refresh

After doing changes to webforms or tables used by the BOm Management, it is required to refresh this specific

UI cache. To do so please login to the web ui with a user which has business admin access.

Open the web mql console and execute the following command to relead the cache:

exec prog com.pe_gmbh.bommanagement.Dispatcher -method reloadCache

Page 42: ENOVIA Collaborative Design for Mentor Graphics Expedition

42 ENOVIA Collaborative Design – Administrator’s Guide

BOM Creation For creating the Bill of Material Structure and, if selected, missing parts in ENOVIA also webforms are used.

There are webforms used for creating missing parts as well as webforms used to create relationships between

parts or between parts and their specification document.

For connections between parts, always the usage ‘ebomrelationship’ is used.

For connections between parts and their specification document always the usage ‘ebompartspecrelationship’ is

used.

Please refer to the already used webforms for more technical details on the various settings.

Predefined BOM Creation Webforms

The following webforms are predefined and will be used by the BOM Management existence check function:

ECADBOMRelationshipForm

o Usage Property value: ebomrelationship

ECADBOMPartSpecRelationshipForm

o Usage Property value: ebompartspecrelationship

ECADBOMComponentAutoCreateForm

o Usage Property value: automaterialcreate

ECADAssemblyComponentAutoCreateForm

o Usage Property value: autoassemblycreate

ECADSubAssemblyomponentAutoCreateForm

o Usage Property value: autosubassemblycreate

ECADBareBoardComponentAutoCreateForm

o Usage Property value: autobareboardcreate

Page 43: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 43

Material Existence Check

The material existence check feature is a function which checks if the material exists in PDM.

Based on specific rules a query is made to the database.

The command triggers a document search based on specific criteria defined by a webform and returns the

component information based on a given table.

As an input to the criteria the command will provide a list of objects (hence here mainly the part number is

provided).

In general the existencecheck mode is using configurable webforms which can build PDM queries in a generic

way (e.g. pattern matching, stacked searches, etc.).

With this implementation also more complex scenarios like get the latest released object, get objects based on

configured states can be handled.

The integration will send the to-be-used webform which defines specific search criterias for exactly one object.

Predefined Existence Check Webforms

The following webforms are predefined and will be used by the BOM Management existence check function:

ECADComponentExistenceCheckForm

o Usage Property value: componentcheckcriteria

ECADAssemblyExistenceCheckForm

o Usage Property value: assemblycheckcriteria

ECADBareboardExistenceCheckForm

o Usage Property value: bareboardcheckcriteria

ECADDocumentExistenceCheckForm

o Usage Property value:documentcheckcriteria

Page 44: ENOVIA Collaborative Design for Mentor Graphics Expedition

44 ENOVIA Collaborative Design – Administrator’s Guide

ECAD Integration Usage property definition

The “ECAD Integration Usage” property defines in which scope the corresponding table or webform is used by

the integration. The integration has to evaluate this information according to the currently selected scope. This

means, that e.g. if the usage is defined as “bompanel”, this table is used to display the columns in the bom panel.

Subsequently this means, that if the integration requests component information it has to send this table

information to the PDM to get the proper details back.

Example: in mql:

MQL<1>print form ECAD-Assembly-FindLatestRev;

property ECAD Integration Usage value assemblycheckcriteria

Predefined USAGE definition

Tables BOM Editor Table view: usage=componentdetails

Component Search Table view: usage=componentsearch

Document Search Table view: usage=documentsearch

Webforms

Existence Check Assembly criteria: usage=assemblycheckcriteria

Existence Check Component criteria: usage=componentcheckcriteria

Existence Check Bareboard criteria: usage=bareboardcheckcriteria

Existence Check Documents criteria: usage=documentcheckcriteria

New Auto Material creation: usage=automaterialcreate

New Auto Bareboard creation: usage=autobareboardcreate

New Auto Assembly creation: usage=autoassemblycreate

New Auto Subassembly creation: usage=autosubassemblycreate

Part Search Criteria Dialog: usage=partsearchcriteria

Document Search Criteria Dialog: usage=documentsearchcriteria

Page 45: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 45

Global Definitions The Administrator can configure all the global definitions for the integration through the server side JPO

“Definitions_mxJPO”.

public class Definitions_mxJPO

{

/**

* the List of roles which act as BOM Administrators. These roles are able to use the BOM

Configuration Editor to create/modify new BOM Configuration Objects

*/

public final static List<String> bomAdministratorRoles = Arrays.asList("role_IEFAdmin");

/**

* the List of roles which act as BOM Administrators. These roles are able to act as a Power

User for the BOM Management

*/

public final static List<String> bomPowerUserRoles =

Arrays.asList("role_SeniorDesignEngineer", "role_SeniorManufacturingEngineer");

/**

* the list of roles which act as User being able to use Library Central from an ECAD

perspective

*/

public final static List<String> lbcUserRoles = Arrays.asList("role_Librarian",

"role_LibraryUser", "role_SeniorManufacturingEngineer",

"role_SeniorDesignEngineer");

/**

* the list of roles which act as User being able to use Component Data Management Feature

from an ECAD perspective. Access to ENG ComponentDataManagement

* feature is automatically granted

*/

public final static List<String> cdmUserRoles = Arrays.asList("role_SeniorDesignEngineer",

"role_SeniorManufacturingEngineer");

/**

* Name of the property key storing the version about installed library central.

*/

public final static String PROP_NAME_LIBRARY_CENTRAL = "appVersionLibraryCentral";

/**

* the set defining the default part root types which are used in the ENG searches

*/

public final static Set<String> defaultPartRootTypes = new

LinkedHashSet<String>(Arrays.asList("Part"));

}

Page 46: ENOVIA Collaborative Design for Mentor Graphics Expedition

46 ENOVIA Collaborative Design – Administrator’s Guide

BOM Configuration Object in ENOVIA This feature provides ability to load BOM settings directly from ENOVIA. Configuration of the BOM inside of

ENOVIA allows a general BOM Configuration defined and controlled by an administrator. The user will still be

able to store some of the user settings, but the administrator defines these settings.

The BOM Configuration objects are stored in ENOVIA. The Active BOM C/O (Configuration Object) is defined

trough GCO Attribute (Type|Name|Revision). Also the available BOM C/O are defined trough GCO Attribute

(T|N|R separated by “@”).

There is a support for role based access (available roles: Standard/Power/Admin Users). The BOM settings can

be read-only or modifiable in PDMbridge based on access permission. There is only one active BOM C/O at the

time, defined per GCO but there can be more defined and switched in the GCO.

The BOM C/O is received during the Login Process using a JPO call, where the response in XML returns all

available settings for the current/selected BOM C/O. As this is received at the Login, the changes done directly

on the server take effect on the client after the next Login.

After the BOM C/O is created a BMO template is generated. The values set on the server become the default

values in the template. Then the setting is loaded. If an attribute is modifiable by the user, the value set by the

user is merged into the setting. Now the setting can be requested by a Task or by the Preferences.

Figure 40 BOM C/O in ENOVIA

Page 47: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 47

General Settings

BOM Settings Display Name Attribute Name Default Value

Allow Design BOM ECADInteg-BOMConfiguration-

AllowDesignBOM

{DEFAULT}false|true

Create collapsed BOM ECADInteg-BOMConfiguration-

CreateCollapsedBOM

{DEFAULT}true|false

Allow Disabling of EDA Parts ECADInteg-BOMConfiguration-

BOMEditorPartAllowDisableEDAPart

{DEFAULT}false|true

Allow Adding ENOVIA Parts ECADInteg-BOMConfiguration-

BOMEditorPartAllowAddENOVIAPart

{DEFAULT}false|true

Store Parts Added by User ECADInteg-BOMConfiguration-

BOMEditorPartStoreUserPart

{DEFAULT}true|false

Allow Manual assignment of

ENOVIA Parts to EDA Parts

ECADInteg-BOMConfiguration-

BOMEditorPartAllowManualAssignment

{DEFAULT}false|true

Use ENOVIA Background Job

for BOM creation

ECADInteg-BOMConfiguration-

UseBackgroundJob

{DEFAULT}false

Threshold ECADInteg-BOMConfiguration-

UseBackgroundJobThreshold

{ENFORCED}500

Allow Design BOM

Enabling this setting, allows the user to add the BOM from the design scope. This setting enables the Design in

the BOM Editor dialog. This setting allows creating a Bill of Material which reflects all components available in

the Design, irrespective of any Variant Settings. This setting can be used to create a ‘Total BOM’ without having

the need to define an explicit Total Variant Object in the PLM System.

Create Collapsed BOM

If selected then a collapsed BOM is transferred to ENOVIA, otherwise an expanded BOM is transferred.

In either case the BOM Editor will display an expanded BOM.

Allow Disabling of EDA Parts

This setting defines if the user is allowed to disable components coming in automatically from the EDA side

through the BOM extraction process. If this flag is set, all the EDA Components are made optional. If this flag is

unset, all EDA components are made mandatory. The default setting is false.

Allow Adding ENOVIA Parts

Enabling this setting allows the user to add Components from ENOVIA to the BOM structure. The Components

in the ENOVIA can be found using a part search dialog. Added Components are flagged as USER components

and only these Components can be removed. It will not be allowed to remove EDA components.

Store Parts Added by User

This setting allows the user to store the parts added by the user. When the user clicks on the “Store” button in the

BOM management dialog, the user created parts are stored along with the other EDA parts in the local system.

Allow Manual assignment of ENOVIA Parts to EDA Parts

This setting enables the user to change (re-assign) the default part of an EDA component with a new ENOVIA

Part. This enables the “assign/unassign” context menu for EDA Components in the BOM editor dialog.

Use ENOVIA Background Job for BOM creation

Enabling this setting runs the BOM creation as a background job in ENOVIA so the user can proceed with the

other operations during this process.

Threshold

The user can specify the threshold value which states that the background job will be used only when

BOM contains parts more than the specified value. For example, if the specified threshold is 500, then

the background job is carried out if the BOM contains more than 500 parts.

Page 48: ENOVIA Collaborative Design for Mentor Graphics Expedition

48 ENOVIA Collaborative Design – Administrator’s Guide

Missing Part Strategy This setting defines if the BOM creation can be executed or not if the BOM contains EDA parts which do not

exists in ENOVIA. If the BOM extracted from the EDA side contains parts which have not been created in

ENOVIA / are missing in ENOVIA, various strategies can be applied.

Display Name Attribute Name Default Value

Error | Warning | Ignore ECADInteg-BOMConfiguration-

BOMEditorPartMissingStrategy

DEFAULT}ERROR|WARNING|IGNORE

Create non existing parts in

ENOVIA

ECADInteg-BOMConfiguration-

BOMEditorPartAllowPartCreation

{DEFAULT}false|true

Error

Enabling this setting disables the “Create non existing parts in ENOVIA” checkbox. When the user checks

this radio button, an error message comes up when the BOM contains EDA parts which do not exists in

ENOVIA. The user will not able to proceed with the BOM creation process until he has solved the issues.

Warning

Enabling this setting enables the “Create non existing parts in ENOVIA” checkbox. When the user checks

this radio button, a warning message is shown to the user that the BOM contains EDA parts which do not

exist in ENOVIA. The user is able to proceed with the BOM creation. Depending on the setting of the

“Create non existing parts in ENOVIA” checkbox the missing parts are either skipped or created

Ignore

Enabling this setting enables the “Create non existing parts in ENOVIA” checkbox. When the user checks

this radio button, the BOM is created in ENOVIA and no message is shown to the user regarding the

missing parts.

Depending on the setting of the “Create non existing parts in ENOVIA” checkbox the missing parts are either

skipped or created.

Create non existing parts in ENOVIA

This setting creates all the EDA parts which are missing in ENOVIA during BOM creation. If this flag is set to

false, then the missing parts are removed from the BOM creation process and are not considered for the PDM

BOM. The created part is defined by the scope specific Part Creation Webform – here e.g. Type, Policy etc. are

defined.

Please note that this feature should only be used for testing and prototyping but not in a production environment.

It can result in error message presented by the user if the part is not found in ENOVIA because of e.g. not having

the correct state or not visible to the user, and the integration is trying to create the part.

Example:

The part ‘1234’ exists in state ‘Preliminary’ in ENOVIA

The integration is looking for a part ‘1234’ in state ‘Release’ and therefore flags the part as

non-existent in the BOM Editor.

If the user now wants to create the non-existing part in ENOVIA, an error message will be

returned to the user that the part cannot be created. This behavior in fact is correct, as the part

already existed, but is not ‘visible’ to the user because of search criterias or access permissions.

Page 49: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 49

BOM Editor

BOM Table Settings

Display Name Attribute Name Default Value

Table BOM Structure View ECADInteg-BOMConfiguration-

BOMEditorBOMTableEDAView

{ENFORCED}ECADBasicPropertyDetails

Table EDA Part Details ECADInteg-BOMConfiguration-

BOMEditorBOMTablePartView

{ENFORCED}ECADBOMTableDetails

CAD Model

CAD Model Webform Settings

Display Name Attribute Name Default Value

Webform CAD Model

Existence Check

ECADInteg-BOMConfiguration-

BOMEditorCADModelExistenceCheck

{ENFORCED}ECAD-

ExistenceCheckDocumentCriteria

Connect BOM to CAD

Model Revision

ECADInteg-BOMConfiguration-

BOMEditorCADModelConnectToRevisioin

{DEFAULT}false|true

Webform CAD Model Existence Check

It specifies which webform will be used to check the existence of the CAD models in ENOVIA. When the user

brings up the BOM management UI, the existence of the previously added document is checked and queried in

ENOVIA for its existence using the document criteria defined in the webform

Connect BOM to CAD Model Revision

This attribute defines if the BOM is connected to the CAD Model Revision or the CAD Model Version. This is

useful, if the user does not work with versioned objects or wants to see the BOM always on the CAD Model

Revision.

Assembly Settings

Assembly Form Settings

Display Name Attribute Name Default Value

Assembly part

Creation Form

ECADInteg-BOMConfiguration-

BOMEditorAssemblyPartCreationForm

{ENFORCED}ECAD-Part-

AutoCreateForm

Webform Assembly

Part Existence Check

ECADInteg-BOMConfiguration-

BOMEditorAssemblyExistenceCheck

{DEFAULT}ECAD-Assembly-

FindLatestReleasedOrLatestRev|ECAD-

Assembly-FindLatestRev|ECAD-

Assembly-FindLatestReleased

Webform Part

Specification

Relationship

ECADInteg-BOMConfiguration-

BOMEditorBareboardPartSpecRelationship

{ENFORCED}ECAD-BOM-

PartSpecRelationshipForm

Assembly part Creation Form

Defines the webform used to create assembly components if they do not exist in ENOVIA.

Webform Assembly Part Existence Check

Defines the webform used to check if the assembly component exists in ENOVIA. The integration queries

ENOVIA for the existence of the assembly part based on selected webform which specifies the state of the part

for example, when the user selects Latest Released Revision, then it checks for all the assembly parts with the

latest revision in the released state.

Page 50: ENOVIA Collaborative Design for Mentor Graphics Expedition

50 ENOVIA Collaborative Design – Administrator’s Guide

Webform Part Specification Relationship

Defines the form used to create a Part Specification relationship between the assembly part and the assembly

document.

Bareboard Settings

Display Name Attribute Name Default Value

Reference Designator

Bareboard

ECADInteg-BOMConfiguration-

BOMEditorBareboardReferenceDesignatro

{DEFAULT}PCB

Reference Designator Bareboard:

Defines the Reference Designator used for the bareboard

Bareboard Form Settings

Display Name Attribute Name Default Value

Webform Bareboard

Part Creation

ECADInteg-BOMConfiguration-

BOMEditorBareboardPartCreationForm

{ENFORCED}ECAD-BareBoard-

AutoCreateForm

Webform Bareboard

Part Existence Check

ECADInteg-BOMConfiguration-

BOMEditorBareboardExistenceCheck

{DEFAULT}ECAD-Bareboard-

FindLatestReleasedOrLatestRev|ECAD-

Bareboard-FindLatestRev|ECAD-

Bareboard-FindLatestReleased

Webform Part

Specification

Relationship

ECADInteg-BOMConfiguration-

BOMEditorAssemblyPartSpecRelationship

{ENFORCED}ECAD-BOM-

PartSpecRelationshipForm

Webform Bareboard Part Creation:

Defines the webform used to create bareboard components which are not yet in the ENOVIA.

Webform Bareboard Part Existence Check:

Defines the webform used to check the existence of the bareboard component in ENOVIA. The integration

queries ENOVIA for the existence of the bareboard part based on selected webform which specifies the state of

the part for example, when the user selects Latest Released Revision, then it checks for all the assembly parts

with the latest revision in the released state.

Webform Part Specification Relationship:

Defines the form used to create a Part Specification relationship between the bareboard part and the bareboard

document.

Part Settings

Part Filter Settings

Display Name Attribute Name Default Value

Enable Ignore

Components

ECADInteg-BOMConfiguration-

BOMEditorPartIgnoreEDAPart

{DEFAULT}true|false

Regular

Expression

ECADInteg-BOMConfiguration-

BOMEditorPartIgnoreEDAPartRegExp

{ENFORCED}partNo=^TP.*$;partNo=^TEST

P.*$;partNo=^IGNORE.*$

Enable Ignore Components

The user has the possibility to ignore parts coming in from the EDA BOM extraction process by defining regular

expressions. This might be very useful to ignore part entries like Testpoints, DNI Parts etc. which are required in

the CAD Design itself but have no meaningful representation in the PLM Side.

This setting defines the semicolon separated regular expressions which are used to ignore parts coming from the

EDA side.

Page 51: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 51

Example:

partNo=^OA.*$;partNo=^TESTP.*$;partNo=^IGNORE.*$

This expression indicates that, all parts starting with OA, TESTP and IGNORE will be ignored for BOM

creation.

Part Form settings

Display Name Attribute Name Default Value

Part Creation ECADInteg-BOMConfiguration-

BOMEditorPartCreationForm

{ENFORCED}ECAD-Part-

AutoCreateForm

Part Existence check ECADInteg-BOMConfiguration-

BOMEditorExistenceCheck

{DEFAULT}ECAD-Part-

FindLatestReleasedOrLatestRev|ECAD-

Part-FindLatestRev|ECAD-Part-

FindLatestReleased

EBOM Relationship ECADInteg-BOMConfiguration-

BOMEditorPartSpecRelationship

{ENFORCED}ECAD-BOM-

RelationshipForm

Part Creation

Defines the webform used to create missing parts in the ENOVIA.

Part Existence check

Defines the webform used to check the existence of the parts in the ENOVIA. The integration queries ENOVIA

for the existence of the part based on selected webform which specifies the state of the part for example, when

the user selects Latest Released Revision, then it checks for all the assembly parts with the latest revision in the

released state.

EBOM Relationship

Defines the form used to create a relationship between parts i.e.; create an EBOM connection between the

component and its parent component

Search Settings

Display Name Attribute Name Default Value

Webform Part Search

Criteria

ECADInteg-

BOMConfiguration-

PartSearchCriteriaForm

{ENFORCED}ECAD-

ComponentSearchForm

Table Part Search Details ECADInteg-

BOMConfiguration-

PartSearchDetailsTable

{ENFORCED}ECADENGPartSearchDetails

Search limit ECADInteg-

BOMConfiguration-

PartSearchLimit

{DEFAULT}100

Webform Part Search Criteria

Specifies which webform will be used for displaying the part search criteria. When bringing up the Search

Screen for searching Parts in ENOVIA, the used webform defines what kind of search criteria is available to the

user

Table Part Search Details

This defines the table column definition used in the component search details table. When bringing up the part

Search Screen for searching Parts in ENOVIA, the used webform defines what kind of table column details are

available to the user

Search limit

The user can specify the default search limit which limits the number of objects retrieved during search.

Page 52: ENOVIA Collaborative Design for Mentor Graphics Expedition

52 ENOVIA Collaborative Design – Administrator’s Guide

Syntax of the attributes in ENOVIA Dedicated value prefix to define if the attribute is modifiable in the client side or not

o {ENFORCED}

value is not changeable by the user

UI Component is disabled

modifyAccess attribute == false

o {DEFAULT}

value is changeabe by user

UI component is enabled

modifyAccess attribute == true

If no prefix is defined {DEFAULT} is assumed

ValueClass

o valueClass attribute is used to define the type of attribute

String

Boolean

Integer

Float

o As the Matrix attribute has to be always a string (because of {ENFORCED}/{DEFAULT}

information), the definition of the value class is based on a definition lookup.

o Various Sets defines the class to which the attributes belong to.

o If attribute name is not found in any set, a value class “string” is assumed.

Attribute Values

o The first value will always be the selection (the value which is selected)

o Additional values will be separated by a pipe “|”character

Examples:

o Boolean

{DEFAULT}false|true provide a selectable checkbox which is unchecked

o String

{DEFAULT}table1|table2|table3 provide a drop down box with table1

selected

o Integer/Float (only numbers are allowed)

{DEFAULT}500 provide field with number 500 Modifiable

{ENFORCED}5.0 provide field with number 5.0 NOT Modifiable

Page 53: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 53

BOM Configuration Editor In CSE

BOM Configuration Editor is used to create BOM Configuration objects in ENOVIA directly from the

Integration. The BOM settings can be read-only or modifiable in the client based on access permission. Running

the task, opens up the dialog as shown below.

Figure 41 BOM Configuration Editor

The preference dialog shows all the available BOM Configuration Objects in ENOVIA for the current

integration. The user having full access rights can perform the following

Default Selection

Selecting this checkbox makes the available setting as default but the user can modify it at run time in the

preferences.

Enforced

Selecting this checkbox enforces the setting and the user will not be able to modify it from the preferences as

these enforced settings are disabled for modification.

Create a New BOM Configuration Object

The user can create New BOM C/O object by clicking on this button. This brings up a Textfield where the user

needs to specify a configuration name. If the user enters a name which already exists, a warning text at the top

of the textfield is shown stating “Configuration exists already” and the Ok button is disabled

Figure 42 Create New: Existing name

The Administrator needs to grant access to the user in order to run BOM Configuration Editor. This

could be set in the server side JPO “Definitions_mxJPO”

Page 54: ENOVIA Collaborative Design for Mentor Graphics Expedition

54 ENOVIA Collaborative Design – Administrator’s Guide

Open entering a different name, the warning message goes out and the ok button is enabled. Clicking on the Ok

button, the new BOM configuration object will appear in the tree on the left pane and the corresponding

attributes could be edited from the right pane.

Figure 43 Create New: New name

User needs to click on the Save button to create the BOM Configuration object in ENOVIA. The configuration

object is not created in ENOVIA until the user explicitly clicks on the Save button. The user can edit the BOM

settings anytime but the changes are committed to ENOVIA only if it is saved.

Duplicate and Edit a BOM Configuration Object

This is very similar to Create New but the default settings are set from the BOM Configuration Object

duplicated. This action will bring up a textfield where the user can apply a new name. Upon providing a new

name, the new BOM configuration object will appear in the tree on the left pane and the corresponding attributes

could be edited from the right pane.

Setting any BOM Configuration Object as the default one in ENOVIA

The user can set the created BOM configuration object as the default one in ENOVIA using this option. The

selected BOM configuration object will be used to update the entry in the GCO attribute which defines the

default BOM configuration object. This configuration object will be available for the users and will be set as the

starting point for new BOM configuration objects.

Edit Existing BOM Configuration Object

The user can modify the settings of any existing BOM configuration object directly from the editor. The user can

select the Configuration object from the left pane and modify the corresponding settings and upon Saving it, the

changes are committed to ENOVIA.

Save the changes back to ENOVIA

This save button commits all the modifications done in the BOM configuration object to ENOVIA. The save

button brings up a dialog which shows all the BOM configuration objects which have been modified. The user

needs to select the configuration object by selecting the corresponding checkbox and click Ok button to save the

changes in ENOVIA.

Figure 44 Create New: Save

Page 55: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 55

Component Data Management

This chapter describes the data preparation layer of the Component Data Management and provides an overview

of how the layer works and how it can be configured. Regular Expressions gives a brief overview of the regular

expressions used with the data mapping layer.

Data Migration Migration of the old data to the new format will not be done by the integration. The old data is the data created

using the older version of the integration. The integration throws an error that the migration routine is not found,

if the user tries to use a library which has old meta data. If the Library Project contains old data which needs to

be migrated to the new format the user needs to manually delete the old data in order to be used in the

integration.

Data Mapping Layer The Data Mapping Layer provides all necessary functionality to convert ENOVIA parts information to ECAD

parts information and vice versa.

The Data Mapping Layer is configured by a mapping XML file which contains instructions (rules/tests and

definitions/operations) for the part manipulation. The instructions will be applied on the part which is passed

from the source into the mapping layer. After applying all instructions, the modified part is then passed over to

the target for further processing. It is important to mention that the output part is by default the same than the

input part. Only manipulations of part data will occur.

The tests and operations are described in the subsequent sections of this chapter.

The data mapping layer is configured with the use of configuration files. A configuration is structured in a XML

file which consists of instructions and which can import further files with instructions. The format of the

configuration is defined in a XSD file (XML-Schema).

CDM Setup Wizard Settings Files Once the user finished the CDM Setup Wizard task, two XML files are created in the .enoviastore under the

Library project directory as shown in Figure 45. There is a dedicated XML file for all the pre-selections made

and another which stores the path of the mapping file and other CDM setup. The settings made here are used

when the user runs the CDM task. The integration loads all the settings automatically from the XML files into

the CDM synchronization dialog. The user has to run the CDM Setup Wizard task to run the CDM Task and the

background synchronization process.

Important note: The user needs to manually delete the contents of “.enoviastore“shown in

Fehler! Verweisquelle konnte nicht gefunden werden.Figure 45 present in the

library project directory.

Page 56: ENOVIA Collaborative Design for Mentor Graphics Expedition

56 ENOVIA Collaborative Design – Administrator’s Guide

Figure 45 Library Project Directory

.enoviastore

Library Project Directory

~CDMSetup.ped

~CDM_Preselection_EDA_test.ped

~CDM_Preselection_PARTLIBRARY_test.ped

~CDM_Preselection_EDA_test.ped

Page 57: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 57

General Structure of the XML Configuration Following is small example of an XML mapping configuration. The complete structure is defined in the XSD

schema (see Appendix CDM Data Mapping Layer XSD Schema).

<?xml version="1.0" encoding="UTF-8"?>

<pemapping version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="../mapping-schema.xsd">

<test>

<operation></operation>

</test>

<operation></operation>

</pemapping>

An example of a detail XML configuration mapping can be found in appendix CDM Mapping Configuration

Example.

Page 58: ENOVIA Collaborative Design for Mentor Graphics Expedition

58 ENOVIA Collaborative Design – Administrator’s Guide

Regular Expressions Regular expressions are a way to describe a set of strings based on common characteristics shared by each string

in the set. They can be used to search, edit, or manipulate text and data. The Regular Expressions syntax

supported is the JAVA Regular expression syntax.

The integration will also support the concept of Capturing groups; in fact this is one of the essential elements of

the regular expression support. Capturing groups are a way to treat multiple characters as a single unit. They are

created by placing the characters to be grouped inside a set of parentheses. For example, the regular expression

(dog) creates a single group containing the letters "d" "o" and "g". The portion of the input string that matches

More information can be found in appendix Regular Expressions.

Page 59: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 59

Processing Instructions This instructions control the workflow of the Data Preparation Layer.

pemappings

import

general Syntax <pemapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="mapping-schema.xsd "

version="1.0">

<import name="unique name of the import to reference it as a namespace"

path="the path of the imported file" />

</pemapping>

description Defines an import of a configuration XML file. The imported and importing file must be of the same version.

used by pemappings

attributes Name Type Use Default Annotation

name xs:string required The name of the import used to address the regular

expression references. The references in the imported file

can then be addressed with the syntax:

general Syntax <pemapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="path to the XSD file "

version="mapping engine version number">

child instructions

</pemapping>

description The root node of the configuration. This is the start node. It contains the version of the mapping file. The

current version of the mapping files is 1.0.

children import, namespace

attributes Name Type Use Default Annotation

version xs:string required The version of the configuration

examples

<!-- the root structure of the configuration the mapping-schema.xsd can be

found

in <ENOVIA_home>/data/mapping-schema.xsd

-->

<pemapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="mapping-schema.xsd"

version="1.0"> ...child instructions...

</pemapping>

<!-- the root structure of the configuration the mapping-schema.xsd can be

found

on local system in file C:/mapping-schema.xsd

-->

<pemapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="file:///C:/mapping-schema.xsd"

version="1.0"> …child instructions…

</pemapping>

Page 60: ENOVIA Collaborative Design for Mentor Graphics Expedition

60 ENOVIA Collaborative Design – Administrator’s Guide

importnName::referenceName

e.g.

Allowed character set: [p{Alnum}\_\-] = [a-z A-Z 0-9 _ -]

path xs:string required The path of the file to import. The path can be absolute or relative to the path of the importing file.

examples <!-- imports the file import1.xml from the same directory as the current file,

(relative path) -->

<pemapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="mapping-schema.xsd "

version="1.0">

<import name="import1" path="import1.xml" />

</pemapping>

<!-- imports the file import1.xml from given path

(absolute path) -->

<pemapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="mapping-schema.xsd "

version="1.0">

<import name="import1" path="C:/configurations/import1.xml"/>

</pemapping>

namespace

general syntax <pemapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="mapping-schema.xsd "

version="1.0">

<namespace/>

</pemapping>

description Defines a namespace of the configuration.

used by pemappings

children define, useref, alternatives, break, ignore, commit, test, attribute, specialAttribute, attributeExists,

class, group, type, duplicate, add, modify, set, remove, concatAttribute

examples <pemapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="mapping-schema.xsd "

version="1.0">

<!-- default namespace -->

<namespace>

child instructions

</namespace>

</pemapping>

define

general syntax <define id="a unique define id within the namespace"> …child instructions…

</define>

description Defines a block which can be reused. The define block contains a set of instructions which can be reused.

The instruction useref references a define block.

Page 61: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 61

used by namespace, define, useref, alternatives, test, attribute, specialAttribute, attributeExists, class,

group, type, duplicate

children define, useref, alternatives, break, ignore, commit, test, attribute, specialAttribute, attributeExists,

class, group, type, duplicate, add, modify, set, remove, concatAttribute

attributes Name Type Use Default Annotation

id xs:string required The id of the define block to use to reference the block.

Allowed character set: [p{Alnum}\_\-] = [a-z A-Z 0-9 _ -]

examples <pemapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="mapping-schema.xsd "

version="1.0">

<import name="import1" path="import1.xml" />

<namespace>

<!-- define block can be referenced within its namespace -->

<define id="internal_define_block"> …child instructions…

</define>

<!-- references a define block within this mapping -->

<useref refid="internal_define_block" />

<!-- references a define block from an external mapping which is

imported in the current mapping(import1.xml) -->

<useref refid="import1::external_define_block" />

</namespace>

</pemapping>

useref

general syntax <useref refid="referenced id" />

description References a define block.

used by namespace, define, useref, alternatives, test, attribute, specialAttribute, attributeExists, class, group,

type, duplicate

attributes Name Type Use Default Annotation

refid xs:string required The id of the define block to use. To reference blocks

inside an imported configuration, use the following

syntax:

importedName::defineBlockName

example <!-- references a reference inside the current mapping -->

<useref refid="define1" />

<!-- references a define block from an external mapping which is

imported in the current mapping(imported1) -->

<useref refid="imported1::define1" />

<!-- here the current configuration imports imported1 which imports

imported2. The reference references define1 inside imported2 -->

<useref refid="imported1::imported2::define1" />

Page 62: ENOVIA Collaborative Design for Mentor Graphics Expedition

62 ENOVIA Collaborative Design – Administrator’s Guide

alternatives

general syntax <alternatives>

child instructions

</alternatives>

description The alternatives statement is like an if-else operation. When the first child instruction in the alternatives

statement returns true, than the next child instruction is not executed and the alternatives statement is

exited. If the first child instruction returns false, than the next child instruction will be executed.

Please note that only alternatives and test statements can return false. Other instructions or operations will

always return true.

used by namespace, define, useref, alternatives, test, attribute, specialAttribute, attributeExists, class,

group, type, duplicate

children define, useref, alternatives, break, ignore, commit, test, attribute, specialAttribute, attributeExists,

class, group, type, duplicate, add, modify, set, remove, concatAttribute

examples <!-- the execution here is as follows:

1. if attribute SYMBOL exist, add attribute SUB_SYMBOL with value 1 and

return true and exit alternatives

2. if attribute SYMBOL does not exist, it returns false and proceed to the

next child instruction where an attribute SYMBOL with value 1 is added

and exit alternatives -->

<alternatives>

<test type="attribute" name="SYMBOL">

<add target="attribute" name="SUB_SYMBOL value="1"/> </test>

<add target="attribute" name="SYMBOL" value="1"/> </alternatives>

break

general syntax <break />

description Breaks the execution. If used within duplicate continues with the siblings of the parent duplicate. Else

breaking the execution of the component and returning the component with the current modifications.

used by namespace, define, useref, alternatives, test, attribute, specialAttribute, attributeExists, class,

group, type, duplicate

examples <pemapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="mapping-schema.xsd "

version="1.0">

<namespace>

<duplicate>

<useref refid="define1" />

<useref refid="define2" />

<test type="attribute" name="SYMBOL">

<test type="attribute" name="SUB_SYMBOL"> <!-- breaks execution of duplicate, writes the duplicate and

exits duplicate (add of SUB_SYMBOL will not be executed) -->

<break /> </test>

<add name="SUB_SYMBOL"> </test>

<add name="SYMBOL"> </duplicate>

<!-- breaks execution of the current component -->

<test type="attribute" name="SYMBOL"> <break /> </test>

</namespace>

</pemapping>

Page 63: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 63

ignore

general syntax <ignore />

description Ignore, does not add the current component and breaks the execution.

used by namespace, define, useref, alternatives, test, attribute, specialAttribute, attributeExists, class,

group, type, duplicate

examples <!-- ignores the operand (breaks the complete execution and removes the current

operand from the result if the attribute SYMBOL exists -->

<test type="attribute" name="SYMBOL"> <ignore /> </test>

commit

general syntax <commit />

description Commits the copy of the component with the current state to the list of the duplicated components and

continues execution of the descendant instructions.

used by namespace, define, useref, alternatives, test, attribute, specialAttribute, attributeExists, class,

group, type, duplicate

examples <!-- commits a copy of the operand to the duplicate list and continues with the

operand if the attribute SYMBOL exists -->

<test type="attribute" name="SYMBOL"> <commit /> </test>

Page 64: ENOVIA Collaborative Design for Mentor Graphics Expedition

64 ENOVIA Collaborative Design – Administrator’s Guide

Test Instructions The Test instruction is a special statement which is used to execute tests on a specific component. If the test

matches the condition, the return value is set to true, otherwise to false. If the test returns true all child/nested

instructions of it will be executed.

All following tests are aliases (shortcuts) for the test instruction.

Type Full Instructions Alias Instructions attribute <test type="attribute" name="SYMBOL" /> <attribute name="SYMBOL" /> specialAttribute <test type="specialAttribute"

name="part.number"

value="123" />

<specialAttribute

name="part.number"

value="123" /> class <test type="class" name="MY_CLASS" /> <class name="MY_CLASS" /> type <test type="type" name="MY_TYPE" /> <type name="MY_TYPE" />

group <test type="group" name="MY_GROUP" /> <group name="MY_GROUP" />

Table 1: Aliase instructions for test instruction

test

general syntax <test type="typename" name="regexp" [value="regexp" regexpid="id_name"] />

description Is used to execute tests on a specific component. If the test matches the condition, the return value is set to

true, otherwise to false.

used by namespace, define, useref, alternatives, test, attribute, specialAttribute, attributeExists, class,

group, type, duplicate

children define, useref, alternatives, break, ignore, commit, test, attribute, specialAttribute, attributeExists,

class, group, type, duplicate, add, modify, set, remove, concatAttribute

attributes Name Type Use Default Annotation

type xs:string required Defines the type on which the test is executed.

Valid values are:

attribute (same behavior as described in 0)

specialAttribute (same behavior as described in 0)

class (same behavior as described in 0)

group (same behavior as described in 0)

type (same behavior as described in 0)

Alternatively the test aliases mentioned above can be

used.

name xs:string required Defines the name of ‘type’.

The value can be either a string or any Regular

Expression.

value xs:string optional Defines the value of ‘name’.

The value can be either a string or any Regular

Expression reference. If the optional attribute value is

omitted, then the test will basically just execute an

existence check. If the value attribute is defined, then

the test result is true if the value matches the pattern.

regexpid xs:string optional Defines the unique id within the namespace to reference the test using regular expressions. Using the regular expression, the reference of the regexpid can

Page 65: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 65

be divided into matching groups e.g. “(g_1)(g_2)(g_n)”. If the regular expression of an attribute name or value is set to “(test_)([0-9]) the first matching group is “test_” and the second matching group is “[0-9]”. If only one matching group exist i.e. “test_([0-9])”, then the first matching group is “[0-9]”.

To get the value of any matching group it is necessary to know if the value should come from the attribute name or from the attribute value:

MyRegexpid.name[1] returns the value of the first matching group from the attribute name.

MyRegexpid.value[2] returns the value of the second matching group from the attribute value.

The matching group [0] returns the complete value. For detailed information please see examples.

Allowed character set: [p{Alnum}\_\-] = [a-z A-Z 0-9 _ -].

invert xs:boolean optional false Inverts the behavior of the test. If set to true and the criteria do not match the child instructions will be executed.

examples <!--tests the given class if the value equals AC, this is equivalent to a

simple existence check -->

<test type="class" value="AC" />

<!--tests the given class if the name starts with AC by using a regular

expression -->

<test type="class" value="AC.*" />

<!--tests the given attribute if the name starts with SYMBOL_ by using a

regular expression-->

<test type="attribute" name="SYMBOL_(.*)" > <!-- add instructions here, if the name of the attribute starts with

"SYMBOL_" then the instructions included here are executed-->

</test>

<!-- tests if an attribute exist where the name starts with "SYMBOL_" by using

a regular expression SYMBOL_(.*) and the value starts with "4". If this is

the case, it executes all child instructions in this test statement.

The regexpid for the backreference is also configured which can be used in

the child instructions to get the values of the attributes-->

<test type="attribute" name="(SYMBOL_)(.*)" value="(4)(.*)"

regexpid="backreference1" >

<!-- tests if an attribute with the name SUB_SYMBOL exist and also the value

which contains the second matching group of the currently processed

attribute SYMBOL_(.*) by using the backreference and regular

expression.

Following attributes exists: SYMBOL_1=4711 and SUB_SYMBOL=1.

The mapping finds for e.g. the attribute with the name SYMBOL_1

and SUB_SYMBOL=1. Then all child instructions in this test statement

will be executed, because the second matching group of the regexpid

"backreference1.name[2]" returns the value 1. -->

<test type="attribute" name="SUB_SYMBOL" value="${backreference1.name[2]}">

<!-- value modification of an existing attribute with the name SYM.

Using the matching group [0] in this example the new value from the

attribute SYMBOL_1 is changed to 4711. " -->

<modify target="attribute.value" name="SYM"

value="${backreference1.value[0]}" /> </test>

</test>

Page 66: ENOVIA Collaborative Design for Mentor Graphics Expedition

66 ENOVIA Collaborative Design – Administrator’s Guide

Alias Instructions

attribute

general syntax <attribute name="regexp" [value="regexp" regexpid="id_name"] />

description Tests if an attribute exists. The optional value defined matches if the attribute has the given value. For each

positive matching attribute all child instructions of the node will be executed. This test is an alias instruction

for test.

used by namespace, define, useref, alternatives, test, attribute, specialAttribute, attributeExists, class,

group, type, duplicate

children define, useref, alternatives, break, ignore, commit, test, attribute, specialAttribute, attributeExists,

class, group, type, duplicate, add, modify, set, remove, concatAttribute

attributes Name Type Use Default Annotation

name xs:string required Defines the name of attribute.

It can be either a string or any Regular Expression.

value xs:string optional Defines the value of ‘name’. The value can be either a string or any Regular Expression reference. If the optional attribute value is omitted, then the test will basically just execute an existence check. If the value attribute is defined, then the test is successful if the value matches the pattern.

regexpid xs:string optional Defines the unique id within the namespace to reference the test using regular expressions. For detailed description and examples see test

Allowed character set: [p{Alnum}\_\-] = [a-z A-Z 0-9 _ -]

invert xs:boolean optional false Inverts the behavior of the test. If set to true and the criteria do not match the child instructions will be executed.

examples

<!-- tests the given attribute if the name starts with SYMBOL_ by using a

regular expression-->

<attribute name="SYMBOL_(.*)" />

<!-- tests the given attribute if the name starts with SYMBOL_ by using a

regular expression and if its value starts with SYM -->

<attribute name="SYMBOL_(.*)" value="SYM(.*)/>

specialAttribute Special attributes are attributes used by the source and target plug-ins and define the processing of the

component. Table 3: Available special attributes lists the available special attributes and the impact of them.

All following tests are aliases (shortcuts) for the test instruction.

Type Full Statement Alias Statement class <test type="specialAttribute" name="class.name"

value="MY_CLASS" /> <class name="MY_CLASS" />

type <test type="specialAttribute" name="type.name"

value="MY_TYPE" /> <type name="MY_TYPE" />

group <test type="specialAttribute" name="group.name"

value="MY_GROUP" /> <group name="MY_GROUP" />

Table 2: Alias instructions for specialAttribute instruction

Page 67: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 67

Available special attributes.

Name Description class.name Contains the name of the class of the part

type.name Contains the name of the type of the part (not used currently)

group.name Contains the name of the group of the part (not used currently)

part.number Contains the part number of the part

part.delete This attribute marks the part to be deleted if value=”true”. (only applicable to delete parts on the EDA side) In the preferences of the integration the user can set to used it or not. If this setting is not used local parts are updated and parts which do not exist are created. Otherwise local parts are deleted how it is configured in the mapping configuration.

Table 3: Available special attributes

general syntax <specialAttribute name="regexp" [value="regexp" regexpid="my_id"] />

description Tests if a special attribute exists. The optional value defined matches if the attribute has the given value. For

each positive matching special attribute all child instructions of the node will be executed. This test is an

alias instruction for test.

used by namespace, define, useref, alternatives, test, attribute, specialAttribute, attributeExists, class,

group, type, duplicate

children define, useref, alternatives, break, ignore, commit, test, attribute, specialAttribute, attributeExists,

class, group, type, duplicate, add, modify, set, remove, concatAttribute

attributes Name Type Use Default Annotation

name xs:string required Defines the name of attribute. It can be either

a string or any Regular Expression.

value xs:string optional Defines the value of ‘name’.

The value can be either a string or any

Regular Expression reference. If the

optional attribute value is omitted, then the test will basically just execute an existence check. If the value attribute is defined, then the test is successful if the value matches the pattern.

regexpid xs:string optional Defines the unique id within the namespace to reference the test using regular expressions. For detailed description and examples see test

Allowed character set: [p{Alnum}\_\-] = [a-z A-Z 0-9 _ -]

invert xs:boolean optional false Inverts the behavior of the test. If set to true and the criteria do not match the child instructions will be executed.

examples

<!-- tests if a special attribute class.name with value AC exists.

If exist execute the client instructions -->

<specialAttribute name="class.name" value="AC"> …client instructions…

</specialAttributettribute>

<!-- tests if a special attribute class.name exist and the value

starts of the the class.name with SYM. If exist execute

the client instructions-->

<specialAttributettribute name="class.name" value="SYM(.*)"> …client instructions…

</specialAttributettribute>

<!-- tests if a special attribute part.number ant with value 123 exist.

If exist execute the client instructions -->

<specialAttributettribute name="part.number" value="123">

Page 68: ENOVIA Collaborative Design for Mentor Graphics Expedition

68 ENOVIA Collaborative Design – Administrator’s Guide

…client instructions…

</specialAttributettribute>

<!-- tests if a special attribute part.delete with the value true exist.

If exist execute the client instructions -->

<specialAttributettribute name="part.delete" value="true"> …client instructions…

</specialAttributettribute>

attributeExists

general syntax <attributeExists name="regexp" [value="regexp" regexpid="id_name"] />

description Tests if an attribute exists. The optional value defined matches if the attribute has the given value. When

found first matching attribute all child instructions of the node will be executed (no further test if more than

one matches available and no further execution of the child instruction for further matches). This test is an

alias instruction for test.

used by namespace, define, useref, alternatives, test, attribute, specialAttribute, attributeExists, class,

group, type, duplicate

children define, useref, alternatives, break, ignore, commit, test, attribute, specialAttribute,

attributeExists, class, group, type, duplicate, add, modify, set, remove, concatAttribute

attributes Name Type Use Default Annotation

name xs:string required Defines the name of attribute.

It can be either a string or any Regular Expression.

value xs:string optional Defines the value of ‘name’. The value can be either a string or any Regular Expression reference. If the optional attribute value is omitted, then the test will basically just execute an existence check. If the value attribute is defined, then the test is successful if the value matches the pattern.

regexpid xs:string optional Defines the unique id within the namespace to reference the test using regular expressions. For detailed description and examples see test

Allowed character set: [p{Alnum}\_\-] = [a-z A-Z 0-9 _ -]

invert xs:boolean optional false Inverts the behavior of the test. If set to true and the criteria do not match the child instructions will be executed.

examples

<!-- tests if at least one attributes name starts with SYMBOL_ by using a

regular expression-->

<attributeExists name="SYMBOL_(.*)" />

<!-- tests if at least one attributes name is starting with SYMBOL_ by using a

regular expression and if its value starts with SYM exists -->

<attributeExists name="SYMBOL_(.*)" value="SYM(.*)/>

class

general syntax <class [value="regexp" regexpid="my_id"] />

description Test the class name of the component. This test is an alias instruction for test which is an alias instruction

for specialAttribute.

used by namespace, define, useref, alternatives, test, attribute, specialAttribute, attributeExists, class,

Page 69: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 69

group, type, duplicate

children define, useref, alternatives, break, ignore, commit, test, attribute, specialAttribute,

attributeExists, class, group, type, duplicate, add, modify, set, remove, concatAttribute

attributes Name Type Use Default Annotation

value xs:string optional It can be either a string or any Regular

Expression reference. If the optional attribute

value is omitted, then the test will basically just execute an existence check. If the value attribute is defined, then the test is successful if the value matches the pattern.

regexpid xs:string optional Defines the unique id within of the namespace to reference the test using regular expressions. For detailed description and examples see also test

Allowed character set: [p{Alnum}\_\-] = [a-z A-Z 0-9 _ -]

invert xs:boolean optional false Inverts the behavior of the test. If set to true and the criteria do not match the child instructions will be executed.

examples

<!-- tests if a special attribute class.name exists / is defined -->

<class />

<!-- tests if class name equals AC -->

<class value=" AC" />

<!-- tests if class name starts with AC -->

<class value="AC(.*)" />

group

General syntax <group[ value="regexp" regexpid="my_id"] />

description Test on the group name of the component. This test is an alias instruction for test and This test is an alias

instruction for specialAttribute.

used by namespace, define, useref, alternatives, test, attribute, specialAttribute, attributeExists, class,

group, type, duplicate

children define, useref, alternatives, break, ignore, commit, test, attribute, specialAttribute, attributeExists,

class, group, type, duplicate, add, modify, set, remove, concatAttribute

attributes Name Type Use Default Annotation

value xs:string optional Defines the value of ‘name’.

It can be either a string or any Regular Expression

reference. If the optional attribute value is omitted,

then the test will basically just execute an existence check. If the value attribute is defined, then the test is successful if the value matches the pattern.

regexpid xs:string optional Defines the unique id within of the namespace to reference the test using regular expressions. For detailed description and examples see also test

Allowed character set:

Page 70: ENOVIA Collaborative Design for Mentor Graphics Expedition

70 ENOVIA Collaborative Design – Administrator’s Guide

[p{Alnum}\_\-] = [a-z A-Z 0-9 _ -]

invert xs:boolean optional false Inverts the behavior of the test. If set to true and the criteria do not match the child instructions will be executed.

examples

<!-- tests if a special attribute group.name exists / is defined-->

<group />

<!-- tests if group name equals AC -->

<group value=" AC" />

<!-- tests if class name starts with AC-->

<group value="AC(.*)" />

type

general syntax <type [value="regexp" regexpid="my_id"] />

description Test on the type name of the component. This test is an alias instruction for test and This test is an alias

instruction for specialAttribute.

used by namespace, define, useref, alternatives, test, attribute, specialAttribute, attributeExists, class, group,

type, duplicate

children define, useref, alternatives, break, ignore, commit, test, attribute, specialAttribute, attributeExists,

class, group, type, duplicate, add, modify, set, remove, concatAttribute

attributes Name Type Use Default Annotation

value xs:string optional Defines the value of ‘name’.

The value can be either a string or any Regular

Expression reference. If the optional attribute value is

omitted, then the test will basically just execute an existence check. If the value attribute is defined, then the test is successful if the value matches the pattern.

regexpid xs:string optional Defines the unique id within of the namespace to reference the test using regular expressions. For detailed description and examples see also test

Allowed character set: [p{Alnum}\_\-] = [a-z A-Z 0-9 _ -]

invert xs:boolean optional false Inverts the behavior of the test. If set to true and the criteria do not match the child instructions will be executed.

examples

<!-- tests if a special attribute type.name exists / is defined -->

<type />

<!-- tests if type name equals AC -->

<type value=" AC" />

<!-- tests if type name starts with AC -->

<type value="AC(.*)" />

Page 71: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 71

Operations

duplicate

general syntax <duplicate>

…child instructions…

<duplicate>

description Duplicates the component and executes the instructions on it. Adds the duplicate to the list of the duplicated

components before exiting the element.

used by namespace, define, useref, alternatives, test, attribute, specialAttribute, attributeExists, class, group,

type, duplicate

children define, useref, alternatives, break, ignore, commit, test, attribute, specialAttribute, attributeExists,

class, group, type, duplicate, add, modify, set, remove, concatAttribute

examples <!-- duplicates the component and add attribute A1 with a value V1-->

<duplicate>

<add target="attribute" name="A1" value="V1" /> </duplicate>

add

general syntax <add target="attribute" name="regexp" [value="regexp"] />

description Adds a new attribute with given value to the component. The value is optional, if not defined it will be set to

“null”. The attribute is only added if it not exists. Else add will be silently omitted.

used by namespace, define, useref, alternatives, test, attribute, specialAttribute, attributeExists, class, group,

type, duplicate

attributes Name Type Use Default Annotation

target xs:string required The target defining the type of the operation to execute.

Valid values are:

attribute: defines to add an attribute.

name xs:string required Defines the new name of the target. The value can be either a string or any Regular Expression reference.

value xs:string optional null Defines the new value of the target. The value can be either a string or any Regular Expression reference. Defaults to null if omitted.

examples <!-- adds a new attribute named SYMBOL and set its value to 1234 -->

<add target="attribute" name="SYMBOL" value="1234" />

modify

general syntax <modify target="targetname" [name="regexp"] value="regexp" />

description Modifies a name or value of the given target. The target can be a special attribute value, an attribute or an

attribute value.

used by namespace, define, useref, alternatives, test, attribute, specialAttribute, attributeExists, class, group,

type, duplicate

Page 72: ENOVIA Collaborative Design for Mentor Graphics Expedition

72 ENOVIA Collaborative Design – Administrator’s Guide

attributes Name Type Use Default Annotation

target xs:string required The target on which the type of the operation is executed. Valid values are.

Defines an attribute type.

attribute.name: selector representing the name of an attribute,

attribute.value: selector representing the value of an attribute

class : represents a class

class.name: selector representing the name of a class, meaning the class itself

part.number: selector representing the part number of the component

part.delete: selector marking the part to be deleted. (boolean value=”true”)

type: not used currently

group : not used currently

value xs:string required Attribute defining the new value of the target selector. The value can be either a string or any Regular Expression reference.

name xs:string required Attribute defining the name of the target itself. The value can be either a string or any Regular Expression. Optional for class.

examples <!-- modification of an existing attribute named SYMBOL by renaming it to

COMP_PROPERTY (the name of the attribute is required)-->

<modify target="attribute.name" name=" SYMBOL" value=" COMP_PROPERTY " />

<!-- modification of an existing attribute named SYMBOL by changing its value to

COMP_PROPERTY (the name attribute is here required)-->

<modify target="attribute.value" name="SYMBOL" value=" COMP_PROPERTY " />

<!-- modification of the current class by renaming it to AC -->

<modify target="class.name" value=" AC" />

<!-- modification of the class named RESISTOR by renaming it to AC. If no name

is specified any class will be renamed to AC when this instruction will be

executed -->

<modify target="class.name" name="Resistor" value=" AC" />

<!-- modification of the class named RESISTOR by renaming it to AC using a class

test -->

<class name=" Resistor" /> <!--modification of the current class by renaming it to AC ?

<modify target= class.name value= AC /> -->

<class />

<!-- modification of special attribute part.number to the value 123-->

<modify target="part.number" value="123" />

<!-- modification of special attribute part.delete to value true -->

<modify target="part.delete" value="true" />

set

general syntax <set target="targetname" name="regexp" value="regexp" />

description Sets an attribute to a value if exists, if not adds the attribute and sets the value then.

used by namespace, define, useref, alternatives, test, attribute, specialAttribute, attributeExists, class, group,

type, duplicate

attributes Name Type Use Default Annotation

Page 73: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 73

target xs:string required The target on which the type of the operation is executed.

Valid values are:

attribute: defines an attribute type

name xs:string required Defines the new name of the target. The value can be either a string or any Regular Expression.

value xs:string required Defines the new value of the target. The value can be either a string or any Regular Expression.

examples <!-- sets a new attribute named SYMBOL with value 1234 if it does not exist

else the value of the attribute is changed to the specified one -->

<set target="attribute" name="SYMBOL" value="1234" />

setSpecialAttribute

general syntax <set name="regexp" value="regexp" />

description Sets a special attribute to a value if exists, if not adds the special attribute and sets the value then.

used by namespace, define, useref, alternatives, test, attribute, specialAttribute, attributeExists, class, group,

type, duplicate

attributes Name Type Use Default Annotation

name xs:string required Defines the new name of the target. The value can be either

a string or any Regular Expression.

value xs:string required Defines the new value of the target. The value can be either a string or any Regular Expression.

examples <!-- sets a new attribute named SYMBOL with value 1234 if it does not exist

else the value of the attribute is changed to the specified one -->

<setSpecialAttrbute name=" part.interface.name" value="Interface Name" />

remove

general syntax <remove target="targetname" name="regexp"/>

description Removes an attribute from the attribute list.

used by namespace, define, useref, alternatives, test, attribute, specialAttribute, attributeExists, class, group,

type, duplicate

attributes Name Type Use Default Annotation

target xs:string required The target on which the type of operation is executed.

Valid values are:

attribute: defines an attribute type

name xs:string required The name of the ‘target’ to remove.

examples <!-- removes the attribute named SYMBOL -->

<remove target="attribute" name="SYMBOL" />

removeSpecialAttribute

general syntax <removeSpecialAttribute target="targetname" name="regexp"/>

description Removes an special attribute from the special attribute list.

Page 74: ENOVIA Collaborative Design for Mentor Graphics Expedition

74 ENOVIA Collaborative Design – Administrator’s Guide

used by namespace, define, useref, alternatives, test, attribute, specialAttribute, attributeExists, class, group,

type, duplicate

attributes Name Type Use Default Annotation

target xs:string required The target on which the type of operation is executed.

Valid values are:

attribute: defines an attribute type

name xs:string required The name of the ‘target’ to remove.

examples <!-- removes the special attribute named part.interface.name -->

<removeSpecialAttribute target="attribute" name="part.interface.name" />

concatAttribute

general syntax <concatAttribute target="targetname" name="regexp"

value="attributelist" separator="separatorstring"

[maxLengt="maxlength"

defaultValueForNotExistent="attributelist"] />

description Sets an attribute value created from values of the attributes in the attributeList separated by the given

separator. Each attribute has to be surrounded by a single quote ('). If maximum length defined, the value will

be cropped to the maxLength. If an attribute from the list does not exist the defaultValueForNotExistent

will be used. If the defaultValueForNotExistent is not defined, the not found attribute will be ignored (also

the separator will be not added).

used by namespace, define, useref, alternatives, test, attribute, specialAttribute, attributeExists, class, group,

type, duplicate

attributes Name Type Use Default Annotation

target xs:string required

The target on which the type of operation is executed.

Valid values are:

attribute: defines an attribute type

name xs:string required

The name of the target to set. The value can be either a string or any Regular Expression.

value xs:string required

List of attribute names (each in single quotes (‘) to be concatenated.

separator xs:string required

The string to use to separate the entries of the value.

maxLength xs:nonNegativeInteger optional

The maximum length of the value. If the concatenated (inclusive separators) is longer than the max value it will be cut to maximum length.

defaultValu

eForNotExi

stent

xs:string optional

This value will be used if an attribute from the attribute list does not exists in the component. If not set those attributes will be ignored (inclusive separator).

examples <!-- concatenates the attributes PART_NAME and VALUE separated by | to value of

the DESCRIPTION attribute. If the concatenated value has more than 20 it

will be croped to 20 characters. If for e.g. no VALUE attribute exists a

? will be used instead.

- PART_NAME=res, VALUE=100 -> DESCRIPTION=res|100

Page 75: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 75

- PART_NAME=myNewPart, <no value attribute> -> DESCRIPTION=myNewPart|?

-->

<concatAttribute target="attribute"

name="DESCRIPTION"

value="PART_NAMEVALUE"

separator="|"

maxLength="10"

defaultValueForNotExistent="? />

Page 76: ENOVIA Collaborative Design for Mentor Graphics Expedition

76 ENOVIA Collaborative Design – Administrator’s Guide

Library Central Mapping Configuration The figure below shows the Part Famalies under ENOVIA Library.

Figure 46 Part Families in Library Central

Upload of Parts A part in the ECAD library can be mapped to the Part Family in ENOVIA using the following config.

<?xml version="1.0" encoding="UTF-8"?>

<pemapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="mapping-schema.xsd"

version="1.0"> <namespace>

<modify value="description" name="DESCR" target="attribute.name"/>

<class value="ECAD_IC">

<removeSpecialAttribute target="attribute" name="class.name"/>

<setSpecialAttribute value="ASIC" name="part.interface.name"/> </class>

</namespace>

</pemapping>

In the above config, all parts coming from the ECAD library “ECAD_IC” will be upload to part families namely

“ASIC” in ENOVIA.

Download of Parts A part in ENOVIA which is storted in a Part Family can be mapped to ECAD Library using the following

config.

<?xml version="1.0" encoding="UTF-8"?>

<pemapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="mapping-schema.xsd" version="1.0">

<namespace>

<modify name="ECADVALUE" value="VALUE" target="attribute.name" />

<modify name="description" value="DESCR" target="attribute.name" />

<specialAttribute value="DIODE" name="part.interface.name">

<modify value="ECAD_DIODE1" target="class.name" /> </specialAttribute>

</namespace>

</pemapping>

In the above config, all parts coming from the ENOVIA Part Family “DIODE” will be download to ECAD

libraries namely “ECAD_DIODE1”.

Page 77: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 77

Multiclassification The user can use Library Central configuration to multiclasify the parts. The multiclassification is supported

during upload of parts from ECAD libray to ENOVIA and vice versa.

Upload of Parts A part from ECAD Library can be classified into more than one part family in ENOVIA. This can be done using

the following example config.

Example 1

<?xml version="1.0" encoding="UTF-8"?>

<pemapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="mapping-schema.xsd"

version="1.0"> <namespace>

<modify value="description" name="DESCR" target="attribute.name"/>

<class value="ECAD_IC">

<removeSpecialAttribute target="attribute" name="class.name"/>

<setSpecialAttribute value="ASIC|DIODE" name="part.interface.name"/> </class>

</namespace>

</pemapping>

In the above config, all parts coming from the ECAD library “ECAD_IC” will be multiclassified into two part

families namely “ASIC and DIODE” in ENOVIA.

Example 2

<?xml version="1.0" encoding="UTF-8"?>

<pemapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="mapping-schema.xsd"

version="1.0">

<namespace>

<class value="als">

<modify value="Part" target="class.name"/>

<removeSpecialAttribute target="attribute" name="class.name"/>

<setSpecialAttribute value="ALS|ALS TEST" name="part.interface.name"/>

<attribute name="SymCount" value="1">

<specialAttribute name="part.interface.name" value="(ALS)([|])(ALS.*)"

regexpid="v">

<setSpecialAttribute value="${v.value[0]}|C" name="part.interface.name"/>

</specialAttribute>

</attribute>

</class>

<modify value="Part Name" name="Part_Name" target="attribute.name"/>

<modify value="Path" name="Path" target="attribute.name"/>

<modify value="Tkl" name="Tkl" target="attribute.name"/>

<modify value="Symbol" name="SymCount" target="attribute.name"/>

</namespace>

</pemapping>

In the above config, all parts coming from the ECAD library “als” will be multiclassified into two part families

namely “ALS and ALS TEST” in ENOVIA. Later an attribute check is performed. If the attribute “SymCount”

with value “1” exists then we also append parts to the ENOVIA part family “C”. Hence the parts are

multiclassified into three part families in ENOVIA.

Page 78: ENOVIA Collaborative Design for Mentor Graphics Expedition

78 ENOVIA Collaborative Design – Administrator’s Guide

Download of Parts A part from ENOVIA can be classified into more than one ECAD Library. This can be done using the following

example config.

<?xml version="1.0" encoding="UTF-8"?>

<pemapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="mapping-schema.xsd" version="1.0">

<namespace>

<modify name="ECADVALUE" value="VALUE" target="attribute.name" />

<modify name="description" value="DESCR" target="attribute.name" />

<specialAttribute value="DIODE" name="part.interface.name">

<modify value="ECAD_DIODE1" target="class.name" /> </specialAttribute>

<duplicate>

<specialAttribute value="DIODE" name="part.interface.name">

<modify value="ECAD_DIODE2" target="class.name" /> </specialAttribute>

</duplicate>

</namespace>

</pemapping>

In the above config, all parts coming from the ENOVIA Part Family “DIODE” will be multiclassified into two

ECAD libraries namely “ECAD_DIODE1 and ECAD_DIODE2..

Page 79: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 79

Log configuration ENOVIA uses log4j for logging. The mapping layer uses a log4j XML file to configure its logging. Per default

settings of the application are used for Component Data Management (CDM) logging. The file configuring the

logging for the CDM can be found in <ENOVIA_home>/data/CDM.log4jxml

The sample configuration bellow, defines a file appender “CDM_APPENDER” which writes the log into a file

(named CDM.log, located in the ENOVIAs user home directory. There are also absolute and relative paths to

this directory possible). Only this appender will be handled in this specific way. The size of the file will be

maximum 1024 KB (this can be configured in parameter MaxFileSize within of appender). When the size is

reached, the file will be renamed to CDM.log1 and the CDM.log will be cleaned. If CDM.log1 already exists it

will be renamed to CDM.log2 and if this exists renamed to CDM.log3 first. The number of the backups can be

set in parameter MaxBackupIndex of the appender.

The mapping layer defines its own loggers.

The main logger is com.pe_gmbh.pdmappsuite.components.Configuration.

All other loggers inherit the settings and appenders of it per default, if nothing else specified.

The logger in the example uses log level INFO and logs in the file. The additivity of the logger is set to false

which means that the logger will not inherit the settings from the application, so the logging will only occur in

the defined file appender. When setting this option to true (which is the default setting) the log of mapping layer

would be also written to the application log.

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>

<!-- this appender is specially handled by the CDM feature -->

<appender name="CDM_APPENDER" class="org.apache.log4j.RollingFileAppender">

<!-- the size of the log file before truncated -->

<param name="MaxFileSize" value="1MB" />

<!-- the number of backup files where logs are moved to when the main file size reached-->

<param name="MaxBackupIndex" value="3" />

<!-- if to append to existing log or clean log before start logging -->

<param name="Append" value="false" />

<!-- the relative path of the file to log into. The file will be written relative

to the user home directory of the Framework.

If not specified CDM.log will be used. -->

<param name="file" value="CDM.log" />

<!-- defines the layout of the log entries -->

<layout class="com.pe_gmbh.log.ExtendedPatternLayout">

<param name="ConversionPattern"

value="[%-5p] %d{dd-MM-yyyy HH:mm:ss} [%-32.32c{3}] %m%n" />

<!-- The _file_ property (containing the location of the log file) still needs

programmatic configuration by application.

Leaving this off is only possible if the configurator does configure unattached

appenders, but without activating its options

(like the ExtendedDOMConfigurator does, in contrast to PropertyConfigurator or

DOMConfigurator).

-->

</layout>

</appender>

<!-- Sets the properties for the configuration logger of the CDM (all other logger e.g. of

the instructions use this settings, if nothing else configured for them)

If additivity true, the logger uses also logging settings of the ENOVIA, e.g.

logging into the ENOVIA log file. Else only own settings as the CDM_APPENDER are

used. -->

<logger name="com.pe_gmbh.pdmappsuite.components.Configuration" additivity="false">

<!-- defines the log level of the logger

(possible are off, error, warn, info, debug or trace ) -->

<level value="info"/>

</logger>

Each instruction in the mapping layer has its own logger.

Names the loggers of instructions:

Page 80: ENOVIA Collaborative Design for Mentor Graphics Expedition

80 ENOVIA Collaborative Design – Administrator’s Guide

- Test:

com.pe_gmbh.pdmappsuite.components.Configuration.Instructions.Test.<instructionname>

e.g. com.pe_gmbh.pdmappsuite.components.Configuration.Instructions.Test.class

- Processing Instructions, Operations (except pemapping):

com.pe_gmbh.pdmappsuite.components.Configuration.Instructions.Operation.<instructionname>

e.g. com.pe_gmbh.pdmappsuite.components.Configuration.Instructions.Operation.alternatives

e.g. com.pe_gmbh.pdmappsuite.components.Configuration.Instructions.Operation.modify

- pemapping:

com.pe_gmbh.pdmappsuite.components.Configuration.Instructions.pemapping

Please pay attention while configuring the log level "error" in the mapping configuration. If the log level is set to “error” and an error is found, an error dialog comes up and displays the configured error message. The mapping process is then blocked. Only when the user clicks the OK button continues the mapping process. The error dialog is also displayed in the background synchronization!

To get more information about Log4j please refer to:

http://logging.apache.org/log4j/ (Log4J homepage)

http://logging.apache.org/log4j/1.2/manual.html (The chapter Configuration contains more information how to

use property file to configure the logging.)

http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html (Documentation Pattern Layout

with the information how to define a pattern.)

Page 81: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 81

Background Synchronization

The Component Data Management can also be used as a background synchronization process. This is extremely

helpful when the ECAD library or the parts in ENOVIA should be synchronized on a frequent base without any

user interaction.

Typically such synchronization will be done once a day to make sure, that the latest changes go into the ECAD

Library or into ENOVIA.

The background process will connect to ENOVIA by the use of webservices. These webservices needs to be

enabled first in ENOVIA and in addition require some manual steps.

Background Synchronization Setup

The Background Synchronization Setup should be done in the UI mode, as it provides easy access to the settings.

To start the UI mode, simply launch the binary for setting up the Preferences for the Background

Synchronization.

It can be found in: $Integration_Installation_Directory/bin/ENOVIACDMSyncSetup

The Preferences will show up and will let you do all the required changes.

For the General Settings in the Preferences please refer to the User Manual for a detailed explanation.

Figure 47 ENOVIA Web Services Setup

Page 82: ENOVIA Collaborative Design for Mentor Graphics Expedition

82 ENOVIA Collaborative Design – Administrator’s Guide

Connection Settings Server Settings

Application Server - The host name and the port number of the application server

(e.g. http://server:8001/enovia).

enable debugging - This enables the ENOVIA debugging.

Language

- The language that the DEC engine uses to provide user messages

Charset - The charset the DEC engine uses

Override the system default

browser - The checkbox “Override the system default browser” overrides the systems

default browser (e.g. using Mozilla Firefox instead of Microsoft Internet

Explorer).

Browser Executable - The user can specify the browser executable for overriding the default system

browser

User Settings

User - Name of the ENOVIA user

Password - Password for ENOVIA user

Save Password - Save login password from user

AutoConnect - Enabling the AutoConnect check box will force the application to connect to the

plug-ins automatically when the application is started. The AutoConnect check

box is enabled only when the Save Password check box is checked

Important note: Enabling this AutoConnect Checkbox is recommended when the Background

Synchronization mode should be used. In this case, also a valid user and

password should be provided

Page 83: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 83

Background Synchronization Execution The background synchronization process itself is executed by running the “ENOVIACDMSync” and applying

additional parameters

The following parameters need to be passed over to the binary:

-proj $libraryproject$ This defined the library project to be used. The full qualified path to the

Library Manager Project File (.lmc) has to be provided

-task CDMBackground This is the task which executes the process

-mode enovia|eda This is the direction which is used:

- enovia: synchronizes the parts from ENOVIA to the ECAD Library

- eda: synchronizes the parts from the ECAD Library to ENOVIA

-edaselection $edaselection$ This is the name of the file which contains the predefined selection of eda

classes to be synchronized. Only state the name of the file.

If this argument is not passed, then automatically the last selection

(CDM_Preselection_EDA_lastSelection) is used

-pdmselection $pdmselection$ This is the name of the file which contains the predefined selection of

ENOVIA type classes to be synchronized. Only state the name of the file

If this argument is not passed, then automatically the last selection

(CDM_Preselection_PDM_lastSelection) is used

-task end This task is required to shut down the synchronization process at the end.

Example:

ENOVIACDMSync.exe –proj /designs/dxdatabook/library.lmc –task

CDMBackground –mode enovia –edaselection CDM_Preselection_EDA_ResOnly

–pdmselection CDM_Preselection_PDM_AllParts –task end

Publishing Web Services for Background Synchronization The Web Services used by the Background Synchronization needs to be published first.

To publish these web services, verify that the environment variables required to publish web services,

MX_SERVICE_PATH and MX_SERVICE_ADMIN, are set.

For details, see “Working with Web Services” in the Application Development Guide. After these

variables are set, run the following MQL commands with the application server running:

set context user creator;

compile prog com.pe_gmbh.bommanagement.CallerWS force update;

Page 84: ENOVIA Collaborative Design for Mentor Graphics Expedition

84 ENOVIA Collaborative Design – Administrator’s Guide

CDM Configuration Object in ENOVIA This feature provides ability to load CDM settings directly from ENOVIA. Configuration of the CDM inside of

ENOVIA allows a general CDM Configuration defined and controlled by an administrator. The user will still be

able to store some of the user settings, but the administrator defines these settings.

The CDM Configuration objects are stored in ENOVIA. The Active CDM C/O (Configuration Object) is defined

trough GCO Attribute (Type|Name|Revision). Also the available CDM C/O are defined through GCO Attribute

(T|N|R separated by “@”).

There is a support for role based access (available roles: Standard/Power/Admin Users). The CDM settings can

be read-only or modifiable in PDMbridge based on access permission. There is only one active CDM C/O at a

time, defined per GCO but there can be more defined and switched in the GCO.

The CDM C/O is received during the Login Process using a JPO call, where the response in XML returns all

available settings for the current/selected CDM C/O. As this is received at the Login, the changes done directly

on the server take effect on the client after the next Login.

After the CDM C/O is created a BMO template is generated. The values set on the server become the default

values in the template. Then the setting is loaded. If an attribute is modifiable by the user, the value set by the

user is merged into the setting. Now the setting can be requested by a Task or by the Preferences

Figure 48 CDM C/O in ENOVIA

ENOVIA CDM Settings Display Name Attribute Name Default Value

Add Components in

ENOVIA

ECADInteg-CDMConfiguration-

AddComponents

{DEFAULT} false|true

Include ENOVIA

subtypes

ECADInteg-CDMConfiguration-

IncludeSubtypes

{DEFAULT} false|true

Use ENOVIA

modified date

ECADInteg-CDMConfiguration-

UseModifiedDate

{DEFAULT} false|true

Synchronize

components

modified within x

days

ECADInteg-CDMConfiguration-

UseModifiedDateDayCount

{DEFAULT}5

Engineering Central

ENOVIA data

definition

ECADInteg-CDMConfiguration-

DataDefinitionForm-ENG

{DEFAULT}ECAD-

ComponentDataManagementUpdateENOVIAForm

Component

Existence Check

ECADInteg-CDMConfiguration-

ComponentExistenceCheck-ENG

{DEFAULT}ECAD-ComponentDataManagement-

FindLatestRev

Library Central

ENOVIA data ECADInteg-CDMConfiguration- {DEFAULT}ECAD-

Page 85: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 85

definition DataDefinitionForm-LBC ComponentDataManagementUpdateENOVIAForm-

LibraryCentral

Component

Existence Check

ECADInteg-CDMConfiguration-

ComponentExistenceCheck-LBC

{DEFAULT}ECAD-ComponentDataManagement-

FindLatestRev

Add Components in ENOVIA

This setting allows the creation of new component in ENOVIA if they do not exist.

Include ENOVIA subtypes

Selecting this setting, automatically considers all the subtypes of the selected types. If unchecked only the

selected type is considered and the subtypes are left out.

Use ENOVIA modified date

Defines the number days since the components must have been to become considered for synchronization.

Enabling this setting enables the “Synchronize components modified within x days” textfield.

Synchronize components modified within x days

The user can specify the number of days for the components needed to be considered for synchronization.

Engineering Central

ENOVIA data definition

Select the Webform used to update the components for Component Data Management in ENOVIA or retrieve

the data from ENOVIA.

Component Existence Check

Select the Webform used to verify if a component does exist in ENOVIA.

Library Central

ENOVIA data definition

Select the Webform used to update the components for Component Data Management in ENOVIA or retrieve

the data from ENOVIA.

Component Existence Check

Select the Webform used to verify if a component does exist in ENOVIA

Page 86: ENOVIA Collaborative Design for Mentor Graphics Expedition

86 ENOVIA Collaborative Design – Administrator’s Guide

Syntax of the attributes in ENOVIA Dedicated value prefix to define if the attribute is modifiable in the client side or not

o {ENFORCED}

value is not changeable by the user

UI Component is disabled

modifyAccess attribute == false

o {DEFAULT}

value is changeabe by user

UI component is enabled

modifyAccess attribute == true

If no prefix is defined {DEFAULT} is assumed

ValueClass

o valueClass attribute is used to define the type of attribute

String

Boolean

Integer

Float

o As the Matrix attribute has to be always a string (because of {ENFORCED}/{DEFAULT}

information), the definition of the value class is based on a definition lookup.

o Various Sets defines the class to which the attributes belong to.

o If attribute name is not found in any set, a value class “string” is assumed.

Attribute Values

o The first value will always be the selection (the value which is selected)

o Additional values will be separated by a pipe “|”character

Examples:

o Boolean

{DEFAULT}false|true provide a selectable checkbox which is unchecked

o String

{DEFAULT}table1|table2|table3 provide a drop down box with table1

selected

o Integer/Float (only numbers are allowed)

{DEFAULT}500 provide field with number 500 Modifiable

{ENFORCED}5.0 provide field with number 5.0 NOT Modifiable

Page 87: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 87

CDM Configuration Editor In CSE

CDM Configuration Editor is used to create CDM Configuration objects in ENOVIA directly from the

Integration. The CDM settings can be read-only or modifiable in the client based on access permission. Running

the task, opens up the dialog as shown below.

Figure 49 CDM Configuration Editor

The preference dialog shows all the available CDM Configuration Objects in ENOVIA for the current

integration. The user having full access rights can perform the following

Default Selection

Selecting this checkbox makes the available setting as default but the user can modify it at run time in the

preferences.

Enforced

Selecting this checkbox enforces the setting and the user will not be able to modify it from the preferences as

these enforced settings are disabled for modification.

Create a New CDM Configuration Object

The user can create New CDM C/O object by clicking on this button. This brings up a Textfield where the user

needs to specify a configuration name. If the user enters a name which already exists, a warning text at the top of

the textfield is shown stating “Configuration exists already” and the Ok button is disabled

Figure 50 Create New: Existing name

The Administrator needs to grant access to the user in order to run CDM Configuration Editor. This

could be set in the server side JPO “Definitions_mxJPO”

Page 88: ENOVIA Collaborative Design for Mentor Graphics Expedition

88 ENOVIA Collaborative Design – Administrator’s Guide

Opon entering a different name, the warning message does out show up and the ok button is enabled. Clicking on

the Ok button, the new CDM configuration object will appear in the tree on the left pane and the corresponding

attributes could be edited from the right pane.

Figure 51 Create New: New name

User needs to click on the Save button to create the CDM Configuration object in ENOVIA. The configuration

object is not created in ENOVIA until the user explicitly clicks on the Save button. The user can edit the CDM

settings anytime but the changes are committed to ENOVIA only if it is saved.

Duplicate and Edit a CDM Configuration Object

This is very similar to Create New but the default settings are set from the CDM Configuration Object

duplicated. This action will bring up a textfield where the user can apply a new name. Upon providing a new

name, the new CDM configuration object will appear in the tree on the left pane and the corresponding attributes

could be edited from the right pane.

Setting any CDM Configuration Object as the default one in ENOVIA

The user can set the created CDM configuration object as the default one in ENOVIA using this option. The

selected CDM configuration object will be used to update the entry in the GCO attribute which defines the

default CDM configuration object. This configuration object will be available for the users and will be set as the

starting point for new CDM configuration objects.

Edit Existing CDM Configuration Object

The user can modify the settings of any existing CDM configuration object directly from the editor. The user can

select the Configuration object from the left pane and modify the corresponding settings and upon saving it, the

changes are committed to ENOVIA.

Save the changes back to ENOVIA

This save button commits all the modifications done in the CDM configuration object to ENOVIA. The save

button brings up a dialog which shows all the CDM configuration objects which have been modified. The user

needs to select the configuration object by selecting the corresponding checkbox and click Ok button to save the

changes in ENOVIA.

Figure 52 Create New: Save

Page 89: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 89

Appendix

Regular Expressions The mapping configuration uses the regular expression from Java.

For detail explanations of the Regular Expression please look into the following links:

http://download.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html

http://download.oracle.com/javase/tutorial/essential/regex/index.html

Page 90: ENOVIA Collaborative Design for Mentor Graphics Expedition

90 ENOVIA Collaborative Design – Administrator’s Guide

CDM Mapping Configuration Example <?xml version="1.0" encoding="UTF-8"?>

<pemapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="mapping-schema.xsd" version="1.0">

<!-- Import of a additional mapping file with the instructions which will be executed

before the instructions of this file. -->

<import name="importedSample" path="importedSample.xml"/>

<!-- The namespace containing the instructions of this file. -->

<namespace>

<!-- Alternatives block. The first instruction returning true will be executed

and the following will be skipped. The block returns false if none of the

instructions returned true. -->

<alternatives>

<!-- Tests the current component if it is of the class 'als' -->

<class value="als">

<!-- (Only executed if the test above returns true.) Modifies

the class name of the current component to 'ECAD ALS'. -->

<modify value="ECAD ALS" target="class.name"/>

</class>

<!-- (Only executed if the test above returned false.) Tests the current

component if it is of the class 'asic'. -->

<class value="asic">

<!-- modifies the class name of the current component to

'ECAD ASIC' -->

<modify value="ECAD ASIC" target="class.name"/>

</class>

<!-- (Only executed if the tests above returned false.) Executes the

define block 'defineBlock1' from importedSample. -->

<useref refid="importedSample::defineBlock1"/>

<!-- If none of the above tests returns true the component will be

ignored, the execution on the current component stops. -->

<ignore/>

</alternatives>

<!-- This complicated example shows how to reference within of a imported

file.-->

<!-- Removes the attribute with the name defined in the name attribute of the

instruction with the regexpid='OLD_PART_NUMBER_REFERECE'

in importedSample (it will remove the attribute 'OLD_PART_NUMBER'.)-->

<remove name="${importedSample::OLD_PART_NUMBER_REFERECE.name}"

target="attribute"/>

<!-- Changes the name of the attribute 'Part_Name' to 'ECAD Part Name'. -->

<modify target="attribute.name" name="Part_Name" value="ECAD Part Name"/>

<!-- Tests if a attribute 'Part_Label' with any value exists. -->

<attribute name="Part_Label" value="(.*)" regexpid="PART_LABEL_ATTRIBUTE">

<!-- Changes the value of the attribute 'Part Label' to 'ECAD ' + value

of the attribute e.g. if Part_Label = Resistor 1 =>

Part_Label = ECAD Resistor 1 (as (.*) is the matching group 1 of

the regular expression)-->

<modify target="attribute.value" name="${PART_LABEL_ATTRIBUTE.name}"

value="ECAD ${PART_LABEL_ATTRIBUTE.value[1]}"/>

</attribute>

<!-- If the attribute 'Usage' has value 'obsolete'. -->

<attribute name="Usage" value="obsolete">

<!--Mark the component to be deleted (the component will be deleted).-->

<modify target="part.delete" value="true"/>

<!-- Breaks the execution of this component, the following steps will

not be executed.-->

<break/>

</attribute>

<!-- Commits a copy of the component in the current state and continues with

instructions bellow. This means, at the end of the

instruction processing there will be two components. -->

<commit/>

<!-- Changes the part number of the component -->

<specialAttribute name="part.number" value="(.*)" regexpid="PART_NUMBER">

<modify target="part.number" value="${PART_NUMBER.value}-01"/>

</specialAttribute>

<!-- Duplicates the component (second way to duplicate a component). -->

<duplicate>

<!-- Changes the part number of the duplicated component. -->

<specialAttribute name="part.number" value="(.*)"

regexpid="PART_NUMBER">

<modify target="part.number" value="${PART_NUMBER.value}-02"/>

</specialAttribute>

<!--When executing the duplicate block, the duplicate will be commited.-->

Page 91: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 91

</duplicate>

<!-- Adds a new attribute 'Version' with the value '1.0' (will be only added if

the attribute not exists else the old value will be not changed). -->

<add target="attribute" name="Version" value="1.0"/>

<!-- Sets a new attribute Version with the value 1.0 if attribute exists, else

create the attribute and sets the value then -->

<set target="attribute" name="" value=""/>

<!-- concatenates the attributes PART_NAME and VALUE separated by | to value of

the DESCRIPTION attribute. If the concatenated value has more than 20 it

will be croped to 20 characters. If for e.g. no VALUE attribute exists a

‘?’ will be used instead.

- PART_NAME=res, VALUE=’100’ -> DESCRIPTION=res|100

- PART_NAME=myNewPart, <no value attribute> -> DESCRIPTION=myNewPart|? -->

<concatAttribute target="attribute" name="DESCRIPTION"

value="’PART_NAME’’VALUE" separator="|" maxLength="10"

defaultValueForNotExistent="?"/>

</namespace>

<!-- import of a additional mapping file the instructions which will be executed after

the instructions of this file -->

<import name="importedSample" path="importedSample.xml"/>

</pemapping>

Page 92: ENOVIA Collaborative Design for Mentor Graphics Expedition

92 ENOVIA Collaborative Design – Administrator’s Guide

CDM Data Mapping Layer XSD Schema <?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

<xs:element name="pemapping">

<xs:annotation>

<xs:documentation>

The root node of the configuration. This is the start node. It contains the

version of the mapping file. The current version of the mapping files is 1.0.

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:choice minOccurs="0" maxOccurs="unbounded">

<xs:element ref="import" />

</xs:choice>

<xs:element ref="namespace" minOccurs="1" maxOccurs="1" />

<xs:choice minOccurs="0" maxOccurs="unbounded">

<xs:element ref="import" />

</xs:choice>

</xs:sequence>

<xs:attribute name="version" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>

The version of the configuration.

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="import">

<xs:annotation>

<xs:documentation>

Defines an import of a configuration of a XML file. The imported and importing

file must be ofthe same version.

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attribute name="name" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>

The name of the import used to address the regular expression

references. The references int he imported file can then be addressed

with syntax:

importnName::referenceName

e.g.

Allowed character set:

[p{Alnum}\_\-] = [a-z A-Z 0-9 _ -]

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="path" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>

The path of the file to import. The path can be absolute or relative

to the path of the importing file.

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="namespace">

<xs:annotation>

<xs:documentation>Defines a namespace of the configuration.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:choice minOccurs="0" maxOccurs="unbounded">

<xs:element ref="log" />

<xs:element ref="define" />

<xs:element ref="useref" />

<xs:element ref="alternatives" />

<xs:element ref="break" />

<xs:element ref="commit" />

<xs:element ref="ignore" />

<xs:element ref="duplicate" />

<xs:element ref="class" />

Page 93: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 93

<xs:element ref="attribute" />

<xs:element ref="add" />

<xs:element ref="modify" />

<xs:element ref="remove" />

<xs:element ref="set" />

<xs:element ref="setSpecialAttribute" />

<xs:element ref="concatAttribute" />

<xs:element ref="specialAttribute" />

<xs:element ref="group" />

<xs:element ref="type" />

<xs:element ref="test" />

</xs:choice>

</xs:complexType>

</xs:element>

<xs:element name="log">

<xs:annotation>

<xs:documentation>

outputs the content to the log

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attribute name="level" type="xs:string"

use="optional" default="info">

<xs:annotation>

<xs:documentation>

the log level to be used can be one of

'info','warn','debug','error','trace'

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="message" type="xs:string" use="required"></xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="define">

<xs:annotation>

<xs:documentation>

Defines a block which can be reused. The define block contains a set of

instructions which can be reused. The instruction useref references a define

block.

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:choice minOccurs="0" maxOccurs="unbounded">

<xs:element ref="log" />

<xs:element ref="define" />

<xs:element ref="useref" />

<xs:element ref="alternatives" />

<xs:element ref="break" />

<xs:element ref="commit" />

<xs:element ref="ignore" />

<xs:element ref="duplicate" />

<xs:element ref="class" />

<xs:element ref="attribute" />

<xs:element ref="add" />

<xs:element ref="modify" />

<xs:element ref="remove" />

<xs:element ref="set" />

<xs:element ref="setSpecialAttribute" />

<xs:element ref="concatAttribute" />

<xs:element ref="specialAttribute" />

<xs:element ref="group" />

<xs:element ref="type" />

<xs:element ref="test" />

</xs:choice>

<xs:attribute name="id" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>

The id of the define block to use to reference the block.

Allowed character set:

[p{Alnum}\_\-] = [a-z A-Z 0-9 _ -]

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="useref">

<xs:annotation>

<xs:documentation>References a define block.</xs:documentation>

Page 94: ENOVIA Collaborative Design for Mentor Graphics Expedition

94 ENOVIA Collaborative Design – Administrator’s Guide

</xs:annotation>

<xs:complexType>

<xs:attribute name="refid" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>

The id of the define block to use. To reference blocks inside of the

imported configuration use format:

importedName::defineBlockName

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="alternatives">

<xs:annotation>

<xs:documentation>

Executes the first child instruction which returns true. Please note that only

processininstructions and tests can return false. An operation will always

return true. This instruction returns true if one of the alternatives returned

true, otherwise it will return false.

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:choice minOccurs="0" maxOccurs="unbounded">

<xs:element ref="log" />

<xs:element ref="define" />

<xs:element ref="useref" />

<xs:element ref="alternatives" />

<xs:element ref="break" />

<xs:element ref="commit" />

<xs:element ref="ignore" />

<xs:element ref="duplicate" />

<xs:element ref="class" />

<xs:element ref="attribute" />

<xs:element ref="add" />

<xs:element ref="modify" />

<xs:element ref="remove" />

<xs:element ref="set" />

<xs:element ref="setSpecialAttribute" />

<xs:element ref="concatAttribute" />

<xs:element ref="specialAttribute" />

<xs:element ref="group" />

<xs:element ref="type" />

<xs:element ref="test" />

</xs:choice>

</xs:complexType>

</xs:element>

<xs:element name="duplicate">

<xs:annotation>

<xs:documentation>

Duplicates the component and executes the instructions on it. Adds the

duplicate to the list of the duplicated components before exiting the element.

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:choice minOccurs="0" maxOccurs="unbounded">

<xs:element ref="log" />

<xs:element ref="define" />

<xs:element ref="useref" />

<xs:element ref="alternatives" />

<xs:element ref="break" />

<xs:element ref="commit" />

<xs:element ref="ignore" />

<xs:element ref="duplicate" />

<xs:element ref="class" />

<xs:element ref="attribute" />

<xs:element ref="add" />

<xs:element ref="modify" />

<xs:element ref="remove" />

<xs:element ref="set" />

<xs:element ref="setSpecialAttribute" />

<xs:element ref="concatAttribute" />

<xs:element ref="specialAttribute" />

<xs:element ref="group" />

<xs:element ref="type" />

<xs:element ref="test" />

</xs:choice>

</xs:complexType>

Page 95: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 95

</xs:element>

<xs:element name="break">

<xs:annotation>

<xs:documentation>

Breaks the execution. If used within duplicate continues with the siblings of

the parent duplicate. Else breaking the execution of the component and

returning the component with the current modifications.

</xs:documentation>

</xs:annotation>

<xs:complexType />

</xs:element>

<xs:element name="commit">

<xs:annotation>

<xs:documentation>

Commits the copy of the component with the current state to the list of the

duplicated components and continues execution of the descendant instructions.

</xs:documentation>

</xs:annotation>

<xs:complexType />

</xs:element>

<xs:element name="ignore">

<xs:annotation>

<xs:documentation>

Ignores, does not add the current component and breaks the execution.

</xs:documentation>

</xs:annotation>

<xs:complexType />

</xs:element>

<xs:element name="test">

<xs:annotation>

<xs:documentation>

Is used to execute tests on a specific component. If the test matches the

condition, the return value is set to true, otherwise to false.

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:choice minOccurs="0" maxOccurs="unbounded">

<xs:element ref="log" />

<xs:element ref="define" />

<xs:element ref="useref" />

<xs:element ref="alternatives" />

<xs:element ref="break" />

<xs:element ref="commit" />

<xs:element ref="ignore" />

<xs:element ref="duplicate" />

<xs:element ref="class" />

<xs:element ref="attribute" />

<xs:element ref="add" />

<xs:element ref="modify" />

<xs:element ref="remove" />

<xs:element ref="set" />

<xs:element ref="setSpecialAttribute" />

<xs:element ref="concatAttribute" />

<xs:element ref="specialAttribute" />

<xs:element ref="group" />

<xs:element ref="type" />

<xs:element ref="test" />

</xs:choice>

<xs:attribute name="type" use="required">

<xs:annotation>

<xs:documentation>

Defines the type on which the test is executed on.

</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:enumeration value="attribute">

<xs:annotation>

<xs:documentation>

executes a test on an attribute (attribute instruction is

alias for this type)

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="specialAttribute">

<xs:annotation>

<xs:documentation>

executes a test on a special attribute

Page 96: ENOVIA Collaborative Design for Mentor Graphics Expedition

96 ENOVIA Collaborative Design – Administrator’s Guide

(specialAttribute instruction is alias for this type)

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="class">

<xs:annotation>

<xs:documentation>

executes a test on a class (class instruction is alias for

this type)

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="group">

<xs:annotation>

<xs:documentation>

executes a group on a group (group instruction is alias

for this type)

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="type">

<xs:annotation>

<xs:documentation>

executes a test on a type (type instruction is alias for

this type)

</xs:documentation>

</xs:annotation>

</xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="name" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>

Defines the name of ‘type’.

The value can be either a string or any Regular Expression.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="value" type="xs:string" use="optional">

<xs:annotation>

<xs:documentation>

Defines the value of ‘name’.

The value can be either a string or any Regular Expression reference.

If the optional attribute value is omitted, then the test will

basically just execute an existence check. If the value attribute is

defined, then the test is successful if the value matches the pattern.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="regexpid" type="xs:string">

<xs:annotation>

<xs:documentation>

Defines the unique id within of the namespace to reference the test

using regular expressions.

Allowed character set: [p{Alnum}\_\-] = [a-z A-Z 0-9 _ -].

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="class">

<xs:annotation>

<xs:documentation>

Test on the class name of the component. This test is an alias instruction for

test and test is an alias instruction for specialAttribute.

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:choice minOccurs="0" maxOccurs="unbounded">

<xs:element ref="log" />

<xs:element ref="define" />

<xs:element ref="useref" />

<xs:element ref="alternatives" />

<xs:element ref="break" />

<xs:element ref="commit" />

<xs:element ref="ignore" />

<xs:element ref="duplicate" />

Page 97: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 97

<xs:element ref="class" />

<xs:element ref="attribute" />

<xs:element ref="add" />

<xs:element ref="modify" />

<xs:element ref="remove" />

<xs:element ref="set" />

<xs:element ref="setSpecialAttribute" />

<xs:element ref="concatAttribute" />

<xs:element ref="specialAttribute" />

<xs:element ref="group" />

<xs:element ref="type" />

<xs:element ref="test" />

</xs:choice>

<xs:attribute name="value" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>

Defines the value of ‘name’.

The value can be either a string or any Regular Expression reference.

If the optional attribute value is omitted, then the test will

basically just execute an existence check. If the value attribute is

defined, then the test is successful if the value matches the pattern.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="regexpid" type="xs:string">

<xs:annotation>

<xs:documentation>

Defines the unique id within of the namespace to reference the test

using regular expressions.

Allowed character set: [p{Alnum}\_\-] = [a-z A-Z 0-9 _ -].

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="group">

<xs:annotation>

<xs:documentation>

Test on the group name of the component. This test is an alias instruction for

test and This test is an alias instruction for specialAttribute.

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:choice minOccurs="0" maxOccurs="unbounded">

<xs:element ref="log" />

<xs:element ref="define" />

<xs:element ref="useref" />

<xs:element ref="alternatives" />

<xs:element ref="break" />

<xs:element ref="commit" />

<xs:element ref="ignore" />

<xs:element ref="duplicate" />

<xs:element ref="class" />

<xs:element ref="attribute" />

<xs:element ref="add" />

<xs:element ref="modify" />

<xs:element ref="remove" />

<xs:element ref="set" />

<xs:element ref="setSpecialAttribute" />

<xs:element ref="concatAttribute" />

<xs:element ref="specialAttribute" />

<xs:element ref="group" />

<xs:element ref="type" />

<xs:element ref="test" />

</xs:choice>

<xs:attribute name="value" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>

Defines the value of ‘name’.

The value can be either a string or any Regular Expression reference.

If the optional attribute value is omitted, then the test will

basically just execute an existence check. If the value attribute is

defined, then the test is successful if the value matches the pattern.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="regexpid" type="xs:string">

<xs:annotation>

Page 98: ENOVIA Collaborative Design for Mentor Graphics Expedition

98 ENOVIA Collaborative Design – Administrator’s Guide

<xs:documentation>

Defines the unique id within of the namespace to reference the test

using regular expressions.

Allowed character set: [p{Alnum}\_\-] = [a-z A-Z 0-9 _ -].

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="type">

<xs:annotation>

<xs:documentation>

Test on the type name of the component. This test is an alias instruction for

test and This test is an alias instruction for specialAttribute.

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:choice minOccurs="0" maxOccurs="unbounded">

<xs:element ref="log" />

<xs:element ref="define" />

<xs:element ref="useref" />

<xs:element ref="alternatives" />

<xs:element ref="break" />

<xs:element ref="commit" />

<xs:element ref="ignore" />

<xs:element ref="duplicate" />

<xs:element ref="class" />

<xs:element ref="attribute" />

<xs:element ref="add" />

<xs:element ref="modify" />

<xs:element ref="remove" />

<xs:element ref="set" />

<xs:element ref="setSpecialAttribute" />

<xs:element ref="concatAttribute" />

<xs:element ref="specialAttribute" />

<xs:element ref="group" />

<xs:element ref="type" />

<xs:element ref="test" />

</xs:choice>

<xs:attribute name="value" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>

Defines the value of ‘name’.

The value can be either a string or any Regular Expression reference.

If the optional attribute value is omitted, then the test will

basically just execute an existence check. If the value attribute is

defined, then the test is successful if the value matches the pattern.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="regexpid" type="xs:string">

<xs:annotation>

<xs:documentation>

Defines the unique id within of the namespace to reference the test

using regular expressions.

Allowed character set: [p{Alnum}\_\-] = [a-z A-Z 0-9 _ -].

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="attribute">

<xs:annotation>

<xs:documentation>

Tests if an attribute exists. If optional value defined matches if the

attribute has the given value. For each positive matching attribute all child

instructions of this node will be executed. This test is an alias instruction

for test.

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:choice minOccurs="0" maxOccurs="unbounded">

<xs:element ref="log" />

<xs:element ref="define" />

<xs:element ref="useref" />

<xs:element ref="alternatives" />

<xs:element ref="break" />

<xs:element ref="commit" />

Page 99: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 99

<xs:element ref="ignore" />

<xs:element ref="duplicate" />

<xs:element ref="class" />

<xs:element ref="attribute" />

<xs:element ref="add" />

<xs:element ref="modify" />

<xs:element ref="remove" />

<xs:element ref="set" />

<xs:element ref="setSpecialAttribute" />

<xs:element ref="concatAttribute" />

<xs:element ref="specialAttribute" />

<xs:element ref="group" />

<xs:element ref="type" />

<xs:element ref="test" />

</xs:choice>

<xs:attribute name="name" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>

Defines the name of attribute.

The value can be either a string or any Regular Expression.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="value" type="xs:string" use="optional">

<xs:annotation>

<xs:documentation>

Defines the value of ‘name’.

The value can be either a string or any Regular Expression reference.

If the optional attribute value is omitted, then the test will

basically just execute an existence check. If the value attribute is

defined, then the test is successful if the value matches the pattern.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="regexpid" type="xs:string">

<xs:annotation>

<xs:documentation>

Defines the unique id within of the namespace to reference the test

using regular expressions.

Allowed character set: [p{Alnum}\_\-] = [a-z A-Z 0-9 _ -].

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="specialAttribute">

<xs:annotation>

<xs:documentation>

Tests if a special attribute exists. If optional value defined matches if the

attribute has the given value. For each positive matching special attribute

all child instructions of this node will be executed. This test is an alias

instruction for test.

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:choice minOccurs="0" maxOccurs="unbounded">

<xs:element ref="log" />

<xs:element ref="define" />

<xs:element ref="useref" />

<xs:element ref="alternatives" />

<xs:element ref="break" />

<xs:element ref="commit" />

<xs:element ref="ignore" />

<xs:element ref="duplicate" />

<xs:element ref="class" />

<xs:element ref="attribute" />

<xs:element ref="add" />

<xs:element ref="modify" />

<xs:element ref="remove" />

<xs:element ref="set" />

<xs:element ref="setSpecialAttribute" />

<xs:element ref="concatAttribute" />

<xs:element ref="specialAttribute" />

<xs:element ref="group" />

<xs:element ref="type" />

<xs:element ref="test" />

</xs:choice>

<xs:attribute name="name" type="xs:string" use="required">

Page 100: ENOVIA Collaborative Design for Mentor Graphics Expedition

100 ENOVIA Collaborative Design – Administrator’s Guide

<xs:annotation>

<xs:documentation>

Defines the name of attribute.

The value can be either a string or any Regular Expression.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="value" type="xs:string" use="optional">

<xs:annotation>

<xs:documentation>

Defines the value of ‘name’.

The value can be either a string or any Regular Expression. If

the optional attribute value is omitted, then the test

will basically just execute an existence check. If the

value attribute is defined, then the test is

successful if the value matches the pattern.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="regexpid" type="xs:string">

<xs:annotation>

<xs:documentation>

Defines the unique id within of the namespace to reference the test

using regular expressions.

Allowed character set: [p{Alnum}\_\-] = [a-z A-Z 0-9 _ -].

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="add">

<xs:annotation>

<xs:documentation>

Adds a new attribute with given value to the component. The value is optional,

if not defined it will be set to “null”. The attribute is only added if it not

exists. Else add will be silently omitted.

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence />

<xs:attribute name="target" use="required">

<xs:annotation>

<xs:documentation>

The target defining the type of the operation to execute

</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:enumeration value="attribute">

<xs:annotation>

<xs:documentation>to add a attribute</xs:documentation>

</xs:annotation>

</xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="name" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>

Defines the new name of the target. The value can be either a string

or any Regular Expression reference.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="value" type="xs:string" use="optional">

<xs:annotation>

<xs:documentation>

Defines the new value of the target. The value can be either a string

or any Regular Expression. Defaults to null if omitted.

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="modify">

<xs:annotation>

<xs:documentation>

Modifies a name or value of the given target. The target can be a special

Page 101: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 101

attribute value, an attribute or an attribute value.

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attribute name="target" use="required">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:enumeration value="attribute.name">

<xs:annotation>

<xs:documentation>

to modify the attribute name

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="attribute.value">

<xs:annotation>

<xs:documentation>

to modify the attribute value

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="class.name">

<xs:annotation>

<xs:documentation>to modify the class name</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="group.name">

<xs:annotation>

<xs:documentation>to modify the group name</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="type.name">

<xs:annotation>

<xs:documentation>to modify the type name</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="part.number">

<xs:annotation>

<xs:documentation>

to modify a special attribute part.number containing the

part number of the component

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="part.delete">

<xs:annotation>

<xs:documentation>

to modify a special attribute marking the part to delete

</xs:documentation>

</xs:annotation>

</xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="value" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>

Attribute defining the new value of the target selector. The value can

be either a string or any Regular Expression reference.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="name" type="xs:string">

<xs:annotation>

<xs:documentation>

Attribute defining the name of the target itself. The value can be

either a string or any Regular Expression. Optional for class.

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="remove">

<xs:annotation>

<xs:documentation>

Removes a attribute from the attribute list.

</xs:documentation>

Page 102: ENOVIA Collaborative Design for Mentor Graphics Expedition

102 ENOVIA Collaborative Design – Administrator’s Guide

</xs:annotation>

<xs:complexType>

<xs:attribute name="target" use="required">

<xs:annotation>

<xs:documentation>

The target on which the type of the operation is executed.

</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:enumeration value="attribute">

<xs:annotation>

<xs:documentation>

to remove a attribute

</xs:documentation>

</xs:annotation>

</xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="name" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>

The name of the 'target' to remove.

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="set">

<xs:annotation>

<xs:documentation>

Sets an attribute to a value if exists, if not adds the attribute

and sets the value then.

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attribute name="target" use="required">

<xs:annotation>

<xs:documentation>

The target on which the type of the operation is executed.

</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:enumeration value="attribute">

<xs:annotation>

<xs:documentation>

to set an attribute

</xs:documentation>

</xs:annotation>

</xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="name" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>

The name of the 'target' to set.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="value" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>

The value of the 'target' with the given name to set.

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="setSpecialAttribute">

<xs:annotation>

<xs:documentation>

Sets a attribute to a value if exists, if not adds

the attribute and sets the value then.

</xs:documentation>

</xs:annotation>

Page 103: ENOVIA Collaborative Design for Mentor Graphics Expedition

ENOVIA Collaborative Design – Administrator’s Guide 103

<xs:complexType>

<xs:attribute name="name" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>

The name of the 'target' to set.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="value" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>

The value of the 'target' with the given name to set.

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="concatAttribute">

<xs:annotation>

<xs:documentation>

Sets an attribute value created from values of the attributes in the

attributeList separated by the given separator. Each attribute has to be

surrounded by a single quote ('). If maximum length defined, the value

will be cropped to the maxLength. If an attribute from the list does not

exist the defaultValueForNotExistent will be used. If the

defaultValueForNotExistent is not defined, the not found attribute

will be ignored (also the separator will be not added).

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attribute name="target" use="required">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:enumeration value="attribute" />

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="name" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>

The name of the target to set. The value can be either a string or any

Regular Expression.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="value" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>

List of attribute names (each in single quotes (‘) to be concatenated.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="separator" type="xs:string" use="required">

<xs:annotation>

<xs:documentation>

The string to use to separate the entries of the value.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="maxLength" type="xs:nonNegativeInteger" use="optional">

<xs:annotation>

<xs:documentation>

The maximum length of the value. If the concatenated (inclusive

separators) is longer thanthe max value it will be cut to maximum

length.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="defaultValueForNotExistent" type="xs:string" use="optional">

<xs:annotation>

<xs:documentation>

This value will be used if an attribute from the attribute list does

not exists in the component. If not set those attributes will be

ignored (inclusive separator).

</xs:documentation>

</xs:annotation>

</xs:attribute>

Page 104: ENOVIA Collaborative Design for Mentor Graphics Expedition

104 ENOVIA Collaborative Design – Administrator’s Guide

</xs:complexType>

</xs:element>

</xs:schema>