Перейти к содержанию
CADCAMFUN
Документы

Документация

Ядра

Чистая геометрия и ядра обработки пакетов/ядра, объясненные изнутри с помощью реальных результатов и примеров 3D.

Автоматически переведено с английского. Смотреть оригинал на английском

Ядра и их зависимость друг от друга

Код геометрии и обработки в packages/core представляет собой набор чистых ядер: тот же ввод, тот же вывод, без ввода-вывода. Каждая страница в этом разделе объясняет один из них изнутри: для чего он предназначен, его структуры данных и алгоритмы, реальный API, ограничения и константы, выходные данные, полученные при его запуске, и 3D-представления, построенные на основе этих результатов.

График импорта ядра Перетащите на орбиту · прокрутите, чтобы увеличить · перетащите вправо, чтобы панорамировать
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.
ОтИмпорт изИмпорт файлов
кулачковый генераторcam-ядро2
кулачковый генератористория1
кулачковый генераторсетка2
кулачковый генераторэскиз1
cam-ядрокулачковый генератор4
cam-ядросетка1
рисунокбреп1
рисунокистория4
рисуноксетка7
функциисетка5
историябреп1
историяфункции5
историясетка2
историяэскиз2
сеткатерпимость1

Один цикл, ядро CAM ↔ генератор CAM, является преднамеренным: ядро повторно использует стратегии генератора и схему элементов, а генератор обращается к данным резки и планировщику ядра.

Страницы ядра

СтраницаЧто он охватываетИсточник
Решатель эскизовЛевенберга – Марквардта об остатках ограничений, ранговом анализе степеней свободы, свободных точках и конфликтах.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
Толерантность и тесселяцияДопуск на один аккорд для количества сегментов, десятичных дробей и тесселяции объектов.packages/core/src/cad/tolerance.ts, tessellate.ts
Ядро CAM-обработкиПланирование, фрезы, воксельный материал с кронштейном остаточного объема, сертифицированные проверки коллизий.packages/core/src/cam/kernel/

Общие правила

  • Миллиметры повсюду, радианы в коде (градусы только там, где это указано в поле, например, угол давления шестерни или угол смешивания).
  • Z вверх, внешние петли против часовой стрелки, треугольники, обращенные наружу.
  • Простые данные. Сетки представляют собой типизированные массивы, B-reps — индексные таблицы, эскизы — списки сущностей; все сериализуется в JSON и меняется в истории проекта.
  • Ошибки явные. Неверный ввод выдает RangeError или класс ошибки ядра (SketchError, BooleanError, BudgetExceeded) с сообщением, которое может показать помощник; результаты, которые были бы неправильными, никогда не возвращаются.
  • Ограниченная работа. Бюджеты сегментов и вершин в ядре сетки, бюджет времени в точном ядре, ограничения оборотов в потоках, глубина подразделения при проверке коллизий.

Все числа на этих страницах были получены путем запуска ядра с помощью Bun на исходном коде в этом репозитории; повторно запустите фрагменты, чтобы воспроизвести их.