forked from youen/assembly_handbook
possibility to set stage on groups (wip)
This commit is contained in:
parent
3b14983eee
commit
819644560a
@ -22,15 +22,22 @@ class AHB_SetPartStage:
|
|||||||
|
|
||||||
obj: App.DocumentObject
|
obj: App.DocumentObject
|
||||||
for obj in Gui.Selection.getSelection():
|
for obj in Gui.Selection.getSelection():
|
||||||
if obj is not None and obj.TypeId == 'Part::Feature':
|
if obj is not None and obj.TypeId in ['Part::Feature','App::Part']:
|
||||||
if not "AssemblyHandbook_Stage" in obj.PropertiesList:
|
if not "AssemblyHandbook_Stage" in obj.PropertiesList:
|
||||||
obj.addProperty("App::PropertyInteger", "AssemblyHandbook_Stage", "AssemblyHandbook")
|
obj.addProperty("App::PropertyInteger", "AssemblyHandbook_Stage", "AssemblyHandbook")
|
||||||
if not "AssemblyHandbook_RenderLines" in obj.PropertiesList:
|
if not "AssemblyHandbook_RenderLines" in obj.PropertiesList:
|
||||||
obj.addProperty("App::PropertyBool", "AssemblyHandbook_RenderLines", "AssemblyHandbook")
|
obj.addProperty("App::PropertyBool", "AssemblyHandbook_RenderLines", "AssemblyHandbook")
|
||||||
obj.AssemblyHandbook_RenderLines = True
|
obj.AssemblyHandbook_RenderLines = True
|
||||||
if obj.AssemblyHandbook_Stage != stageId:
|
|
||||||
obj.AssemblyHandbook_Stage = stageId
|
obj.AssemblyHandbook_Stage = stageId
|
||||||
workbench.context.onPartStageChanged(obj)
|
|
||||||
|
# if we are setting the stage on a part, remove the property from all features of that part
|
||||||
|
if obj.TypeId == 'App::Part':
|
||||||
|
for feature in obj.Group:
|
||||||
|
if 'AssemblyHandbook_Stage' in feature.PropertiesList:
|
||||||
|
feature.removeProperty('AssemblyHandbook_Stage')
|
||||||
|
|
||||||
|
workbench.context.onPartStageChanged(obj)
|
||||||
|
|
||||||
from ahb_command import AHB_CommandWrapper
|
from ahb_command import AHB_CommandWrapper
|
||||||
AHB_CommandWrapper.addGuiCommand('AHB_setPartStage', AHB_SetPartStage())
|
AHB_CommandWrapper.addGuiCommand('AHB_setPartStage', AHB_SetPartStage())
|
||||||
|
@ -39,7 +39,7 @@ class AHB_Context:
|
|||||||
|
|
||||||
doc = App.ActiveDocument
|
doc = App.ActiveDocument
|
||||||
for obj in doc.Objects:
|
for obj in doc.Objects:
|
||||||
if obj.TypeId == 'Part::Feature':
|
if obj.TypeId in ['Part::Feature', 'App::Part']:
|
||||||
if 'AssemblyHandbook_Stage' in obj.PropertiesList:
|
if 'AssemblyHandbook_Stage' in obj.PropertiesList:
|
||||||
allStages.add(obj.AssemblyHandbook_Stage)
|
allStages.add(obj.AssemblyHandbook_Stage)
|
||||||
|
|
||||||
@ -56,10 +56,15 @@ class AHB_Context:
|
|||||||
part.ViewObject.ShapeColor = (0.8,0.8,0.8,0.0)
|
part.ViewObject.ShapeColor = (0.8,0.8,0.8,0.0)
|
||||||
|
|
||||||
for obj in doc.Objects:
|
for obj in doc.Objects:
|
||||||
if obj.TypeId == 'Part::Feature':
|
if obj.TypeId in ['Part::Feature', 'App::Part']:
|
||||||
if 'AssemblyHandbook_Stage' in obj.PropertiesList:
|
if 'AssemblyHandbook_Stage' in obj.PropertiesList:
|
||||||
stageIndex = allStages.index(obj.AssemblyHandbook_Stage)
|
stageIndex = allStages.index(obj.AssemblyHandbook_Stage)
|
||||||
obj.ViewObject.ShapeColor = _colors[stageIndex % len(_colors)]
|
if obj.TypeId == 'Part::Feature':
|
||||||
|
obj.ViewObject.ShapeColor = _colors[stageIndex % len(_colors)]
|
||||||
|
elif obj.TypeId == 'App::Part':
|
||||||
|
for feature in obj.Group:
|
||||||
|
if feature.TypeId == 'Part::Feature':
|
||||||
|
feature.ViewObject.ShapeColor = _colors[stageIndex % len(_colors)]
|
||||||
|
|
||||||
self._updateVisibility()
|
self._updateVisibility()
|
||||||
|
|
||||||
@ -75,7 +80,7 @@ class AHB_Context:
|
|||||||
|
|
||||||
doc = App.ActiveDocument
|
doc = App.ActiveDocument
|
||||||
for obj in doc.Objects:
|
for obj in doc.Objects:
|
||||||
if obj.TypeId == 'Part::Feature':
|
if obj.TypeId == 'Part::Feature' in ['Part::Feature', 'App::Part']:
|
||||||
if 'AssemblyHandbook_Stage' in obj.PropertiesList:
|
if 'AssemblyHandbook_Stage' in obj.PropertiesList:
|
||||||
obj.ViewObject.Visibility = self._allStagesVisible or activeStageId is None or obj.AssemblyHandbook_Stage <= activeStageId
|
obj.ViewObject.Visibility = self._allStagesVisible or activeStageId is None or obj.AssemblyHandbook_Stage <= activeStageId
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user