唯杰地图 logo唯杰地图
VJMAP
EN

public-api

vjcad/references/core/public-api.md 6.1 KB89 行
原文

本文回答: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
  • 示例:见各行单独引用