GDSII
GDSII files describe 2D layout geometry — typically mask layers in semiconductor or MEMS design. Quanscient Allsolve extrudes selected layers to defined thicknesses and positions to produce a 3D model suitable for meshing and simulation.
This guide covers the GDS import editor introduced with the current geometry pipeline.
Workflow
Section titled “Workflow”GDSII import can be roughly split into these steps:
- Select
Edit modelto enable geometry editing. - Select
+next to Geometry elements and chooseImport file. - Select a GDSII file (
.gdsor.gds2). - Wait while the application parses the file and loads Available layers.
- Configure Layer stacks, Absolute layers, and Import settings.
- Select
Saveand build the import element. - Select
Confirm model changesto finalize the model and lock entity tags.
After the file is uploaded, the GDS content is parsed but no 3D model exists yet. The 3D model is created when the import element is built.
At least one layer must be added to a stack or to Absolute layers before you can save.
Layer configuration
Section titled “Layer configuration”The GDS import editor has three main areas for layer configuration and import options:
- Available layers
- All layers in the GDS file, identified by layer number and datatype
- Layer stacks / Absolute layers
- Include layers in the 3D model by dragging them here
- Give thickness and position to each layer
- Import settings
- Units, extrusion quality, and geometry processing options
Available layers
Section titled “Available layers”Available layers lists every layer/datatype pair found in the uploaded file. Each entry is identified by its layer number and datatype, shown as layer/type (for example 47/0). A usage count appears when that layer is already included in a stack or absolute list.
Display names are not read from the GDS file. After you add a layer to a stack or absolute list, you can type an optional name for that instance (see Layer naming).
To add a layer:
- Drag it from Available layers into a Layer stack or Absolute layers, or
- Select
Addnext to the layer and choose a destination stack, a new stack, or Absolute layers.
The same GDS layer can be added more than once — for example, to build two separate stacks that both use layer 47.
Layer stacks
Section titled “Layer stacks”Layer stacks are relative extrusions: layers in a stack are placed one on top of another, starting from a Stack base Z value.
Each stack is independent. Use multiple stacks when parts of the layout should be extruded at different Z locations — for example, two separate device regions in the same GDS file.
For each stack you can:
- Add stack — create an empty stack.
- Set Stack base Z — the Z coordinate where the bottom of the stack starts.
- Add layers from Available layers (bottom to top within the stack).
- Set Thickness for each layer. The Z start column shows the computed start position of each layer within the stack.
- Reorder layers by dragging, or use the layer menu (Bring to top, Move up, Move down, Send to bottom).
- Copy stack, Clear stack, or Delete stack from the stack menu.
Layers in a stack are extruded sequentially: each layer’s top surface becomes the base for the next layer in that stack.
Absolute layers
Section titled “Absolute layers”Absolute layers are placed at explicit Z start positions independent of a stack. Use them for:
- Cut-out or through layers at a fixed height.
- Layers that span a specific Z range without following a stacked sequence.
- Layers that must start at an exact coordinate rather than relative to another layer.
For each absolute layer, set Thickness and Z start directly.
A layer can be converted between stacked and absolute modes from the layer menu: Convert to absolute or Convert to stacked.
Import settings
Section titled “Import settings”Import settings on the right side of the editor control units and geometry processing during extrusion.
General
Section titled “General”| Setting | Description |
|---|---|
| Name | Geometry element name in the project. |
| Enabled | Whether the import contributes to the model when built. |
| Units | Distance unit for layer thickness and Z positions: nanometers, micrometers, millimeters, or meters. |
Thickness values can include units in expressions (for example 0.2e2 nm) to override the selected unit for individual layers.
Layer unification
Section titled “Layer unification”Unification mode controls whether boundary curve discretization is unified across layers, and whether that happens before or after circle and spline creation:
| Mode | Effect |
|---|---|
| Off | No unification. |
| Before | Unify discretization before circle/spline fitting. |
| After | Unify discretization after circle/spline fitting. |
Unification helps identical shapes on different layers share the same vertex layout, which improves robustness in meshing and later geometry operations.
Merge tolerance sets the distance within which vertices and edges are merged, small gaps are closed, and boundary classification is decided.
Feature threshold controls
Section titled “Feature threshold controls”These settings control when the importer breaks a polyline into separate curve segments during circle and spline detection:
| Setting | Description |
|---|---|
| Angle threshold | Maximum angle between consecutive polyline segments before a break is forced (degrees). |
| Ratio threshold | Maximum length ratio between consecutive segments before a break is forced. |
Circle recognition and fitting
Section titled “Circle recognition and fitting”| Setting | Description |
|---|---|
| Max arc angle | Maximum arc angle per segment when detecting circular arcs. Curves with fewer sample points than required for a full circle are fitted as splines instead. |
| Circle fit tolerance | How closely a fitted circle must match the original polyline. If any point falls outside the tolerance, a spline is used instead. |
Spline creation method
Section titled “Spline creation method”| Method | Description |
|---|---|
| Polyline | Preserves the original polyline geometry. Fewer vertices are fixed, giving the mesher more freedom. Curvature information is not available for curvature-based meshing. |
| Iterative | Approximates the curve with a third-order Bézier spline to a given Spline tolerance, up to Max iterations. Enables curvature-based mesh refinement. |
CSV layer mapping
Section titled “CSV layer mapping”Layer mapping can be imported from or exported to a CSV file. This is useful for large stackups, design iterations, or sharing configurations between projects.
- Select
Upload layer mapping filein the GDS import header. - Upload a
.csvfile (UTF-8, comma-, semicolon-, or tab-separated). - If column headers are not recognized automatically, map each required field to a CSV column.
- Select
Import.
Required CSV fields:
| Field | Description |
|---|---|
| Layer number | GDS layer ID (integer). Must match a layer in the uploaded file. |
| Layer type | GDS datatype (integer). Together with layer number, identifies the layer. |
| Layer thickness | Thickness expression in the project distance unit. |
| Starting z-coordinate | Absolute Z start. Required unless Previous layer index is set. |
Optional fields:
| Field | Description |
|---|---|
| Previous layer index | Zero-based row index of the layer this row stacks on. When set, Starting z-coordinate is ignored for stacking. |
| Layer name | Display name for the layer instance. |
Each row must have a non-empty thickness and either a starting Z coordinate or a valid previous layer index. Rows that reference unknown layer/datatype pairs or missing values are skipped with a warning.
Example:
LayerID,LayerType,Thickness,AbsoluteZ,PreviousLayerIndex,Name47 ,0 ,0.1 ,0.06 , ,Metal bottom48 ,0 ,0.2 , ,0 ,Metal middle49 ,0 ,0.2 , ,1 ,Metal top47 ,0 ,0.1 ,0.5 , ,Second stack layer 47Row 2 stacks on row 0 (layer 48 on layer 47). Row 4 starts a second stack with layer 47 at absolute Z = 0.5.
- Select
Downloadin the GDS import footer. - Choose Layer mapping CSV.
- Select a delimiter (comma or semicolon) and export.
The exported file uses columns LayerID, LayerType, Thickness, AbsoluteZ, PreviousLayerIndex, and Name, reflecting the current layer configuration.
CSV import and export run in the browser; the file is not sent to the server during mapping.
Layer naming
Section titled “Layer naming”When a layer is added to a Layer stack or Absolute layers, it automatically gets a Name/ID field:
- The placeholder shows the layer number and datatype (for example
47/0). - Type an optional display name to label that instance in the editor. The name field is focused automatically when you add an absolute layer, so you can enter a name immediately.
- Use Edit layer name in the layer menu to rename a layer later.
Names are optional. If you leave the field empty, the layer is shown by its layer/type identifier.
Custom names help when the same GDS layer appears in multiple stacks or when numeric IDs are hard to tell apart. They are stored with the layer configuration and appear in CSV export. They do not replace the underlying layer number and datatype used to match geometry from the GDS file.
You can also assign names through CSV import (see CSV layer mapping).
Related topics
Section titled “Related topics”- STEP — STEP file imports
- NASTRAN — NASTRAN mesh file imports
- Working with geometries — geometry elements and confirming model changes