Исправить и доработать скрипт для Blender
Есть скрипт, который нужно доработать,
скрипт должен находить отверстия на активном - всегда объекте (plane),
резать объект на отдельные объекты так, чтобы не было отверстий,
скрипт должен использовать только оригинальные вершины, ребра, грани,
скрипт с ошибками, блендер файл с объектами для тестирования, и задание по ссылке
https://drive.google.com/drive/folders/1Tw4s1DfGUKgNuZ09e3UZXfPkVedKVZBj?usp=sharing
-
109 import bpy
import bmesh
import math
from mathutils import Vector
from collections import deque
# Существующие функции здесь...
def cut_mesh_along_loops(bm, loops):
… """
Разрезает сетку вдоль границ петель (дыр) и создает новые объекты для каждой части.
"""
# Убедитесь, что у оригинальной сетки есть грани
bm.faces.ensure_lookup_table()
# Мы будем хранить новые объекты здесь
new_objects = []
# Шаг 1: Обработать каждую петлю и разделить геометрию вдоль дыры
for loop in loops:
# Собрать ребра дыры
hole_edges = [e for e in loop]
# Шаг 2: Удалить грани, которые пересекаются с дырой
faces_to_remove = []
for face in bm.faces:
for edge in hole_edges:
if any(e in face.edges for e in hole_edges):
faces_to_remove.append(face)
break
# Удалить грани
for face in faces_to_remove:
bm.faces.remove(face)
# Шаг 3: Создать новые части сетки после разрезания
new_bm = bmesh.new()
new_bm.from_mesh(bm)
# Теперь мы разделим сетку на основе разреза
bmesh.ops.delete(new_bm, geom=faces_to_remove, context="FACES_ONLY")
# Создать новую сетку для разделенной части
new_mesh = bpy.data.meshes.new(f"Mesh_After_Cutting")
new_bm.to_mesh(new_mesh)
new_bm.free()
# Создать новый объект и связать его со сценой
new_obj = bpy.data.objects.new(new_mesh.name, new_mesh)
bpy.context.collection.objects.link(new_obj)
new_objects.append(new_obj)
return new_objects
def process_mesh():
"""
Основная функция для обработки сетки в соответствии с определенными шагами.
"""
# Получить активный объект
obj = bpy.context.active_object
if obj is None or obj.type != 'MESH':
print("Активный объект не является сеткой.")
return
print(f"Обработка объекта: {obj.name}")
mesh = obj.data
print(f"Вершины: {len(mesh.vertices)}, Ребра: {len(mesh.edges)}, Грани: {len(mesh.polygons)}")
# Убедитесь, что объект в режиме объекта
if obj.mode != 'OBJECT':
bpy.ops.object.mode_set(mode='OBJECT')
print("Переключено в режим объекта.")
# Создать копию сетки, чтобы сохранить оригинальный объект
bpy.ops.object.duplicate()
obj_copy = bpy.context.active_object
obj_copy.name = obj.name + "_Copy"
print(f"Создана копия сетки: {obj_copy.name}")
# Найти дыры
bm = bmesh.new()
Актуальные фриланс-проекты в категории Python
Создание Тик-ток фермы с генерацией дохода
27 000 UAH
в поиске человека, который может написать софт, для фермы тик ток, чтобы мы смогли генерировать трафик, получать доход. Ищем готовое решение с полным циклом. Python, Разработка ботов ∙ 1 день 13 часов назад ∙ 15 ставок |
AI Commenting Platform для TikTok и Instagram.Цель проекта Разработать систему, которая позволяет управлять большим количеством аккаунтов TikTok и Instagram и автоматически публиковать релевантные комментарии под выбранными видео с использованием ИИ. Основной функционал1. Управление аккаунтами Необходимо реализовать… AI и машинное обучение, Python ∙ 2 дня 20 часов назад ∙ 22 ставки |
Построить модель классификации клиентов1. Есть данные клиентов в Mongo/SQL (примерно 20 000 записей с сырыми данными). 2. Необходимо на их основе построить фичи и модель классификации клиентов на поведенческие группы. 3. Проект выполнить на Python. AI и машинное обучение, Python ∙ 4 дня 14 часов назад ∙ 43 ставки |
ИТ Автоматизация ведения VAT-отчетности
10 000 UAH
Необходимо разработать систему для автоматизации переноса данных о продажах из CRM в бухгалтерскую систему Wafeq. Система должна импортировать банковские и платежные отчеты, автоматически сверять платежи с инвойсами, формировать инвойсы для VAT-отчетности и минимизировать ручную… AI и машинное обучение, Python ∙ 4 дня 20 часов назад ∙ 51 ставка |
Инструмент сверки счетов с банком, картами и бухгалтеромТехническое задание: инструмент сверки счетов с банком, картами и бухгалтеромОбщая цель Нужен локальный инструмент (скрипт/небольшое приложение на Python), который запускается вручную раз в 1-2 месяца на моём компьютере и делает сверку между: Счетами, которые я выставил клиентам… Python, Десктопные приложения ∙ 5 дней 8 часов назад ∙ 43 ставки |