Как преобразовать математически определенную фигуру в файл G-кода для 3D-печати?

Предположим, у меня есть координаты X, Y и Z (либо в списке,либо в функции z = f(x, y)), которая определяет форму как указанную, и я хочу напечатать ее в 3D со сплошным дном, есть ли простой способ сделать это? Если нет, то как можно поместить функционально четко определенную форму в программное обеспечение для 3D-моделирования, такое как FreeCAD?

3D graph

, 👍4


4 ответа


2

Для таких вещей, как это, OpenSCAD - ваш друг. Существует несколько различных подходов, которые вы могли бы использовать:

  1. Создайте файл изображения в оттенках серого, отображающий высоту функции в сетке XY, и используйте функцию поверхности, чтобы импортировать ее в качестве карты высоты.

  2. Напишите функцию в виде математического выражения на языке OpenSCAD и напишите модуль для создания многогранника, выполнив итерацию по достаточно тонкой координатной сетке, выполнив выборку функции и создав точки и треугольники.

  3. Используйте библиотеку, которую для этой цели уже написал кто-то другой. Я не знаю конкретных, но уверен, что их довольно много.


,

Я стараюсь использовать OpenSCAD при проектировании, и это была моя первая мысль, когда я увидел этот вопрос. Однако у меня недостаточно клеток мозга, чтобы внести свой вклад так, как это сделали вы., @fred_dot_u


1

Другой вариант-использовать конструктор полного контроля, где вы можете определить путь с помощью формул Excel, и он сгенерирует для вас GCode.

,

1

Вы можете создать файл .stl на основе вашего математического определения. Вы можете написать программу на выбранном вами языке для вычисления файла .stl.

На вашем изображении изображено множество прямоугольников, каждый прямоугольник можно описать как два треугольника. Файл .stl представляет собой (очень длинный) список всех этих треугольников. Каждый треугольник определяется координатами X, Y и Z трех углов.

solid name

facet normal ni nj nk
    outer loop
        vertex v1x v1y v1z
        vertex v2x v2y v2z
        vertex v3x v3y v3z
    endloop
endfacet

endsolid name

Каждое n или v представляет собой число с плавающей запятой в формате знака-мантиссы-"e"-знака-показателя, например, "2.648000 e-002". Вершины треугольника должны быть отсортированы с использованием "правила правой руки", т. е. вершины перечислены снаружи в порядке против часовой стрелки.

Вектор нормали ni nj nk равен нулю.

Файл G-кода создается из файла .stl с помощью программного обеспечения для нарезки для вашего 3D-принтера.

Видишь https://en.wikipedia.org/wiki/STL_(формат файла) для получения подробной информации.

,

1

Не уверен, о чем именно вы спрашиваете, но вы можете использовать этот рабочий процесс:

  1. SideFX Houdini: математическая функция + генерация файлов STL
  2. (необязательно) FreeCAD: Импортируйте STL в виде сетки, делайте все, что вам нужно, в FreeCAD, экспортируйте в STL
  3. слайсер: импортируйте STL и нарежьте его.
,