FreeCAD: Workbench Refactor

This commit is contained in:
Mark Voltov 2024-04-14 18:54:47 +00:00 committed by Igor Brylyov
parent 037827669a
commit a58dcdafb1
386 changed files with 997 additions and 64533 deletions

View file

@ -0,0 +1,27 @@
import FreeCAD
# Функция для получения списка всех объектов с заданным свойством
def get_objects_with_property(property_name, property_value):
result = []
for obj in FreeCAD.ActiveDocument.Objects:
if hasattr(obj, "PropertiesList") and property_name in obj.PropertiesList:
if obj.getPropertyByName(property_name) == property_value:
result.append(obj)
return result
# Получение списка всех объектов с названием тела в свойстве
bodies = get_objects_with_property("BodyName", "Body")
# Получение списка всех объектов
all_objects = FreeCAD.ActiveDocument.Objects
# Поиск и вывод тел, у которых нет связанных вспомогательных объектов
for body in bodies:
linked_objects = []
for obj in all_objects:
if obj.hasLinkOf(body):
linked_objects.append(obj.Name)
if not linked_objects:
print(f"Тело без связанных объектов: {body.Name}")