diff --git a/freecad/kiconnect/board_sketch.py b/freecad/kiconnect/board_sketch.py index a41dab3..1f66792 100644 --- a/freecad/kiconnect/board_sketch.py +++ b/freecad/kiconnect/board_sketch.py @@ -23,6 +23,12 @@ class BoardSketchObject(BaseObject): def execute(self, feature): feature.recompute() + def get_parent_board(self): + try: + return self.feature.getParent().getParent().Proxy + except: + return None + def point_to_vector(self, point, offset=True): return ( App.Vector(point.x, @@ -39,6 +45,11 @@ class BoardSketchObject(BaseObject): feature = self.feature vectors = [] + board = self.get_parent_board() + if board: + self.board_polygon = board.get_polygon(board.polygon_id) + + # board.get_shapes needs to be called to ensure polygons are actually up to date for node in self.board_polygon.polygons[0].outline: vectors.append(self.point_to_vector(node.point))