Geometry-Level Layout API Reference
July 17, 2026 ยท View on GitHub
[Units](@id api-units)
DeviceLayout.PreferredUnits
DeviceLayout.set_unit_preference!
DeviceLayout.Coordinate
DeviceLayout.UPREFERRED
DeviceLayout.PreferMicrons.UPREFERRED
DeviceLayout.PreferNoUnits.UPREFERRED
[Points](@id api-points)
DeviceLayout.PointTypes
Points.Point
Points.getx
Points.gety
Points.lowerleft(::AbstractArray{Point{T}}) where T
Points.upperright(::AbstractArray{Point{T}}) where T
[AbstractGeometry](@id api-abstractgeometry)
DeviceLayout.AbstractGeometry
coordinatetype
bounds(::DeviceLayout.AbstractGeometry)
center(::DeviceLayout.AbstractGeometry)
footprint
lowerleft(::DeviceLayout.GeometryEntity)
upperright(::DeviceLayout.GeometryEntity)
transform
[GeometryEntity](@id api-geometryentity)
DeviceLayout.GeometryEntity
DeviceLayout.to_polygons
halo(::GeometryEntity, ::Any, ::Any)
[Entity Styles](@id api-entitystyle)
DeviceLayout.GeometryEntityStyle
DeviceLayout.StyledEntity
DeviceLayout.entity
DeviceLayout.style(::DeviceLayout.StyledEntity)
DeviceLayout.styled
DeviceLayout.unstyled
DeviceLayout.unstyled_type
DeviceLayout.Plain
DeviceLayout.MeshSized
DeviceLayout.meshsized_entity
DeviceLayout.NoRender
DeviceLayout.OptionalStyle
DeviceLayout.optional_entity
DeviceLayout.ToTolerance
DeviceLayout.WithDirection
[GeometryStructure](@id api-geometrystructure)
DeviceLayout.GeometryStructure
elements(::DeviceLayout.GeometryStructure)
elementtype(::DeviceLayout.GeometryStructure)
element_metadata(::DeviceLayout.GeometryStructure)
flatten(::DeviceLayout.GeometryStructure)
Base.getindex(::DeviceLayout.GeometryStructure, ::AbstractString, ::Integer)
map_metadata
map_metadata!
name(::DeviceLayout.GeometryStructure)
refs(::DeviceLayout.GeometryStructure)
reset_uniquename!
uniquename
[GeometryReference](@id api-geometryreference)
DeviceLayout.GeometryReference
StructureReference
ArrayReference
Base.copy(::DeviceLayout.GeometryReference)
Base.getindex(::DeviceLayout.GeometryReference, ::AbstractString, ::Integer)
aref
flatten(::DeviceLayout.GeometryReference)
flat_elements
layer_inclusion
sref
structure
transformation(::DeviceLayout.GeometryReference)
transformation(::DeviceLayout.GeometryStructure, ::DeviceLayout.GeometryReference)
transformation(c::DeviceLayout.GeometryStructure, d::DeviceLayout.GeometryReference, e::DeviceLayout.GeometryReference, f::DeviceLayout.GeometryReference...)
origin(::DeviceLayout.GeometryReference)
mag(::DeviceLayout.GeometryReference)
rotation(::DeviceLayout.GeometryReference)
xrefl(::DeviceLayout.GeometryReference)
[Transformations](@id api-transformations)
CoordinateTransformations.compose
CoordinateTransformations.Translation
Reflection
XReflection
YReflection
Rotation
RotationPi
ScaledIsometry
centered
magnify
reflect_across_line
reflect_across_xaxis
rotate
rotate90
translate
+(::DeviceLayout.AbstractGeometry, ::Point)
-(::DeviceLayout.AbstractGeometry, ::Point)
*(::DeviceLayout.AbstractGeometry, a::Real)
/(::DeviceLayout.AbstractGeometry, a::Real)
isapprox_angle
isapprox_cardinal
mag
origin
preserves_angles
rotated_direction
rotation
DeviceLayout.Transformations.rounding_safe
xrefl
Alignment
Align.above
Align.below
Align.leftof
Align.rightof
Align.flushbottom
Align.flushtop
Align.flushleft
Align.flushright
Align.centered_on
Align.aligned_to
[Polygons](@id api-polygons)
DeviceLayout.AbstractPolygon
Polygon
Polygon(::AbstractVector{Point{T}}) where {T}
Polygon(::Point, ::Point, ::Point, ::Point...)
Rectangle
Polygons.area
bounds
circle_polygon
gridpoints_in_polygon
offset
perimeter
points
sweep_poly
unfold
Polygons.Rounded
Polygon clipping
Polygons.ClippedPolygon
difference2d
difference2d_layerwise
intersect2d
intersect2d_layerwise
union2d
union2d_layerwise
xor2d
xor2d_layerwise
clip
Polygons.clip_tiled
Polygons.StyleDict
[Curvilinear geometry](@id api-curvilinear)
CurvilinearPolygon
CurvilinearRegion
Curvilinear.edge_type_at_vertex
Curvilinear.line_arc_cornerindices
difference2d_curved
intersect2d_curved
recover_curves
union2d_curved
xor2d_curved
[Shapes](@id api-shapes)
Circle
Ellipse
Polygons.iscircle
See Shapes.
[Coordinate Systems](@id api-coordinate-systems)
DeviceLayout.AbstractCoordinateSystem
CoordinateSystem
CoordinateSystemReference
CoordinateSystemArray
SemanticMeta
addref!
addarr!
DeviceLayout.default_meta_map
flatten!(::DeviceLayout.AbstractCoordinateSystem)
gdslayers(::DeviceLayout.GeometryStructure)
layer
layerindex
layername
level
place!
[Cells](@id api-cells)
Cell
Cell(::AbstractString)
Cell(::CoordinateSystem{S}) where {S}
Cells.dbscale(::Cell)
Cells.dbscale(::Cell, ::Cell, ::Cell...)
CellArray
CellReference
GDSMeta
GDSWriterOptions
gdslayers(::Cell)
Cells.geometry_fingerprint
render!(::Cell, ::Polygon, ::GDSMeta)
render!(::Cell, ::DeviceLayout.GeometryStructure)
DeviceLayout.save(::File{format"GDS"}, ::Cell, ::Cell...)
DeviceLayout.load(::File{format"GDS"})
traverse!
order!
[Texts](@id api-texts)
Texts.Text
text!
PolyText
DotMatrix
PolyTextComic
PolyTextSansMono
polytext
polytext!
characters_demo
scripted_demo
referenced_characters_demo
[Rendering](@id api-rendering)
render!
DeviceLayout.discretize_curve
[SolidModels](@id api-solidmodels)
SolidModel
SolidModels.SolidModelKernel
SolidModels.attributes
SolidModels.to_primitives
render!(::SolidModel, ::CoordinateSystem; kwargs...)
SolidModels.save(::File, ::SolidModel)
Physical Groups
SolidModels.PhysicalGroup
SolidModels.dimtags
SolidModels.entitytags
SolidModels.bounds3d
Postrendering
SolidModels.box_selection
SolidModels.check_port_connectivity
SolidModels.connected_components
SolidModels.difference_geom!
SolidModels.extrude_z!
SolidModels.fragment_geom!
SolidModels.get_boundary
SolidModels.intersect_geom!
SolidModels.remove_group!
SolidModels.restrict_to_volume!
SolidModels.revolve!
SolidModels.set_periodic!
SolidModels.translate!
SolidModels.union_geom!
SolidModels.staple_bridge_postrendering
Meshing
SolidModels.MeshingParameters
SolidModels.mesh_order
SolidModels.mesh_scale
SolidModels.mesh_grading_default
SolidModels.set_gmsh_option
SolidModels.get_gmsh_number
SolidModels.get_gmsh_string
SolidModels.mesh_control_points
SolidModels.mesh_control_trees
SolidModels.add_mesh_size_point
SolidModels.finalize_size_fields!
SolidModels.clear_mesh_control_points!
SolidModels.reset_mesh_control!