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
And we're defining it in a package named
defpackage ocdb/utils/property-structs
Then the struct needs to be defined as follows:
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 tomax-voltage
1500.0
gets assigned torated-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
.