FreeCAD
1# /***************************************************************************
2# * Copyright (c) 2023 David Friedli <david[at]friedli-be.ch> *
3# * *
4# * This file is part of FreeCAD. *
5# * *
6# * FreeCAD is free software: you can redistribute it and/or modify it *
7# * under the terms of the GNU Lesser General Public License as *
8# * published by the Free Software Foundation, either version 2.1 of the *
9# * License, or (at your option) any later version. *
10# * *
11# * FreeCAD is distributed in the hope that it will be useful, but *
12# * WITHOUT ANY WARRANTY; without even the implied warranty of *
13# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
14# * Lesser General Public License for more details. *
15# * *
16# * You should have received a copy of the GNU Lesser General Public *
17# * License along with FreeCAD. If not, see *
18# * <https://www.gnu.org/licenses/>. *
19# * *
20# **************************************************************************/
21
22
23# Import the measure module here in order to ensure that default measurement types are loaded during startup.
24# Note that they won't auto-load in gui-less mode. Ideally they would be loaded from "Init.py", similar
25# to how the import/export types are registered. This would require to register measurement types from
26# python which could complicate things further.
27
28import Measure29import MeasureGui30from MeasureCOM import makeMeasureCOM, MeasureCOM31
32
33# Expose create functions
34Measure.makeMeasureCOM = makeMeasureCOM35
36
37# Register python measure types
38import FreeCAD39
40FreeCAD.MeasureManager.addMeasureType(41"CENTEROFMASS",42"Center of Mass",43MeasureCOM,44)
45