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 { ... }
...
}
}
|
|