OpenCADStudio:熱意ある開発者がRustでCADを書き、ブラウザで動かす方法
LinuxやmacOSで、重いプロプライエタリなパッケージを購入せずにDWGファイルを素早く開こうとしたことがある人なら、この痛苦は知っているでしょう。選択肢は通常限られています:プロフェッショナルソフトウェアの機能を削った無料バージョンか、2000年代初頭のグラフィックスを持つ古いユーティリティかのどちらかです。
GitHubにOpenCADStudio (OCS)という興味深いプロジェクトが登場しました。Rustで完全に書かれた2D/3D CADエディタです。最も素晴らしい点は、重いサードパーティライブラリなしでDWGとDXF形式へのネイティブサポートを実装し、ブラウザで直接開ける動作するWebAssemblyバージョンを作成したことです。
プロジェクトでできること
OpenCADStudioのインターフェースはクラシックなAutoCADを念頭に置いて設計されています。下部にはオートコンプリート付きのコマンドライン、上部にはリボンメニュー、側面にはレイヤーやジオメトリのプロパティパネルがあります。
サポートされているコマンドのリストを見ると、これは抽象的なコンセプトではなく、動作するプログラムであることが明らかになります。
ファイルの読み込みと書き込み
このエディタはR13からR2018までのバージョンのDWGとDXF図面を読み込み、保存できます。STL、STEP AP203、印刷用のPDFへのエクスポートがあります。 готовый3Dモデルを読み込む必要がある場合は、OBJ形式のインポートがサポートされています。
2D製図と注釈
エディタの基本的な製図ツールの一式には、線 полилиния、多角形、円、円弧、スプライン、ハッチ設定が含まれています。TRIM、EXTEND、OFFSET、FILLETなどの編集コマンドはほとんどの線種で動作します。
ドキュメント作成も忘れていません:
- DIMSTYLEサポート付きの線形、角度、半径、座標寸法の作成。
- MTEXTテキストブロックとMLEADER多重引出線。
- 表とGD&Tフレーム。
3Dモデリング
立体オブジェクトの操作には、OCSは立方体、球体、円柱などのプリミティブと、押し出し操作(EXTRUDE、REVOLVE、LOFT、SWEEP)を使用します。ACISボディレンダリングは平面領域と複雑な3D 솔리ッドを処理します。
ペーパー空間とビューポート
OCSにはフル機能のペーパー空間サポートが含まれています。複数のレイアウトタブを作成し、モデル投影を持つビューポートを設定し、最終シートを物理プリンターに出力できます。
技術的な内部構造
OpenCADStudioのメインエンジンはRust言語とwgpuグラフィックスAPIです。これにより、4× MSAAアンチエイリアスを使用したクリーンなGPUアクセラレーテッドレンダリングが可能になります。
WebGPUとWebAssemblyへのコンパイルにより、プロジェクトは通常のウェブブラウザで動作します。プロジェクトのGitHub Pagesを開いて、PCにプログラムをインストールせずに任何の図面を表示できます。
レンダリング時にはCAD固有の機能が考慮されています:
- ソリッドフィル付きの幅広 полилиния。
- 埋め込みテキストとシンボルを含む複合線種。
- ワークスペースの明るいまたは暗い背景に合わせたジオメトリの色の自動適応。
- オブジェクトマスキング(Wipeout)とラスターオーバーレイ(
IMAGEコマンド経由)。
エディタの実行方法
ブラウザ版では足りない場合は、主要なシステム向けのデスクトップバイナリが利用可能です。
Linux向けには、開発者は追加の依存関係を必要としないAppImageを構築しています:
chmod +x OpenCADStudio-*-linux-x86_64.AppImage
./OpenCADStudio-*-linux-x86_64.AppImage
Apple Silicon搭載のmacOSユーザーの場合は、Homebrewでアプリを導入する方が便利です:
brew install --cask --no-quarantine \
https://raw.githubusercontent.com/HakanSeven12/OpenCADStudio/main/packaging/homebrew/open-cad-studio.rb
ソースからのビルドはRustでは標準的です(コンパイラバージョン1.75+が必要):
git clone https://github.com/HakanSeven12/OpenCADStudio.git
cd OpenCADStudio
cargo build --release --bin OpenCADStudio
./target/release/OpenCADStudio
現在の状況
OpenCADStudioは現在積極的に開発中です。リポジトリのスターは570少しで、オープンのイシューは約80件、ドキュメントは現在READMEファイルに限定されています。
複雑な商用エンジニアリングにはまだ足りないかもしれませんが、Linux用の軽量なDWGビューアとエディタが必要だったり、Rustで実際のグラフィックスアプリケーションのアーキテクチャを勉強したい場合は、プロジェクトを探索する価値があります。Web版を試して、ブラウザで直接ファイルを開くことは、現代のRustのグラフィックス能力をチェックする素晴らしい方法です。
関連プロジェクト