diff --git a/src/wireviz/DataClasses.py b/src/wireviz/DataClasses.py index 6b3b1e36..4fba6e53 100644 --- a/src/wireviz/DataClasses.py +++ b/src/wireviz/DataClasses.py @@ -88,6 +88,7 @@ class Cable: gauge_unit: Optional[str] = None show_equiv: bool = False length: float = 0 + lengthunit: Optional[str] = None color: Optional[str] = None wirecount: Optional[int] = None shield: bool = False @@ -119,6 +120,9 @@ def __post_init__(self): self.connections = [] + if self.lengthunit is None: #Default wire length units to meters if left undeclared + self.lengthunit = 'm' + if self.wirecount: # number of wires explicitly defined if self.colors: # use custom color palette (partly or looped if needed) pass diff --git a/src/wireviz/Harness.py b/src/wireviz/Harness.py index af7946e3..be61911f 100644 --- a/src/wireviz/Harness.py +++ b/src/wireviz/Harness.py @@ -170,7 +170,7 @@ def create_graph(self) -> Graph: f'{cable.wirecount}x' if cable.show_wirecount else None, f'{cable.gauge} {cable.gauge_unit}{awg_fmt}' if cable.gauge else None, '+ S' if cable.shield else None, - f'{cable.length} m' if cable.length > 0 else None, + f'{cable.length} {cable.lengthunit}' if cable.length > 0 else None, cable.color, '' if cable.color else None], '', [html_line_breaks(cable.notes)]] @@ -365,7 +365,7 @@ def bom(self): gauge_name = f' x {shared.gauge} {shared.gauge_unit}' if shared.gauge else ' wires' shield_name = ' shielded' if shared.shield else '' name = f'Cable{cable_type}, {shared.wirecount}{gauge_name}{shield_name}' - item = {'item': name, 'qty': round(total_length, 3), 'unit': 'm', 'designators': designators, + item = {'item': name, 'qty': round(total_length, 3), 'unit': shared.lengthunit, 'designators': designators, 'manufacturer': remove_line_breaks(shared.manufacturer), 'mpn': remove_line_breaks(shared.mpn), 'pn': shared.pn} bom_cables.append(item) # bundles (ignores wirecount)