Updating to new syntax
Since JCMsuite
Version 4, JCMgeo
relies on a more capable syntax to define geometries. While the previous syntax is still recognized by JCMgeo
, the current syntax allows for a simpler layout definition with more and improved features. Using the syntax highlighting, autocomplete and indentation features in JCMcontrol is the easiest way to create new and to update existing setups to the newest syntax. In the following, we highlight the major differences between JCMgeo
Version 4 and the previous syntax:
Layout
sections are now referenced by the dimension of the grid the generate, i.e. Layout2D
and Layout3D
for 2D and 3D geometries.
- All geometrical primitives are collected in an
Objects
section.
- To convert a layout in 2D:
- Rename
Layout
to Layout2D
- Create a section
Objects
enclosing all geometrical primitives
- For an extruded layout in 3D :
- Rename
Layout
to Layout3D
- Rename the
Extrusion
section enclosing the Layer
and LayerInterfaces
to MultiLayer
- Create a new
Extrusion
section to open before the first 2D geometrical primitive and close after the freshly renamed MultiLayer
section
- In this new
Extrusion
section, create a section Objects
enclosing all 2D geometrical primitives
Below is a side-by-side comparison of the old and new syntax
Old |
New |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 | Layout {
# 2D definitions (x-y-coordinates)
Parallelogram {...}
Circle {...}
...
# extrusion to 3D (z-direction)
Extrusion {
LayerInterface { ...}
Layer { ... }
...
LayerInterface { ... }
}
}
|
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 | Layout3D {
Extrusion {
Objects {
# 2D definitions (x-y-coordinates)
Parallelogram {...}
Circle {...}
...
}
# extrusion to 3D (z-direction)
MultiLayer {
LayerInterface { ...}
Layer { ... }
...
LayerInterface { ... }
}
}
Objects {
Box { ... }
Sphere { ... }
Helix { ... }
Cylinder { ... }
...
}
}
|
|