more cleanup on Board > BoardSketch. sync_from after onDocumentLoaded now works
This commit is contained in:
		
							parent
							
								
									c85d038700
								
							
						
					
					
						commit
						93eb0d0483
					
				
					 2 changed files with 9 additions and 14 deletions
				
			
		|  | @ -16,6 +16,8 @@ from . import board_sketch as BoardSketch | ||||||
| class BoardObject(BaseObject): | class BoardObject(BaseObject): | ||||||
|     TYPE = 'KiConnect::Board' |     TYPE = 'KiConnect::Board' | ||||||
| 
 | 
 | ||||||
|  |     save_keys = [ 'polygon_id' ] | ||||||
|  | 
 | ||||||
|     def __init__(self, feature, kicad_board, board_polygon): |     def __init__(self, feature, kicad_board, board_polygon): | ||||||
|         self.feature = feature |         self.feature = feature | ||||||
|         self.substrate_body = None |         self.substrate_body = None | ||||||
|  |  | ||||||
|  | @ -14,8 +14,12 @@ from .bases import BaseObject, BaseViewProvider | ||||||
| class BoardSketchObject(BaseObject): | class BoardSketchObject(BaseObject): | ||||||
|     TYPE = 'KiConnect::BoardSketch' |     TYPE = 'KiConnect::BoardSketch' | ||||||
| 
 | 
 | ||||||
|  |     save_keys = [ 'polygon_id' ] | ||||||
|  | 
 | ||||||
|     def __init__(self, feature, kicad_board, board_polygon): |     def __init__(self, feature, kicad_board, board_polygon): | ||||||
|         self.board_polygon = board_polygon |         self.board_polygon = board_polygon | ||||||
|  |         self.polygon_id = board_polygon.id.value | ||||||
|  | 
 | ||||||
|         super(BoardSketchObject, self).__init__(feature) |         super(BoardSketchObject, self).__init__(feature) | ||||||
| 
 | 
 | ||||||
|         #feature.Visibility = False |         #feature.Visibility = False | ||||||
|  | @ -23,12 +27,6 @@ class BoardSketchObject(BaseObject): | ||||||
|     def execute(self, feature): |     def execute(self, feature): | ||||||
|         feature.recompute() |         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): |     def point_to_vector(self, point, offset=True): | ||||||
|         return ( |         return ( | ||||||
|             App.Vector(point.x, |             App.Vector(point.x, | ||||||
|  | @ -45,12 +43,10 @@ class BoardSketchObject(BaseObject): | ||||||
|         feature = self.feature |         feature = self.feature | ||||||
|         vectors = [] |         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 |         # board.get_shapes needs to be called to ensure polygons are actually up to date | ||||||
|         for node in self.board_polygon.polygons[0].outline: |         board_polygon = self.get_api().get_polygon(self.polygon_id) | ||||||
|  | 
 | ||||||
|  |         for node in board_polygon.polygons[0].outline: | ||||||
|             vectors.append(self.point_to_vector(node.point)) |             vectors.append(self.point_to_vector(node.point)) | ||||||
| 
 | 
 | ||||||
|         self.feature.Vectors = vectors |         self.feature.Vectors = vectors | ||||||
|  | @ -76,9 +72,6 @@ class BoardSketchObject(BaseObject): | ||||||
| 
 | 
 | ||||||
|         feature.recompute() |         feature.recompute() | ||||||
| 
 | 
 | ||||||
|     def __getstate__(self): |  | ||||||
|         return None |  | ||||||
| 
 |  | ||||||
| class BoardSketchViewProvider(BaseViewProvider): | class BoardSketchViewProvider(BaseViewProvider): | ||||||
|     TYPE = 'KiConnect::BoardSketch' |     TYPE = 'KiConnect::BoardSketch' | ||||||
|     #ICON = 'board.svg' |     #ICON = 'board.svg' | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue