handle missing footprint models
This commit is contained in:
parent
7a3a9d8e16
commit
a0941452ae
1 changed files with 14 additions and 13 deletions
|
@ -40,19 +40,20 @@ class Parts():
|
||||||
|
|
||||||
for item in [item for item in footprint.definition.items if isinstance(item, Footprint3DModel)]:
|
for item in [item for item in footprint.definition.items if isinstance(item, Footprint3DModel)]:
|
||||||
filename = item.filename.replace('${KICAD9_3DMODEL_DIR}', settings.KICAD9_3DMODEL_DIR).replace('wrl', 'step')
|
filename = item.filename.replace('${KICAD9_3DMODEL_DIR}', settings.KICAD9_3DMODEL_DIR).replace('wrl', 'step')
|
||||||
ImportGui.insert(filename, App.ActiveDocument.Name)
|
try:
|
||||||
|
ImportGui.insert(filename, App.ActiveDocument.Name)
|
||||||
|
|
||||||
# simply grabs the last object in the document, probably need to figure out a safer way to handle
|
# simply grabs the last object in the document, probably need to figure out a safer way to handle
|
||||||
model = App.ActiveDocument.findObjects()[-1]
|
model = App.ActiveDocument.findObjects()[-1]
|
||||||
model.Label = footprint.reference_field.text.value
|
model.Label = footprint.reference_field.text.value
|
||||||
|
|
||||||
model.addProperty('App::PropertyPlacement', 'BoardOffset', 'Base', 'Internal offset for zeroing out Footprint offset', hidden=True, read_only=True)
|
model.addProperty('App::PropertyPlacement', 'BoardOffset', 'Base', 'Internal offset for zeroing out Footprint offset', hidden=True, read_only=True)
|
||||||
|
self.feature.addObject(model)
|
||||||
self.feature.addObject(model)
|
|
||||||
|
|
||||||
model.Placement.Base.x = (footprint.position.x / 1000000.0) - self.kiconn_board.offset.x
|
|
||||||
model.Placement.Base.y = (-footprint.position.y / 1000000.0) - self.kiconn_board.offset.y
|
|
||||||
model.Placement.Base.z = 0.8
|
|
||||||
model.Placement.Rotation.Angle = footprint.orientation.to_radians()
|
|
||||||
model.BoardOffset = model.Placement
|
|
||||||
|
|
||||||
|
model.Placement.Base.x = (footprint.position.x / 1000000.0) - self.kiconn_board.offset.x
|
||||||
|
model.Placement.Base.y = (-footprint.position.y / 1000000.0) - self.kiconn_board.offset.y
|
||||||
|
model.Placement.Base.z = 0.8
|
||||||
|
model.Placement.Rotation.Angle = footprint.orientation.to_radians()
|
||||||
|
model.BoardOffset = model.Placement
|
||||||
|
except:
|
||||||
|
print('failed to load', filename)
|
||||||
|
|
Loading…
Add table
Reference in a new issue