Show HN: LuaCAD – ルアで記述されたパラメトリック CAD ツール

2026/08/15 1:43

Show HN: LuaCAD – ルアで記述されたパラメトリック CAD ツール

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

LuaCAD は、Lua スクリプトの容易さとの Rust エンジンの性能を組み合わせることで、パラメトリックモデリングにおいて重要な進歩をもたらします。正確な 2D および 3D モデルのための堅牢な埋め込み環境を提供し、より遅い外部コードの実行に代わり、CSG 演算をネイティブで評価する(必要に応じて OpenSCAD コードを生成する場合を除く)機能を持ちます。ユーザーは、OpenSCAD に似た簡素化された構文を使用して複雑なブール論理を実行でき、かつ自然な CSG 式のためのオペレータオーバーロードによって強化されています。このツールは BOSL2 を Lua 内に完全再実装したライブラリとしてサポートしており、外部の依存関係を必要としないようになります。

LuaCAD は STL、OBJ、3MF、PLY、OFF、AMF、SCAD のような標準形式へのモデルのエクスポートをサポートし、また

luacad render
などの CLI コマンドを通じて直接 PNG にレンダリングすることも可能です。LibreCAD や Autodesk Netfabb といった主要な業界ツールとの統合も実現しており、スタンドアロンのアプリケーションとして(GUI とライブプレビューのための
cargo install luacad-studio
でインストール可能)ならびに埋め込み可能な Rust ライブラリとして利用できます。CLI を通じたインストール (
cargo install luacad
) は、変換、ウォッチング、レンダリング、linting、およびスクリプトの実行をサポートし、Debian/Ubuntu でのソースビルドにはシステムグラフィックスライブラリの必要性があります。3D プリンティングパイプラインへの使用か、より大きなプロジェクトへの統合かに関わらず、能力を損なわずに効率性を求めるデザイナーにとって、広範なアクセシビリティを提供します。

本文

LuaCAD: スクリプタブルなパラメトリック CAD ツール

Lua を使用してパラメトリックな 2D および 3D モデルを記述し、3MF、STL、OBJ、PLY、OFF、AMF、SCAD形式にエクスポートまたは直接 PNG イメージとしてレンダリングできます。

技術スタックと仕組み

  • Rust エンジンに Lua 5.4 を組み込みます。
  • CSG(コンストラクティブ・ソリッド・ジョーニング)操作を以下两种方式で対応します:
    • Manifold ライブラリを用いて直接評価
    • OpenSCAD コードを生成し、外部レンダリング用として利用

なぜ Lua か?

OpenSCAD の構文と似ていますが、以下の点で優れています。

  • より強力な機能
  • より一貫性のある設計
  • より高速な実行
  • 容易に他の環境への埋め込み
  • 自然な CSG 記述を可能にするオペレータオーバーロード
    a + b
    a - b
    a * b
    など)
  • LibreCAD や Autodesk Netfabb 等、既存の CAD ソフトウェアでも既に採用されています。

サンプルコード

LuaCAD (Lua)

my_cube = cube { size = { 1, 2, 3 } }

function my_sphere(radius)
  return sphere({ r = radius }):translate(5, 0, 0)
end

model = my_cube + my_sphere(2)
render(model)

同等の OpenSCAD コード

module my_cube() {
  cube(size=[1,2,3]);
}

module my_sphere(radius) {
  translate([5,0,0]) sphere(r = radius);
}

union() {
  my_cube();
  my_sphere(2);
}

インストール方法

CLI からインストール

cargo install luacad         # スクリプト実行・変換用 CLI ツール
cargo install luacad-studio  # リアルタイム 3D プレビュー付きデスクトップ GUI アプリ

ソースコードからのインストール(Rust/C++コンパイラ、CMake の必要性あり)

git clone https://github.com/ad-si/LuaCAD.git
cd LuaCAD
make install

注釈: 両ライブラリは C/C++ 依存関係を独自に管理するため、システムへの別途インストールは不要です。ただし、ビルドにはコンパイラと CMake の準備が必要です。

