Я пытаюсь сохранить некоторые данные в виде файла STL для использования на 3D-принтере. Файл STL имеет две формы: ASCII и Binary. Формат ASCII относительно прост для понимания и создания, но большинство услуг 3D-печати требуют, чтобы он был в двоичном формате.Сохранение двоичного файла STL в Java
Информация о СТЛ Binary объясняется на странице Википедии здесь: http://en.wikipedia.org/wiki/STL_(file_format)
Я знаю, что я буду требовать данные, чтобы быть в виде массива байтов, но я понятия не имею, как идти о интерпретации информации из Википедии и создание массива байтов. Это то, с чем мне хотелось бы помочь.
код я до сих пор просто сохраняет пустой массив байтов:
byte[] bytes = null;
FileOutputStream stream = new FileOutputStream("test.stl");
try {
stream.write(bytes);
} finally {
stream.close();
}
Спасибо. Поэтому, если я правильно понял, это может быть заголовок и треугольник: 'String title =" testing "; \t \t \t bb.put (title.getBytes ("UTF-16")); // Заголовок (80 байт) \t \t \t bb.putInt (32); // Число треугольников (UINT32) ' –
И это может быть использовано для каждого треугольника:' bb.putFloat (0) .putFloat (0) .putFloat (0); \t \t \t bb.putFloat (0) .putFloat (0) .putFloat (0); \t \t \t bb.putFloat (0) .putFloat (0) .putFloat (0); \t \t \t bb.putFloat (0) .putFloat (0) .putFloat (0); \t \t \t bb.putShort ((short) 12); ' –
Я понял это. Я забыл сделать заголовок фиксированным байтом [80]. –