1. 製品
  2.   CAD
  3.   C++
  4.   LibreDWG

LibreDWG

 
 

AutoCAD DWG ファイルを管理するためのオープンソース C ライブラリ

オープンソースの C++ CAD API を使用して、AutoCAD DWG モデルを生成、編集、読み取り、操作し、SVG ファイルに変換します。

LibreDWGとは?

LibreDWGは、AutoCAD DWG図面を扱う際に非常に便利な、無料で使えるC言語ライブラリです。DWGは、1970年代にAutoDeskが当時登場し始めたCADアプリケーション向けに作成した、人気のファイル形式です。DWGは独自の形式ですが、今でも多くの請負業者に選ばれています。このライブラリは使いやすく、ソフトウェア開発者がDWGファイルを扱うアプリケーションを構築する際に役立つAPIを提供するように設計されています。

このライブラリには、AutoCAD DWGファイルを操作するための便利な機能が多数搭載されています。DWG図面を開いて表示したり、新しいDWGファイルを作成したり、様々な形式に変換したり、DXFやJSONに変換したり、DWGをSVGやPostscriptに変換したり、dwggrepを使ってテキストを検索したり、dwglayerを使ってレイヤーを表示したりなど、様々な機能を使用できます。

ライブラリでは、ソフトウェア開発者はDWG書き込みサポートのオン/オフを切り替えることができます。この機能は初期状態ではオフになっていますが、有効にするとDWG形式での書き込みが可能になります。ほとんどのDWGをr2000形式に変換するのは、通常スムーズに行えます。DWGリーダーは、JSON、DXF、DXFB、GeoJSON、YAML、XML/OGR、GPX、SVG、PSなど、さまざまなファイル形式に対応しています。

Previous Next

LibreDWG 入門

基本的な開発ツール(gcc/clang などの C99 コンパイラ、make、autoconf、automake、libtool)をインストールする必要があります。以下のコマンドを使用して、ライブラリのクローンを作成してください。

次のコマンドを使用してライブラリを複製する

 git clone git://git.sv.gnu.org/libredwg.git

Now change dir to libredwg folder created by git ( cd libredwg ) and issue following commands in terminal

ディレクトリを libredwg フォルダに変更します

$ sh autogen.sh 
$ ./configure --enable-trace # (this will enable debugging messages) 
$ make 
$ sudo make install 
$ make check

C ライブラリで AutoCAD DWG を作成

無料の LibreDWG C ライブラリを使用すると、ソフトウェア開発者は独自の C アプリケーション内で新しい AutoCAD DWG ファイルを作成できます。ファイルを作成すると、表、シェイプ、ハッチ、カメラ、光源、線分、メッシュ、マルチテキスト、2D ポリライン、3D ポリライン、テキスト、表、トレースなど、さまざまな種類のエンティティを DWG 図面に挿入できます。また、このライブラリはエンティティの位置合わせ設定、アクセス、エンティティのプロパティの更新も簡単にサポートしています。DWG ライターは、DXF、DXFB、JSON など、さまざまな入力形式をサポートしています。

Cライブラリ経由でAutoCAD DWGを読み込む

オープンソースのLibreDWGライブラリには、わずか数行のCコードで、.NETアプリケーション内でAutoCAD DWGファイルにプログラム的にアクセスして読み取るための完全なサポートが含まれています。DWGリーダーは、JSON、DXF、DXFB、GeoJSONなど、さまざまな出力形式をサポートしています。今後は、YAML、XML/OGR、GPX、SVG、PSファイル形式にも対応する予定です。

C ライブラリ経由で AutoCAD DWG を読み取る方法

 int error;
Dwg_Data dwg;
error = dwg_read_file(filename, &dwg);
if (!error)
{
    model_xmin = dwg_model_x_min(&dwg);
    model_ymin = dwg_model_y_min(&dwg);
    double dx = (dwg_model_x_max(&dwg) - dwg_model_x_min(&dwg));
    double dy = (dwg_model_y_max(&dwg) - dwg_model_y_min(&dwg));
    double scale_x = dx / (dwg_page_x_max(&dwg) - dwg_page_x_min(&dwg));
    double scale_y = dy / (dwg_page_y_max(&dwg) - dwg_page_y_min(&dwg));
    //...
}
dwg_free(&dwg);

Cライブラリを使ってDWGファイルをSVGに変換する

SVGは2DベクターグラフィックスのW3C標準規格であり、非常に普及しています。オープンソースのLibreDWGライブラリを使用すると、ソフトウェア開発者はCコマンドを使ってAutoCAD DWG図面をSVGファイル形式に変換できます。SVG(スケーラブル・ベクター・グラフィックス)ファイルを変換するには、DWGファイルを開いてSVGファイルを出力する必要があります。SVGは2次元画像のみをサポートしているため、ライブラリは2DデータとDWGからの3Dコンテンツを処理します。

 日本