luacad
は Manifold と Clipper2 を構築し、
luacad-studio
はさらに OpenCSG も構築するため、Debian/Ubuntu 環境では以下の開発ヘッダーが必要です:

  • libgl1-mesa-dev
  • libx11-dev
  • libxcb1-dev
  • libxkbcommon-dev
  • libxrandr-dev
  • libwayland-dev

CLI コマンド一覧

コマンド説明
luacad convert model.lua output.3mf
3MF 形式に変換
luacad convert model.lua output.stl
STL 形式に変換
luacad convert model.lua output.scad
OpenSCAD 形式としてエクスポート
luacad watch model.lua output.3mf
ファイル変更を検知して自動再構築
luacad render model.lua preview.png
PNG イメージとしてレンダリング
luacad info model.lua
トライアングル数とバウンディングボックスを表示
luacad lint model.lua
selene を使って静的解析(ディレクトリ指定も可)
luacad run model.lua
実行(副作用のみ発生)

オプションの使い方

  • convert
    watch
    コマンドは、出力ファイルの拡張子からフォーマットを自動判断します。必要に応じて
    --format <fmt>
    で上書き可能。
  • --via-openscad
    オプションを使用すると、Manifold を使わずにインストール済みの OpenSCAD バイナリにエクスポートを委譲できます。

BOSL2 の完全サポート

Belfry OpenSCAD Library v2(BOSL2)は LuaCAD 内で独自に実装・再実装されています。OpenSCAD や BOSL2 を別途インストールしなくても、以下の機能を使えます:

bosl.cuboid { {40, 40, 40}, rounding = 2 }
bosl.regular_prism { 5, r = 10, h = 25 }
bosl.spur_gear { circ_pitch = 5, teeth = 20, thickness = 5 }
  • .scad
    形式へのエクスポート時にも BOSL2 の呼び出しが出力されるため、生成元スクリプトと同じく短縮されたファイルが得られます。

テキストとインポート機能

  • テキスト描画:

    text()
    はシステムフォントの輪郭をスキャッチに変換し、
    text3d()
    で押し出すことで、文字列も真正なジオメトリとして扱われます。

    render(text("LuaCAD", { size = 12, halign = "center" }):linear_extrude(2))
    
  • ファイルインポート:

    import()
    はすべてのメッシュ形式を読み込み、プライミティブと同様に操作・結合可能なソリッドを返します。

    • SVG および DXF ファイルは、2D スケッチとして返され、押し出しの準備が整った状態になります。

対応するエクスポートフォーマット

  • SCAD: OpenSCAD フォーマット
  • 3MF: 3D 製造用フォーマット
  • STL: 3D プリンティング用の標準トライアングル言語
  • OBJ: Wavefront 3D オブジェクトフォーマット
  • PLY: ポリゴンファイルフォーマット
  • OFF: オブジェクトファイルフォーマット
  • AMF: 積層製造用ファイルフォーマット

注意点: スクリプトが返す値はすべて独立した 3MF オブジェクトとして扱われるため、スライサーでは個々に移動可能な部品として読み込まれます(

:name(…)
で表示名を制御可能)。他のフォーマットは個別オブジェクトを表現できないため、単一のメッシュにフラット化されます。

同じ日のほかのニュース

一覧に戻る →

2026/08/15 0:00

Qwen 3.8 27B

