#[derive(AltiumRecord)]
{
// Attributes available to this derive:
#[altium]
}
Expand description
Derive macro for Altium record types.
§Container Attributes
#[altium(record_id = N)]- Schematic record type ID#[altium(object_id = Variant)]- PCB object ID enum variant#[altium(format = "params"|"binary"|"both")]- Serialization format
§Field Attributes
#[altium(flatten)]- Flatten a base type’s fields#[altium(param = "KEY")]- Map field to parameter key#[altium(param = "KEY", frac = "KEY_FRAC")]- Integer with fractional part#[altium(param = "KEY", default)]- Use Default::default() if missing#[altium(param = "KEY", default = value)]- Use specific default value#[altium(param = "KEY", optional)]- Wrap in Option#[altium(binary, ty = "i32le")]- Binary field type#[altium(binary, coord_point)]- Binary coordinate point#[altium(unknown)]- Store unknown parameters (non-destructive editing)#[altium(unknown_binary)]- Store unknown binary bytes#[altium(skip)]- Skip field entirely
§Example
ⓘ
#[derive(AltiumRecord)]
#[altium(record_id = 2, format = "params")]
pub struct SchPin {
#[altium(flatten)]
pub base: SchGraphicalBase,
#[altium(param = "ELECTRICAL", default)]
pub electrical: PinElectricalType,
#[altium(param = "PINLENGTH", frac = "PINLENGTH_FRAC")]
pub pin_length: Coord,
#[altium(unknown)]
pub unknown_params: UnknownFields,
}