0% found this document useful (0 votes)
13 views

ECADImport Module Users Guide

fefe

Uploaded by

--------
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

ECADImport Module Users Guide

fefe

Uploaded by

--------
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 42

ECAD Import Module

User’s Guide
ECAD Import Module User’s Guide
© 1998–2023 COMSOL
Protected by patents listed on www.comsol.com/patents, or see Help>About COMSOL Multiphysics on the
File menu in the COMSOL Desktop for less detailed lists of U.S. Patents that may apply. Patents pending.
This Documentation and the Programs described herein are furnished under the COMSOL Software License
Agreement (www.comsol.com/sla) and may be used or copied only under the terms of the license
agreement.
Support for implementation of the ODB++ Format was provided by Mentor Graphics Corporation pursuant
to the ODB++ Solutions Development Partnership General Terms and Conditions. ODB++ is a trademark
of Mentor Graphics Corporation.
COMSOL, the COMSOL logo, COMSOL Multiphysics, COMSOL Desktop, COMSOL Compiler,
COMSOL Server, and LiveLink are either registered trademarks or trademarks of COMSOL AB. All other
trademarks are the property of their respective owners, and COMSOL AB and its subsidiaries and products
are not affiliated with, endorsed by, sponsored by, or supported by those trademark owners. For a list of such
trademark owners, see www.comsol.com/trademarks.
Version: COMSOL 6.2

Contact Information
Visit the Contact COMSOL page at www.comsol.com/contact to submit general inquiries
or search for an address and phone number. You can also visit the Worldwide Sales Offices
page at www.comsol.com/contact/offices for address and contact information.

If you need to contact Support, an online request form is located on the COMSOL Access
page at www.comsol.com/support/case. Other useful links include:

• Support Center: www.comsol.com/support


• Product Download: www.comsol.com/product-download
• Product Updates: www.comsol.com/product-update
• COMSOL Blog: www.comsol.com/blogs
• Discussion Forum: www.comsol.com/forum
• Events: www.comsol.com/events
• COMSOL Video Gallery: www.comsol.com/videos
• Support Knowledge Base: www.comsol.com/support/knowledgebase

Part number: CM023601


C o n t e n t s

Chapter 1: Introduction

About This Guide 6


About the ECAD Import Module. . . . . . . . . . . . . . . . . 6
Where Do I Access the Documentation and Application Libraries? . . . . 6

Chapter 2: Importing ECAD Files

Importing IPC-2581 and ODB++ Files 12


File Formats for Printed Circuit Boards (PCBs) . . . . . . . . . . . 12
Extruding Layers . . . . . . . . . . . . . . . . . . . . . . . 13
Import Settings for IPC-2581 and ODB++ Files . . . . . . . . . . . 13

Importing GDS-II Files 22


The GDS-II File Format . . . . . . . . . . . . . . . . . . . . 22
Extruding Layers . . . . . . . . . . . . . . . . . . . . . . . 23
Import Settings for GDS-II Files . . . . . . . . . . . . . . . . . 23

Meshing an Imported Geometry 29

Troubleshooting ECAD Import 30


Tuning Import Settings. . . . . . . . . . . . . . . . . . . . . 30
Problems When Extruding Layers . . . . . . . . . . . . . . . . 30
Problems with Several Geometry Objects . . . . . . . . . . . . . 31

Chapter 3: Programming and Command Reference

Commands 34
Import of ECAD Files . . . . . . . . . . . . . . . . . . . . . 34

CONTENTS |3
4 | CONTENTS
1

Introduction

Welcome to the ECAD Import Module. This User’s Guide details features and
functionality available with the product.

This introductory chapter is About This Guide.

5
About This Guide
This documentation covers the ECAD Import Module.

About the ECAD Import Module


This product extends the functionality of COMSOL Multiphysics by enabling modeling using
imported ECAD design files.

The import capabilities cover the GDS II, ODB++®, and IPC-2581file formats and include
the creation of 3D geometry during the import operation.

Where Do I Access the Documentation and Application Libraries?


A number of internet resources have more information about COMSOL, including licensing
and technical information. The electronic documentation, topic-based (or context-based)
help, and the application libraries are all accessed through the COMSOL Desktop.

If you are reading the documentation as a PDF file on your computer, the
blue links do not work to open an application or content referenced in a
different guide. However, if you are using the Help system in COMSOL
Multiphysics, these links work to other modules (as long as you have a
license), application examples, and documentation sets.

THE DOCUMENTATION AND ONLINE HELP


The COMSOL Multiphysics Reference Manual describes all core physics interfaces and
functionality included with the COMSOL Multiphysics license. This book also has
instructions about how to use COMSOL Multiphysics and how to access the electronic
Documentation and Help content.

Opening Topic-Based Help


The Help window is useful as it is connected to many of the features on the GUI. To learn
more about a node in the Model Builder, or a window on the Desktop, click to highlight a
node or window, then press F1 to open the Help window, which then displays information

