Struct Statements¶
pcb-struct
is a way to store a collection of related variables.
Example¶
Right now we need to use a fully qualified name to define a new pcb-struct
. So if we wanted an struct named:
GenericPin
defpackage ocdb/utils/property-structs
public pcb-struct ocdb/utils/property-structs/GenericPin :
max-voltage:Toleranced|RelativeVoltage ; Maximum voltage that can be applied to pin (V)
rated-esd:Double
All together this is what it looks like to define and use a
pcb-struct
:defpackage ocdb/utils/property-structs: ... public pcb-struct ocdb/utils/property-structs/GenericPin : max-voltage:Toleranced|RelativeVoltage ; Maximum voltage that can be applied to pin (V) rated-esd:Double val generic-props = GenericPin(min-max(-0.3 5.0), 1500.0) println(max-voltage(generic-props))
When we create a value that uses a struct, the variables are given in the order defined in the pcb-struct
. In the above example:
- min-max(-0.3 5.0)
gets assigned to max-voltage
- 1500.0
gets assigned to rated-esd
We can then access the information by the name defined in the pcb-struct
. max-voltage(generic-props)
fetches the value stored in the field max-voltage
of a GenericPin
.