28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
![]() |
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}")
|
|||
|
|
|||
|
|