6 | CHAPTER 1: INTRODUCTION
about that feature (or click a node in the Model Builder followed by the Help button ( ).
This is called topic-based (or context) help.

To open the Help window:

• In the Model Builder, Application Builder, or Physics Builder click a node or


window and then press F1.
• On any toolbar (for example, Home, Definitions, or Geometry), hover the
mouse over a button (for example, Add Physics or Build All) and then
press F1.
• From the File menu, click Help ( ).
• In the upper-right corner of the COMSOL Desktop, click the Help ( )
button.

To open the Help window:

• In the Model Builder or Physics Builder click a node or window and then
press F1.
• In the main toolbar, click the Help ( ) button.
• From the main menu, select Help>Help.

ABOUT THIS GUIDE | 7


Opening the Documentation Window

To open the Documentation window:

• Press Ctrl+F1.
• From the File menu select Help>Documentation ( ).

To open the Documentation window:

• Press Ctrl+F1.
• In the main toolbar, click the Documentation ( ) button.
• From the main menu, select Help>Documentation.

THE APPLICATION LIBRARIES WINDOW


Each application includes documentation with the theoretical background and step-by-step
instructions to create a model application. The applications are available in COMSOL as
MPH-files that you can open for further investigation. You can use the step-by-step
instructions and the actual applications as a template for your own modeling and applications.
In most models, SI units are used to describe the relevant properties, parameters, and
dimensions in most examples, but other unit systems are available.

Once the Application Libraries window is opened, you can search by name or browse under
a module folder name. Click to view a summary of the application and its properties, including
options to open it or a PDF document.

The Application Libraries Window in the COMSOL Multiphysics


Reference Manual.

8 | CHAPTER 1: INTRODUCTION
Opening the Application Libraries Window
To open the Application Libraries window ( ):

• In the Home toolbar, click Windows and select Application Libraries.


When the toolbar is compressed, you sometimes find it under
Layout>Windows.
• From the File menu select Application Libraries.

To include the latest versions of model examples, from the File>Help menu
select ( ) Update COMSOL Application Libraries.

From the File or Windows menu select Application Libraries.

To include the latest versions of model examples, from the Help menu
select ( ) Update COMSOL Application Libraries.

CONTACTING COMSOL BY EMAIL


For general product information, contact COMSOL at [email protected].

To receive technical support from COMSOL for the COMSOL products, please contact your
local COMSOL representative or send your questions to [email protected]. An automatic
notification and case number is sent to you by email.

ABOUT THIS GUIDE | 9


COMSOL WEBSITES

COMSOL website www.comsol.com


Contact COMSOL www.comsol.com/contact
COMSOL Access www.comsol.com/access
Support Center www.comsol.com/support
Product Download www.comsol.com/product-download
Product Updates www.comsol.com/product-update
COMSOL Blog www.comsol.com/blogs
Discussion Forum www.comsol.com/forum
Events www.comsol.com/events
COMSOL Video Gallery www.comsol.com/videos
Support Knowledge Base www.comsol.com/support/knowledgebase

10 | CHAPTER 1: INTRODUCTION
2

Importing ECAD Files

ECAD file formats have been designed to transfer information necessary for the
manufacturing of printed circuit boards (PCBs), integrated circuits (ICs), and
microelectromechanical systems (MEMS) devices. You can import data from
ECAD files to generate geometry for simulation. During the import of an ECAD
file, geometry objects are generated based on the 2D layouts and stackup
information found in the files.

In this section:

• Importing IPC-2581 and ODB++ Files


• Importing GDS-II Files
• Meshing an Imported Geometry
• Troubleshooting ECAD Import

11
Importing IPC-2581 and ODB++
Files
In this section:

• File Formats for Printed Circuit Boards (PCBs)


• Extruding Layers
• Import Settings for IPC-2581 and ODB++ Files

File Formats for Printed Circuit Boards (PCBs)


The IPC-2581 and OBD++ file formats can handle most of the information needed to
manufacture a PCB. For generating a geometry for simulation, the import
functionality can read some of this information, such as the layout of copper layers, the
layout for the vias, the board outline, and layer stackup information.

Importing and Meshing a PCB Geometry from an ODB++ Archive:


Application Library path ECAD_Import_Module/Tutorials/pcb_import

An ECAD file for PCBs may also include layers with 2D layouts that specify, for
example, the component outlines on the board. You can also import these layers. In a
file, the 2D layouts consist of shapes, also called symbols, which build the geometry of
copper traces and pads. A large number of symbols are specified by the supported PCB
formats — lines, circles, rectangles, and surfaces to name a few.

THE ODB++ FORMAT


The ODB++ format defines a directory structure with several files, each containing
parts of information about the PCB. An entire PCB layout is often distributed as
zipped or unzipped tar archives.

12 | CHAPTER 2: IMPORTING ECAD FILES


The ODB++ import reads the layer list and the first step in the file. From the first step,
the layer features and the board outline are extracted, but the package information is
skipped. Multiple step files are not supported.

Microwave Filter on PCB with Stress: Application Library path


RF_Module/Filters/pcb_microwave_filter_with_stress

Extruding Layers
When importing to 3D, the import code can extrude the 2D layouts created from the
imported data. Alternatively, you can let the import generate surface objects, see how
to in Copper Layers, or import the layers onto a work plane in 3D. This can be useful
if you would like to modify the imported 2D layouts before extruding them.

The layers are extruded according to the layer stackup information from the file. The
import code can automatically determine the elevations from the thickness values, or
you can manually set the layer elevations. Read more about the available options in
Controlling The Layer Stackup.

The default extrusion method generates separate objects for the copper and dielectric
regions for each layer. A special extrude operation is also available that, in some cases,
can automatically connect the imported layers to generate a single geometry object as
the result of the import. In this case the extruded layers correspond to domains in the
resulting object. See how to select the extrusion method in Grouping of Geometries.

Import Settings for IPC-2581 and ODB++ Files


To add an Import node, from the Home or Geometry toolbar, click Import ( ). In the
Import section of the Settings window, set the type of file to import to ECAD file. You
can also skip this step as the type of the selected file is automatically recognized by the
code. Click Browse to locate the file to import, or enter the path to the file. Before
clicking the Import button consider to review and configure the import options,
especially the layer thickness information, since in many cases the IPC-2581 files and
ODB++ archives do not include all necessary information to construct a 3D geometry.

The length unit in the file is detected and displayed in the Settings window. To use the
unit in the file as the length unit for the geometry sequence select the Update geometry
unit check box. The check box is selected by default if the Import node is added as the

IMPORTING IPC-2581 AND ODB++ FILES | 13


first node in the geometry sequence. The length unit of the geometry sequence is set
to inch when the length unit mil is detected in the selected file.

GROUPING OF GEOMETRIES
To determine the extrusion method used for generating the 3D geometry from the 2D
layouts select one of the available alternatives from the Grouping of geometries list:

• All. This alternative is available only in 3D. The import algorithm extrudes in one
operation all imported copper and dielectric layers into a single 3D geometry object.
From each copper layer, the imported symbols, such as lines, pads, and surfaces, are
combined before extrusion. The copper and dielectric layers become domains in the
resulting object. To be able to connect the layers, the algorithm requires that the
2D layouts fulfill certain rules. If the import fails, switch to the By layer grouping
option.
• By layer. Use this alternative to extrude each layer separately. The imported symbols,
such as lines, pads, or surfaces, from the copper layers are combined before
extrusion. Several geometry objects, one for each imported copper and dielectric
layer, are output by the import.
• No grouping. Use this alternative to import and extrude individually each symbol
from the copper layers. The import results in separate objects for imported symbols
and dielectric layers.

When using the No grouping alternative you have the option to import line symbols as
curve objects by selecting the Ignore line width check box.

Note: Using the ignore line width option you can construct geometry objects for
components on the board from the information on layers with component outlines.
To do this configure an Import node to import only the component outline layer.
Select the No grouping method, and the Ignore line width check box. Also, from the
Elevations list select Manual, and set the elevation to an appropriate value, but keep the
default zero layer thickness. After the import use geometry operations to convert the
component outline curve objects to surface objects, and extrude those to 3D
components.

14 | CHAPTER 2: IMPORTING ECAD FILES


COPPER LAYERS
The Type of import list specifies whether copper layers are extruded or not by the
import.

Inner layer Top layer Inner layer Top layer

Top dielectric Top dielectric


Inner dielectric Inner dielectric

Bottom layer Bottom layer


Type of import: Full 3D Type of import: Metal shell
Elevations: Elevations:
Metal layer inside dielectric layer above Metal layer inside dielectric layer above

Inner layer Top layer Inner layer Top layer

Top dielectric Top dielectric


Inner dielectric Inner dielectric

Bottom layer Bottom layer


Type of import: Full 3D Type of import: Metal shell
Elevations: Elevations:
Metal layer between dielectric layers Metal layer between dielectric layers

The Full 3D option imports all copper layers with a thickness according to the Layers to
import table. The layer elevations are determined according to Elevations, see in the
next section Controlling The Layer Stackup. With the Metal shell option copper layers
are imported as embedded boundaries between dielectric regions. As illustrated in the
figure above, switching to Metal shell changes the elevation of dielectric layers when
Elevations is set to Metal layer between dielectric layers.

For 3D imports, when the geometry grouping All and the import type
Metal shells are used together, an isolated copper layer cannot be imported
if the import also includes another solid (dielectric) layer. In this case use
the By layer grouping, or add two Import features to the geometry
sequence, one to import the copper layer, and a second one for the solid
layers.

IMPORTING IPC-2581 AND ODB++ FILES | 15


CONTROLLING THE LAYER STACKUP
The import can read stackup information from the PCB file, such as the thickness for
copper and dielectric layers. The layer information is displayed in the Layers to import
table. Sometimes the layer thickness is not included in the export from the ECAD
program, so the layers get the default zero thickness. Therefore it is recommended that
these values are checked before importing.

To decide how elevations are calculated for the imported layers, select one of the
options for Elevations:

• Select Metal layer inside dielectric layer above to position interior copper layers inside
the dielectric layer immediately above the copper layer. The layer elevations in the
table are calculated automatically from the layer Thickness values. Using this option
together with Type of Import set to Full 3D, the total thickness of the board is
calculated as the sum of the dielectric layer thicknesses, plus the thickness of the top
and bottom copper layers.
• Select Metal layer between dielectric layers to position interior copper layers between
the dielectric layers immediately below and above the copper layer. The layer
elevations in the table are calculated automatically from the layer Thickness values.
Using this option together with Type of Import set to Full 3D, all copper layers,
including the interior copper layers, contribute to the total thickness of the circuit
board, which is the sum of the thicknesses of all copper and dielectric layers.
• Select Manual to enable the manual repositioning of layers in the stackup. The
Elevation column appears in the table where you can enter values for the lower z
positions of the layers. Any changes to the Elevation column in the table are lost
when you switch to one of the other two options for Elevations. The Manual option
is available only when Grouping of geometries is set to By layer or No grouping.

Inner layer Top layer Inner layer Top layer

Top dielectric Top dielectric

Inner dielectric Inner dielectric

Bottom layer Bottom layer


Elevations: Elevations:
Metal layer inside dielectric layer above Metal layer between dielectric layers

16 | CHAPTER 2: IMPORTING ECAD FILES


Select the Show names from file check box to display the layer names as included in the
PCB file. This is useful after assigning new layer names that are used in the COMSOL
application.

The Layers to import table contains the following columns:

• The Name column displays the layer names from the file. You can edit the entries to
give more descriptive names to the layers. The names that appear here are used to
name the resulting geometry objects and the selections when the Layer selections
check box is selected under Selections of Resulting Entities.
• The Name in file column is visible only when you select the Show names from file
check box above the table. The Name in file column always displays the layer name
from the PCB file, even after editing the Name column.
• The Type column declares the type of layers. Depending on their type, the import
treats layers differently during import. For example, the geometry from a layer of
type Metal is extruded only if the Type of import is set to Full 3D. Layers of type
Dielectric are extruded, when selected in the Import column, according to the
thickness and elevation data in the table. A union of the objects from the Outline
layer is used as the PCB outline to determine the extent of the dielectric layers. The
Drill layer type means that the objects in the layer define drilled via holes through
the PCB. ODB++ files may sometimes contain copper layers with the context set to
MISC. These are displayed as layers of type Metal misc in the table, and they are by
default not selected for import, similarly to layers of type Other.
• The values in the Thickness column are used as the extrusion distances for the layers.
The layer elevations are calculated based on these values unless the Elevation column
is displayed. The values in the layer Thickness column can always be changed prior
to import.
• The values in the Elevation column control the lower z positions of the layers. By
adjusting the values you can adjust the position of layers in the stackup. The
Elevation column is only displayed when Elevations is set to Manual.
• The Import column. Clear the check box for layers that do not need to be imported.

To save the layers table to a text file, click the Save to File button ( ) under the table.
To load layer table information from a text file, click the Load from File button ( )
under the table. Only the editable data in the table is affected when loading from file.
Layer data in the file that does not match the existing layers in the table is ignored. To
reset the thickness and elevation values in the table to the last read data from the PCB
file click the Reset Thickness and Elevation button ( ). To select the Import check box
in the table for all copper and dielectric layers click the Select All Metal and Dielectric

IMPORTING IPC-2581 AND ODB++ FILES | 17


Layers for Import button ( ). Click the Clear All Imports button ( ) to clear all
check boxes in the Import column. To reload the layer information from the PCB file
to the table click the Reload Layers button ( ). This will replace all content in the
table with data from the PCB file.

DIELECTRIC LAYERS
When the PCB file includes the outline of the PCB board in the file the dielectric
regions are generated to the shape of the board. Even if the dielectric layers are selected
for import in the Layers to import table, the import and extrusion of the corresponding
objects or domains can be turned off by clearing the Import dielectric regions check
box.

INTERIOR BOUNDARIES
By default the Keep interior boundaries check box is cleared to instruct the import to
remove all interior boundaries on the imported layers. Interior boundaries on the
copper layers are the result of the union of the individual symbols that make up the
traces. Ignoring the interior boundaries keeps the geometry complexity to a minimum
and can also make the import more robust in some situations.

COPPER TEXT AND OBJECTS OUTSIDE THE BOARD BOUNDARY


It is not uncommon that the copper layouts have text objects that provide information,
and are not part of any electrical circuits. Shapes may be also included for example to
mark the board boundaries, and these shapes are often positioned outside the board.
Such objects may make it more difficult to construct the geometry and are usually of
no interest in a physical simulation.

Select the Ignore text objects check box to skip all objects in a PCB file that have the
TEXT tag set. To prevent objects outside the board from being imported select the
check box Ignore objects outside of board. Objects that are positioned outside the
board, at a distance greater than that specified by the offset in the Offset from boundary
field, are ignored by the import. The default value for the offset is −0.1 mm, which
means that objects that are further into the board than 0.1 mm from the board
boundary are imported. The offset should only be taken as an approximation. It is only
checked where the object has its defining points, which are not necessarily the same
points that can be seen on an object after it has been imported. For example, a trace is
defined by its start and end points, which lie on the centerline of the trace. Similarly, a
circle might be defined by four points (south, north, east, and west). Thus, an object
might be ignored even if an edge is further inside the board than the specified offset,

18 | CHAPTER 2: IMPORTING ECAD FILES


as long as all the points that define the object are farther away from the boundary than
the offset.

REPAIR
Geometry repair is controlled via the Repair imported data check box and the Repair
tolerance list. Change the Repair tolerance from Automatic to Relative to manually
specify a tolerance in the Relative repair tolerance field. Automatic means a relative repair
tolerance of 10−6.

When selected, the geometry repair is active when combining the objects to generate
the 2D geometry of each layer, and also when the layers are combined together after
extrusion. By increasing the repair tolerance, problems with short edges arising when
combining the objects can sometimes be circumvented. A repair tolerance that is too
high may however lead to breaking the geometry. As a guideline, the relative tolerance
should be kept between 10−5 to 10−8. Values at the lower end of this interval may
result in faster import at the cost of a higher number of short edges being present in
the imported geometry. Read about how to remove short edges in the next section.

IGNORE VERTICES IN LAYERS


Select the Ignore vertices with continuous tangent check box (cleared by default), to
remove, in each layer, vertices that connect two edges that have tangent directions
making an angle less than the Continuous tangent tolerance.

Select the Eliminate short edges check box (cleared by default), to eliminate, by
ignoring one or both of their adjacent vertices, edges that are shorter than the
Maximum edge length.

SELECTIONS OF RESULTING ENTITIES


If you want to make the resulting entities contribute to a cumulative selection, select
a cumulative selection from the Contribute to list (the default, None, gives no
contribution), or click the New button to create a new cumulative selection (see
Cumulative Selections in the COMSOL Multiphysics Reference Manual).

Select the Resulting objects selection check box to create predefined selections (for all
levels — objects, domains, boundaries, edges, and points — that are applicable) in
subsequent nodes in the geometry sequence. To also make all or one of the types of
resulting entities (domains, boundaries, edges, and points) that the resulting objects
consist of available as selections in all applicable selection lists (in physics and materials
settings, for example), choose an option from the Show in physics list: All levels, Domain
selection, Boundary selection, Edge selection, or Point selection. The default is Domain

IMPORTING IPC-2581 AND ODB++ FILES | 19


selection, which is suitable for use with materials and physics defined in domains. For
use with a boundary condition, for example, choose Boundary selection. These
selections do not appear as separate selection nodes in the model tree. Select Off to not
make any selection available outside of the geometry sequence.

Select the Layer selections check box to create predefined selections — for domains,
boundaries, and objects — in subsequent nodes in the geometry sequence for each
imported layer in the PCB file. The boundary selection for drill layers include all
boundaries of the objects, whereas for all other layer types only the horizontal
boundaries are included in the selection.

To make the resulting entities that the layers consist of available as selections in all
applicable selection lists (in physics and materials settings, for example), choose an
option from the Show in physics list: All levels, Domain selection, or Boundary selection.
The default is All levels, which makes predefined selections available on all applicable
levels, suitable for use with materials and physics defined in domains and boundaries.
For use with a boundary condition, for example, choose Boundary selection. These
selections do not appear as separate selection nodes in the model tree. Select Off to not
make any selection available outside of the geometry sequence.

NET SELECTIONS
The sections Domain Net Selections (in 2D and 3D) and Boundary Net Selections (in
3D), contain a table that lists the generated selections for the imported nets. Net
selections are generated when importing IPC-2581 and ODB++ files. The tables
contain the following columns, ordered from left to right:

• Name - This column contains the name of the selection.


• Keep - The check box in this column is cleared by default, and determines whether
the selection will be available for use in geometry features following the Import
feature.
• Physics - The check box in this column is selected by default. Provided that also the
Keep check box has been selected, it determines whether the selection will be
available in all applicable selection lists in physics and materials settings, for example.
If the Import node has been added under the Plane Geometry node of a Work
Plane, this column header is titled 3D. If the Import node has been added to a
geometry part, this column header is titled Instances.
• Contribute to - Select a cumulative selection from the list in this column to make the
resulting entities contribute to a cumulative selection. The default, None, gives no

20 | CHAPTER 2: IMPORTING ECAD FILES


contribution. Contributing to a cumulative selection does not require that the Keep
check box has been selected.

Click the New Cumulative Selection button under the tables to create a new cumulative
selection (see Cumulative Selections in the COMSOL Multiphysics Reference
Manual).

The entities in a selection are highlighted in yellow in the Graphics window when the
selection is clicked in the table. To zoom in on the selection use the Zoom to Selection
button in the Graphics toolbar.

The net selection names are derived from the net and layer names imported from the
PCB file. For example, for a net with the name NET on a board with three copper layers
(SIG1, GND, SIG2), two dielectric layers (SIG1.DIEL, GND.DIEL), and two drill layers
(DRILL1, DRILL2), the following selections are generated: NET.SIG1, NET.GND,
NET.SIG2, NET.DRILL1_SIG1_DIEL, NET.DRILL1_GND_DIEL,
NET.DRILL2_SIG1_DIEL, NET.DRILL2_GND_DIEL, and NET. The selection NET is the
union of all other selections for this net. If the name of a net is the same as the name
of a layer, for example GND, the suffix _N is attached to the name of the net selection to
avoid a name clash between net and layer selections.

Empty net selections are not generated; that is, a selection for the net is generated only
when the intersection of the net and the layer contains entities. For entities that do not
belong to a net, the selection NONET is generated.

The boundary net selections include only the horizontal boundaries for the copper and
dielectric layers and both vertical and horizontal boundaries for the drill layers. Note
that edge and vertex selections are not generated for nets.

IMPORTING IPC-2581 AND ODB++ FILES | 21


Importing GDS-II Files
In this section:

• The GDS-II File Format


• Extruding Layers
• Import Settings for GDS-II Files

The GDS-II File Format


The GDS-II file format is commonly used for mask layout production used in the
manufacturing process of semiconductor devices and MEMS devices. The file is a
binary file, containing information about drawing units, geometry objects made of
polygons, and object drawing hierarchy. The drawing hierarchy is made up of a library
of cell definitions, where each cell can be instantiated (drawn several times) with
scaling, translation, mirroring, and rotation. It is also possible to repeat a cell as an
array of drawn objects. This is very useful for mask layouts of integrated circuits, which
often consist of millions of transistors. There are usually only a few transistor
configurations present on the layout, and each transistor configuration only has to be
defined once. You can configure the import to include only selected cells, see Cell
Selection. Geometry objects in the cells belong to different layers which represent
different steps in the manufacturing process. Geometry objects can also be assigned
data types that are sometimes used to group together objects.

FILE EXTENSION
The file extension of the GDS-II format is usually .gds, and the ECAD import
requires it to be so, otherwise it cannot identify the file as a GDS-II file. If the file has
a different extension, it must be changed to .gds before importing the file.

SUPPORTED FEATURES
There are several record types in a GDS-II file that are of no interest in a geometry
import and these are ignored. There are also a few record types that actually could be
imported as a geometry object, but are also ignored. One such example is the Text
record, which produce a lot of mesh elements and is usually of no interest in a
simulation. Below is a list of the supported record types:

• Boundary: a closed polyline object


• Box: a box object

22 | CHAPTER 2: IMPORTING ECAD FILES


• Path: a path with a thickness
• Sref: an instance of a cell that can be translated, rotated, scaled, and mirrored
• Aref: an n-by-m array of Sref objects
• Element: specification of a cell

Extruding Layers
The GDS-II format does not contain layer stackup information, such as thickness and
elevation, this has to be supplied before import to create a 3D structure by extrusion.
For extruding the layers, the import algorithm performs several extrude operations to
generate one geometry object per layer.

Several layers on the same height is common for semiconductor layouts, where the
fabrication process includes deposition followed by etching and then redepositing of a
different layer. To handle such a process scheme, after the import, you can do etching
by removing a layer from other objects, by using the Difference button from the Boolean
Operations submenu in the Geometry toolbar. You can find the various import options
described under the section Grouping of Geometries.

Import Settings for GDS-II Files


To add an Import node, from the Home or Geometry toolbar, click Import ( ). In the
Import section of the Settings window, set the type of file to import to ECAD file. You
can also skip this step as the type of the selected file is automatically recognized by the
code. Click Browse to locate the file to import, or enter the path to the file. Before
clicking the Import button configure the layer thickness, since the GDS-II files do not
include the necessary layer thickness and elevation information to construct a 3D
geometry.

For the length unit in the file μm is always displayed, since GDS-II files do not specify
a unit. To use the displayed unit as the length unit for the geometry sequence select
the Update geometry unit check box. The check box is selected by default if the Import
node is added as the first node in the geometry sequence.

CELL SELECTION
Data contained in GDS-II files is organized in hierarchical structure consisting of cells.
Select a cell name from the Cell to import list to limit the import to the selected cell
beneath the top cell in the hierarchy. Use the default choice in this list to import the
top cell. By default all subcells below the selected cell are imported. To import only

IMPORTING GDS-II FILES | 23


one subcell type, select the cell from the Filter by subcell list. The difference between
selecting a cell and filtering the top cell by the same cell is that the latter alternative
includes all instances of the selected cell, whereas the first case only includes the
selected instance of the cell.

GROUPING OF GEOMETRIES
The import operation can import each layer into its own geometry object, or import
each object from the layers in the file into its own geometry object. To determine
which method to use select one of the available alternatives from the Grouping of
geometries list:

• By layer. Use this alternative to combine the imported objects from each layer into
a single geometry object. Several geometry objects, one for each imported layer, are
output by the import.
• No grouping. Use this alternative to import each object from the layers into
individual geometry objects. To construct the geometry objects the import
performs a union of all the segments.

With the Type of import setting the extrusion of layers can be switched on or off. The
Full 3D option imports all layers with a thickness, as specified in the Layers to import
table. With the Metal shell option layers are imported as one surface object per layer
(with grouping By layer), or one surface object per imported object (with grouping No
grouping).

CONTROLLING THE LAYER STACKUP


Since layer stackup information is not included in GDS-II files, the layers are assigned
a default zero thickness in the Layers to import table. These values can be edited before
importing the GDS-II file.

Select the Manual control of elevations check box to position the layers in the z
direction. When Manual control of elevations is not selected, the z positions of the layers
are calculated automatically from the layer Thickness values.

Select the Show names from file check box to display the layer names as included in the
GDS-II file. This is useful after assigning new layer names that are used in the
COMSOL application.

If the datatype record is used in the file for grouping of objects on a layer you can select
the Split by datatype check box to treat geometry objects of the same datatype as a
separate layer. The parent layer is then split into as many separate layers as there are
datatypes defined. For example, a layer that contains objects that are grouped into two

24 | CHAPTER 2: IMPORTING ECAD FILES


datatypes will be split into two separate layers after selecting the check box. The name
of the new layers is obtained by appending the datatype to the name of the parent layer.

Note: When the Split by datatype check box is selected the import will generate the
geometry only for those layers that contain objects with the datatype record set in the
file.

The Layers to import table contains the following columns:

• The Name column displays the layer names from the file. You can edit the entries to
give more descriptive names to the layers. The names that appear here are used to
name the resulting geometry objects and the selections when the Layer selections
check box is selected under Selections of Resulting Entities.
• The Name in file column is visible only when you select the Show names from file
check box above the table. The Name in file column always displays the layer name
from the GDS-II file, even after editing the Name column.
• The Type column declares the type of layers. GDS-II files do not specify layer types,
and the layer type is always set to Metal.
• The values in the Thickness column are used as the extrusion distances for the layers.
Layer elevations are also calculated based on these values when Manual control of
elevations is not enabled. The values in the layer Thickness column can always be
changed prior to import. Note that GDS-II files do not contain layer thickness (nor
elevation) data.
• The values in the Elevation column control the lower z positions of the layers. By
adjusting the values you can adjust the position of layers in the stackup. The
Elevation column is only displayed when Manual control of elevations is enabled.
• The Import column. Clear the check box for layers that do not need to be imported.

To save the layers table to a text file, click the Save to File button ( ) under the table.
To load layer table information from a text file, click the Load from File button ( )
under the table. Only the editable data in the table is affected when loading from file.
Layer data in the file that does not match the existing layers in the table is ignored. To
reset the thickness and elevation values in the table to the last read data from the GDS
file click the Reset Thickness and Elevation button ( ). To select the Import check box
in the table for all layers click the Select All Metal and Dielectric Layers for Import button
( ). Click the Clear All Imports button ( ) to clear all check boxes in the Import
column. To reload the layer information from the GDS file to the table click the Reload

IMPORTING GDS-II FILES | 25


Layers button ( ). This is useful in case the GDS file has changed since the last time
it was read, and includes additional layers. By clicking Reload Layers you can load the
information for the new layers into the table, while keeping any edits you have done in
the table for layers that are also found in the new file. Note that layers that are not
found in the new file are removed from the table.

INTERIOR BOUNDARIES
By default the Keep interior boundaries check box is cleared to instruct the import to
remove all interior boundaries on the imported layers. This keeps the geometry
complexity to a minimum and can also make the import more robust in some
situations.

ARC RECOGNITION
Recognition of arcs and straight lines can significantly reduce the complexity of
imported layouts from GDS files. With the Recognize arcs set to Automatic, all polygon
chains that represent arcs are identified and replaced with more efficient curve objects,
and polygon segments that lie on a single straight line are recognized and joined into
a single straight segment.

With Recognize arcs set to Manual, the following settings will help you fine tune the
process of the merging of segments into a single circular arc:

• Minimum angle between segments: this parameter prohibits merging of two adjacent
polygon segments to a circular arc if the angle between them is less than the
provided number.
• Maximum angle between segments: this prohibits merging of two adjacent polygon
segments to a circular arc if the angle between them is greater than the provided
number.
• Maximum curvature deviation: this prohibits merging a polygon segment to the
constructed circular arc if that would (relatively) change the curvature by more than
the provided number.
• Maximum length deviation: this prohibits merging of two adjacent polygon segments
to a circular arc if the relative difference between the lengths is greater than the
provided number.
• Maximum deviation from circle: the allowed maximum relative error between the
polygon segments and the constructed circular arc.

In manual arc recognition mode, the Find straight lines check box controls whether to
convert several polygon segments that lie on a straight line into a single straight

26 | CHAPTER 2: IMPORTING ECAD FILES


segment. This option uses the number in the Minimum angle between segments field to
determine if a group of segments lie on the same straight line.

Short polygon segments that are difficult to eliminate using arc recognition can usually
be removed as described in the section Ignore Vertices in Layers.

REPAIR
Geometry repair is controlled via the Repair imported data check box and the Repair
tolerance list. Change the Repair tolerance from Automatic to Relative to manually
specify a tolerance in the Relative repair tolerance field. The geometry repair allows to
repair incorrectly drawn objects, such as polygons with (small) gaps.

If selected, the geometry repair is also active when combining the imported objects in
a cell or layer. By increasing the repair tolerance, problems with short edges arising
when combining the objects can sometimes be circumvented.

IGNORE VERTICES IN LAYERS


Select the Ignore vertices with continuous tangent check box (cleared by default), to
remove, in each layer, vertices that connect two edges that have tangent directions
making an angle less than the Continuous tangent tolerance.

Select the Eliminate short edges check box (cleared by default), to eliminate, by
ignoring one or both of their adjacent vertices, edges that are shorter than the
Maximum edge length.

SELECTIONS OF RESULTING ENTITIES


If you want to make the resulting entities contribute to a cumulative selection, select
a cumulative selection from the Contribute to list (the default, None, gives no
contribution), or click the New button to create a new cumulative selection (see
Cumulative Selections in the COMSOL Multiphysics Reference Manual).

Select the Resulting objects selection check box to create predefined selections (for all
levels — objects, domains, boundaries, edges, and points — that are applicable) in
subsequent nodes in the geometry sequence. To also make all or one of the types of
resulting entities (domains, boundaries, edges, and points) that the resulting objects
consist of available as selections in all applicable selection lists (in physics and materials
settings, for example), choose an option from the Show in physics list: All levels, Domain
selection, Boundary selection, Edge selection, or Point selection. The default is Domain
selection, which is suitable for use with materials and physics defined in domains. For
use with a boundary condition, for example, choose Boundary selection. These

IMPORTING GDS-II FILES | 27


selections do not appear as separate selection nodes in the model tree. Select Off to not
make any selection available outside of the geometry sequence.

Select the Layer selections check box to create predefined selections — for domains,
boundaries, and objects — in subsequent nodes in the geometry sequence for each
imported layer in the GDS file. To also make all of one of the resulting entities that the
layers consist of available as selections in all applicable selection lists (in physics and
materials settings, for example), choose an option from the Show in physics list: All
levels, Domain selection, or Boundary selection. The default is All levels, which makes
predefined selections available on all applicable levels, suitable for use with materials
and physics defined in domains and boundaries. For use with a boundary condition,
for example, choose Boundary selection. These selections do not appear as separate
selection nodes in the model tree. Select Off to not make any selection available outside
of the geometry sequence.

Select the Cell selections check box to create predefined selections — for domains and
boundaries — in subsequent nodes in the geometry sequence for each imported cell
in the GDS file. To also make all of one of the resulting entities that the cells consist
of available as selections in all applicable selection lists (in physics and materials
settings, for example), choose an option from the Show in physics list: All levels, Domain
selection, or Boundary selection. The default is Domain selection, if available, which is
suitable for use with materials and physics defined in domains. For use with a boundary
condition, for example, choose Boundary selection. These selections do not appear as
separate selection nodes in the model tree. Select Off to not make any selection available
outside of the geometry sequence.

28 | CHAPTER 2: IMPORTING ECAD FILES


Meshing an Imported Geometry
The imported geometry often consists of objects with very high aspect ratios, which
are hard to mesh with a tetrahedral mesh generator. As a result, it is often necessary to
use interactive meshing of the imported geometry in a by-layer fashion.

The following section describes this procedure in general terms.

This procedure assumes that the top and bottom layers are metal layers. All metal layers
can often be meshed using swept meshing, but dielectric layers usually cannot be
meshed that way because the source and target boundaries do not look the same. Begin
by meshing from the bottom or top layer, starting with a triangular or quadrilateral
boundary mesh. Then mesh layer by layer, where each metal layer gets a swept mesh,
and each dielectric layer (with vias) gets an unstructured tetrahedral mesh. When
starting with a quadrilateral boundary mesh the swept mesher generates hex elements,
and pyramid elements are automatically inserted when the tetrahedral mesher
generates the mesh for the dielectric layers. Finally, if there is a surrounding air domain
mesh it using the tetrahedral mesher.

Meshing in the COMSOL Multiphysics Reference Manual.

When meshing geometry created from imported ECAD files, it can help to eliminate
short edges during the import. Do this by selecting the check boxes Ignore vertices with
continuous tangent and Eliminate short edges in the import settings. Note that you can
also remove short edges from the geometry by using the Remove Details feature; see
Remove Details in the COMSOL Multiphysics Reference Manual. For an example of
using the Remove Details feature on imported PCB geometry, see the tutorial
Importing and Meshing a PCB Geometry from an ODB++ Archive found in the
Application Libraries for the ECAD Import Module.

MESHING AN IMPORTED GEOMETRY | 29


Troubleshooting ECAD Import
In this section:

• Tuning Import Settings


• Problems When Extruding Layers
• Problems with Several Geometry Objects

Tuning Import Settings

DELETE INTERIOR EDGES


A complex layout produces a large number of faces that can be hard to render. A simple
way to reduce the number of faces is to clear the Keep interior boundaries check box in
the ECAD import options. This removes all faces internal to the nets within a layer.

REMOVING FEATURES
Remove all features that are not important for the simulation. This is usually best to
do before the import in the ECAD software. When importing with Grouping of
geometries set to No grouping it is possible to manually delete certain objects after
import, but it is recommended to do this only for relatively simple geometries.

Problems When Extruding Layers


Most ECAD or EDA programs support design rule checks (DRC), which test the
entire layout and check that all features (vias, conductors, and components) are
separated according to certain rules. With such checks the layout is free from
overlapping vias and conductors touching other conductors or vias. This also ensures
that the special extrude functionality of the ECAD import works properly. If the file
contains such design-rule violations, the extrude operation might fail and issue an error
message stating that it could not handle the topology of the layout.

The best approach to handle such problems is to perform a DRC with your ECAD
software and produce new layout files. If this is not possible, import the layout in 2D
and try to identify the problematic features.

30 | CHAPTER 2: IMPORTING ECAD FILES


Problems with Several Geometry Objects
If the special extrude functionality is not used, you get several geometry objects, for
example, one for each layer if By layer is selected from the Grouping of geometries list.
After a CAD import COMSOL Multiphysics is in the Geometry branch of the model
tree. When you continue to the Materials branch if the model tree or to a physics
interface node or the Mesh branch, the program tries to combine all the objects into
one geometry, and this operation might fail if the objects are very complex and have
high aspect rations. Resolve this by trying the option All in the Grouping of geometries
list. This creates one combined geometry object by using the special extrude
functionality, and with only one object this.

Another possibility is to use assemblies, because then COMSOL Multiphysics does not
have to combine the objects (parts). This is controlled by the Form Union/Assembly
node in the Geometry branch of the model tree. When using an assembly, use identity
pairs to connect the interfaces between the layers.

As a final option, do not import the dielectric layers. The import then leaves isolated
metal layers that have to be connected with coupling variables.

TROUBLESHOOTING ECAD IMPORT | 31


32 | CHAPTER 2: IMPORTING ECAD FILES
3

Programming and Command Reference

In this section you find detailed COMSOL API reference information for the
geometry features in the ECAD Import Module.

In this section:

• Commands

33
Commands
Import of ECAD Files

PURPOSE
Import geometry objects from an ECAD file in 2D and 3D using the ECAD Import
Module

SYNTAX
model.geom(<tag>).feature().create(<ftag>,"Import");
model.geom(<tag>).feature(<ftag>).set(property,<value>);
model.geom(<tag>).feature(<ftag>).getType(property);
model.geom(<tag>).feature(<ftag>).getStringMatrix("layerprop");
model.geom(<tag>).feature(<ftag>).importData();

DESCRIPTION
Use model.geom(<tag>).feature().create(<ftag>,"Import") to create a
geometry import feature.

When the property filename is set to a file recognized as an ECAD file, the property
ecadtype is automatically initialized to either gds, ipc2581, or odb++. The following
properties are available:
TABLE 3-1: VALID PROPERTY/VALUE PAIRS.

PROPERTY VALUE DEFAULT DESCRIPTION

ecadtype gds | ipc2581 | unknown Type of ECAD file. A read


odb++ | unknown only property that is
automatically initialized from
the property filename.
elevation String[] Empty Z-position of layers.
filename String Empty Filename.
fileunit String Empty The length unit in file. Read
only.

34 | CHAPTER 3: PROGRAMMING AND COMMAND REFERENCE


TABLE 3-1: VALID PROPERTY/VALUE PAIRS.

PROPERTY VALUE DEFAULT DESCRIPTION

grouping all | layer | none layer The grouping of the


imported layers, where all
returns one single object,
and layer gives you one
object per layer. For the
import of GDS files the use
of all is not recommended.
In 2D, all is the same as
layer.
height String[] Empty Thickness of layers.
importlayer String[] Empty The entries in the array
govern if the corresponding
layer is to be imported. Each
entry value is either "on" or
"off".
importtype full3d | shell full3d Determine if metal layers are
imported as solid or faces in
3D.
intbnd on | off off Keep interior boundaries on
layers.
layername String[] Empty The user names for the
layers. Empty string implies
the name is taken from the
ECAD file.
repairgeom on | off on Repair imported objects.
repairtol double 1e-5 Repair tolerance, relative to
(for size of union of imported
GDS) objects. Setting this property
1e-6 will automatically set
(for repairtoltype to relative
ODB++ and repairgeom to on.
and
IPC-2581
repairtoltype auto | relative auto Determine if repair
tolerance is set automatically
or manually by the
repairtol property.

COMMANDS | 35
TABLE 3-1: VALID PROPERTY/VALUE PAIRS.

PROPERTY VALUE DEFAULT DESCRIPTION

ignorecontvtx on | off off Ignore vertices with


continuous tangent in layers.
Only used when type is
ecad.
contangletol double 5 or Continuous tangent
5[deg] tolerance. Only used if
ignorecontvtx is on.
elimshortedg on | off off Eliminate short edges by
ignoring vertices in layers.
Only used when type is
ecad.
maxedglen double 0 Maximum edge length. Only
used if elimshortedg is on.
selresult on | off off Create selections of all
resulting objects.
selresultshow all | obj | dom | The Show selections of resulting
bnd | edg | pnt | highest objects in physics, materials,
off available and so on, or in part
entity level instances. obj is not
except available in a component’s
obj; geometry. dom, bnd, and
usually edg are not available in all
dom. features.
sellayer on | off on Create layer selections.
sellayershow all | dom | bnd | all Show layer selections in
off physics, materials, and so on,
and in part instances (when
sellayer is on). This
property is not available in a
work plane’s Plane
Geometry.
updategeomunit Boolean true or The default is true if the
false feature is the first in the
geometry sequence,
otherwise false. If true,
the geometry sequence unit
will be updated to the
fileunit value when
performing the import.

36 | CHAPTER 3: PROGRAMMING AND COMMAND REFERENCE


TABLE 3-1: VALID PROPERTY/VALUE PAIRS.

PROPERTY VALUE DEFAULT DESCRIPTION

contributeto String none Tag of cumulative selection


to contribute to.
createselection on | off off Create selections.
The file specified by filename can be of any of the following formats:
TABLE 3-2: SUPPORTED FILE FORMATS.

FILE FORMAT FILE EXTENSIONS ECADTYPE

GDS .gds gds


IPC-2581 .cvg,.xml ipc2581
ODB++® .zip, .tar, .tgz, odb++
.tar.tgz

The imported objects are represented using COMSOL’s geometry modeler.

The property ecadtype determines which properties are available, see Table 3-2 for
supported types. The property ecadtype is read only, and it is automatically initialized
from the property filename, according to Table 3-2.

The property importlayer determines which layers to import. It is a string array of


the same length as the number of layers, holding the strings on or off. The property
is initialized with a valid default when setting the property filename.

To inspect available layers in a file, use the method

model.geom(<tag>).feature(<ftag>).getStringMatrix("layerprop");

It returns a String[][], with the same number of rows as the number of layers, that
contains information about each layer.

The property height determines the height of all layers. It is a string array of the same
length as the number of layers, holding string representations of the layer height, for
example 1[mm]. The property is initialized with a valid default when setting the
property filename.

The property elevation determines the Z-position of all layers. It is a string array of
the same length as the number of layers, holding string representations of the layer
elevation. Read more about how this property is initialized with a valid default for the
supported formats in the following sections:

• Import of GDS Files,


• Import of ODB++ and IPC-2581 Files.

COMMANDS | 37
If selresult is set to on, a selection is created for all resulting entities of each type
(object, domain, boundary, edge, and point), for use in the geometry sequence. To
access the object selection, use model.geom(<tag>).selection(<ftag>), where
<tag> is the geometry tag and <ftag> is the feature tag. To access the other selections,
use model.geom(<tag>).selection(<ftag>.<lvl>), where <tag> is the geometry
tag, <ftag> is the feature tag, and <lvl> is one of dom, bnd, edg, or pnt. If, in
addition, selresultshow is set to a value other than off, all or some of these
selections appear for use outside the geometry sequence. To access these selections, use
model.selection(<tag>_<ftag>_<lvl>), where <tag> is the geometry tag,
<ftag> is the feature tag, and <lvl> is one of dom, bnd, edg, or pnt.

If sellayer is set to on, a selection is created for all resulting entities of the types
object, domain, and boundary, of each layer, for use in the geometry sequence. To
access the object selections, use model.geom(<tag>).selection(<ftag>_<otag>),
where <otag> is a tag derived from the name of the imported layer. <otag> is derived
by replacing space and dot characters with underscore characters and removing other
characters that are not numbers or uppercase or lowercase English characters (A–Z and
a–z). Additionally, if required to make <otag> unique, _<m> is appended, where <m>
is an integer. To access the other selections, use
model.geom(<tag>).selection(<ftag>_<otag>.dom) or
model.geom(<tag>).selection(<ftag>_<otag>.bnd), where <otag> is a tag
derived from the name of the imported layer. If, in addition, sellayershow is set to a
value other than off, all or some of these selections appear for use outside the
geometry sequence.

To access these selections, use model.selection(<tag>_<ftag>_<otag>_dom) or


model.selection(<tag>_<ftag>_<otag>_bnd), where <otag> is a tag derived
from the name of the imported layer.

IMPORT OF GDS FILES


If the file type is GDS, you can create additional selections for each imported cell by
using the properties selcell and selcellshow.

Properties that are only available when ecadtype is gds.


TABLE 3-3: VALID PROPERTY/VALUE PAIRS FOR GDS.

PROPERTY NAME PROPERTY DEFAULT DESCRIPTION


VALUE

arcdistancetol double 0.3 Tolerance for segment length


deviation.
arcmaxangle double 36 Maximum angle for segments.

38 | CHAPTER 3: PROGRAMMING AND COMMAND REFERENCE


TABLE 3-3: VALID PROPERTY/VALUE PAIRS FOR GDS.

PROPERTY NAME PROPERTY DEFAULT DESCRIPTION


VALUE

arcminangle double 3.6 Minimum angle for segments to


part of an arc.
arcmaxcircledev double 1e-3 Maximum allowed point deviation
from a circle, relative to the circle
radius.
arcradiustol double 0.4 Tolerance for arc curvature.
cell String Empty Name of cell to import. The top
cell is imported by default.
cellfilter String Empty Name of cell to include. Leave
empty to include all cells below
the cell selected by the cell
property.
findarcs auto | auto Control arc recognition.
manual | off
findlines on | off on Turn on straight line recognition.
Only available when findarcs is
manual.
manualelevation on | off off Manual control of elevations.
selcell on | off off Create cell selections.
selcellshow all | dom | dom Show cell selections in physics,
bnd | off materials, and so on, and in part
instances (when selcell is on).
This property is not available in a
work plane’s Plane Geometry.
splitbydatatype on | off off Treat datatypes as separate layers
The property manualelevation controls how imported layers are positioned in the
Z direction. When manualelevation is off, the imported layers are stacked on top
of each other with no gaps, so the Z-positions are computed from the height
property. When manualelevation is on and grouping is set to layer or none, the
imported layers are positioned in the Z direction as specified by the elevation
property. To switch to manual control of elevations it is recommended to first set
manualelevation to on, then set the values for the height and elevation
properties.

The property elevation is initialized with a valid default on these occasions:

• when setting the property filename,

COMMANDS | 39
• when setting the property manualelevation to off,
• when manualelevation is off, and the value of the height property is changed,
• when manualelevation is off, and the value of the importtype property is
changed.

When findarcs is auto or manual, line segments are combined to form arcs. If
findarcs is manual, the properties arcdistancetol, arcradiustol, arcminangle,
arcmaxangle, and findlines can be used to tune the arc recognition algorithm,
otherwise the algorithm tries to determine optimal parameters.

IMPORT OF ODB++ AND IPC-2581 FILES


Properties that are only available when ecadtype is ipc2581, odb++.
TABLE 3-4: VALID PROPERTY/VALUE PAIRS FOR IPC-2581 AND ODB++.

PROPERTY NAME PROPERTY VALUE DEFAULT DESCRIPTION

dielectric on | off on Import dielectric regions


elevationtype metalabove | metalabove Select how elevations should
metalbetween be determined.
| manual
ignorelinewidth on | off off Import line symbols as curve
objects by ignoring the line
width during import
ignoreoffset double -0.1[mm] Offset used when
ignoreoutsideboard is on.
The file unit is used if no unit is
specified.
ignoreoutsideboard on | off off Ignore objects for which the
defining points fall outside the
board boundary incremented
with the offset defined by
ignoreoffset
ignoretext on | off on Ignore objects marked as text
in the files
selnetkeepbnd on | off false Keep boundary net selections
selnetkeepdom on | off false Keep domain net selections
selnetnamebnd String[] Empty Names of boundary net
selections (read only)
selnetnamedom String[] Empty Names of domain net
selections (read only)

40 | CHAPTER 3: PROGRAMMING AND COMMAND REFERENCE


TABLE 3-4: VALID PROPERTY/VALUE PAIRS FOR IPC-2581 AND ODB++.

PROPERTY NAME PROPERTY VALUE DEFAULT DESCRIPTION

selnettagbnd String[] Empty Tags of boundary net


selections (read only, hidden in
GUI)
selnettagdom String[] Empty Tags of domain net selections
(read only, hidden in GUI)
selnetcontributeto String[] Empty Tags of cumulative selection to
bnd contribute to (or none to not
contribute), for boundary net
selections
selnetcontributeto String[] Empty Tags of cumulative selection to
dom contribute to (or none to not
contribute), for domain net
selections
selnetshowbnd on | off off Show boundary net selections
in physics, materials, and so
on; in part instances; or in 3D
from a plane geometry
selnetshowdom on | off off Show domain net selections in
physics, materials, and so on;
in part instances; or in 3D
from a plane geometry
The property elevationtype controls how imported layers are positioned in the
Z direction. When elevationtype is metalabove or metalbetween, the imported
layers are stacked on top of each other with no gaps, so the Z-positions are computed
from the height property. When elevationtype is manual and grouping is set to
layer or none, the imported layers are positioned in the Z direction as specified by the
elevation property. To switch to manual control of elevations it is recommended to
first set elevationtype to manual, then set the values for the height and elevation
properties.

The property elevation is initialized with a valid default on these occasions:

• when setting the property filename,


• when setting the property elevationtype to metalabove or metalbetween,
• when setting the property elevationtype to manual,

COMMANDS | 41
• when elevationtype is metalabove or metalbetween, and the value of the
height property is changed,
• when elevationtype is metalabove or metalbetween, and the value of the
importtype property is changed.

You can use the net selection tag as a key when setting array elements in the other
properties by using set(property,<ntag>, value), where <ntag> is a tag derived
from the name of the net selection.

To access net selections, use model.selection(<tag>_<ftag>_<ntag>_dom) or


model.selection(<tag>_<ftag>_<ntag>_bnd), where <ntag> is the tag of the net
selection.

42 | CHAPTER 3: PROGRAMMING AND COMMAND REFERENCE

You might also like