ドキュメント
カーネル
パッケージ/コアの純粋なジオメトリと加工カーネルを、実際の出力と 3D の例を使用して内部から説明します。
英語から自動翻訳されています。 英語の原文を見る
カーネルとそれらがどのように相互に依存するか
の形状と加工コード packages/core 純粋なカーネルのセットです。同じ入力、同じ出力、I/O はありません。このセクションの各ページでは、その目的、データ構造とアルゴリズム、実際の API、制限と定数、実行によって取得された出力、その出力から構築された 3D ビューなど、そのうちの 1 つを内部から説明します。
カーネルインポートグラフ ドラッグして周回します · スクロールしてズーム · 右ドラッグしてパンします
| から | からの輸入 | ファイルのインポート |
|---|---|---|
| カムジェネレーター | カムカーネル | 2 |
| カムジェネレーター | 歴史 | 1 |
| カムジェネレーター | メッシュ | 2 |
| カムジェネレーター | スケッチ | 1 |
| カムカーネル | カムジェネレーター | 4 |
| カムカーネル | メッシュ | 1 |
| 描画 | ブレップ | 1 |
| 描画 | 歴史 | 4 |
| 描画 | メッシュ | 7 |
| 特徴 | メッシュ | 5 |
| 歴史 | ブレップ | 1 |
| 歴史 | 特徴 | 5 |
| 歴史 | メッシュ | 2 |
| 歴史 | スケッチ | 2 |
| メッシュ | 許容範囲 | 1 |
CAM カーネル ↔ CAM ジェネレーターという 1 つのサイクルは意図的です。カーネルはジェネレーターのストラテジと要素スキーマを再利用し、ジェネレーターはカーネルの切断データとプランナーを呼び出します。
カーネルページ
| ページ | 対象となる内容 | ソース |
|---|---|---|
| スケッチソルバー | Levenberg-Marquardt による制約残差、自由度のランク分析、自由点、および競合。 | packages/core/src/cad/sketch.ts |
| メッシュとCSG | 閉じた三角形メッシュ、凸型高速パスを備えた BSP ブール値、スープ クリーンアップとトポロジ。 | packages/core/src/cad/csg.ts, solid.ts, mesh-clean.ts |
| 正確な B 担当者 | 解析面と NURBS 面、正確なブール演算、フィレット、穴認識、質量特性、STEP。 | packages/core/src/cad/brep/ |
| 特徴ジェネレータ | インボリュート歯車、ISO ねじ、らせん、フラット パターンの板金。 | packages/core/src/cad/gear.ts, thread.ts, helix.ts, sheet-metal.ts |
| 公差とテッセレーション | セグメント数、小数点、およびエンティティのテッセレーションに対する 1 つのコードの許容差。 | packages/core/src/cad/tolerance.ts, tessellate.ts |
| CAM加工カーネル | プランニング、カッター、残量ブラケットを備えたボクセル ストック、認定された衝突チェック。 | packages/core/src/cam/kernel/ |
共有ルール
- どこでもミリメートル、コード内のラジアン (歯車の圧力角やブレンド角など、フィールドで指定されている場合のみ度)。
- Zアップ、反時計回りの外側のループ、外向きの三角形。
- プレーンなデータ。 メッシュは型付き配列、B-rep はインデックス テーブル、スケッチはエンティティ リストです。すべてが JSON にシリアル化され、プロジェクト履歴の差分になります。
- エラーは明らかです。 無効な入力がスローされる
RangeErrorまたはカーネル エラー クラス (SketchError,BooleanError,BudgetExceeded) アシスタントが表示できるメッセージ付き。間違っていると思われる結果は決して返されません。 - 限界のある仕事。 メッシュ カーネルのセグメントと頂点のバジェット、正確なカーネルの時間バジェット、スレッドのターン制限、衝突チェックのサブディビジョンの深さ。
これらのページのすべての数値は、このリポジトリ内のソースに対して Bun を使用してカーネルを実行することによって生成されました。スニペットを再実行して再現します。