Формат OBJ широко используется для представления 3D-моделей, хранения таких данных, как позиции вершин, текстуры и нормали. STL(стереолитография) — еще один распространенный формат 3D-файлов, в основном используемый для 3D-печати, поскольку он содержит только геометрию поверхности 3D-объекта. Преобразование OBJ в STL позволяет пользователям подготавливать 3D-модели для быстрого прототипирования и 3D-печати.
Преимущества преобразования OBJ в STL
-
Формат OBJ: Файлы OBJ очень универсальны и содержат богатую 3D-информацию, такую как координаты, нормали и текстуры. Они обычно используются в программном обеспечении, таком как Blender, Autodesk и других для 3D-рендеринга.
-
Формат STL: Файлы STL предпочтительны для 3D-печати и производства. Они содержат геометрию поверхности в простом формате, что делает их совместимыми практически со всеми 3D-принтерами и программным обеспечением CAD.
Однако, конвертировав OBJ в STL, вы можете легко перейти от подробных 3D-моделей к готовым для печати проектам, тем самым упростив процесс 3D-печати и проверки модели.
API обработки 3D-моделей
Aspose.3D Cloud SDK предлагает мощный набор инструментов для обработки 3D-моделей и преобразования файлов. С помощью всего нескольких строк кода C# вы можете загрузить файл OBJ, указать вывод как STL и легко преобразовать файл. В результате выходной файл STL оптимизирован для 3D-печати и приложений CAD, что делает его идеальным решением для инженеров, дизайнеров и разработчиков, которым необходимо подготовить 3D-модели для быстрого прототипирования.
Установка
Во-первых, нам нужно найти Aspose.3D-Cloud
в менеджере пакетов NuGet и нажать кнопку Добавить пакет
. Во-вторых, получите учетные данные клиента из облачной панели управления. Если у вас нет существующей учетной записи, просто создайте бесплатную учетную запись, следуя инструкциям, указанным в статье быстрый старт.
Конвертировать OBJ в STL на C#
В этом разделе описывается простой и эффективный процесс преобразования файлов OBJ в STL с помощью C# .NET.
ThreeDCloudApi threeDCloudApi = new ThreeDCloudApi("client_credentials", clientID, clientSecret);
создаем экземпляр ThreeDCloudApi, в который передаем данные Client ID и Client Secret в качестве аргументов.
threeDCloudApi.UploadFile(inputFileName, inputStream);
Загрузите исходный OBJ-файл в облачное хранилище.
var response = threeDCloudApi.PostConvertByFormat(inputFileName, "stlascii", newFileName, null, isOverwrite: true, null);
Вызовите API для преобразования файла OBJ в STL.
API поддерживает следующие форматы файлов STL во время преобразования.
stlascii
илиstlbinary
.
// Для получения дополнительных примеров посетите https://github.com/aspose-3d-cloud/aspose-3d-cloud-dotnet
// Получите учетные данные клиента с https://dashboard.aspose.cloud/
string clientSecret = "XXXXXXXXXXXXXXXX";
string clientID = "XXXXXXXXXXXXX-XXXXXX-4be6-be35-ff5c3a6aa4a2";
// Имя входного OBJ-файла
String inputFileName = "input.obj";
// результирующий формат файла STL
String newFormat = "stlascii";
// имя результирующего файла
String newFileName = "myResultant.stl";
// создать экземпляр ThreeDCloud API
ThreeDCloudApi threeDCloudApi = new ThreeDCloudApi("client_credentials", clientID, clientSecret);
try
{
// загрузить входной OBJ-файл с локального диска
using (var inputStream = new FileStream("C:\\nayyer\\Downloads\\" + inputFileName, FileMode.Open))
{
// загрузить файл OBJ в облачное хранилище
threeDCloudApi.UploadFile(inputFileName, inputStream);
// инициировать операцию преобразования файла
var response = threeDCloudApi.PostConvertByFormat(inputFileName, newFormat, newFileName, null, isOverwrite: true, null);
// вывести сообщение об успешном завершении, если преобразование прошло успешно
if (response != null && response.Equals("OK"))
{
Console.WriteLine("Wavefront OBJ to STL conversion completed successfully !");
Console.ReadKey();
}
}
}catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
Образец файла OBJ, использованный в примере выше, можно загрузить по ссылке GameReady Cottage.obj.
Файл OBJ в STL с использованием команд cURL
Для тех, кто предпочитает работать с командами cURL, Aspose.3D Cloud также поддерживает взаимодействие REST API. Вот как можно преобразовать OBJ в STL с помощью cURL:
Шаг 1: Получите токен доступа
Вам нужен токен доступа для аутентификации ваших запросов API. Используйте следующую команду, чтобы получить свой токен:
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=Your-App-SID&client_secret=Your-App-Key" \
-H "Content-Type: application/x-www-form-urlencoded"
Шаг 2: Загрузите файл OBJ
Получив токен, загрузите свой OBJ-файл в хранилище Aspose Cloud:
curl -v "https://api.aspose.cloud/v3.0/3d/storage/file/sample.obj" \
-X PUT \
-H "Authorization: Bearer your_access_token" \
--data-binary @sample.obj
Шаг 3: Конвертируйте OBJ в STL
Чтобы преобразовать файл OBJ в STL, используйте следующую команду cURL:
curl -v "https://api.aspose.cloud/v3.0/3d/saveas/newformat?name={sourceFile}&newformat=stlascii&newfilename={convertedFile}&IsOverwrite=false" \
-X POST \
-H "accept: application/json" \
-H "authorization: Bearer {accessToken}"
Замените sourceFile
на имя входного OBJ-файла, resultantFile
на имя результирующего STL-файла, а accessToken
на токен JWT, сгенерированный выше.
Бесплатное приложение для конвертации Wavefront OBJ в STL
Чтобы увидеть все удивительные возможности Aspose.3D Cloud, вы можете рассмотреть возможность использования нашего легкого и сверхэффективного приложения-конвертера Wavefront OBJ в STL.
Заключение
Конвертация OBJ в STL — критически важный процесс для 3D-печати и прототипирования. Независимо от того, предпочитаете ли вы использовать SDK или взаимодействовать с API через команды cURL, этот процесс прост и гибок, что упрощает разработчикам обработку сложных 3D-преобразований. Мы рекомендуем вам изучить Aspose.3D Cloud и воспользоваться его надежными функциями для манипуляции 3D-файлами.
Полезные ссылки
Связанная статья
Мы настоятельно рекомендуем посетить следующие ссылки, чтобы узнать больше о: