+ The "2.5d view" offers a semi-3d view of the layout. It's not a full 3d view as the layers are only extruded vertically + into layers with a certain thickness. The view cannot model process topology, but it can visualize + wiring congestions in a three-dimensional space or the vertical relative dimensions of features of the process stack. +
+ ++ To open the view, use "Tools/2.5d View". Currently, the performance is limited, a rough number for a + practical limit is around 100k polygons. The 2.5d view is only available, if KLayout was compiled with + OpenGL support. +
+ +
+
+
+ The 2.5d view needs a technology setup explaining the way the layers are transformed into planes. + The setup is provided within a technology. Open the technology manager (File/Manage Technologies) and + navigate to the "Z Stack (2.5d)" component. The setup is basically a list of entries listing the + layer from which to take the shapes and the depth information. +
+ ++ Each entry is a single line. Empty lines are ignored. Everything after a '#' character is + considered a comment. +
+ ++ Each specification line consists of a layer specification, a colon and arguments. + The arguments are named (like "x=...") or in serial. Parameters are separated by comma or blanks. + Named arguments are: +
+ ++ 'height', 'zstart' and 'zstop' can be used in any combination. If no value is given for 'zstart', + the upper level of the previous layer will be used. +
+ ++ If a single unnamed parameter is given, it corresponds to 'height'. Two parameters correspond to + 'zstart' and 'zstop'. +
+ ++ Here are some examples: +
+ +1: 0.5 1.5 # extrude layer 1/0 from 0.5 to 1.5 vertically\n" +1/0: 0.5 1.5 # same with explicit datatype\n" +1: zstop=1.5, zstart=0.5 # same with named parameters\n" +1: height=1.0, zstop=1.5 # same with z stop minus height\n" +1: 1.0 zstop=1.5 # same with height as unnamed parameter\n" ++ +
+ You can declare variables inside the setup files and use them in formulas for + computed values. Variables are defined and set with the "var" keyword on a single line. + The notation follows the "expression" syntax used in many other places inside KLayout + (). +
+ ++ Here is an example: +
+ +var hmetal = 0.48\n" +7/0: 0.5 0.5+hmetal*2 # 2x thick metal\n" ++ +
+ For more flexibility, but of little practical use for now, conditionals are provided. + "if", "else", "elsif" and "end" for as in other languages, e.g. Ruby: +
+ +var thick_m1 = true +if thickm1 + 1: 0.5 1.5 +else + 1: 0.5 1.2 +end ++ +
+ The navigation is based on the movement of the camera while the scene is + formed by the extruded layout. The scene can be scaled to provide zoom features. + Scaling and rotation is relative to the pivot point which is indicated by the + compass icon on the ground plane. +
+ ++ This is a short list of the navigation controls which act on the camera: +
+ ++ In top level view, the navigation is slightly different: +
+ +