public-api
本文回答:vjcad 包对外导出的常用顶层符号包括:核心运行时(MainView / initCadContainer / Engine / writeMessage / message / applyThemeColors)、命令系统(CommandDefinition / CommandRegistry / CommandOptions)、输入系统(InputStatusEnum / PointInputOptions / SelectionInputOptions / SelectionSetInputOptions / RealInputOptions / IntegerInputOptions / StringInputOptions / KeywordInputOptions)、实体类(EntityBase / LineEnt / CircleEnt / ArcEnt / PolylineEnt / TextEnt / MTextEnt / TextStyle / InsertEnt / EllipseEnt / SplineEnt / DotEnt / RayEnt / XLineEnt / HatchEnt / SolidEnt / ImageRefEnt / DimensionBase / MLeaderEnt / CustomEntityBase / BulgePoint / BulgePoints / Point2D)、几何工具(GeometryCalculator / distance / formatNumberEx / getAngleBetweenPoints / rotatePointAroundCenter / normalizeAngleAlt / polarToCartesian / ANGLE_90 / ANGLE_180 / ANGLE_270)、撤销(startUndoMark / endUndoMark)、文件(DrawingManagerService)、地图整合(CadEventManager / CadEvents)、UI 模块(RibbonBar / showConfirm / showInputDialog / showSelectDialog / NumberInputComponent / ButtonEle / LinetypeViewerDialog / ModalDialogBase / ModelessPanelBase / PreviewView / SidebarPanelManager / createFloatingToolbar / IconRegistry / setLocale / getLocale / initLocale / registerMessages / t),等等。
一、按用法分组(最小列表,仅列文档/示例已确认存在的)
引擎入口
| 符号 |
来源 |
MainView, initCadContainer |
vjcad/doc/guide/quick-start.md、vjcad/example/basic/01init.js |
Engine |
vjcad/doc/command/api-reference.md、vjcad/example/basic/02onload.js |
writeMessage |
vjcad/doc/command/api-reference.md |
message |
vjcad/doc/ui/controls.md、vjcad/example/basic/02onload.js |
applyThemeColors |
vjcad/example/ui/07theme.js(见 ui/theme-statusbar;⚠️ 不是 setTheme,1.0.16 未导出该名) |
命令 / 输入
| 符号 |
来源 |
CommandDefinition, CommandRegistry, CommandOptions |
vjcad/doc/command/api-reference.md、vjcad/example/command/02register.js |
InputStatusEnum |
vjcad/doc/command/api-reference.md |
PointInputOptions, SelectionInputOptions, SelectionSetInputOptions, RealInputOptions, IntegerInputOptions, StringInputOptions, KeywordInputOptions |
vjcad/doc/command/api-reference.md、vjcad/example/input/*.js |
getPoint, getSelections, getEntity |
vjcad/doc/command/api-reference.md(也可走 Engine.getPoint 等) |
ssSetFirst |
vjcad/doc/command/api-reference.md |
实体
| 符号 |
来源 |
EntityBase |
vjcad/doc/guide/architecture.md |
LineEnt, CircleEnt, ArcEnt, PolylineEnt, BulgePoint, BulgePoints |
vjcad/doc/guide/quick-start.md、vjcad/example/entity/all/01entities.js |
TextEnt, MTextEnt, TextStyle |
vjcad/example/entity/text/04fonts.js |
InsertEnt, EllipseEnt, SplineEnt, DotEnt, RayEnt, XLineEnt, HatchEnt, SolidEnt, ImageRefEnt, DimensionBase |
vjcad/doc/command/api-reference.md(实体类型表);vjcad@1.0.16 导出 |
⚠️ ImageEnt / DimensionEnt 不导出:实体类型表里的 ImageEnt 真实导出名是 ImageRefEnt;标注基类是 DimensionBase |
包导出 |
MLeaderEnt, CustomEntityBase |
vjcad/doc/guide/architecture.md、对应 entity 子目录示例 |
几何
| 符号 |
来源 |
Point2D |
vjcad/doc/command/api-reference.md |
GeometryCalculator |
同上 |
distance, formatNumberEx, getAngleBetweenPoints, rotatePointAroundCenter, normalizeAngleAlt, polarToCartesian |
同上 |
ANGLE_90, ANGLE_180, ANGLE_270 |
同上 |
撤销 / 事件
| 符号 |
来源 |
startUndoMark, endUndoMark |
vjcad/doc/command/api-reference.md、vjcad/doc/ui/controls.md |
CadEventManager, CadEvents |
vjcad/example/basic/03viewermode.js、vjcad/doc/event/event-usage.md |
文件 / 服务
| 符号 |
来源 |
DrawingManagerService |
vjcad/example/file/01openfromserver.js、vjcad/example/basic/04viewerremote.js |
UI
| 符号 |
来源 |
RibbonBar, showConfirm, showInputDialog, showSelectDialog |
vjcad/example/ui/01ribbon.js、vjcad/example/ui/04yesnodialog.js、vjcad/example/ui/05inputdialog.js(⚠️ 导出名是 RibbonBar,Ribbon 未导出) |
ModalDialogBase, ModelessPanelBase, PreviewView |
vjcad/example/ui/12modaldialogbase.js、vjcad/example/ui/13modelesspanelbase.js、vjcad/example/ui/03previewview.js |
NumberInputComponent, ButtonEle, LinetypeViewerDialog |
vjcad/doc/ui/controls.md(⚠️ 导出名是 LinetypeViewerDialog,LinetypePreview 未导出) |
SidebarPanelManager |
vjcad/example/ui/14sidebarpanel.js |
createFloatingToolbar |
vjcad/example/ui/15floatingtoolbar.js(⚠️ 导出名是 createFloatingToolbar,FloatingToolbar 未导出) |
IconRegistry |
vjcad/doc/ui/icons.md |
LitElement, html, css |
vjcad/doc/ui/controls.md(vjcad 重新导出 lit) |
i18n
| 符号 |
来源 |
initLocale, setLocale, getLocale, registerMessages, t |
vjcad/doc/guide/quick-start.md、vjcad/example/basic/06locale.js |
二、动态查询
实际包出口随版本演进,最稳的方法是在 node_modules/vjcad/dist 里看 *.d.ts、或在浏览器里 console.log(Object.keys(require('vjcad')));本 skill 不依赖某次具体打包的导出表。
反例
- 假定
vjcad 导出了 Service / Map:那是 vjmap 的 API,不是 vjcad。
- 大量
import 时把 lit 单独装包:vjcad 已 re-export LitElement / html / css,直接从 vjcad 引入即可(见 vjcad/doc/ui/controls.md 的示例)。
参考(官方文档 MCP)
- 文档:
vjcad/doc/command/api-reference.md、vjcad/doc/guide/architecture.md、vjcad/doc/guide/quick-start.md、vjcad/doc/ui/controls.md、vjcad/doc/event/event-usage.md
- 示例:见各行单独引用