コンテンツへスキップ
CADCAMFUN
ドキュメント

ドキュメント

カーネル

パッケージ/コアの純粋なジオメトリと加工カーネルを、実際の出力と 3D の例を使用して内部から説明します。

英語から自動翻訳されています。 英語の原文を見る

カーネルとそれらがどのように相互に依存するか

の形状と加工コード packages/core 純粋なカーネルのセットです。同じ入力、同じ出力、I/O はありません。このセクションの各ページでは、その目的、データ構造とアルゴリズム、実際の API、制限と定数、実行によって取得された出力、その出力から構築された 3D ビューなど、そのうちの 1 つを内部から説明します。

カーネルインポートグラフ ドラッグして周回します · スクロールしてズーム · 右ドラッグしてパンします
Boxes are kernels; each line is a real relative import from one kernel’s source files to another’s (tests excluded), counted from packages/core/src. Lower layers sit at the front: tolerance, mesh, sketch and B-rep; history and features above them; CAM on top.
からからの輸入ファイルのインポート
カムジェネレーターカムカーネル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 を使用してカーネルを実行することによって生成されました。スニペットを再実行して再現します。