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:
Layoutsections are now referenced by the dimension of the grid the generate, i.e.Layout2DandLayout3Dfor 2D and 3D geometries.All geometrical primitives are collected in an
Objectssection.To convert a layout in 2D:
Rename
LayouttoLayout2DCreate a section
Objectsenclosing all geometrical primitivesFor an extruded layout in 3D :
Rename
LayouttoLayout3DRename the
Extrusionsection enclosing theLayerandLayerInterfacestoMultiLayerCreate a new
Extrusionsection to open before the first 2D geometrical primitive and close after the freshly renamedMultiLayersectionIn this new
Extrusionsection, create a sectionObjectsenclosing all 2D geometrical primitives
Below is a side-by-side comparison of the old and new syntax
Old |
New |
|---|---|
1Layout {
2
3
4 # 2D definitions (x-y-coordinates)
5 Parallelogram {...}
6 Circle {...}
7 ...
8
9 # extrusion to 3D (z-direction)
10 Extrusion {
11 LayerInterface { ...}
12 Layer { ... }
13 ...
14 LayerInterface { ... }
15 }
16
17
18
19
20
21
22
23
24}
|
1Layout3D {
2 Extrusion {
3 Objects {
4 # 2D definitions (x-y-coordinates)
5 Parallelogram {...}
6 Circle {...}
7 ...
8 }
9 # extrusion to 3D (z-direction)
10 MultiLayer {
11 LayerInterface { ...}
12 Layer { ... }
13 ...
14 LayerInterface { ... }
15 }
16 }
17 Objects {
18 Box { ... }
19 Sphere { ... }
20 Helix { ... }
21 Cylinder { ... }
22 ...
23 }
24}
|