Source code for pohlke
# SPDX-FileCopyrightText: 2021-2026 Julien Rippinger, Ian Bertin <alicelab.be>
#
# SPDX-License-Identifier: GPL-3.0-or-later
"""Entry point of the Pohlke Blender add-on."""
import logging
import sys
if "bpy" in locals():
import importlib
importlib.reload(gui) # noqa: F821
importlib.reload(operators) # noqa: F821
importlib.reload(properties) # noqa: F821
importlib.reload(scripting) # noqa: F821
else:
from . import gui, operators, properties, scripting
import bpy
[docs]
bl_info = {
"name": "Pohlke",
"description": "Architectural representation systems in Blender.",
"author": "Julien Rippinger, Ian Bertin, Michel Lefèvre, alicelab.be",
"version": (2, 1, 0),
"blender": (4, 2, 0),
"location": "3D Viewport > Sidebar (N) > Pohlke",
"warning": "",
"doc_url": "https://pohlke.rtfd.io",
"tracker_url": "https://codeberg.org/alice_lab/pohlke/issues",
"category": "Camera",
}
"""
Blender add-on metadata
"""
def _setup_scale_output() -> logging.Logger:
"""Provide the graphical scale in the System Console."""
scale_logger = logging.getLogger("pohlke_console")
if scale_logger.handlers:
return scale_logger
scale_logger.setLevel(logging.INFO)
handler = logging.StreamHandler(sys.stdout)
formatter = logging.Formatter("%(message)s")
handler.setFormatter(formatter)
scale_logger.addHandler(handler)
scale_logger.propagate = False
return scale_logger
[docs]
def register() -> None:
"""Register all add-on modules to Blender.
This function is called when the add-on is enabled.
"""
properties.register()
operators.register()
gui.register()
bpy.pohlke = scripting.Scriber()
"""Entry point of the Pohlke scripting interface."""
scale_logger = _setup_scale_output()
[docs]
def unregister() -> None:
"""Unregister all add-on modules from Blender.
This function is called when the add-on is disabled.
"""
gui.unregister()
operators.unregister()
properties.unregister()
del bpy.pohlke
if __name__ == "__main__":
register()