- class gdsfactory.technology.LayerLevel(*, name: str | None = None, layer: ~gdsfactory.technology.layer_stack.LogicalLayer | ~gdsfactory.technology.layer_stack.DerivedLayer | int | str | tuple[int, int] | ~kfactory.layer.LayerEnum, derived_layer: ~gdsfactory.technology.layer_stack.LogicalLayer | None = None, thickness: float, thickness_tolerance: float | None = None, width_tolerance: float | None = None, zmin: float, zmin_tolerance: float | None = None, sidewall_angle: float = 0.0, sidewall_angle_tolerance: float | None = None, width_to_z: float = 0.0, z_to_bias: tuple[list[float], list[float]] | None = None, bias: tuple[float, float] | float | None = None, mesh_order: int = 3, material: str | None = None, info: dict[str, ~typing.Any] = <factory>)
Level for 3D LayerStack.
- Parameters
name– strlayer– LogicalLayer or DerivedLayer. DerivedLayers can be composed of operations consisting of multiple other GDSLayers or other DerivedLayers.derived_layer– if the layer is derived, LogicalLayer to assign to the derived layer.thickness– layer thickness in um.thickness_tolerance– layer thickness tolerance in um.width_tolerance– layer width tolerance in um.zmin– height position where material starts in um.zmin_tolerance– layer height tolerance in um.sidewall_angle– in degrees with respect to normal.sidewall_angle_tolerance– in degrees.width_to_z– if sidewall_angle, reference z-position (0 –> zmin, 1 –> zmin + thickness, 0.5 in the middle).bias– shrink/grow of the level compared to the maskz_to_bias– most generic way to specify an extrusion. Two tuples of the same length specifying the shrink/grow (float) to apply between zmin (0) and zmin + thickness (1) I.e. [[z1, z2, …, zN], [bias1, bias2, …, biasN]] Defaults no buffering [[0, 1], [0, 0]]. NOTE: A dict might be more expressive.mesh_order– lower mesh order (e.g. 1) will have priority over higher mesh order (e.g. 2) in the regions where materials overlap.material– used in the klayout scriptinfo– all other rendering and simulation metadata should go here.
- __init__(**data: Any)None
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
Methods
__init__(**data)Create a new model by parsing and validating input data from keyword arguments.
check_layer(layer)construct([_fields_set])copy(*[, include, exclude, update, deep])Returns a copy of the model.
dict(*[, include, exclude, by_alias, ...])from_orm(obj)json(*[, include, exclude, by_alias, ...])model_construct([_fields_set])Creates a new instance of the Model class with validated data.
model_copy(*[, update, deep])!!! abstract "Usage Documentation"
model_dump(*[, mode, include, exclude, ...])!!! abstract "Usage Documentation"
model_dump_json(*[, indent, include, ...])!!! abstract "Usage Documentation"
model_json_schema([by_alias, ref_template, ...])Generates a JSON schema for a model class.
model_parametrized_name(params)Compute the class name for parametrizations of generic classes.
model_post_init(context, /)Override this method to perform additional initialization after __init__ and model_construct.
model_rebuild(*[, force, raise_errors, ...])Try to rebuild the pydantic-core schema for the model.
model_validate(obj, *[, strict, ...])Validate a pydantic model instance.
model_validate_json(json_data, *[, strict, ...])!!! abstract "Usage Documentation"
model_validate_strings(obj, *[, strict, ...])Validate the given object with string data against the Pydantic model.
parse_file(path, *[, content_type, ...])parse_obj(obj)parse_raw(b, *[, content_type, encoding, ...])schema([by_alias, ref_template])schema_json(*[, by_alias, ref_template])update_forward_refs(**localns)validate(value)Attributes
boundsCalculates and returns the bounds of the layer level in the z-direction.
model_computed_fieldsmodel_configConfiguration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
model_extraGet extra fields set during validation.
model_fieldsmodel_fields_setReturns the set of fields that have been explicitly set on this model instance.
namelayerderived_layerthicknessthickness_tolerancewidth_tolerancezminzmin_tolerancesidewall_anglesidewall_angle_tolerancewidth_to_zz_to_biasbiasmesh_ordermaterialinfo