common-entities
本文回答:vjcad 已确认的实体类与对应
type字符串如下表;同一概念在不同来源里可能有不同命名(例如ImageEntvsImageRefEnt),实战时按你 IDE 能解析到的为准,并参考对应示例。
一、type ↔ 类名(来自 vjcad/doc/command/api-reference.md)
type |
类 |
|---|---|
LINE |
LineEnt |
CIRCLE |
CircleEnt |
ARC |
ArcEnt |
PLINE |
PolylineEnt |
TEXT |
TextEnt |
MTEXT |
MTextEnt |
INSERT |
InsertEnt |
ELLIPSE |
EllipseEnt |
SPLINE |
SplineEnt |
HATCH |
HatchEnt |
IMAGEREF |
ImageRefEnt(运行时 type 实际为 IMAGEREF;API 参考表写作 ImageEnt/IMAGE,但 vjcad@1.0.16 导出名是 ImageRefEnt) |
DOT |
DotEnt |
RAY |
RayEnt |
XLINE |
XLineEnt |
SOLID |
SolidEnt |
二、扩展类(来自示例 / 架构图)
| 类 | 说明 | 来源 |
|---|---|---|
LinearDimensionEnt / AlignedDimensionEnt / RadialDimensionEnt / DiametricDimensionEnt / AngleDimensionEnt / ArcDimensionEnt / OrdinateDimensionEnt |
各类标注 | vjcad/example/entity/all/01entities.js、vjcad/example/entity/dimension/01linear.js ~ 08ordinate.js |
MLeaderEnt |
多重引线 | vjcad/example/entity/all/01entities.js、vjcad/example/entity/mleader/01create.js |
PixelPointEnt |
像素级点 | vjcad/example/entity/all/01entities.js、vjcad/example/entity/pixelpoint/01create.js |
MeshEnt |
三维网格 | vjcad/example/entity/mesh/01create.js、vjcad/doc/entity/mesh-ent.md |
ImageRefEnt(与 ImageEnt 同概念,命名见来源) |
图像引用 | vjcad/example/entity/all/01entities.js、vjcad/doc/guide/architecture.md(架构图) |
ImageSource |
图像源(与 ImageRefEnt 配套) |
vjcad/example/entity/all/01entities.js |
CustomEntityBase |
自定义实体基类 | vjcad/doc/entity/custom-entities.md、vjcad/doc/guide/architecture.md |
命名差异:包只导出
ImageRefEnt,ImageEnt是undefined——写代码必须用ImageRefEnt + ImageSource(示例方式),API 参考表里的ImageEnt是旧名/别名文档残留。
三、辅助类型 / 工具
| 类 / 枚举 | 用途 | 来源 |
|---|---|---|
Point2D |
二维点 | vjcad/doc/command/api-reference.md |
BulgePoint, BulgePoints |
多段线点(带凸度) | vjcad/doc/guide/quick-start.md |
Edge, Edges, EdgeType |
填充边界 | vjcad/example/entity/all/01entities.js |
MLeaderContentType |
多重引线内容类型枚举 | vjcad/example/entity/all/01entities.js |
TextStyle |
文字样式 | vjcad/example/entity/text/04fonts.js |
LinetypeDefinition |
线型定义(自定义虚线 / 复杂线型) | vjcad/doc/entity/index.md(linetype 示例列表) |
四、EntityBase 通用方法
ent.setDefaults();
ent.clone();
ent.move(from, to);
ent.rotate(center, angle);
ent.scale(center, factor);
ent.mirror(pt1, pt2);
ent.boundingBox();
ent.toDb(); // 序列化
ent.fromDb(data);
ent.fromDefaultProps(otherEnt);
MCP 参考:vjcad/doc/command/api-reference.md、vjcad/doc/guide/architecture.md。
参考(官方文档 MCP)
- 文档:
vjcad/doc/entity/index.md、vjcad/doc/command/api-reference.md、vjcad/doc/guide/architecture.md - 示例:
vjcad/example/entity/all/01entities.js