summaryrefslogtreecommitdiff
path: root/gerbonara/cad/kicad/schematic.py
diff options
context:
space:
mode:
Diffstat (limited to 'gerbonara/cad/kicad/schematic.py')
-rw-r--r--gerbonara/cad/kicad/schematic.py48
1 files changed, 47 insertions, 1 deletions
diff --git a/gerbonara/cad/kicad/schematic.py b/gerbonara/cad/kicad/schematic.py
index 00272dd..cb945a2 100644
--- a/gerbonara/cad/kicad/schematic.py
+++ b/gerbonara/cad/kicad/schematic.py
@@ -303,8 +303,25 @@ class DrawnProperty(TextMixin):
self.value = value
@property
+ def default_v_align(self):
+ return 'middle'
+
+ @property
+ def h_align(self):
+ return self.effects.justify.h_str
+
+ @property
def rotation(self):
- return self.parent.rotation + self.at.rotation
+ rot = -self.at.rotation
+ rot += getattr(self.parent.at, 'rotation', 0)
+ if getattr(self.parent, 'reference', None) == 'C13':
+ print(self.value, self.at, self.parent.at, self.parent.mirror)
+ if hasattr(self.parent, 'mirror'):
+ if self.parent.mirror.y and rot in (90, 270):
+ rot = (rot+180)%360
+ if self.parent.mirror.x and rot in (0, 180):
+ rot = (rot+180)%360
+ return rot%360
def to_svg(self, colorscheme=Colorscheme.KiCad):
if not self.hide:
@@ -337,6 +354,35 @@ class SymbolInstance:
self.schematic = parent
@property
+ def reference(self):
+ return self['Reference'].value
+
+ @reference.setter
+ def reference(self, value):
+ self['Reference'].value = value
+
+ @property
+ def value(self):
+ return self['Value'].value
+
+ @value.setter
+ def value(self, value):
+ self['Value'].value = value
+
+ @property
+ def footprint(self):
+ return self['Footprint'].value
+
+ @footprint.setter
+ def footprint(self, value):
+ self['Footprint'].value = value
+
+ def __getitem__(self, key):
+ for prop in self.properties:
+ if prop.key == key:
+ return prop
+
+ @property
def rotation(self):
return self.at.rotation