reworking the markup workbench
This commit is contained in:
parent
b07fceca2a
commit
618c08e56e
2 changed files with 326 additions and 0 deletions
29
cg/freecad/Frames/chekingEntities.py
Normal file
29
cg/freecad/Frames/chekingEntities.py
Normal file
|
@ -0,0 +1,29 @@
|
|||
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}")
|
||||
|
||||
# Пример использования:
|
||||
# Убедитесь, что в FreeCAD активный документ содержит объекты с свойством "BodyName" и значением "Body"
|
||||
# Затем запустите этот скрипт, и он выведет тела без связанных объектов в терминал
|
Loading…
Add table
Add a link
Reference in a new issue