QGDSRenderer¶
- class QGDSRenderer(design: QDesign, initiate=True, render_template: Dict = None, render_options: Dict = None)[source]¶
Extends QRenderer to export GDS formatted files. The methods which a user will need for GDS export should be found within this class.
All chips within design should be exported to one gds file. For the “subtraction box”: 1. If user wants to export the entire design, AND if the base class of QDesign._chips[chip_name][‘size’] has dict following below example: {‘center_x’: 0.0, ‘center_y’: 0.0, ‘size_x’: 9, ‘size_y’: 6} then this box will be used for every layer within a chip.
2. If user wants to export entire design, BUT there is no information in QDesign._chips[chip_name][‘size’], then the renderer will calculate the size of all of the components and use that size for the “subtraction box” for every layer within a chip.
3. If user wants to export a list of explicit components, the bounding box will be calculated by size of QComponents in the QGeometry table. Then be scaled by bounding_box_scale_x and bounding_box_scale_y.
4. Note: When using the Junction table, the cell for Junction should be “x-axis” aligned and then GDS rotates based on LineString given in Junction table.
- datatype:
10 Polygon
11 Flexpath
- Default Options:
short_segments_to_not_fillet: ‘True’
check_short_segments_by_scaling_fillet: ‘2.0’
gds_unit: ‘1’
ground_plane: ‘True’
negative_mask: Dict(main=[])
corners: ‘circular bend’
tolerance: ‘0.00001’
precision: ‘0.000000001’
width_LineString: ‘10um’
path_filename: ‘../resources/Fake_Junctions.GDS’
junction_pad_overlap: ‘5um’
max_points: ‘199’
fabricate: ‘False’
- cheese: Dict
datatype: ‘100’
shape: ‘0’
cheese_0_x: ‘50um’
cheese_0_y: ‘50um’
cheese_1_radius: ‘100um’
delta_x=’100um’,
delta_y=’100um’,
edge_nocheese=’200um’,
view_in_file: Dict(main={1: True})
- no_cheese: Dict
datatype: ‘99’
buffer: ‘25um’
cap_style: ‘2’
join_style: ‘2’
view_in_file: Dict(main={1: True})
bounding_box_scale_x: ‘1.2’
bounding_box_scale_y: ‘1.2’
Create a QRenderer for GDS interface: export and import.
- Parameters:
design (QDesign) – Use QGeometry within QDesign to obtain elements for GDS file.
initiate (bool, optional) – True to initiate the renderer. Defaults to True.
render_template (Dict, optional) – Typically used by GUI for template options for GDS. Defaults to None.
render_options (Dict, optional) – Used to override all options. Defaults to None.
Attributes
Default options
Return a reference to the parent design object.
Element extensions dictionary
Element table data
Returns the logger.
Name
Options for the QRenderer.
Methods
During init of renderer, this needs to happen.
QGDSRenderer.export_to_gds
(file_name[, ...])Use the design which was used to initialize this class.
Returns an already loaded and instantiated renderer.
QGDSRenderer.get_template_options
(design[, ...])Creates template options for the Metal QRenderer class required for the class to function, based on the design template; i.e., be created, made, and rendered.
Confirm the list doesn't have names of components repeated.
Load the renderer and register all its extensions.
Creates a new GDS Library.
QGDSRenderer.parse_value
(value)Same as design.parse_value.
Populate cls.element_extensions which will be used to create columns for tables in QGeometry tables.
Export the design to GDS.
QGDSRenderer.start
([force])Call any initialization (single run) step required to setup the renderer for the first execution, such as connecting to some API or COM, or importing the correct material libraries, etc.
Any calls that one may want to make after a rendering is complete.
QGDSRenderer.update_options
([...])If template options has not been set for this renderer, then gather all the default options for children and add to design.