> **本文回答**：`vjcad/example/entity/all/01entities.js` 用一个表格示例把 vjcad 全部主要实体类型一次创建完成，是查"某种实体怎么 new"的最好参考。下面给出关键调用片段，详细每种实体单独写在对应子页。

## 一、关键调用片段（节选）

```js
// 直线 / 圆 / 圆弧
const line   = new LineEnt([x1, y1], [x2, y2]);
const circle = new CircleEnt([cx, cy], radius);
const arc    = new ArcEnt([cx, cy], radius, startAng, endAng);

// 椭圆 / 椭圆弧
const ellipse = new EllipseEnt([cx, cy], major, minor, rotation);
ellipse.startAngle = 0; ellipse.endAngle = Math.PI * 1.2;   // → 椭圆弧

// 多段线（简化写法）
const pl = new PolylineEnt();
pl.setPoints([[x1, y1], [x2, y2], [x3, y3]]);
pl.isClosed = true;

// 多段线（凸度 BulgePoint）
const pl2 = new PolylineEnt();
pl2.bulgePoints.add(new BulgePoint(new Point2D(x, y), bulge));

// 文字
const t = new TextEnt();
t.insertionPoint = [x, y]; t.text = '...'; t.height = 12; t.textAlignment = 5;

// 多行文字
const mt = new MTextEnt();
mt.insertionPoint = [x, y]; mt.text = '...\n...'; mt.textAttachment = 5;

// 样条
const sp = new SplineEnt();
sp.setControlPoints([[x1, y1], [x2, y2], [x3, y3], [x4, y4]]);

// 实体填充（梯形 / 三角 / 箭头）
const sd = new SolidEnt([x1, y1], [x2, y2], [x3, y3], [x4, y4]);

// 填充（HatchEnt）
const hatch = new HatchEnt();
hatch.patternName = 'ANSI31';
const edge = new Edge();
edge.edgeType = EdgeType.Polyline;
edge.bulgePoints = boundary.bulgePoints.clone();
const edges = new Edges(); edges.add(edge);
hatch.setLoops(edges);

// 块插入
let blockDef = doc.blocks.itemByName('DemoBlock') || doc.blocks.add('DemoBlock');
blockDef.basePoint = [0, 0];
blockDef.addEntity(someEntity);
const ins = new InsertEnt();
ins.blockId = blockDef.blockId;
ins.insertionPoint = [x, y];
ins.scaleFactor = 1.5; ins.rotation = 0;

// 图像（ImageRefEnt + ImageSource）
const imgSource = new ImageSource('DemoImage', 'image/png', base64Data);
await imgSource.initTexture();
Engine.activeDocument.images.add(imgSource);
const imgRef = new ImageRefEnt([x, y], 0, 1);
imgRef.setImageSource(imgSource);

// 标注（线性 / 对齐 / 半径 / 直径 / 角度 / 弧长 / 坐标）
new LinearDimensionEnt(new Point2D(x1, y1), new Point2D(x2, y2), new Point2D(tx, ty), 0);
new AlignedDimensionEnt(new Point2D(x1, y1), new Point2D(x2, y2), new Point2D(tx, ty));
new RadialDimensionEnt(new Point2D(cx, cy), new Point2D(x, y), 10);
new DiametricDimensionEnt(new Point2D(x1, y1), new Point2D(x2, y2));
new AngleDimensionEnt(new Point2D(vx, vy), new Point2D(x1, y1), new Point2D(x2, y2), 22);
new ArcDimensionEnt(new Point2D(cx, cy), new Point2D(p1x, p1y), new Point2D(p2x, p2y), new Point2D(tx, ty));
new OrdinateDimensionEnt(new Point2D(ox, oy), new Point2D(px, py), new Point2D(tx, ty), 'xy');

// 多重引线
const ml = new MLeaderEnt();
ml.contentType = MLeaderContentType.MText;
ml.textContent = '标注';
ml.textPosition = new Point2D(x, y);
ml.textHeight = 6;
ml.addLeaderLine(new Point2D(arrowX, arrowY));

// 射线 / 构造线
const ray   = new RayEnt([x, y], angle);
const xline = new XLineEnt([x, y], angle);

// 点 / 像素点
const dot = new DotEnt([x, y], size);
const pp  = new PixelPointEnt([x, y]);
```

MCP 参考：`vjcad/example/entity/all/01entities.js`。

## 二、参数命名速查（容易记混的）

| 实体 | 关键参数 |
|---|---|
| `ArcEnt` | `(center, radius, startAng, endAng)`；或 `arc.initBy3Pt(p1, p2, p3)` |
| `EllipseEnt` | `(center, major, minor, rotation)`；椭圆弧加 `startAngle / endAngle` |
| `RayEnt` | `(start, angle)` |
| `XLineEnt` | `(point, angle)` |
| `DotEnt` | `(point, size)` |
| `SolidEnt` | `(p1, p2, p3, p4)` 顺序按四边形 |
| `InsertEnt` | 设 `blockId / insertionPoint / scaleFactor / rotation` |
| `MLeaderEnt` | `contentType / textContent / textPosition / textHeight / addLeaderLine(arrowEnd)` |

MCP 参考：`vjcad/example/entity/all/01entities.js`、`vjcad/doc/entity/*.md`。

## 三、批量添加

```js
const entities = [];
// 推入 N 个实体...
Engine.addEntities(entities);   // 一次 undo + 一次 regen
Engine.zoomExtents();
```

MCP 参考：`vjcad/example/entity/all/01entities.js`、`vjcad/doc/guide/quick-start.md`。

## 参考（官方文档 MCP）

- 文档：`vjcad/doc/entity/index.md`、`vjcad/doc/entity/basic-entities.md`、`vjcad/doc/entity/text-entities.md`、`vjcad/doc/entity/block-entities.md`
- 示例：`vjcad/example/entity/all/01entities.js`
