mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-13 02:47:48 +00:00
typing
This commit is contained in:
@@ -94,6 +94,7 @@ class AddBSDDProperties(bpy.types.Operator, tool.Ifc.Operator):
|
||||
psets.setdefault(selected_property.metadata, {})[selected_property.name] = selected_property.get_value()
|
||||
|
||||
ifc_definition_id = tool.Blender.get_obj_ifc_definition_id(self.obj, self.obj_type, context)
|
||||
assert ifc_definition_id
|
||||
element = tool.Ifc.get().by_id(ifc_definition_id)
|
||||
|
||||
current_psets = ifcopenshell.util.element.get_psets(element, verbose=True)
|
||||
|
||||
@@ -22,6 +22,7 @@ import bmesh
|
||||
import numpy as np
|
||||
import numpy.typing as npt
|
||||
import ifcopenshell
|
||||
import ifcopenshell.api.drawing
|
||||
import ifcopenshell.api.group
|
||||
import ifcopenshell.api.pset
|
||||
import ifcopenshell.api.geometry
|
||||
@@ -51,6 +52,7 @@ from mathutils import Vector, Matrix, Quaternion
|
||||
from time import time
|
||||
from bonsai.bim.ifc import IfcStore
|
||||
from ifcopenshell.util.shape_builder import ShapeBuilder
|
||||
from collections.abc import Sequence
|
||||
from typing import Any, Union, Literal, get_args, TYPE_CHECKING, assert_never, NamedTuple
|
||||
from bonsai.bim.module.model.decorator import ProfileDecorator
|
||||
|
||||
@@ -1382,7 +1384,7 @@ class RefreshLinkedAggregate(bpy.types.Operator, tool.Ifc.Operator):
|
||||
|
||||
tool.Geometry.delete_ifc_object(tool.Ifc.get_object(element))
|
||||
|
||||
def get_assignments(element: ifcopenshell.entity_instance) -> list:
|
||||
def get_assignments(element: ifcopenshell.entity_instance) -> Sequence[ifcopenshell.entity_instance]:
|
||||
annotations = []
|
||||
inverse = list(tool.Ifc.get().get_inverse(element))
|
||||
assignments = [a for a in inverse if a.is_a("IfcRelAssignsToProduct")]
|
||||
@@ -1393,7 +1395,8 @@ class RefreshLinkedAggregate(bpy.types.Operator, tool.Ifc.Operator):
|
||||
annotations = assignment.RelatedObjects
|
||||
return annotations
|
||||
|
||||
def assign_to_annotations(obj, assignments):
|
||||
def assign_to_annotations(obj: bpy.types.Object, assignments: Sequence[ifcopenshell.entity_instance]) -> None:
|
||||
ifc_file = tool.Ifc.get()
|
||||
for assignment in assignments:
|
||||
product = tool.Ifc.get_entity(obj)
|
||||
annotation = tool.Ifc.get_object(assignment)
|
||||
@@ -1403,11 +1406,13 @@ class RefreshLinkedAggregate(bpy.types.Operator, tool.Ifc.Operator):
|
||||
existing_product = tool.Drawing.get_assigned_product(assignment)
|
||||
if existing_product != product:
|
||||
if existing_product:
|
||||
tool.Ifc.run(
|
||||
"drawing.unassign_product", relating_product=existing_product, related_object=assignment
|
||||
ifcopenshell.api.drawing.unassign_product(
|
||||
ifc_file, relating_product=existing_product, related_object=assignment
|
||||
)
|
||||
if product:
|
||||
tool.Ifc.run("drawing.assign_product", relating_product=product, related_object=assignment)
|
||||
ifcopenshell.api.drawing.assign_product(
|
||||
ifc_file, relating_product=product, related_object=assignment
|
||||
)
|
||||
tool.Blender.update_viewport()
|
||||
|
||||
def get_original_data(element: ifcopenshell.entity_instance) -> dict[int, dict[int, str]]:
|
||||
|
||||
@@ -104,7 +104,6 @@ def update_show_flat_colours(self: "BIMSearchProperties", context: bpy.types.Con
|
||||
|
||||
|
||||
class BIMFilterClasses(PropertyGroup):
|
||||
name: StringProperty(name="Name")
|
||||
is_selected: BoolProperty(name="Is Selected", default=True, update=update_is_class_selected)
|
||||
total: IntProperty(name="Total")
|
||||
unselected_objects: CollectionProperty(type=ObjProperty, name="Unfiltered Objects")
|
||||
@@ -116,7 +115,6 @@ class BIMFilterClasses(PropertyGroup):
|
||||
|
||||
|
||||
class BIMFilterBuildingStoreys(PropertyGroup):
|
||||
name: StringProperty(name="Name")
|
||||
is_selected: BoolProperty(name="Is Level Selected", default=True, update=update_is_container_selected)
|
||||
total: IntProperty(name="Total")
|
||||
unselected_objects: CollectionProperty(type=ObjProperty, name="Unfiltered Objects")
|
||||
@@ -128,7 +126,6 @@ class BIMFilterBuildingStoreys(PropertyGroup):
|
||||
|
||||
|
||||
class BIMColour(PropertyGroup):
|
||||
name: StringProperty(name="Name")
|
||||
total: IntProperty(name="Total")
|
||||
colour: FloatVectorProperty(name="Colour", subtype="COLOR", default=(1, 0, 0), min=0.0, max=1.0)
|
||||
|
||||
|
||||
@@ -475,7 +475,7 @@ class Bsdd(bonsai.core.tool.Bsdd):
|
||||
return results
|
||||
|
||||
@classmethod
|
||||
def set_library_active(cls, uri: str, state: bool):
|
||||
def set_library_active(cls, uri: str, state: bool) -> None:
|
||||
for dictionary in cls.get_bsdd_props().dictionaries:
|
||||
if dictionary.uri == uri:
|
||||
dictionary.is_active = state
|
||||
|
||||
Reference in New Issue
Block a user