Morcad CAD Viewer
Morcad — это встроенный в Moraya просмотрщик CAD-файлов, позволяющий отображать 2D-чертежи прямо в документах Markdown. Он поддерживает стандартные форматы AutoCAD, что упрощает встраивание архитектурных планов, деталей машин, электрических схем и других инженерных чертежей в вашу документацию.
В Moraya оберните JSON-конфигурацию Morcad в огороженный блок кода с языковым тегом morcad, dxf или dwg, и редактор автоматически отрендерит чертёж.
Поддерживаемые форматы
| Формат | Расширение | Тип | Описание |
|---|---|---|---|
| DXF | .dxf | Текстовый | Drawing Exchange Format — широко поддерживается CAD-приложениями |
| DWG | .dwg | Бинарный | Собственный формат AutoCAD — наиболее распространён в профессиональных процессах |
DXF рекомендуется для лучшей совместимости и удобства отладки, так как это текстовый, читаемый человеком формат. Файлы DWG поддерживаются, но требуют бинарного разбора.
Параметры конфигурации
Содержимое блока кода — JSON-объект со следующими свойствами:
| Свойство | Тип | Обязательное | По умолчанию | Описание |
|---|---|---|---|---|
file | string | Да* | — | Путь к CAD-файлу (DXF или DWG) |
width | number | string | Нет | "100%" | Ширина отображения (в пикселях или процентах) |
height | number | string | Нет | 400 | Высота отображения в пикселях |
background | string | Нет | "#ffffff" | Цвет фона (hex или именованный цвет) |
layers | string[] | Нет | все слои | Массив имён слоёв для отображения |
zoom | number | Нет | "fit" | Уровень масштабирования (1.0 = 100%) |
pan | { x: number, y: number } | Нет | { x: 0, y: 0 } | Смещение панорамирования от центра |
*При использовании встроенного DXF-содержимого через свойство entities поле file не требуется.
Примеры
Базовое отображение DXF-файла
Загрузка DXF-файла с настройками по умолчанию. Чертёж будет отрендерен на всю ширину с белым фоном.
```morcad
{
"file": "./drawings/floor-plan.dxf"
}
```
Пользовательские размеры
Явное указание ширины и высоты для управления размером области просмотра.
```morcad
{
"file": "./drawings/site-layout.dxf",
"width": 800,
"height": 600
}
```
Тёмный фон
Тёмный цвет фона, часто используемый для инженерных и электрических чертежей.
```dxf
{
"file": "./drawings/electrical-schematic.dxf",
"background": "#1a1a2e",
"width": "100%",
"height": 500
}
```
Фильтрация слоёв
Отображение только определённых слоёв сложного чертежа. Полезно для выделения конструктивных, электрических или сантехнических слоёв в архитектурном плане.
```morcad
{
"file": "./drawings/building.dxf",
"layers": ["walls", "doors", "windows"],
"background": "#ffffff",
"height": 600
}
```
Встроенное DXF-содержимое
Встраивание DXF-примитивов напрямую без ссылки на внешний файл. Полезно для простых чертежей или когда определение должно находиться внутри документа.
```dxf
{
"entities": [
{ "type": "LINE", "start": [0, 0], "end": [100, 0], "color": "#333333" },
{ "type": "LINE", "start": [100, 0], "end": [100, 80], "color": "#333333" },
{ "type": "LINE", "start": [100, 80], "end": [0, 80], "color": "#333333" },
{ "type": "LINE", "start": [0, 80], "end": [0, 0], "color": "#333333" },
{ "type": "CIRCLE", "center": [50, 40], "radius": 20, "color": "#0066cc" },
{ "type": "TEXT", "position": [50, -10], "text": "Sample Part", "height": 5 }
],
"width": 600,
"height": 400,
"background": "#f5f5f5"
}
```
Пример поэтажного плана
Архитектурный поэтажный план с определёнными включёнными слоями и светлым фоном.
```morcad
{
"file": "./plans/apartment-2br.dxf",
"layers": ["A-WALL", "A-DOOR", "A-WINDOW", "A-DIMS", "A-TEXT"],
"background": "#fafafa",
"width": "100%",
"height": 700,
"zoom": 1.2
}
```
Деталь машины
Машиностроительный чертёж с тёмным фоном и масштабированием, сфокусированным на детали.
```dwg
{
"file": "./parts/bracket-assembly.dwg",
"background": "#0d1117",
"width": 800,
"height": 500,
"zoom": 2.0,
"pan": { "x": 50, "y": -20 }
}
```
Поддерживаемые DXF-примитивы
Morcad может отображать следующие типы DXF-примитивов:
| Примитив | Описание |
|---|---|
LINE | Прямой отрезок между двумя точками |
CIRCLE | Полная окружность, заданная центром и радиусом |
ARC | Дуга окружности, заданная центром, радиусом и углами начала/конца |
POLYLINE | Последовательность соединённых отрезков и дуг (2D/3D) |
LWPOLYLINE | Облегчённая полилиния (только 2D, более компактная, чем POLYLINE) |
TEXT | Однострочный текст с позицией, высотой и поворотом |
MTEXT | Многострочный форматированный текст с шириной и выравниванием |
DIMENSION | Размерная аннотация с размерными и выносными линиями |
INSERT | Ссылка на блок (вставка именованного определения блока в заданную позицию) |
HATCH | Заполненная область с заливкой сплошным цветом или паттерном |
Советы
- Большие файлы: Для сложных DXF/DWG-файлов с тысячами примитивов начальный рендеринг может занять некоторое время. Используйте фильтрацию слоёв для уменьшения объёма отображаемого.
- Фильтрация слоёв: Используйте свойство
layersдля выделения конкретных аспектов чертежа. Это значительно упрощает чтение сложных многодисциплинарных чертежей в документации. - Предпочтение формата: DXF предпочтительнее DWG для лучшей кроссплатформенной совместимости. Большинство CAD-приложений поддерживают экспорт в DXF.
- Встроенные примитивы: Для простых форм и чертежей встроенные DXF-примитивы позволяют хранить всё в одном файле Markdown без зависимости от внешних файлов.
- Масштаб и панорамирование: Используйте
zoomиpanсовместно для фокусировки на определённой области большого чертежа, например, на детали узла или соединения. - Тёмные фоны: Инженерные чертежи с белыми линиями лучше всего отображаются на тёмных фонах. Установите
"background": "#0d1117"или аналогичный тёмный цвет для таких случаев.