## Japanese Translation: Qwen3.8 は、コーディング、プロフェッショナルなワークフロー、研究、長期的なエージェントタスクにおいて大幅な性能向上をもたらす、Qwen3.5 の機能に継承する最新オープンモデルです。コンパクトな Qwen3.8-27B バリエーションは、複雑な多段階実行のためのネイティブのビジョン・ランゲージ理解を備えています:STEM 図や数時間の動画を処理し、環境からのフィードバックを取り扱い、`preserve_thinking` を介して履歴メッセージにわたる思考を保持します。性能は、SWE-bench Pro で 61.7、Terminal Bench 2.1 (Terminus) で 73.0、LiveCodeBench v6 で 90.3、OSWorld-Verified で 84.3、MathVision および OmnilDocBench で 90% 超のスコアを含む強力なベンチマーク結果によって検証されています。 アーキテクチャにおいて、モデルは YaRoPE スケーリングによる拡張性を通じてネイティブに 262k トークンのコンテキストウィンドウをサポートし、最大 100 万トークンまで拡張可能です。`enable_thinking`(デフォルトでオン)と `reasoning_effort`(xhigh/medium/low)によって制御される柔軟な推論モードを提供します。推奨サンプリングパラメータはモードごとに異なります:思考モードでは temperature=1.0、top_p=0.95、top_k=20、min_p=0.0 を使用し、指示モードでは temperature=0.7、top_p=0.80、presence_penalty=1.5 を使用し、思考を無効にするためのオプションの追加ボディ調整が可能です。 本番デプロイメントは、SGLang、vLLM、TokenSpeed、Qwen Cloud API との互換性を通じて簡素化されており、高スループットシナリオには専用サービングエンジンが推奨されます。数時間のビデオ処理については、`video_preprocessor_config.json` の `longest_edge` を 469,762,048(224k ビデオトークン)に設定します。全体として、Qwen3.8 は深い歴史的文脈と長期間にわたる自律的な意思決定を可能にし、既存の画像/ビデオ分析パイプラインとシームレスに統合されます。

2026/08/15 5:46

研究がコーヒー摂取量と代謝健康および性ホルモンの関連性を示唆

## Japanese Translation: 大学のウェブサイトは、主要な学術および行政リソースにユーザーを接続する包括的なポータルとして機能します。構造的には、生化学・分子医学学部、教育学・心理学学部、人文科学部、医学部、情報技術電気工学部、理学部、技術学部、オウルビジネススクールなどの特定ファカルティへの直接ナビゲーションを提供するとともに、「Oula-Finna」図書館システムをはじめとする重要なサポーツサービスにアクセスすることを可能にします。この図書館システムでは、サービス、コレクション、施設、ガイド、連絡先時間などへのアクセスが提供されています。さらに、ニュース、出願、研究、協力、寄付、キャンパス、キャリア、連絡先情報、登記所、中央アーカイブなどのセクションも利用可能です。ウェブサイトはまた、大学ランキングを際立たせて表示しています。これらの多様な要素を統合することによって、ウェブサイトはステークホルダーが特定の機関データおよびサービスを見つけるために効率よく動作し、内部ナビゲーションおよび外部エンゲージメントのための重要なハブとなっています。

2026/08/15 0:03

私が大切にしている本7冊:なぜか大好きだからです。

## Japanese Translation: **改善された要約:** 本文の主な焦点は、作家の机周および棚に配置され、インスピレーションと参照のための詳細な物品リストにある。このキュレートのコレクションは古典文学や神学から数学論理、児童書、デジタルツールまで多様な分野を繋ぎ合わせている。著者は実用性やテーマ的な深さに基づいて特定の版を残しており、例えばロジェの類語辞典第 4 版は時間概念(例:優先度、同時性)の簡潔な分類のために保持されているが、サイズのため第 8 版は遠い棚に移されており使用されていない。他の注目すべき作品には、サウス・トマス・ブラウンの『Pseudodoxia Epidemica』があり、これはロジェのスペースに置かれ、蝗虫やピタゴラスのタブーなどに関する話題が論じられている;ボッカッチョの『デカメロン』(1348 年の黒死病を背景とし、ダンテと比較される);そして『フレゲからゲーデルへ』という数学論理論文集が含まれている。リストにはさらに、ヨハネス・コメニウスの挿絵入り児童書『Orbis Sensualium Pictis』(1658 年)、特定の記事に関する注釈を付した大型文字の NIV 聖書、ベリー公の中世『Belles Heures』、そして 8mm バックアップテープや韓国式麻雀カードのような個人的な文脈を持つ物品も含まれている。最後に、GNU Emacs や Blosxom ソフトウェアなどの実用的なデジタルツールに加え、ドラフト作成およびテキスト修正のために GNU grep およびその他のユーティリティのコレクションも含まれている。

Show HN: LuaCAD – ルアで記述されたパラメトリック CAD ツール | そっか~ニュース