> **本文回答**：视图操作分四类：① 缩放（`zoomExtents / zoomToEntities / zoomToFit`，滚轮步进 `ZOOMFACTOR`）；② 平移 + 重绘（`render / redraw / regen / setCenter`）；③ 屏幕信息（`getScreenBoundsWcs / getScreenEntities / 坐标系转换`）；④ UCS / 平面视图（`UCSORG / UCSXANG / twistAngle`）。

## 一、按子主题挑

| 想做的 | 子主题 |
|---|---|
| `zoomExtents / zoomToEntities / zoomToFit` / 滚轮步进 `ZOOMFACTOR` | [zoom](zoom.md) |
| `render / redraw / regen / pan` 三种刷新差异 | [pan-redraw](pan-redraw.md) |
| 状态栏坐标显示 / `coordsBar` | [coordinate-display](coordinate-display.md) |
| 设置画布背景色 `setBgc` | [background](background.md) |
| 取屏幕可见图纸范围 / 取屏幕内实体 | [screen-bounds](screen-bounds.md) |
| UCS（用户坐标系）原点 / 角度 | [ucs](ucs.md) |
| 平面视图（旋转图纸） | [plan-view](plan-view.md) |

## 二、心智模型

```
┌────────────────────────────────────────────────┐
│ Canvas（屏幕坐标）                                │
│   ▲                                             │
│   │ Engine.canvasToWcs                          │
│   ▼                                             │
│ WCS（世界坐标）                                   │
│   ▲                                             │
│   │ Engine.wcsToUcs / ucsToWcs（受 UCSORG/      │
│   │  UCSXANG 影响）                              │
│   ▼                                             │
│ UCS（用户坐标）                                   │
│   ▲                                             │
│   │ Engine.wcsToDcs（视图旋转 twistAngle）       │
│   ▼                                             │
│ DCS（显示坐标）                                   │
└────────────────────────────────────────────────┘
```

> ⚠️ `Engine` 静态只暴露 `canvasToWcs` / `wcsToUcs` / `ucsToWcs` / `wcsToDcs` 四个单向转换。
> 反向（`WcsToCanvas`、`DcsToWcs`、`UcsToCanvas`、`RcsToCanvas` 等）在 `CoordinateTransform` 类上，
> 直接用 `Engine.trans`（= `Engine.pcanvas.trans`，onLoad 后可用）即可，例如 `Engine.trans.WcsToCanvas(p)`、`Engine.trans.DcsToWcs(p)`，无需自己 `new CoordinateTransform(...)`（注意这些方法是**大写开头**）。

参见 [core/coordinate](../core/coordinate.md)。

## 三、最常用一组

```js
Engine.zoomExtents();                                  // 缩放到全图
Engine.zoomToEntities([circle, line]);                 // 缩放到指定实体
Engine.setBgc(33);                                     // 设置背景灰度（0-255）
Engine.regen(true);                                    // 全量重生成

const bounds = Engine.getScreenBoundsWcs();           // 当前屏幕的 WCS 范围
const ents   = Engine.getScreenEntities(1.0);         // 当前屏幕内的实体
```

MCP 参考：`vjcad/doc/view/index.md`、`vjcad/example/view/01zoomextents.js` ~ `11planview.js`。

## 参考（官方文档 MCP）

- 文档：`vjcad/doc/view/index.md`、`vjcad/doc/view/view-commands.md`、`vjcad/doc/core/coordinate.md`（如有）
- 示例：`vjcad/example/view/01zoomextents.js` ~ `11planview.js`
