ECADImport Module Users Guide
ECADImport Module Users Guide
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:
Chapter 1: Introduction
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.
5
About This Guide
This documentation covers the ECAD Import Module.
The import capabilities cover the GDS II, ODB++®, and IPC-2581file formats and include
the creation of 3D geometry during the import operation.
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.
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.
• 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.
• Press Ctrl+F1.
• From the File menu select Help>Documentation ( ).
• Press Ctrl+F1.
• In the main toolbar, click the Documentation ( ) button.
• From the main menu, select Help>Documentation.
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.
8 | CHAPTER 1: INTRODUCTION
Opening the Application Libraries Window
To open the Application Libraries window ( ):
To include the latest versions of model examples, from the File>Help menu
select ( ) Update COMSOL Application Libraries.
To include the latest versions of model examples, from the Help menu
select ( ) Update COMSOL Application Libraries.
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.
10 | CHAPTER 1: INTRODUCTION
2
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:
11
Importing IPC-2581 and ODB++
Files
In this section:
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.
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.
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
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.
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.
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.
• 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
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.
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,
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.
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.
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
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:
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.
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:
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.
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
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).
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
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 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
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
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
COMMANDS | 35
TABLE 3-1: VALID PROPERTY/VALUE PAIRS.
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.
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:
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.
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.
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.