package model import "time" // Plate describes a print bed with outer dimensions and margins on each side. type Plate struct { ID string `json:"id"` Name string `json:"name,omitempty"` WidthMM float64 `json:"width_mm"` HeightMM float64 `json:"height_mm"` MarginTop float64 `json:"margin_top_mm"` MarginRight float64 `json:"margin_right_mm"` MarginBottom float64 `json:"margin_bottom_mm"` MarginLeft float64 `json:"margin_left_mm"` CreatedAt time.Time `json:"created_at"` } // PrintableWidth returns the usable width inside the margins. func (p Plate) PrintableWidth() float64 { return p.WidthMM - p.MarginLeft - p.MarginRight } // PrintableHeight returns the usable height inside the margins. func (p Plate) PrintableHeight() float64 { return p.HeightMM - p.MarginTop - p.MarginBottom }