mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-17 22:11:36 +00:00
reuse tool.Blender.get_blenderbim_version
This commit is contained in:
@@ -27,7 +27,6 @@ import sys
|
|||||||
IN_BLENDER = sys.modules.get("bpy", None)
|
IN_BLENDER = sys.modules.get("bpy", None)
|
||||||
if IN_BLENDER:
|
if IN_BLENDER:
|
||||||
import bpy
|
import bpy
|
||||||
import addon_utils
|
|
||||||
|
|
||||||
import re
|
import re
|
||||||
import platform
|
import platform
|
||||||
|
|||||||
@@ -167,21 +167,6 @@ class IfcExporter:
|
|||||||
def get_application_name(self) -> str:
|
def get_application_name(self) -> str:
|
||||||
return "BlenderBIM"
|
return "BlenderBIM"
|
||||||
|
|
||||||
def get_application_version(self) -> str:
|
|
||||||
version = ".".join(
|
|
||||||
[
|
|
||||||
str(x)
|
|
||||||
for x in [
|
|
||||||
addon.bl_info.get("version", (-1, -1, -1))
|
|
||||||
for addon in addon_utils.modules()
|
|
||||||
if addon.bl_info["name"] == "BlenderBIM"
|
|
||||||
][0]
|
|
||||||
]
|
|
||||||
)
|
|
||||||
if commit_hash := tool.Blender.get_last_commit_hash():
|
|
||||||
version += f"-{commit_hash}"
|
|
||||||
return version
|
|
||||||
|
|
||||||
|
|
||||||
class IfcExportSettings:
|
class IfcExportSettings:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
|||||||
@@ -222,7 +222,7 @@ def redo_post(scene):
|
|||||||
|
|
||||||
def get_application(ifc: ifcopenshell.file) -> ifcopenshell.entity_instance:
|
def get_application(ifc: ifcopenshell.file) -> ifcopenshell.entity_instance:
|
||||||
# TODO: cache this for even faster application retrieval. It honestly makes a difference on long scripts.
|
# TODO: cache this for even faster application retrieval. It honestly makes a difference on long scripts.
|
||||||
version = get_application_version()
|
version = tool.Blender.get_blenderbim_version()
|
||||||
for element in ifc.by_type("IfcApplication"):
|
for element in ifc.by_type("IfcApplication"):
|
||||||
if element.ApplicationIdentifier == "BlenderBIM" and element.Version == version:
|
if element.ApplicationIdentifier == "BlenderBIM" and element.Version == version:
|
||||||
return element
|
return element
|
||||||
@@ -248,19 +248,6 @@ def get_user(ifc: ifcopenshell.file) -> Union[ifcopenshell.entity_instance, None
|
|||||||
return pao
|
return pao
|
||||||
|
|
||||||
|
|
||||||
def get_application_version() -> str:
|
|
||||||
return ".".join(
|
|
||||||
[
|
|
||||||
str(x)
|
|
||||||
for x in [
|
|
||||||
addon.bl_info.get("version", (-1, -1, -1))
|
|
||||||
for addon in addon_utils.modules()
|
|
||||||
if addon.bl_info["name"] == "BlenderBIM"
|
|
||||||
][0]
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def viewport_shading_changed_callback(area):
|
def viewport_shading_changed_callback(area):
|
||||||
shading = area.spaces.active.shading.type
|
shading = area.spaces.active.shading.type
|
||||||
if shading == "RENDERED":
|
if shading == "RENDERED":
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import requests
|
|||||||
import tempfile
|
import tempfile
|
||||||
import datetime
|
import datetime
|
||||||
import addon_utils
|
import addon_utils
|
||||||
|
import blenderbim.tool as tool
|
||||||
|
|
||||||
|
|
||||||
class AuginLogin(bpy.types.Operator):
|
class AuginLogin(bpy.types.Operator):
|
||||||
@@ -77,16 +78,7 @@ class AuginCreateNewModel(bpy.types.Operator):
|
|||||||
props.project_filename = "BBM{}{}".format(
|
props.project_filename = "BBM{}{}".format(
|
||||||
datetime.datetime.now().strftime("%Y%m%d%H%M%S"), "".join(random.choice(chars) for _ in range(6))
|
datetime.datetime.now().strftime("%Y%m%d%H%M%S"), "".join(random.choice(chars) for _ in range(6))
|
||||||
)
|
)
|
||||||
addon_version = ".".join(
|
addon_version = tool.Blender.get_blenderbim_version()
|
||||||
[
|
|
||||||
str(x)
|
|
||||||
for x in [
|
|
||||||
addon.bl_info.get("version", (-1, -1, -1))
|
|
||||||
for addon in addon_utils.modules()
|
|
||||||
if addon.bl_info["name"] == "BlenderBIM"
|
|
||||||
][0]
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
payload = {
|
payload = {
|
||||||
"user_token": props.token,
|
"user_token": props.token,
|
||||||
|
|||||||
@@ -18,7 +18,6 @@
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
import bpy
|
import bpy
|
||||||
import addon_utils
|
|
||||||
import platform
|
import platform
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from bpy.types import Panel
|
from bpy.types import Panel
|
||||||
|
|||||||
@@ -26,8 +26,8 @@ import ifcopenshell.util.element
|
|||||||
import blenderbim.core.tool
|
import blenderbim.core.tool
|
||||||
import blenderbim.tool as tool
|
import blenderbim.tool as tool
|
||||||
import blenderbim.bim
|
import blenderbim.bim
|
||||||
import addon_utils
|
|
||||||
import types
|
import types
|
||||||
|
import importlib
|
||||||
from mathutils import Vector
|
from mathutils import Vector
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from blenderbim.bim.ifc import IFC_CONNECTED_TYPE
|
from blenderbim.bim.ifc import IFC_CONNECTED_TYPE
|
||||||
@@ -930,17 +930,9 @@ class Blender(blenderbim.core.tool.Blender):
|
|||||||
return commit_hash[:7]
|
return commit_hash[:7]
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_blenderbim_version(cls):
|
def get_blenderbim_version(cls) -> str:
|
||||||
version = ".".join(
|
bbim = cls.get_bbim_extension_package()
|
||||||
[
|
version = bbim.bbim_semver["version"]
|
||||||
str(x)
|
|
||||||
for x in [
|
|
||||||
addon.bl_info.get("version", (-1, -1, -1))
|
|
||||||
for addon in addon_utils.modules()
|
|
||||||
if addon.bl_info["name"] == "BlenderBIM"
|
|
||||||
][0]
|
|
||||||
]
|
|
||||||
)
|
|
||||||
if commit_hash := cls.get_last_commit_hash():
|
if commit_hash := cls.get_last_commit_hash():
|
||||||
version += f"-{commit_hash}"
|
version += f"-{commit_hash}"
|
||||||
return version
|
return version
|
||||||
@@ -1114,6 +1106,11 @@ class Blender(blenderbim.core.tool.Blender):
|
|||||||
return package_name
|
return package_name
|
||||||
return "blenderbim"
|
return "blenderbim"
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def get_bbim_extension_package(cls) -> types.ModuleType:
|
||||||
|
name = cls.get_blender_addon_package_name()
|
||||||
|
return importlib.import_module(name)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_addon_preferences(cls) -> blenderbim.bim.ui.BIM_ADDON_preferences:
|
def get_addon_preferences(cls) -> blenderbim.bim.ui.BIM_ADDON_preferences:
|
||||||
blender_package_name = cls.get_blender_addon_package_name()
|
blender_package_name = cls.get_blender_addon_package_name()
|
||||||
|
|||||||
Reference in New Issue
Block a user