mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-26 18:21:59 +00:00
Refactor toggling target view to a single operator
This commit is contained in:
@@ -40,7 +40,6 @@ classes = (
|
|||||||
operator.BuildSchedule,
|
operator.BuildSchedule,
|
||||||
operator.CleanWireframes,
|
operator.CleanWireframes,
|
||||||
operator.ContractSheet,
|
operator.ContractSheet,
|
||||||
operator.ContractTargetView,
|
|
||||||
operator.ConvertSVGToDXF,
|
operator.ConvertSVGToDXF,
|
||||||
operator.CreateDrawing,
|
operator.CreateDrawing,
|
||||||
operator.CreateSheets,
|
operator.CreateSheets,
|
||||||
@@ -63,7 +62,6 @@ classes = (
|
|||||||
operator.EnableEditingElementFilter,
|
operator.EnableEditingElementFilter,
|
||||||
operator.EnableEditingText,
|
operator.EnableEditingText,
|
||||||
operator.ExpandSheet,
|
operator.ExpandSheet,
|
||||||
operator.ExpandTargetView,
|
|
||||||
operator.LoadDrawings,
|
operator.LoadDrawings,
|
||||||
operator.LoadReferences,
|
operator.LoadReferences,
|
||||||
operator.LoadSchedules,
|
operator.LoadSchedules,
|
||||||
@@ -88,6 +86,7 @@ classes = (
|
|||||||
operator.SelectAllDrawings,
|
operator.SelectAllDrawings,
|
||||||
operator.SelectAllSheets,
|
operator.SelectAllSheets,
|
||||||
operator.SelectAssignedProduct,
|
operator.SelectAssignedProduct,
|
||||||
|
operator.ToggleTargetView,
|
||||||
operator.OpenDocumentationWebUi,
|
operator.OpenDocumentationWebUi,
|
||||||
prop.Variable,
|
prop.Variable,
|
||||||
prop.Drawing,
|
prop.Drawing,
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ import bonsai.bim.export_ifc
|
|||||||
from bpy_extras.io_utils import ImportHelper
|
from bpy_extras.io_utils import ImportHelper
|
||||||
from bonsai.bim.module.drawing.decoration import CutDecorator
|
from bonsai.bim.module.drawing.decoration import CutDecorator
|
||||||
from bonsai.bim.module.drawing.data import DecoratorData
|
from bonsai.bim.module.drawing.data import DecoratorData
|
||||||
from typing import NamedTuple, Union, Optional, Literal, TYPE_CHECKING, Any, TypedDict
|
from typing import NamedTuple, Union, Optional, Literal, TYPE_CHECKING, Any, TypedDict, get_args
|
||||||
from lxml import etree
|
from lxml import etree
|
||||||
from math import radians
|
from math import radians
|
||||||
from mathutils import Vector, Color, Matrix
|
from mathutils import Vector, Color, Matrix
|
||||||
@@ -3363,50 +3363,51 @@ class DisableEditingDrawings(bpy.types.Operator, tool.Ifc.Operator):
|
|||||||
core.disable_editing_drawings(tool.Drawing)
|
core.disable_editing_drawings(tool.Drawing)
|
||||||
|
|
||||||
|
|
||||||
class ExpandTargetView(bpy.types.Operator):
|
ToggleOption = Literal["EXPAND", "CONTRACT"]
|
||||||
bl_idname = "bim.expand_target_view"
|
|
||||||
bl_label = "Expand Target View"
|
|
||||||
bl_description = "\nSHIFT+CLICK to expand all view categories"
|
|
||||||
|
|
||||||
|
|
||||||
|
class ToggleTargetView(bpy.types.Operator):
|
||||||
|
bl_idname = "bim.toggle_target_view"
|
||||||
|
bl_label = "Toggle Target View"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
target_view: bpy.props.StringProperty()
|
|
||||||
expand_all: bpy.props.BoolProperty(name="Expand All", default=False, options={"SKIP_SAVE"})
|
target_view: bpy.props.StringProperty() # pyright: ignore[reportRedeclaration]
|
||||||
|
toggle_all: bpy.props.BoolProperty( # pyright: ignore[reportRedeclaration]
|
||||||
|
default=False,
|
||||||
|
options={"SKIP_SAVE"},
|
||||||
|
)
|
||||||
|
option: bpy.props.EnumProperty( # pyright: ignore[reportRedeclaration]
|
||||||
|
items=[(i, i, "") for i in get_args(ToggleOption)]
|
||||||
|
)
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
target_view: str
|
||||||
|
toggle_all: bool
|
||||||
|
option: ToggleOption
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def description(cls, context, properties) -> str:
|
||||||
|
option: ToggleOption = properties.option
|
||||||
|
if option == "EXPAND":
|
||||||
|
return "Expand target view.\n\nSHIFT+CLICK to expand all view categories."
|
||||||
|
else:
|
||||||
|
return "Contract target view.\n\nSHIFT+CLICK to contract all view categories."
|
||||||
|
|
||||||
def invoke(self, context, event):
|
def invoke(self, context, event):
|
||||||
# Expanding all categories on shift+click.
|
# Toggling all categories on shift+click.
|
||||||
# Make sure to use SKIP_SAVE on property, otherwise it might get stuck (copied from #4771).
|
# Make sure to use SKIP_SAVE on property, otherwise it might get stuck (copied from #4771).
|
||||||
if event.type == "LEFTMOUSE" and event.shift:
|
if event.type == "LEFTMOUSE" and event.shift:
|
||||||
self.expand_all = True
|
self.toggle_all = True
|
||||||
return self.execute(context)
|
return self.execute(context)
|
||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
props = tool.Drawing.get_document_props()
|
props = tool.Drawing.get_document_props()
|
||||||
for drawing in [d for d in props.drawings if self.expand_all or d.target_view == self.target_view]:
|
expanded = self.option == "EXPAND"
|
||||||
drawing.is_expanded = True
|
for drawing in props.drawings:
|
||||||
core.load_drawings(tool.Drawing)
|
if drawing.is_drawing:
|
||||||
return {"FINISHED"}
|
continue
|
||||||
|
if self.toggle_all or drawing.target_view == self.target_view:
|
||||||
|
drawing.is_expanded = expanded
|
||||||
class ContractTargetView(bpy.types.Operator):
|
|
||||||
bl_idname = "bim.contract_target_view"
|
|
||||||
bl_label = "Contract Target View"
|
|
||||||
bl_description = "\n\nSHIFT+CLICK to hide all view categories"
|
|
||||||
|
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
|
||||||
target_view: bpy.props.StringProperty()
|
|
||||||
contract_all: bpy.props.BoolProperty(name="Contract All", default=False, options={"SKIP_SAVE"})
|
|
||||||
|
|
||||||
def invoke(self, context, event):
|
|
||||||
# Contracting all categories on shift+click.
|
|
||||||
# Make sure to use SKIP_SAVE on property, otherwise it might get stuck (copied from #4771).
|
|
||||||
if event.type == "LEFTMOUSE" and event.shift:
|
|
||||||
self.contract_all = True
|
|
||||||
return self.execute(context)
|
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
props = tool.Drawing.get_document_props()
|
|
||||||
for drawing in [d for d in props.drawings if self.contract_all or d.target_view == self.target_view]:
|
|
||||||
drawing.is_expanded = False
|
|
||||||
core.load_drawings(tool.Drawing)
|
core.load_drawings(tool.Drawing)
|
||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|||||||
@@ -667,13 +667,13 @@ class BIM_UL_drawinglist(bpy.types.UIList):
|
|||||||
else:
|
else:
|
||||||
icon = "CLIPUV_HLT"
|
icon = "CLIPUV_HLT"
|
||||||
if item.is_expanded:
|
if item.is_expanded:
|
||||||
row.operator(
|
op = row.operator("bim.toggle_target_view", text="", emboss=False, icon="DISCLOSURE_TRI_DOWN")
|
||||||
"bim.contract_target_view", text="", emboss=False, icon="DISCLOSURE_TRI_DOWN"
|
op.target_view = item.target_view
|
||||||
).target_view = item.target_view
|
op.option = "CONTRACT"
|
||||||
else:
|
else:
|
||||||
row.operator(
|
op = row.operator("bim.toggle_target_view", text="", emboss=False, icon="DISCLOSURE_TRI_RIGHT")
|
||||||
"bim.expand_target_view", text="", emboss=False, icon="DISCLOSURE_TRI_RIGHT"
|
op.target_view = item.target_view
|
||||||
).target_view = item.target_view
|
op.option = "EXPAND"
|
||||||
row.prop(item, "name", text="", icon=icon, emboss=False)
|
row.prop(item, "name", text="", icon=icon, emboss=False)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ Scenario: Duplicate drawing
|
|||||||
And I look at the "Drawings" panel
|
And I look at the "Drawings" panel
|
||||||
And I click "IMPORT"
|
And I click "IMPORT"
|
||||||
And I click "ADD"
|
And I click "ADD"
|
||||||
And I press "bim.expand_target_view(target_view='PLAN_VIEW')"
|
And I press "bim.toggle_target_view(option="EXPAND", target_view='PLAN_VIEW')"
|
||||||
When I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
When I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
||||||
And the variable "drawing" is "IfcStore.get_file().by_type('IfcAnnotation')[0].id()"
|
And the variable "drawing" is "IfcStore.get_file().by_type('IfcAnnotation')[0].id()"
|
||||||
When I press "bim.duplicate_drawing(drawing={drawing})"
|
When I press "bim.duplicate_drawing(drawing={drawing})"
|
||||||
@@ -31,7 +31,7 @@ Scenario: Duplicate drawing - without duplicating annotations
|
|||||||
And I look at the "Drawings" panel
|
And I look at the "Drawings" panel
|
||||||
And I click "IMPORT"
|
And I click "IMPORT"
|
||||||
And I click "ADD"
|
And I click "ADD"
|
||||||
And I press "bim.expand_target_view(target_view='PLAN_VIEW')"
|
And I press "bim.toggle_target_view(option="EXPAND", target_view='PLAN_VIEW')"
|
||||||
And I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
And I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
||||||
And I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
And I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
||||||
And I press "bim.add_annotation"
|
And I press "bim.add_annotation"
|
||||||
@@ -54,7 +54,7 @@ Scenario: Duplicate drawing - with duplicating annotations
|
|||||||
And I look at the "Drawings" panel
|
And I look at the "Drawings" panel
|
||||||
And I click "IMPORT"
|
And I click "IMPORT"
|
||||||
And I click "ADD"
|
And I click "ADD"
|
||||||
And I press "bim.expand_target_view(target_view='PLAN_VIEW')"
|
And I press "bim.toggle_target_view(option="EXPAND", target_view='PLAN_VIEW')"
|
||||||
And I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
And I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
||||||
And I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
And I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
||||||
And I press "bim.add_annotation"
|
And I press "bim.add_annotation"
|
||||||
@@ -77,7 +77,7 @@ Scenario: Create drawing
|
|||||||
And I look at the "Drawings" panel
|
And I look at the "Drawings" panel
|
||||||
And I click "IMPORT"
|
And I click "IMPORT"
|
||||||
And I click "ADD"
|
And I click "ADD"
|
||||||
And I press "bim.expand_target_view(target_view='PLAN_VIEW')"
|
And I press "bim.toggle_target_view(option="EXPAND", target_view='PLAN_VIEW')"
|
||||||
When I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
When I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
||||||
And I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
And I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
||||||
And I click "OUTPUT"
|
And I click "OUTPUT"
|
||||||
@@ -97,7 +97,7 @@ Scenario: Create drawing after deleting a duplicated object
|
|||||||
And I look at the "Drawings" panel
|
And I look at the "Drawings" panel
|
||||||
And I click "IMPORT"
|
And I click "IMPORT"
|
||||||
And I click "ADD"
|
And I click "ADD"
|
||||||
And I press "bim.expand_target_view(target_view='PLAN_VIEW')"
|
And I press "bim.toggle_target_view(option="EXPAND", target_view='PLAN_VIEW')"
|
||||||
And I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
And I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
||||||
And I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
And I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
||||||
And I click "OUTPUT"
|
And I click "OUTPUT"
|
||||||
@@ -116,7 +116,7 @@ Scenario: Activate drawing preserves visibility for non-ifc objects
|
|||||||
And I look at the "Drawings" panel
|
And I look at the "Drawings" panel
|
||||||
And I click "IMPORT"
|
And I click "IMPORT"
|
||||||
And I click "ADD"
|
And I click "ADD"
|
||||||
And I press "bim.expand_target_view(target_view='PLAN_VIEW')"
|
And I press "bim.toggle_target_view(option="EXPAND", target_view='PLAN_VIEW')"
|
||||||
And I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
And I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
||||||
And I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
And I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
||||||
Then the object "Cube" is visible
|
Then the object "Cube" is visible
|
||||||
@@ -130,7 +130,7 @@ Scenario: Activate drawing preserves selection
|
|||||||
And I look at the "Drawings" panel
|
And I look at the "Drawings" panel
|
||||||
And I click "IMPORT"
|
And I click "IMPORT"
|
||||||
And I click "ADD"
|
And I click "ADD"
|
||||||
And I press "bim.expand_target_view(target_view='PLAN_VIEW')"
|
And I press "bim.toggle_target_view(option="EXPAND", target_view='PLAN_VIEW')"
|
||||||
And I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
And I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
||||||
When I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
When I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
||||||
Then the object "Cube" is selected
|
Then the object "Cube" is selected
|
||||||
@@ -147,7 +147,7 @@ Scenario: Remove drawing
|
|||||||
And I look at the "Drawings" panel
|
And I look at the "Drawings" panel
|
||||||
And I click "IMPORT"
|
And I click "IMPORT"
|
||||||
And I click "ADD"
|
And I click "ADD"
|
||||||
And I press "bim.expand_target_view(target_view='PLAN_VIEW')"
|
And I press "bim.toggle_target_view(option="EXPAND", target_view='PLAN_VIEW')"
|
||||||
And I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
And I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
||||||
When I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
When I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
||||||
Then the collection "IfcAnnotation/PLAN_VIEW" exists
|
Then the collection "IfcAnnotation/PLAN_VIEW" exists
|
||||||
@@ -181,7 +181,7 @@ Scenario: Remove drawing - deleting active drawing
|
|||||||
And I look at the "Drawings" panel
|
And I look at the "Drawings" panel
|
||||||
And I click "IMPORT"
|
And I click "IMPORT"
|
||||||
And I click "ADD"
|
And I click "ADD"
|
||||||
And I press "bim.expand_target_view(target_view='PLAN_VIEW')"
|
And I press "bim.toggle_target_view(option="EXPAND", target_view='PLAN_VIEW')"
|
||||||
And I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
And I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
||||||
And I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
And I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
||||||
When the object "IfcAnnotation/PLAN_VIEW" is selected
|
When the object "IfcAnnotation/PLAN_VIEW" is selected
|
||||||
@@ -196,7 +196,7 @@ Scenario: Add annotation - text
|
|||||||
And I look at the "Drawings" panel
|
And I look at the "Drawings" panel
|
||||||
And I click "IMPORT"
|
And I click "IMPORT"
|
||||||
And I click "ADD"
|
And I click "ADD"
|
||||||
And I press "bim.expand_target_view(target_view='PLAN_VIEW')"
|
And I press "bim.toggle_target_view(option="EXPAND", target_view='PLAN_VIEW')"
|
||||||
And I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
And I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
||||||
And I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
And I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
||||||
When I press "bim.add_annotation"
|
When I press "bim.add_annotation"
|
||||||
@@ -213,7 +213,7 @@ Scenario: Add annotation - auto create context if it doesn't exist
|
|||||||
And I look at the "Drawings" panel
|
And I look at the "Drawings" panel
|
||||||
And I click "IMPORT"
|
And I click "IMPORT"
|
||||||
And I click "ADD"
|
And I click "ADD"
|
||||||
And I press "bim.expand_target_view(target_view='PLAN_VIEW')"
|
And I press "bim.toggle_target_view(option="EXPAND", target_view='PLAN_VIEW')"
|
||||||
And I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
And I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
||||||
And I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
And I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
||||||
When I press "bim.add_annotation"
|
When I press "bim.add_annotation"
|
||||||
@@ -232,7 +232,7 @@ Scenario: Create drawing - using shapely fill mode
|
|||||||
And I click "IMPORT"
|
And I click "IMPORT"
|
||||||
And I set the "location_hint" property to "My Storey"
|
And I set the "location_hint" property to "My Storey"
|
||||||
And I click "ADD"
|
And I click "ADD"
|
||||||
And I press "bim.expand_target_view(target_view='PLAN_VIEW')"
|
And I press "bim.toggle_target_view(option="EXPAND", target_view='PLAN_VIEW')"
|
||||||
When I select the "MY STOREY PLAN" item in the "BIM_UL_drawinglist" list
|
When I select the "MY STOREY PLAN" item in the "BIM_UL_drawinglist" list
|
||||||
And I click "VIEW_CAMERA_UNSELECTED" in the row where I see "MY STOREY PLAN" in the "1st" list
|
And I click "VIEW_CAMERA_UNSELECTED" in the row where I see "MY STOREY PLAN" in the "1st" list
|
||||||
And I look at the "Active Drawing" panel
|
And I look at the "Active Drawing" panel
|
||||||
@@ -273,7 +273,7 @@ Scenario: Add drawing to sheet
|
|||||||
And I look at the "Drawings" panel
|
And I look at the "Drawings" panel
|
||||||
And I click "IMPORT"
|
And I click "IMPORT"
|
||||||
And I click "ADD"
|
And I click "ADD"
|
||||||
And I press "bim.expand_target_view(target_view='PLAN_VIEW')"
|
And I press "bim.toggle_target_view(option="EXPAND", target_view='PLAN_VIEW')"
|
||||||
And I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
And I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
||||||
And I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
And I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
||||||
And I click "OUTPUT"
|
And I click "OUTPUT"
|
||||||
@@ -298,7 +298,7 @@ Scenario: Create sheet - with a drawing added to it
|
|||||||
And I look at the "Drawings" panel
|
And I look at the "Drawings" panel
|
||||||
And I click "IMPORT"
|
And I click "IMPORT"
|
||||||
And I click "ADD"
|
And I click "ADD"
|
||||||
And I press "bim.expand_target_view(target_view='PLAN_VIEW')"
|
And I press "bim.toggle_target_view(option="EXPAND", target_view='PLAN_VIEW')"
|
||||||
And I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
And I select the "PLAN_VIEW" item in the "BIM_UL_drawinglist" list
|
||||||
And I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
And I click "VIEW_CAMERA_UNSELECTED" in the row where I see "PLAN_VIEW" in the "1st" list
|
||||||
And I click "OUTPUT"
|
And I click "OUTPUT"
|
||||||
|
|||||||
@@ -887,7 +887,7 @@ class TestDrawingStyles(NewFile):
|
|||||||
bpy.ops.bim.add_drawing()
|
bpy.ops.bim.add_drawing()
|
||||||
ifc = tool.Ifc.get()
|
ifc = tool.Ifc.get()
|
||||||
drawing = ifc.by_type("IfcAnnotation")[0]
|
drawing = ifc.by_type("IfcAnnotation")[0]
|
||||||
bpy.ops.bim.expand_target_view(target_view="PLAN_VIEW")
|
bpy.ops.bim.toggle_target_view(option="EXPAND", target_view="PLAN_VIEW")
|
||||||
props = tool.Drawing.get_document_props()
|
props = tool.Drawing.get_document_props()
|
||||||
props.active_drawing_index = 2
|
props.active_drawing_index = 2
|
||||||
bpy.ops.bim.activate_drawing(drawing=drawing.id())
|
bpy.ops.bim.activate_drawing(drawing=drawing.id())
|
||||||
|
|||||||
Reference in New Issue
Block a user