![](images/STL-Conversion.jpg#center)
STL は、「Standard Triangle Language」や「Standard Tessellation Language」など、いくつかの略称を持ち、ステレオリソグラフィー CAD ソフトウェアのネイティブ ファイル形式です。STL ファイルは、色、テクスチャ、その他の属性なしで、3 次元オブジェクトの表面形状のみを記述します。STL ファイルを表示するには、次のいずれかのアプリケーション (Microsoft 3D Viewer、Microsoft Print 3D、IMSI TurboCAD Pro、GOM Inspect など) を使用する必要があります。これらのアプリケーションの一部にはライセンス コストが関連付けられており、受信者がモバイル デバイスを使用している場合、これらのファイルを表示して迅速なフィードバックを提供することは非常に困難になります。そのため、迅速かつ実行可能な解決策は、BMP などのラスター イメージ形式に変換することです。次に、REST API を使用して C# で STL を BMP に変換する方法について説明します。
CAD ファイル処理 API
Aspose.CAD Cloud は、CAD 図面の拡大縮小、回転、反転、編集機能、さらには AutoCAD 図面を画像 (BMP、PNG、JPG) や固定レイアウト (ベクターおよびラスターの PDF) などのサポートされている他の形式にエクスポートする機能を提供する REST ベースの API です。詳細については、サポートされているファイル形式 をご覧ください。API は REST アーキテクチャに従って開発されているため、デスクトップ、モバイル、Web、クラウドベースのアプリケーションに組み込むことができます。
お客様の利便性をさらに高めるために、プログラミング言語固有の SDK を作成しました。これにより、お気に入りのプログラミング言語ですべての機能を利用できます。この記事では、Aspose.CAD Cloud SDK for .NET の利用に重点を置いています。SDK を使用するには、まずシステムにインストールする必要があります。詳細については、Aspose.Cloud SDK のインストール方法 を参照してください。
C# で STL を BMP に変換する
クラウドで既に利用可能なSTLファイルを変換し、結果のBMPをクラウドストレージに保存するには、以下の手順に従ってください。変換操作にはPostDrawingBmpが使用されます。
- まず、ClientID と ClientSecret の詳細を引数として渡しながら、File.Createclass のインスタンスを作成します。
- 次に、変換操作のプロパティを提供できる BmpOptionsDTO クラスのオブジェクトを作成します。
- 3 番目に、入力 STL ファイル名と BmpOptionsDTO オブジェクトを引数として指定して、PostDrawingBmpRequest クラスのインスタンスを作成します。
- ここで、PostDrawingBmp(…) メソッドを呼び出して変換操作を開始します。
- 最後に、File.Create オブジェクトを使用して Stream インスタンスをファイルとして保存します。
// 完全な例とデータ ファイルについては、https://github.com/aspose-cad-cloud/aspose-cad-cloud-dotnet をご覧ください。
// https://dashboard.aspose.cloud/ からクライアント資格情報を取得します。
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
// CADApiのオブジェクトを作成する
CadApi cadApi = new CadApi(clientSecret,clientID);
// 入力FBSTLファイルの名前
String inputFileName = "galeon.stl";
// 結果のファイル形式
String newFormat = "bmp";
// 結果ファイルの名前
String newFileName = "Converted.bmp";
try
{
// インスタンスを作成する
BmpOptionsDTO bmpOptionsDTO = new BmpOptionsDTO();
// インスタンスを作成する PostDrawingBmp class while providing input
// STLファイル名とBmpOptionsDTOオブジェクトを引数として
var response = new PostDrawingBmpRequest(inputFileName, bmpOptionsDTO);
// 変換操作を開始する
var responseStream = cadApi.PostDrawingBmp(response);
saveToDisk(responseStream, @"C:\Users\shahbnay\Downloads\" + newFileName);
}catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
// ストリームコンテンツをファイルオブジェクトとして保存するカスタムメソッド
static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}
上記の例で使用したサンプルファイルは、galeon.stlおよびconverted.bmpからダウンロードできます。
cURL を使用して STL を BMP に変換する
当社の API は REST アーキテクチャを採用しているため、どのプラットフォームでも cURL コマンドで簡単にアクセスできます。ただし、前提条件として、Aspose.Cloud ダッシュボード で指定された ClientID と Client Secret の詳細に基づいて JWT アクセス トークンを生成する必要があります。JWT トークンを生成するには、次のコマンドを実行してください。
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
詳細については、クライアントIDとクライアントシークレットキーを使用してJWTトークンを取得する方法を参照してください。
JWT トークンを取得したら、次のコマンドを実行して STL ファイルを BMP 形式に変換し、出力を指定された場所に保存します。
curl -X GET "https://api.aspose.cloud/v3.0/cad/galeon.stl/saveAs/bmp" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o Converted.bmp
結論
サードパーティのコンポーネントを使用せずに STL ファイルを BMP ラスター イメージに変換する方法について、非常に簡単な手順をいくつか説明しました。また、変換操作全体は、ローカル システムに負荷をかけずにクラウドで実行されています。当社の SDK は MIT ライセンスの下で開発されているため、完全なソース コードは GitHub からダウンロードできます。問題が発生したり、関連する質問がある場合は、無料製品サポート フォーラム からお気軽にお問い合わせください。
関連記事
以下のリンクにアクセスして詳細を確認することもお勧めします。