Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

3д принтер. слайсер

Michael Urvan Ученик (140), на голосовании 2 месяца назад
кароче у меня есть программа которая сама рассчитывает сколько шагов её делать. мне нужна 2 программа которая из stl читалось куда переместить голову и включать ли экструдер. Это программа должна записывать координаты точек и пока ехать до этой точки включать ли экструдер. Желательно чтоб она была на пайтен. в txt файл должно построчно записыватся данные вот таким оброзом 100,20,100,True
Дополнен 3 месяца назад
chatgpt создал такой код но он пишет синтаксическую ошибку
import numpy as np
from stl import mesh

def read_stl_file(filename):
# Загрузка STL файла
stl_mesh = mesh.Mesh.from_file(filename)

# Получение координат вершин из STL
vertices = stl_mesh.vectors.reshape(-1, 3)

return vertices

def write_to_file(vertices, extruder_states, filename):
with open(filename, 'w') as file:
for i in range(len(vertices)):
vertex = vertices[i]
extruder = extruder_states[i]
line = f"{vertex[0]},{vertex[1]},{vertex[2]},{extruder}\n"
file.write(line)

# Пример использования:
if __name__ == "__main__":
stl_filename = "example.stl" # Путь к вашему STL файлу
output_filename = "coordinates.txt" # Имя файла для сохранения данных

# Чтение вершин из STL файла
vertices = read_stl_file(stl_filename)

# Добавляем дополнительную точку в конец
extra_point = np.array([[0, 0, 100]])
vertices = np.vstack([vertices, extra_point])

# Определяем количество точек (теперь на одну больше)
num_points = len(vertices)

# Генерируем состояния экструдера (выключаем на первой и последней точках, включаем на всех остальных)
extruder_states = [False] + [True] * (num_points - 2) + [False]

# Запись в файл TXT
write_to_file(vertices, extruder_states, output_filename)
print(f"Данные записаны в файл {output_filename}")
Голосование за лучший ответ
/bin/laden Искусственный Интеллект (110787) 3 месяца назад
чел ты в адеквате вообще?
зайди на гитхаб любого слайсера и посмотри объем кода.
Michael UrvanУченик (140) 3 месяца назад
я дополнил можешь помочь исправить чтоб все заработало, просто я уже исправлял и делал только хуже
/bin/laden Искусственный Интеллект (110787) Michael Urvan, это не будет работать и это не слайсер. слайсер - это послойное деление модели с учетом настроек периметров и заполнения, а также с пересчетом объема пластика в линейную подачу экструдера.
Michael UrvanУченик (140) 3 месяца назад
просто майл ответы просили что нибудь добавить поэтому написал слайсер, буду думать как изменить другую программу под себя
/bin/laden Искусственный Интеллект (110787) Michael Urvan, вроде бы, но это не точно, в некоторых слайсерах есть типа плагины, но я не разбирался с этим.
Похожие вопросы