Типы входных данных файла

Я новичок и не очень разбираюсь в 3D-принтерах. В Visual Basic я могу создавать векторные данные 3D-объектов, которые могут быть загружены в двоичный или текстовый файл. Можно ли использовать подобные файлы с 3D-принтером?

Пример:

Это очень упрощенный пример того, как код генерирует 3D векторные данные.

ju jv jw определяют размер и размеры объекта
ru, rv, rw являются векторными длинами

Инкременторы, используемые для увеличения размера объекта до максимальных значений ju jv jw:

ru=ru+1
rv=rv+1
rw=rw+1

"углы также могут быть увеличены для кривых и спиралей"

углы векторов

угол u = 0
угол v =45
угол w = 90

Упрощенный код:

For k1 = 0 To Ju

    ru=ru+1

    xu = (ru * Sin(angle u))

    yu = (ru * Cos(angle u))


For k2 = 0 To Jv

   rv=rv+1

   xv = (rv * Sin(angle v))

   yv = (rv * Cos(angle v))



For k3 = 0 To Jw

    rw=rw+1

    xw = (rw * Sin(angle w))

    yw = (rw * Cos(angle w))


Output xu, yu, xv, yv, xw, yw ..в файл в порядке, указанном в этой строке

Next k3 : next k2: next k1

Может ли 3d-принтер прочитать этот вывод как есть и использовать его для создания 3D-объекта?

, 👍2

Обсуждение

Привет, гу гл! Ваш вопрос совершенно неспецифичен, и поэтому на него трудно правильно ответить в его нынешнем состоянии. Не могли бы вы привести нам конкретный пример того, что вас интересует? Например, какой код у вас есть, как выглядят 3D-модели, в какой формат файлов они переводятся, чего вы хотите достичь и что вы уже пробовали? Я решил отложить ваш вопрос, чтобы вы могли внести свои изменения. Пожалуйста, дайте нам знать, когда вы будете готовы открыть его. Кроме того, добро пожаловать в 3D Printing SE!, @Tormod Haugene

Кто-то еще сказал мне, что это должно быть в формате STL, и я не думаю, что это сработает с моими данными. Потому что это просто striaght forward vector math, которая строит квадраты в 2d и кубы в 3d, а не треугольники. Но спасибо за ответ., @goo gle

я использую метод графического сложения векторов. найдено на этой веб-странице http://www.electronics-tutorials.ws/accircuits/complex-numbers.html сколл вплоть до графического Сложения и вычитания, @goo gle

Не могли бы вы добавить свою информацию к вашему вопросу, используя кнопку *edit* в сером тексте под вашим вопросом? Затем вам будет разрешено добавлять картинки, фрагменты кода и т. Д. Так же, как и при написании вопроса в первый раз. Кроме того, когда вы закончите, вы можете проголосовать за то, чтобы ваш вопрос был вновь открыт для ответов, нажав кнопку *reopen* справа от кнопки *edit*.: -), @Tormod Haugene

@goo gle ответ НЕТ - это не сработает. Гораздо лучше читать о 3D-печати/слайсерах/прошивках, чем представлять свой код. Настоятельно рекомендуется получить хотя бы базовые знания, потому что тогда у нас будет общая область для обсуждения. Вы задали вопрос, и Джон Сенсеб ответил, но вы говорите, что знаете лучше. Скажите, как убедить вас, что есть принципы, которые вы должны принять, а не убеждать нас, что ваш способ (представления 3D-объектов) в порядке. Преобразование 3d obj в формат принтера занимает чуть более 15 строк кода. Пожалуйста, прочитайте хотя бы статью википедии., @darth pixel

Теперь ваш вопрос снова открыт. Я сделал еще кое-какое форматирование кода, на которое вы, возможно, захотите взглянуть., @Tormod Haugene

спасибо за ваш ответ, я разберусь с этим позже., @goo gle

@ darth pixel "goo gle the answer is NO - it won't work" Thank you, you answered my question, that all i need to know, have a nice day :), @goo gle


1 ответ


4

Не напрямую. Наиболее распространенные типы 3D-принтеров создают объекты слоями. Они "рисуют" слой, затем "рисуют" другой слой чуть выше него, повторяя это до тех пор, пока не "нарисуют" всю модель целиком. Подготовка вашей модели к этому называется "нарезкой", поскольку вы "нарезаете" свою модель на эти слои. Нарезка - сложный процесс, и для этого требуется много работы, чтобы "создать собственное" программное обеспечение, и уже есть несколько хороших бесплатных приложений, которые сделают это за вас.

Что вы, вероятно, можете сделать легко, так это вывести ваши данные в формате STL для чтения программой нарезки. STL (либо ASCII, либо двоичный) - это очень простой формат, который содержит треугольники, составляющие вашу модель. На самом деле все настолько просто, что статья в Википедии рассказывает вам практически все, что вам нужно знать.

Чтобы получить треугольники из квадратов:

A--B    Here is a "square" with vertices ABCD.    A--B    A--B    A
|  |    Splitting it from A to C produces two     |\ | ->  \ |    |\
|  |    triangles, ABC and CDA.  This can be      | \| ->   \|    | \
D--C    done as part of the output by simply      D--C       C    D--C
        writing two triangles for every
        square in the input.

,

Спасибо за ответ, но я не думаю, что это сработает, моя математика написана не для треугольников. это просто прямая векторная математика, которая строит квадраты в 2d и кубы в 3d, а не треугольники., @goo gle

@google - Однако разбить квадраты на треугольники действительно легко. Просто выберите произвольную диагональ и разделите каждый квадрат на два треугольника, как разрезают бутерброд. Вы можете сделать это как часть процедуры вывода, чтобы исходная модель не была изменена. Если ваш квадрат определяется вершинами A, B, C и D, идущими по часовой стрелке, то выведите треугольники ABC и CDA., @John Sensebe

я не использую программу с графическим интерфейсом, которую вы можете использовать с помощью мыши, например cad или blender. Я использую версию qbasic под названием qb64, основанную только на текстовых сообщениях. Мне нечего делить. нет никаких моделей для работы со всем этим чисто текстовым текстом. 3D векторные данные проецируют 3D изображение на 2dэкран как готовое изображение а не как модель, @goo gle

@google Я думаю, Джон это понимает. Вам нужно будет выполнить разделение в вашем коде, чтобы преобразовать векторы и кубы в треугольники, как того требует формат STL. Вы также можете рассмотреть возможность использования OpenSCAD, который представляет собой язык программирования, разработанный специально для программной генерации файлов STL., @Tom van der Zanden