Skill: boboabw/jlc-eda-drawing (version 0.1.0)

--- name: jlc-eda-drawing description: Advanced JLC EDA / EasyEDA circuit design agent for schematic and PCB-ready work. Use when the user asks Codex to design, draw, review, or automate circuits in JLC EDA / EasyEDA, including Run API Gateway setup, real LCSC/JLC part placement, schematic architecture, power trees, MCU boards, USB/UART/I2C/SPI interfaces, sensor boards, connectors, PCB-ready net organization, manufacturability checks, and professional EDA workflow execution. --- # JLC EDA Drawing Act as a circuit-design copilot, not just an API caller. Produce clean, PCB-ready schematics in JLC EDA / EasyEDA using real library parts, deliberate architecture, readable sheet organization, and validation. ## Core Model Use three layers: 1. **Bridge layer**: connect Codex to the running EasyEDA client. 2. **EDA API layer**: inspect projects, place parts, draw wires, manage pages, search libraries, and validate objects. 3. **Design layer**: choose topology, parts, values, nets, page layout, and verification checks. Prefer MCP tools when available. Use the official API bridge package only as fallback or for reference. ## Design Intake Move decisively when the request is clear. Ask one concise question only when a decision changes the circuit materially: - Input/output voltage or current is unknown for power designs. - MCU/module variant is ambiguous and affects pins or footprint. - Connector, package, or mounting style matters mechanically. - Safety, mains voltage, battery charging, RF, high current, or precision analog is involved. Otherwise choose conservative defaults and state assumptions at the end. ## Reference Files Load only what the task needs: - `references/bridge-api.md`: Run API Gateway setup, endpoints, execution rules, official API package layout. - `references/design-standards.md`: schematic quality standard, intake rules, net naming, final quality gate. - `references/parts-strategy.md`: part search patterns and selection rules. - `references/circuit-blocks.md`: reusable USB-C, regulator, MCU, UART, I2C, SPI, LED block rules. - `references/eda-code-patterns.md`: JavaScript snippets for project/page inspection, part placement, pin reading, net stubs, validation. - `references/pcb-workflow.md`: PCB context, units, placement/routing heuristics, DRC workflow. - `references/examples.md`: concrete user requests and which reference files to load. - [REDACTED_SECRET]: generated official EasyEDA API class, enum, interface, and type references. - [REDACTED_SECRET]: official EasyEDA extension/API guides from `easyeda-api.zip`. - `references/easyeda-user-guide/`: official user-facing API guide files from `easyeda-api.zip`. - [REDACTED_SECRET]: original official skill metadata and package manifests. - `scripts/bridge-server.mjs`: bundled official Run API Gateway bridge server script. ## Default Flow 1. Use `references/bridge-api.md` if bridge state or API execution is uncertain. 2. Use `references/design-standards.md` before substantial schematic work. 3. Use `references/parts-strategy.md` when choosing real library parts. 4. Use `references/circuit-blocks.md` for common circuit topologies. 5. Use `references/eda-code-patterns.md` while writing `execute_in_eda` code. 6. Use `references/pcb-workflow.md` for PCB/layout tasks. 7. Use `references/examples.md` when trigger behavior or task shape is unclear. ## Official API References The official EasyEDA API bundle is split by purpose instead of stored as one raw nested package. Use it when: - A method signature is uncertain. - An enum/interface/type is needed. - A PCB or schematic primitive operation is not covered by local code patterns. - The user asks about EasyEDA extension development. - The user explicitly wants official API behavior. Lookup order: 1. `references/easyeda-api-reference/_quick-reference.md` 2. `references/easyeda-api-reference/_index.md` 3. Specific files under [REDACTED_SECRET] 4. Specific enum/interface/type files under [REDACTED_SECRET], `interfaces/`, or `types/` 5. Extension and usage guides under `references/easyeda-official-guides/` and `references/easyeda-user-guide/` Do not load the whole official reference set into context. Search it with `rg` and open only the relevant files. ## Quality Gate Before final response: - Correct page/document is active. - Components were actually placed, not only text. - Critical nets exist by sampling recent wires with `getState_Net()`. - Power rails and grounds are labelled. - IC power pins have nearby decoupling or documented assumptions. - Connectors expose labelled nets. - The schematic is zoomed to all primitives. Final response should include: - Page name. - Main blocks created. - Real parts used or notable substitutions. - Verification performed. - Any assumptions or risks that matter electrically.

path: agents/openai.yaml
content: interface:
  display_name: "JLC EDA Design Agent"
  short_description: "Design PCB-ready JLC EDA circuits"
  default_prompt: "Use $jlc-eda-drawing to design and draw a clean PCB-ready circuit in JLC EDA with real library components."

policy:
  allow_implicit_invocation: true


path: references/bridge-api.md
content: # Bridge And API

Use this when bridge state, API execution, or official package setup matters.

## Preferred Tools

Prefer MCP tools:

- `mcp__easyeda__bridge_status`
- `mcp__easyeda__list_eda_windows`
- `mcp__easyeda__get_current_project_info`
- `mcp__easyeda__execute_in_eda`

## Official Package

- Package URL: `https://image.lceda.cn/files/easyeda-api.zip`
- Extension page: `https://ext.lceda.cn/item/oshwhub/run-api-gateway`
- Bundled bridge script: `scripts/bridge-server.mjs`
- Bundled official API reference: `references/easyeda-api-reference/`
- Bundled official guides: `references/easyeda-official-guides/`
- Bundled official user guide: `references/easyeda-user-guide/`
- Bundled official package manifest: `references/easyeda-official-meta/package.json`
- Node script: `npm run server`
- Port range: `49620-49629`

Endpoints:

| Endpoint | Purpose |
| --- | --- |
| `GET /health` | Check bridge and EDA connection status |
| `GET /eda-windows` | List connected EasyEDA windows |
| `POST /eda-windows/select` | Select active EDA window |
| `POST /execute` | Execute JavaScript in the EasyEDA client |
| `WS /eda` | EasyEDA extension connection |
| `WS /agent` | Agent connection |

## Manual Start On Windows

```powershell
npm install
$wd = (Resolve-Path ".").Path
Start-Process -FilePath "node" -ArgumentList "scripts/bridge-server.mjs" -WorkingDirectory $wd -WindowStyle Hidden -RedirectStandardOutput "bridge-server.log" -RedirectStandardError "bridge-server.err.log"
Invoke-RestMethod http://localhost:49620/health
```

If `edaConnected` is false, tell the user to install/load the Run API Gateway extension in EasyEDA and keep EasyEDA open.

## API Coverage

- `DMT_*`: project, board, folder, schematic/page, editor/document, team/workspace operations.
- `SCH_*`: schematic primitives, components, wires, text, netlists, DRC, selection.
- `PCB_*`: PCB primitives, components, pads, vias, lines, pours, layers, nets, DRC, selection.
- `LIB_*`: device, symbol, footprint, 3D model, CBB, library search and metadata.
- `SYS_*`: messages, dialogs, files, settings, windows, timers, storage, web sockets.

For method names, search the bundled official package in this order:

1. `references/easyeda-api-reference/_quick-reference.md`
2. `references/easyeda-api-reference/_index.md`
3. Specific files under `references/easyeda-api-reference/classes/`
4. Specific files under `references/easyeda-api-reference/enums/`, `interfaces/`, or `types/`

## Execution Rules

Code runs in the EasyEDA browser runtime:

```javascript
return await eda.dmt_Project.getCurrentProjectInfo();
```

- Always `return` useful results; do not rely on `console.log`.
- Await promise-returning API calls.
- Do not use Node APIs like `fs` or `path` inside EasyEDA execution code.
- Use `eda.sys_Message.showToastMessage("...")` for visible completion notices.
- Verify active project and document type before using `SCH_*` or `PCB_*`.
- Schematic coordinates use `0.01 inch`; PCB coordinates use `1 mil`.
- Split complex operations into smaller calls if execution times out.


path: references/circuit-blocks.md
content: # Circuit Blocks

Use this for reusable schematic topologies.

## USB-C Sink

- Tie receptacle VBUS pins to `VBUS`.
- Tie receptacle GND pins and shield/EP to `GND` unless a special shield scheme is requested.
- Tie duplicated D+ pins to `USB_DP`, duplicated D- pins to `USB_DN`.
- Add `5.1k` pulldown from `CC1` to `GND` and `5.1k` pulldown from `CC2` to `GND`.
- Add ESD protection when the request includes robustness, productization, or PCB-ready production.

## 3.3 V LDO Rail

- `VIN/VBUS -> LDO VIN`.
- `LDO VOUT -> 3V3`.
- Input and output capacitors to `GND`.
- Local `100nF` near each IC/module power pin.
- Check dropout and current. Avoid AMS1117 for high current or battery-low dropout designs unless explicitly acceptable.

## MCU / Module Minimum System

- Connect every VDD/VSS/GND pin.
- Add reset/enable pullups and boot-mode resistors.
- Add local decoupling and bulk capacitance.
- Expose UART/SWD/JTAG/programming pins.
- Break out useful GPIOs to headers with readable labels.

## UART Bridge

- Cross TX/RX: bridge `TXD` to MCU `RXD`, bridge `RXD` to MCU `TXD`.
- Power the bridge at the logic level used by the MCU unless datasheet says otherwise.
- Expose `DTR_N`/`RTS_N` when auto-reset/auto-boot is expected.

## I2C

- Add pullups to the target logic rail unless already on the module.
- Label `I2C_SCL` and `I2C_SDA`.
- Add connector power and ground.

## SPI

- Label `SPI_MOSI`, `SPI_MISO`, `SPI_SCK`, and `SPI_CS`.
- Use active-low `CS_N` naming when the target datasheet names chip select active-low.
- Keep high-speed or display buses visually grouped.

## Indicators

- Use `rail -> resistor -> LED -> GND` for power LEDs unless active-low indication is desired.
- Choose resistor values based on rail voltage and LED current; default `1k` for simple low-current indicators.


path: references/design-standards.md
content: # Design Standards

Use this before substantial schematic work or reviews.

## Intake

Move decisively when the request is clear. Ask one concise question only when a decision changes the circuit materially:

- Input/output voltage or current is unknown for power designs.
- MCU/module variant is ambiguous and affects pins or footprint.
- Connector, package, or mounting style matters mechanically.
- Safety, mains voltage, battery charging, RF, high current, or precision analog is involved.

Otherwise choose conservative defaults and state assumptions at the end.

## Schematic Standard

Every generated schematic should have:

- A named page for the circuit or block.
- A title note describing function, input, output, and revision assumptions.
- Real library components with symbols and footprints when PCB-ready output is implied.
- Clear functional blocks: power, controller, interfaces, connectors, protection, indicators.
- Short wires plus net labels for long connections.
- Consistent net names and power rails.
- Decoupling capacitors near IC/module power pins.
- Pullups/pulldowns on boot, reset, enable, I2C, and configuration pins as needed.
- Programming/debug access for MCUs when relevant.
- Connector pin labels that match net names.

Avoid:

- Hand-drawn fake components when a real part is available.
- Long crossing wires across the sheet.
- Unlabelled power rails.
- Floating configuration pins.
- Creating PCB primitives while a schematic document is active, or schematic primitives while a PCB document is active.

## Net Naming

Use semantic names:

- Power: `VBUS`, `VIN`, `5V`, `3V3`, `1V8`, `GND`, `AGND`, `PGND`, `VBAT`
- USB: `USB_DP`, `USB_DN`, `CC1`, `CC2`, `VBUS`
- UART: `U0TXD`, `U0RXD`, `TXD`, `RXD`, `RTS_N`, `DTR_N`
- I2C: `I2C_SCL`, `I2C_SDA`
- SPI: `SPI_MOSI`, `SPI_MISO`, `SPI_SCK`, `SPI_CS`
- Control: `EN`, `RESET_N`, `BOOT`, `WAKE`, `INT_N`, `CS_N`
- LEDs: `LED_PWR`, `LED_STATUS`, `LED_TX`, `LED_RX`

Use `_N` suffix for active-low signals.

## Quality Gate

Before final response, verify:

- Correct page/document is active.
- Components were actually placed, not only text.
- Critical nets exist by sampling recent wires with `getState_Net()`.
- Power rails and grounds are labelled.
- IC power pins have nearby decoupling or documented assumptions.
- Connectors expose labelled nets.
- The schematic is zoomed to all primitives.

Final response should include page name, main blocks, real parts or substitutions, verification performed, and important electrical assumptions.


path: references/easyeda-api-reference/classes/DMT_Board.md
content: # DMT\_Board class

文档树 / 板子管理类

## 签名

```typescript
declare class DMT_Board 
```

## 备注

在当前打开的工程内进行板子管理的相关操作

## 方法

<table><thead><tr><th>

方法名


</th><th>

修饰符


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[copyBoard(sourceBoardName)](./DMT_Board.md)


</td><td>


</td><td>

复制板子


</td></tr>
<tr><td>

[createBoard(schematicUuid, pcbUuid)](./DMT_Board.md)


</td><td>


</td><td>

**_(BETA)_** 创建板子


</td></tr>
<tr><td>

[deleteBoard(boardName)](./DMT_Board.md)


</td><td>


</td><td>

删除板子


</td></tr>
<tr><td>

[getAllBoardsInfo()](./DMT_Board.md)


</td><td>


</td><td>

获取工程内所有板子的详细属性


</td></tr>
<tr><td>

[getBoardInfo(boardName)](./DMT_Board.md)


</td><td>


</td><td>

获取板子的详细属性


</td></tr>
<tr><td>

[getCurrentBoardInfo()](./DMT_Board.md)


</td><td>


</td><td>

获取当前板子的详细属性


</td></tr>
<tr><td>

[modifyBoardName(originalBoardName, boardName)](./DMT_Board.md)


</td><td>


</td><td>

修改板子名称


</td></tr>
</tbody></table>

---

## 方法详情

### copyboard

# DMT\_Board.copyBoard() method

复制板子

## 签名

```typescript
copyBoard(sourceBoardName: string): Promise<string | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

sourceBoardName


</td><td>

string


</td><td>

源板子名称


</td></tr>
</tbody></table>



## 返回值

Promise&lt;string \| undefined&gt;

新板子名称，如若为 `undefined` 则复制失败

### createboard

# DMT\_Board.createBoard() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

创建板子

## 签名

```typescript
createBoard(schematicUuid?: string, pcbUuid?: string): Promise<string | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

schematicUuid


</td><td>

string


</td><td>

_（可选）_ 关联原理图 UUID


</td></tr>
<tr><td>

pcbUuid


</td><td>

string


</td><td>

_（可选）_ 关联 PCB UUID


</td></tr>
</tbody></table>



## 返回值

Promise&lt;string \| undefined&gt;

板子名称，如若为 `undefined` 则创建失败

### deleteboard

# DMT\_Board.deleteBoard() method

删除板子

## 签名

```typescript
deleteBoard(boardName: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

boardName


</td><td>

string


</td><td>

板子名称


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

操作是否成功

## 备注

如若指定板子不存在，接口将返回 `false` 的结果，表示操作失败

### getallboardsinfo

# DMT\_Board.getAllBoardsInfo() method

获取工程内所有板子的详细属性

## 签名

```typescript
getAllBoardsInfo(): Promise<Array<IDMT_BoardItem>>;
```


## 返回值

Promise&lt;Array&lt;[IDMT\_BoardItem](../interfaces/IDMT_BoardItem.md)<!-- -->&gt;&gt;

所有板子的详细属性的数组

### getboardinfo

# DMT\_Board.getBoardInfo() method

获取板子的详细属性

## 签名

```typescript
getBoardInfo(boardName: string): Promise<IDMT_BoardItem | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

boardName


</td><td>

string


</td><td>

板子名称


</td></tr>
</tbody></table>



## 返回值

Promise&lt;[IDMT\_BoardItem](../interfaces/IDMT_BoardItem.md) \| undefined&gt;

板子的详细属性，如若为 `undefined` 则获取失败

### getcurrentboardinfo

# DMT\_Board.getCurrentBoardInfo() method

获取当前板子的详细属性

## 签名

```typescript
getCurrentBoardInfo(): Promise<IDMT_BoardItem | undefined>;
```


## 返回值

Promise&lt;[IDMT\_BoardItem](../interfaces/IDMT_BoardItem.md) \| undefined&gt;

板子的详细属性，如若为 `undefined` 则获取失败

## 备注

将会获取当前打开且拥有最后输入焦点的原理图、PCB 所关联的板子的详细属性

### modifyboardname

# DMT\_Board.modifyBoardName() method

修改板子名称

## 签名

```typescript
modifyBoardName(originalBoardName: string, boardName: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

originalBoardName


</td><td>

string


</td><td>

原板子名称


</td></tr>
<tr><td>

boardName


</td><td>

string


</td><td>

新板子名称


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

是否修改成功


path: references/easyeda-api-reference/classes/DMT_EditorControl.md
content: # DMT\_EditorControl class

文档树 / 编辑器控制类

## 签名

```typescript
declare class DMT_EditorControl 
```

## 备注

此处编辑器控制基于当前已打开的工程设计下的图页，其它任何 `documentUuid` 都将被认为是不存在的文档页

## 方法

<table><thead><tr><th>

方法名


</th><th>

修饰符


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[activateDocument(tabId)](./DMT_EditorControl.md)


</td><td>


</td><td>

激活文档


</td></tr>
<tr><td>

[activateSplitScreen(splitScreenId)](./DMT_EditorControl.md)


</td><td>


</td><td>

激活分屏


</td></tr>
<tr><td>

[closeDocument(tabId)](./DMT_EditorControl.md)


</td><td>


</td><td>

关闭文档


</td></tr>
<tr><td>

[createSplitScreen(splitScreenType, tabId)](./DMT_EditorControl.md)


</td><td>


</td><td>

创建分屏


</td></tr>
<tr><td>

[generateIndicatorMarkers(markers, color, lineWidth, zoom, tabId)](./DMT_EditorControl.md)


</td><td>


</td><td>

**_(BETA)_** 生成指示标记


</td></tr>
<tr><td>

[getCurrentRenderedAreaImage(tabId)](./DMT_EditorControl.md)


</td><td>


</td><td>

**_(BETA)_** 获取画布渲染区域图像


</td></tr>
<tr><td>

[getSplitScreenIdByTabId(tabId)](./DMT_EditorControl.md)


</td><td>


</td><td>

使用标签页 ID 获取分屏 ID


</td></tr>
<tr><td>

[getSplitScreenTree()](./DMT_EditorControl.md)


</td><td>


</td><td>

获取编辑器分屏属性树


</td></tr>
<tr><td>

[getTabsBySplitScreenId(splitScreenId)](./DMT_EditorControl.md)


</td><td>


</td><td>

获取指定分屏 ID 下的所有标签页


</td></tr>
<tr><td>

[mergeAllDocumentFromSplitScreen()](./DMT_EditorControl.md)


</td><td>


</td><td>

合并所有分屏


</td></tr>
<tr><td>

[moveDocumentToSplitScreen(tabId, splitScreenId)](./DMT_EditorControl.md)


</td><td>


</td><td>

将文档移动到指定分屏


</td></tr>
<tr><td>

[openDocument(documentUuid, splitScreenId)](./DMT_EditorControl.md)


</td><td>


</td><td>

打开文档


</td></tr>
<tr><td>

[openLibraryDocument(libraryUuid, libraryType, uuid, splitScreenId)](./DMT_EditorControl.md)


</td><td>


</td><td>

**_(BETA)_** 打开库符号、封装文档


</td></tr>
<tr><td>

[removeIndicatorMarkers(tabId)](./DMT_EditorControl.md)


</td><td>


</td><td>

**_(BETA)_** 移除指示标记


</td></tr>
<tr><td>

[tileAllDocumentToSplitScreen()](./DMT_EditorControl.md)


</td><td>


</td><td>

平铺所有文档


</td></tr>
<tr><td>

[zoomTo(x, y, scaleRatio, tabId)](./DMT_EditorControl.md)


</td><td>


</td><td>

**_(BETA)_** 缩放到坐标


</td></tr>
<tr><td>

[zoomToAllPrimitives(tabId)](./DMT_EditorControl.md)


</td><td>


</td><td>

**_(BETA)_** 缩放到所有图元（适应全部）


</td></tr>
<tr><td>

[zoomToRegion(left, right, top, bottom, tabId)](./DMT_EditorControl.md)


</td><td>


</td><td>

**_(BETA)_** 缩放到区域


</td></tr>
<tr><td>

[zoomToSelectedPrimitives(tabId)](./DMT_EditorControl.md)


</td><td>


</td><td>

**_(BETA)_** 缩放到已选中图元（适应选中）


</td></tr>
</tbody></table>

---

## 方法详情

### activatedocument

# DMT\_EditorControl.activateDocument() method

激活文档

## 签名

```typescript
activateDocument(tabId: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

tabId


</td><td>

string


</td><td>

标签页 ID


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

操作是否成功

## 备注

切换到指定文档的标签页，并将输入焦点置于其中

### activatesplitscreen

# DMT\_EditorControl.activateSplitScreen() method

激活分屏

## 签名

```typescript
activateSplitScreen(splitScreenId: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

splitScreenId


</td><td>

string


</td><td>

分屏 ID


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

操作是否成功

## 备注

使输入焦点

### closedocument

# DMT\_EditorControl.closeDocument() method

关闭文档

## 签名

```typescript
closeDocument(tabId: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

tabId


</td><td>

string


</td><td>

标签页 ID，此处支持 [IDMT\_SchematicPageItem.uuid](../interfaces/IDMT_SchematicPageItem.md)<!-- -->、[IDMT\_PcbItem.uuid](../interfaces/IDMT_PcbItem.md)<!-- -->、[IDMT\_PanelItem.uuid](../interfaces/IDMT_PanelItem.md) 作为输入


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

操作是否成功

## 备注

如若文档尚未保存，执行此操作将会直接丢失所有未保存的数据，请在修改操作完成后首先执行 [SCH\_Document.save()](./SCH_Document.md)<!-- -->、[PCB\_Document.save()](./PCB_Document.md)<!-- -->、[PNL\_Document.save()](./PNL_Document.md) 保存数据

### createsplitscreen

# DMT\_EditorControl.createSplitScreen() method

创建分屏

## 签名

```typescript
createSplitScreen(splitScreenType: EDMT_EditorSplitScreenDirection, tabId: string): Promise<{
        sourceSplitScreenId: string;
        newSplitScreenId: string;
    } | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

splitScreenType


</td><td>

[EDMT\_EditorSplitScreenDirection](../enums/EDMT_EditorSplitScreenDirection.md)


</td><td>

分屏类型，`horizontal` 水平、`vertical` 垂直


</td></tr>
<tr><td>

tabId


</td><td>

string


</td><td>

标签页 ID，该标签页将会被移入新的分屏中


</td></tr>
</tbody></table>



## 返回值

Promise&lt;{ sourceSplitScreenId: string; newSplitScreenId: string; } \| undefined&gt;

分屏 ID，`sourceSplitScreenId` 代表源分屏，`newSplitScreenId` 代表新分屏

## 备注

请确认 [tabId](./DMT_EditorControl.md) 对应的分屏存在两个以上的标签页，否则分屏将不会执行，并返回 `undefined`

### generateindicatormarkers

# DMT\_EditorControl.generateIndicatorMarkers() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

生成指示标记

## 签名

```typescript
generateIndicatorMarkers(markers: Array<IDMT_IndicatorMarkerShape>, color?: {
        r: number;
        g: number;
        b: number;
        alpha: number;
    }, lineWidth?: number, zoom?: boolean, tabId?: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

markers


</td><td>

Array&lt;[IDMT\_IndicatorMarkerShape](../interfaces/IDMT_IndicatorMarkerShape.md)<!-- -->&gt;


</td><td>

指示标记外形对象数组


</td></tr>
<tr><td>

color


</td><td>

\{ r: number; g: number; b: number; alpha: number; \}


</td><td>

_（可选）_ 指示标记颜色


</td></tr>
<tr><td>

lineWidth


</td><td>

number


</td><td>

_（可选）_ 线宽


</td></tr>
<tr><td>

zoom


</td><td>

boolean


</td><td>

_（可选）_ 是否定位并缩放


</td></tr>
<tr><td>

tabId


</td><td>

string


</td><td>

_（可选）_ 标签页 ID，如若未传入，则为最后输入焦点的画布


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

指示标记生成是否成功，`false` 表示画布不支持该操作或 `tabId` 不存在

## 备注

指示标记外形数据中，原理图、符号画布坐标单位跨度为 0.01inch，PCB、封装画布坐标单位跨度为 mil

### getcurrentrenderedareaimage

# DMT\_EditorControl.getCurrentRenderedAreaImage() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

获取画布渲染区域图像

## 签名

```typescript
getCurrentRenderedAreaImage(tabId?: string): Promise<Blob | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

tabId


</td><td>

string


</td><td>

_（可选）_ 标签页 ID，如若未传入，则获取最后输入焦点的画布


</td></tr>
</tbody></table>



## 返回值

Promise&lt;Blob \| undefined&gt;

- 画布渲染区域的 Blob 格式图像数据

### getsplitscreenidbytabid

# DMT\_EditorControl.getSplitScreenIdByTabId() method

使用标签页 ID 获取分屏 ID

## 签名

```typescript
getSplitScreenIdByTabId(tabId: string): Promise<string | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

tabId


</td><td>

string


</td><td>

标签页 ID


</td></tr>
</tbody></table>



## 返回值

Promise&lt;string \| undefined&gt;

分屏 ID

### getsplitscreentree

# DMT\_EditorControl.getSplitScreenTree() method

获取编辑器分屏属性树

## 签名

```typescript
getSplitScreenTree(): Promise<IDMT_EditorSplitScreenItem | undefined>;
```


## 返回值

Promise&lt;[IDMT\_EditorSplitScreenItem](../interfaces/IDMT_EditorSplitScreenItem.md) \| undefined&gt;

编辑器分屏属性树，如若为 `undefined`<!-- -->，则数据获取失败

### gettabsbysplitscreenid

# DMT\_EditorControl.getTabsBySplitScreenId() method

获取指定分屏 ID 下的所有标签页

## 签名

```typescript
getTabsBySplitScreenId(splitScreenId: string): Promise<Array<IDMT_EditorTabItem>>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

splitScreenId


</td><td>

string


</td><td>

分屏 ID


</td></tr>
</tbody></table>



## 返回值

Promise&lt;Array&lt;[IDMT\_EditorTabItem](../interfaces/IDMT_EditorTabItem.md)<!-- -->&gt;&gt;

标签页列表

## 备注

如果指定分屏下不存在直接标签页（即它属下还存在 [children](../interfaces/IDMT_EditorSplitScreenItem.md)<!-- -->），则返回空数组

### mergealldocumentfromsplitscreen

# DMT\_EditorControl.mergeAllDocumentFromSplitScreen() method

合并所有分屏

## 签名

```typescript
mergeAllDocumentFromSplitScreen(): Promise<boolean>;
```


## 返回值

Promise&lt;boolean&gt;

操作是否成功

## 备注

仅当存在子分屏时可用，将会取消所有子分屏，并将所有文档标签页合并到初始分屏内

### movedocumenttosplitscreen

# DMT\_EditorControl.moveDocumentToSplitScreen() method

将文档移动到指定分屏

## 签名

```typescript
moveDocumentToSplitScreen(tabId: string, splitScreenId: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

tabId


</td><td>

string


</td><td>

标签页 ID


</td></tr>
<tr><td>

splitScreenId


</td><td>

string


</td><td>

[分屏 ID](../interfaces/IDMT_EditorSplitScreenItem.md)


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

操作是否成功

## 备注

移动文档后，编辑器分屏属性树可能会出现变化

### opendocument

# DMT\_EditorControl.openDocument() method

打开文档

## 签名

```typescript
openDocument(documentUuid: string, splitScreenId?: string): Promise<string | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

documentUuid


</td><td>

string


</td><td>

文档 UUID，此处支持 [IDMT\_SchematicItem.uuid](../interfaces/IDMT_SchematicItem.md)<!-- -->、[IDMT\_SchematicPageItem.uuid](../interfaces/IDMT_SchematicPageItem.md)<!-- -->、[IDMT\_PcbItem.uuid](../interfaces/IDMT_PcbItem.md)<!-- -->、[IDMT\_PanelItem.uuid](../interfaces/IDMT_PanelItem.md) 作为输入


</td></tr>
<tr><td>

splitScreenId


</td><td>

string


</td><td>

_（可选）_ 分屏 ID，即 [DMT\_EditorControl.getSplitScreenTree()](./DMT_EditorControl.md) 方法获取到的 [IDMT\_EditorSplitScreenItem.id](../interfaces/IDMT_EditorSplitScreenItem.md)


</td></tr>
</tbody></table>



## 返回值

Promise&lt;string \| undefined&gt;

标签页 ID，如若为 `undefined`<!-- -->，则打开文档失败

### openlibrarydocument

# DMT\_EditorControl.openLibraryDocument() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

打开库符号、封装文档

## 签名

```typescript
openLibraryDocument(libraryUuid: string, libraryType: ELIB_LibraryType.SYMBOL | ELIB_LibraryType.FOOTPRINT, uuid: string, splitScreenId?: string): Promise<string | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

libraryUuid


</td><td>

string


</td><td>

库 UUID，可以使用 [LIB\_LibrariesList](./LIB_LibrariesList.md) 内的接口获取


</td></tr>
<tr><td>

libraryType


</td><td>

[ELIB\_LibraryType.SYMBOL](../enums/ELIB_LibraryType.md) \| [ELIB\_LibraryType.FOOTPRINT](../enums/ELIB_LibraryType.md)


</td><td>

库类型，支持符号和封装


</td></tr>
<tr><td>

uuid


</td><td>

string


</td><td>

符号、封装 UUID


</td></tr>
<tr><td>

splitScreenId


</td><td>

string


</td><td>

_（可选）_ 分屏 ID，即 [DMT\_EditorControl.getSplitScreenTree()](./DMT_EditorControl.md) 方法获取到的 [IDMT\_EditorSplitScreenItem.id](../interfaces/IDMT_EditorSplitScreenItem.md)


</td></tr>
</tbody></table>



## 返回值

Promise&lt;string \| undefined&gt;

标签页 ID，如若为 `undefined`<!-- -->，则打开文档失败

### removeindicatormarkers

# DMT\_EditorControl.removeIndicatorMarkers() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

移除指示标记

## 签名

```typescript
removeIndicatorMarkers(tabId?: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

tabId


</td><td>

string


</td><td>

_（可选）_ 标签页 ID，如若未传入，则为最后输入焦点的画布


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

指示标记移除是否成功，`false` 表示画布不支持该操作或 `tabId` 不存在

## 备注

本接口会移除所有已生成的指示标记

### tilealldocumenttosplitscreen

# DMT\_EditorControl.tileAllDocumentToSplitScreen() method

平铺所有文档

## 签名

```typescript
tileAllDocumentToSplitScreen(): Promise<boolean>;
```


## 返回值

Promise&lt;boolean&gt;

操作是否成功

## 备注

仅当不存在子分屏时可用，将会自动为所有已打开的文档标签页创建分屏

### zoomto

# DMT\_EditorControl.zoomTo() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

缩放到坐标

## 签名

```typescript
zoomTo(x?: number, y?: number, scaleRatio?: number, tabId?: string): Promise<{
        left: number;
        right: number;
        top: number;
        bottom: number;
    } | false>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

x


</td><td>

number


</td><td>

_（可选）_ 中心坐标 X，如若不传入则不改变当前 X 坐标


</td></tr>
<tr><td>

y


</td><td>

number


</td><td>

_（可选）_ 中心坐标 Y，如若不传入则不改变当前 Y 坐标


</td></tr>
<tr><td>

scaleRatio


</td><td>

number


</td><td>

_（可选）_ 缩放比，如若不传入则不改变当前缩放比，单位跨度为 `1/100`<!-- -->，如若传入 `200`<!-- -->，则表示缩放比为 `200%`


</td></tr>
<tr><td>

tabId


</td><td>

string


</td><td>

_（可选）_ 标签页 ID，如若未传入，则为最后输入焦点的画布


</td></tr>
</tbody></table>



## 返回值

Promise&lt;{ left: number; right: number; top: number; bottom: number; } \| false&gt;

缩放到的区域数据，`false` 表示画布不支持该缩放操作或 `tabId` 不存在

## 备注

在原理图、符号画布坐标单位跨度为 0.01inch，在 PCB、封装画布坐标单位跨度为 mil

### zoomtoallprimitives

# DMT\_EditorControl.zoomToAllPrimitives() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

缩放到所有图元（适应全部）

## 签名

```typescript
zoomToAllPrimitives(tabId?: string): Promise<{
        left: number;
        right: number;
        top: number;
        bottom: number;
    } | false>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

tabId


</td><td>

string


</td><td>

_（可选）_ 标签页 ID，如若未传入，则为最后输入焦点的画布


</td></tr>
</tbody></table>



## 返回值

Promise&lt;{ left: number; right: number; top: number; bottom: number; } \| false&gt;

缩放到的区域数据，`false` 表示画布不支持该缩放操作或 `tabId` 不存在

## 备注

在返回数据中，原理图、符号画布坐标单位跨度为 0.01inch，PCB、封装画布坐标单位跨度为 mil

### zoomtoregion

# DMT\_EditorControl.zoomToRegion() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

缩放到区域

## 签名

```typescript
zoomToRegion(left: number, right: number, top: number, bottom: number, tabId?: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

left


</td><td>

number


</td><td>

矩形框第一 X 坐标


</td></tr>
<tr><td>

right


</td><td>

number


</td><td>

矩形框第二 X 坐标


</td></tr>
<tr><td>

top


</td><td>

number


</td><td>

矩形框第一 Y 坐标


</td></tr>
<tr><td>

bottom


</td><td>

number


</td><td>

矩形框第二 Y 坐标


</td></tr>
<tr><td>

tabId


</td><td>

string


</td><td>

_（可选）_ 标签页 ID，如若未传入，则为最后输入焦点的画布


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

操作是否成功

## 备注

在原理图、符号画布坐标单位跨度为 0.01inch，在 PCB、封装画布坐标单位跨度为 mil

### zoomtoselectedprimitives

# DMT\_EditorControl.zoomToSelectedPrimitives() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

缩放到已选中图元（适应选中）

## 签名

```typescript
zoomToSelectedPrimitives(tabId?: string): Promise<{
        left: number;
        right: number;
        top: number;
        bottom: number;
    } | false>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

tabId


</td><td>

string


</td><td>

_（可选）_ 标签页 ID，如若未传入，则为最后输入焦点的画布


</td></tr>
</tbody></table>



## 返回值

Promise&lt;{ left: number; right: number; top: number; bottom: number; } \| false&gt;

缩放到的区域数据，`false` 表示画布不支持该缩放操作或 `tabId` 不存在

## 备注

在返回数据中，原理图、符号画布坐标单位跨度为 0.01inch，PCB、封装画布坐标单位跨度为 mil


path: references/easyeda-api-reference/classes/DMT_Folder.md
content: # DMT\_Folder class

文档树 / 文件夹类

## 签名

```typescript
declare class DMT_Folder 
```

## 方法

<table><thead><tr><th>

方法名


</th><th>

修饰符


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[createFolder(folderName, teamUuid, parentFolderUuid, description)](./DMT_Folder.md)


</td><td>


</td><td>

**_(BETA)_** 创建文件夹


</td></tr>
<tr><td>

[deleteFolder(teamUuid, folderUuid)](./DMT_Folder.md)


</td><td>


</td><td>

删除文件夹


</td></tr>
<tr><td>

[getAllFoldersUuid(teamUuid)](./DMT_Folder.md)


</td><td>


</td><td>

获取所有文件夹的 UUID


</td></tr>
<tr><td>

[getFolderInfo(teamUuid, folderUuid)](./DMT_Folder.md)


</td><td>


</td><td>

获取文件夹详细属性


</td></tr>
<tr><td>

[modifyFolderDescription(teamUuid, folderUuid, description)](./DMT_Folder.md)


</td><td>


</td><td>

**_(BETA)_** 修改文件夹描述


</td></tr>
<tr><td>

[modifyFolderName(teamUuid, folderUuid, folderName)](./DMT_Folder.md)


</td><td>


</td><td>

修改文件夹名称


</td></tr>
<tr><td>

[moveFolderToFolder(teamUuid, folderUuid, parentFolderUuid)](./DMT_Folder.md)


</td><td>


</td><td>

移动文件夹


</td></tr>
</tbody></table>

---

## 方法详情

### createfolder

# DMT\_Folder.createFolder() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

创建文件夹

## 签名

```typescript
createFolder(folderName: string, teamUuid: string, parentFolderUuid?: string, description?: string): Promise<string | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

folderName


</td><td>

string


</td><td>

文件夹名称


</td></tr>
<tr><td>

teamUuid


</td><td>

string


</td><td>

团队 UUID


</td></tr>
<tr><td>

parentFolderUuid


</td><td>

string


</td><td>

_（可选）_ 父文件夹 UUID，如若不指定，则为根文件夹


</td></tr>
<tr><td>

description


</td><td>

string


</td><td>

_（可选）_ 文件夹描述


</td></tr>
</tbody></table>



## 返回值

Promise&lt;string \| undefined&gt;

文件夹 UUID，如若为 `undefined` 则创建失败

### deletefolder

# DMT\_Folder.deleteFolder() method

删除文件夹

## 签名

```typescript
deleteFolder(teamUuid: string, folderUuid: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

teamUuid


</td><td>

string


</td><td>

团队 UUID


</td></tr>
<tr><td>

folderUuid


</td><td>

string


</td><td>

文件夹 UUID


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

操作是否成功

### getallfoldersuuid

# DMT\_Folder.getAllFoldersUuid() method

获取所有文件夹的 UUID

## 签名

```typescript
getAllFoldersUuid(teamUuid: string): Promise<Array<string>>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

teamUuid


</td><td>

string


</td><td>

团队 UUID


</td></tr>
</tbody></table>



## 返回值

Promise&lt;Array&lt;string&gt;&gt;

文件夹 UUID 数组

## 备注

本接口忽略层级信息，将会返回所有层级的文件夹的 UUID 并放置于一维数组中

### getfolderinfo

# DMT\_Folder.getFolderInfo() method

获取文件夹详细属性

## 签名

```typescript
getFolderInfo(teamUuid: string, folderUuid: string): Promise<IDMT_FolderItem | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

teamUuid


</td><td>

string


</td><td>

团队 UUID


</td></tr>
<tr><td>

folderUuid


</td><td>

string


</td><td>

文件夹 UUID


</td></tr>
</tbody></table>



## 返回值

Promise&lt;[IDMT\_FolderItem](../interfaces/IDMT_FolderItem.md) \| undefined&gt;

文件夹属性，如若为 `undefined` 则获取失败

## 备注

当 [parentFolderUuid](../interfaces/IDMT_FolderItem.md) 等于 [teamUuid](../interfaces/IDMT_FolderItem.md) 时，代表当前文件夹为指定团队下的一级文件夹

### modifyfolderdescription

# DMT\_Folder.modifyFolderDescription() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

修改文件夹描述

## 签名

```typescript
modifyFolderDescription(teamUuid: string, folderUuid: string, description?: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

teamUuid


</td><td>

string


</td><td>

团队 UUID


</td></tr>
<tr><td>

folderUuid


</td><td>

string


</td><td>

文件夹 UUID


</td></tr>
<tr><td>

description


</td><td>

string


</td><td>

_（可选）_ 文件夹描述，如若为 `undefined` 则清空工程现有描述


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

是否修改成功

## 备注

修改文件夹描述需要与工作区系统进行交互，修改操作存在延迟，需要短暂等待后才会呈现效果

### modifyfoldername

# DMT\_Folder.modifyFolderName() method

修改文件夹名称

## 签名

```typescript
modifyFolderName(teamUuid: string, folderUuid: string, folderName: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

teamUuid


</td><td>

string


</td><td>

团队 UUID


</td></tr>
<tr><td>

folderUuid


</td><td>

string


</td><td>

文件夹 UUID


</td></tr>
<tr><td>

folderName


</td><td>

string


</td><td>

文件夹名称


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

是否修改成功

### movefoldertofolder

# DMT\_Folder.moveFolderToFolder() method

移动文件夹

## 签名

```typescript
moveFolderToFolder(teamUuid: string, folderUuid: string, parentFolderUuid?: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

teamUuid


</td><td>

string


</td><td>

团队 UUID


</td></tr>
<tr><td>

folderUuid


</td><td>

string


</td><td>

文件夹 UUID


</td></tr>
<tr><td>

parentFolderUuid


</td><td>

string


</td><td>

_（可选）_ 父文件夹 UUID，如若不指定，则默认为根文件夹


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

是否移动成功


path: references/easyeda-api-reference/classes/DMT_Panel.md
content: # DMT\_Panel class

文档树 / 面板管理类

## 签名

```typescript
declare class DMT_Panel 
```

## 备注

在当前打开的工程内进行面板管理的相关操作

## 方法

<table><thead><tr><th>

方法名


</th><th>

修饰符


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[copyPanel(panelUuid)](./DMT_Panel.md)


</td><td>


</td><td>

复制面板


</td></tr>
<tr><td>

[createPanel()](./DMT_Panel.md)


</td><td>


</td><td>

**_(BETA)_** 创建面板


</td></tr>
<tr><td>

[deletePanel(panelUuid)](./DMT_Panel.md)


</td><td>


</td><td>

删除面板


</td></tr>
<tr><td>

[getAllPanelsInfo()](./DMT_Panel.md)


</td><td>


</td><td>

获取工程内所有面板的详细属性


</td></tr>
<tr><td>

[getCurrentPanelInfo()](./DMT_Panel.md)


</td><td>


</td><td>

获取当前面板的详细属性


</td></tr>
<tr><td>

[getPanelInfo(panelUuid)](./DMT_Panel.md)


</td><td>


</td><td>

获取面板的详细属性


</td></tr>
<tr><td>

[modifyPanelName(panelUuid, panelName)](./DMT_Panel.md)


</td><td>


</td><td>

修改面板名称


</td></tr>
</tbody></table>

---

## 方法详情

### copypanel

# DMT\_Panel.copyPanel() method

复制面板

## 签名

```typescript
copyPanel(panelUuid: string): Promise<string | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

panelUuid


</td><td>

string


</td><td>

源面板 UUID


</td></tr>
</tbody></table>



## 返回值

Promise&lt;string \| undefined&gt;

新面板 UUID，如若为 `undefined` 则复制失败

### createpanel

# DMT\_Panel.createPanel() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

创建面板

## 签名

```typescript
createPanel(): Promise<string | undefined>;
```


## 返回值

Promise&lt;string \| undefined&gt;

面板 UUID，如若为 `undefined` 则创建失败

### deletepanel

# DMT\_Panel.deletePanel() method

删除面板

## 签名

```typescript
deletePanel(panelUuid: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

panelUuid


</td><td>

string


</td><td>

面板 UUID


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

操作是否成功

### getallpanelsinfo

# DMT\_Panel.getAllPanelsInfo() method

获取工程内所有面板的详细属性

## 签名

```typescript
getAllPanelsInfo(): Promise<Array<IDMT_PanelItem>>;
```


## 返回值

Promise&lt;Array&lt;[IDMT\_PanelItem](../interfaces/IDMT_PanelItem.md)<!-- -->&gt;&gt;

所有面板的详细属性的数组

### getcurrentpanelinfo

# DMT\_Panel.getCurrentPanelInfo() method

获取当前面板的详细属性

## 签名

```typescript
getCurrentPanelInfo(): Promise<IDMT_PanelItem | undefined>;
```


## 返回值

Promise&lt;[IDMT\_PanelItem](../interfaces/IDMT_PanelItem.md) \| undefined&gt;

面板的详细属性，如若为 `undefined` 则获取失败

## 备注

将会获取当前打开且拥有最后输入焦点的面板的详细属性

### getpanelinfo

# DMT\_Panel.getPanelInfo() method

获取面板的详细属性

## 签名

```typescript
getPanelInfo(panelUuid: string): Promise<IDMT_PanelItem | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

panelUuid


</td><td>

string


</td><td>

面板 UUID


</td></tr>
</tbody></table>



## 返回值

Promise&lt;[IDMT\_PanelItem](../interfaces/IDMT_PanelItem.md) \| undefined&gt;

面板的详细属性，如若为 `undefined` 则获取失败

### modifypanelname

# DMT\_Panel.modifyPanelName() method

修改面板名称

## 签名

```typescript
modifyPanelName(panelUuid: string, panelName: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

panelUuid


</td><td>

string


</td><td>

面板 UUID


</td></tr>
<tr><td>

panelName


</td><td>

string


</td><td>

面板名称


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

是否修改成功


path: references/easyeda-api-reference/classes/DMT_Pcb.md
content: # DMT\_Pcb class

文档树 / PCB 管理类

## 签名

```typescript
declare class DMT_Pcb 
```

## 备注

在当前打开的工程内进行 PCB 管理的相关操作

## 方法

<table><thead><tr><th>

方法名


</th><th>

修饰符


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[copyPcb(pcbUuid, boardName)](./DMT_Pcb.md)


</td><td>


</td><td>

复制 PCB


</td></tr>
<tr><td>

[createPcb(boardName)](./DMT_Pcb.md)


</td><td>


</td><td>

创建 PCB


</td></tr>
<tr><td>

[deletePcb(pcbUuid)](./DMT_Pcb.md)


</td><td>


</td><td>

删除 PCB


</td></tr>
<tr><td>

[getAllPcbsInfo()](./DMT_Pcb.md)


</td><td>


</td><td>

获取工程内所有 PCB 的详细属性


</td></tr>
<tr><td>

[getCurrentPcbInfo()](./DMT_Pcb.md)


</td><td>


</td><td>

获取当前 PCB 的详细属性


</td></tr>
<tr><td>

[getPcbInfo(pcbUuid)](./DMT_Pcb.md)


</td><td>


</td><td>

获取 PCB 的详细属性


</td></tr>
<tr><td>

[modifyPcbName(pcbUuid, pcbName)](./DMT_Pcb.md)


</td><td>


</td><td>

修改 PCB 名称


</td></tr>
</tbody></table>

---

## 方法详情

### copypcb

# DMT\_Pcb.copyPcb() method

复制 PCB

## 签名

```typescript
copyPcb(pcbUuid: string, boardName?: string): Promise<string | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

pcbUuid


</td><td>

string


</td><td>

源 PCB UUID


</td></tr>
<tr><td>

boardName


</td><td>

string


</td><td>

_（可选）_ 新 PCB 所属板子名称，如若不指定则为游离 PCB


</td></tr>
</tbody></table>



## 返回值

Promise&lt;string \| undefined&gt;

新 PCB UUID，如若为 `undefined` 则复制失败

## 备注

即使此处 PCB 已关联复用模块（在工程库内存在同名的复用模块符号），也不新建复用模块符号，此操作逻辑与当前编辑器前端保持一致

### createpcb

# DMT\_Pcb.createPcb() method

创建 PCB

## 签名

```typescript
createPcb(boardName?: string): Promise<string | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

boardName


</td><td>

string


</td><td>

_（可选）_ 所属板子名称，如若不指定则为游离 PCB


</td></tr>
</tbody></table>



## 返回值

Promise&lt;string \| undefined&gt;

PCB UUID，如若为 `undefined` 则创建失败

### deletepcb

# DMT\_Pcb.deletePcb() method

删除 PCB

## 签名

```typescript
deletePcb(pcbUuid: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

pcbUuid


</td><td>

string


</td><td>

PCB UUID


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

操作是否成功

## 备注

如若 PCB 已关联复用模块（在工程库内存在同名的复用模块符号），则删除 PCB 时将同步删除关联的原理图和复用模块符号，复用模块符号不可删除则跳过

### getallpcbsinfo

# DMT\_Pcb.getAllPcbsInfo() method

获取工程内所有 PCB 的详细属性

## 签名

```typescript
getAllPcbsInfo(): Promise<Array<IDMT_PcbItem>>;
```


## 返回值

Promise&lt;Array&lt;[IDMT\_PcbItem](../interfaces/IDMT_PcbItem.md)<!-- -->&gt;&gt;

所有 PCB 的详细属性的数组

### getcurrentpcbinfo

# DMT\_Pcb.getCurrentPcbInfo() method

获取当前 PCB 的详细属性

## 签名

```typescript
getCurrentPcbInfo(): Promise<IDMT_PcbItem | undefined>;
```


## 返回值

Promise&lt;[IDMT\_PcbItem](../interfaces/IDMT_PcbItem.md) \| undefined&gt;

PCB 的详细属性，如若为 `undefined` 则获取失败

## 备注

将会获取当前打开且拥有最后输入焦点的 PCB 的详细属性

### getpcbinfo

# DMT\_Pcb.getPcbInfo() method

获取 PCB 的详细属性

## 签名

```typescript
getPcbInfo(pcbUuid: string): Promise<IDMT_PcbItem | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

pcbUuid


</td><td>

string


</td><td>

PCB UUID


</td></tr>
</tbody></table>



## 返回值

Promise&lt;[IDMT\_PcbItem](../interfaces/IDMT_PcbItem.md) \| undefined&gt;

PCB 的详细属性，如若为 `undefined` 则获取失败

### modifypcbname

# DMT\_Pcb.modifyPcbName() method

修改 PCB 名称

## 签名

```typescript
modifyPcbName(pcbUuid: string, pcbName: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

pcbUuid


</td><td>

string


</td><td>

PCB UUID


</td></tr>
<tr><td>

pcbName


</td><td>

string


</td><td>

PCB 名称


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

是否修改成功

## 备注

如若 PCB 已关联复用模块（在工程库内存在同名的复用模块符号），则修改名称时将同步修改复用模块符号名称与关联原理图名称


path: references/easyeda-api-reference/classes/DMT_Project.md
content: # DMT\_Project class

文档树 / 工程管理类

## 签名

```typescript
declare class DMT_Project 
```

## 方法

<table><thead><tr><th>

方法名


</th><th>

修饰符


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[createProject(projectFriendlyName, projectName, teamUuid, folderUuid, description, collaborationMode)](./DMT_Project.md)


</td><td>


</td><td>

**_(BETA)_** 创建工程


</td></tr>
<tr><td>

[getAllProjectsUuid(teamUuid, folderUuid, workspaceUuid)](./DMT_Project.md)


</td><td>


</td><td>

获取所有工程的 UUID


</td></tr>
<tr><td>

[getCurrentProjectInfo()](./DMT_Project.md)


</td><td>


</td><td>

获取当前工程的详细属性


</td></tr>
<tr><td>

[getProjectInfo(projectUuid)](./DMT_Project.md)


</td><td>


</td><td>

获取工程属性


</td></tr>
<tr><td>

[moveProjectToFolder(projectUuid, folderUuid)](./DMT_Project.md)


</td><td>


</td><td>

移动工程到文件夹


</td></tr>
<tr><td>

[openProject(projectUuid)](./DMT_Project.md)


</td><td>


</td><td>

打开工程


</td></tr>
</tbody></table>

---

## 方法详情

### createproject

# DMT\_Project.createProject() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

创建工程

## 签名

```typescript
createProject(projectFriendlyName: string, projectName?: string, teamUuid?: string, folderUuid?: string, description?: string, collaborationMode?: EDMT_ProjectCollaborationMode): Promise<string | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

projectFriendlyName


</td><td>

string


</td><td>

工程友好名称


</td></tr>
<tr><td>

projectName


</td><td>

string


</td><td>

_（可选）_ 工程名称，不可重复，仅支持字母 `a-zA-Z`<!-- -->、数字 `0-9`<!-- -->、中划线 `-`<!-- -->，如若不指定，则根据工程友好名称自动生成


</td></tr>
<tr><td>

teamUuid


</td><td>

string


</td><td>

_（可选）_ 团队 UUID，如若不指定，则默认为个人；在不存在个人工程的环境下必须指定团队 UUID


</td></tr>
<tr><td>

folderUuid


</td><td>

string


</td><td>

_（可选）_ 文件夹 UUID，如若不指定，则为根文件夹


</td></tr>
<tr><td>

description


</td><td>

string


</td><td>

_（可选）_ 工程描述


</td></tr>
<tr><td>

collaborationMode


</td><td>

[EDMT\_ProjectCollaborationMode](../enums/EDMT_ProjectCollaborationMode.md)


</td><td>

_（可选）_ 工程协作模式，如若团队权限无需工程设置协作模式，则该参数将被忽略


</td></tr>
</tbody></table>



## 返回值

Promise&lt;string \| undefined&gt;

工程 UUID，如若为 `undefined` 则创建失败

### getallprojectsuuid

# DMT\_Project.getAllProjectsUuid() method

获取所有工程的 UUID

## 签名

```typescript
getAllProjectsUuid(teamUuid?: string, folderUuid?: string, workspaceUuid?: string): Promise<Array<string>>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

teamUuid


</td><td>

string


</td><td>

_（可选）_ 团队 UUID


</td></tr>
<tr><td>

folderUuid


</td><td>

string


</td><td>

_（可选）_ 文件夹 UUID，如若不指定，则默认为团队的根文件夹


</td></tr>
<tr><td>

workspaceUuid


</td><td>

string


</td><td>

_（可选）_ 工作区 UUID


</td></tr>
</tbody></table>



## 返回值

Promise&lt;Array&lt;string&gt;&gt;

工程 UUID 数组

## 备注

如若指定 `teamUuid`<!-- -->，则获取指定团队下的所有工程；

如若指定 `folderUuid`<!-- -->，则获取指定文件夹下的所有工程；

`teamUuid`<!-- -->、`folderUuid` 需要且仅允许指定其一，如若都指定则只取 `folderUuid`<!-- -->；

如若指定 `workspaceUuid`<!-- -->，则在指定 Workspace 下获取指定团队/文件夹下的所有工程

### getcurrentprojectinfo

# DMT\_Project.getCurrentProjectInfo() method

获取当前工程的详细属性

## 签名

```typescript
getCurrentProjectInfo(): Promise<IDMT_ProjectItem | undefined>;
```


## 返回值

Promise&lt;[IDMT\_ProjectItem](../interfaces/IDMT_ProjectItem.md) \| undefined&gt;

工程属性，如若为 `undefined` 则获取失败

## 备注

将会获取当前打开且拥有最后输入焦点的原理图、PCB、面板所关联的工程的详细属性

### getprojectinfo

# DMT\_Project.getProjectInfo() method

获取工程属性

## 签名

```typescript
getProjectInfo(projectUuid: string): Promise<IDMT_BriefProjectItem | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

projectUuid


</td><td>

string


</td><td>

工程 UUID


</td></tr>
</tbody></table>



## 返回值

Promise&lt;[IDMT\_BriefProjectItem](../interfaces/IDMT_BriefProjectItem.md) \| undefined&gt;

简略的工程属性，如若为 `undefined` 则获取失败

## 备注

本接口只能读取简略的工程属性，如需详细的工程树，请使用 [getCurrentProjectInfo](./DMT_Project.md) 接口

### moveprojecttofolder

# DMT\_Project.moveProjectToFolder() method

移动工程到文件夹

## 签名

```typescript
moveProjectToFolder(projectUuid: string, folderUuid?: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

projectUuid


</td><td>

string


</td><td>

工程 UUID


</td></tr>
<tr><td>

folderUuid


</td><td>

string


</td><td>

_（可选）_ 文件夹 UUID，只能为当前工程所在团队或个人下的文件夹，如若为 `undefined` 则移动到当前团队的根文件夹


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

是否移动成功

### openproject

# DMT\_Project.openProject() method

打开工程

## 签名

```typescript
openProject(projectUuid: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

projectUuid


</td><td>

string


</td><td>

工程 UUID


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

是否成功打开工程

## 备注

本操作将会在 EDA 前端打开指定工程，如若原先已打开其它工程且有未保存的变更，执行本操作将直接丢失所有未保存的数据


path: references/easyeda-api-reference/classes/DMT_Schematic.md
content: # DMT\_Schematic class

文档树 / 原理图管理类

## 签名

```typescript
declare class DMT_Schematic 
```

## 备注

在当前打开的工程内进行原理图管理的相关操作

## 方法

<table><thead><tr><th>

方法名


</th><th>

修饰符


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[copySchematic(schematicUuid, boardName)](./DMT_Schematic.md)


</td><td>


</td><td>

**_(BETA)_** 复制原理图


</td></tr>
<tr><td>

[copySchematicPage(schematicPageUuid, schematicUuid)](./DMT_Schematic.md)


</td><td>


</td><td>

**_(BETA)_** 复制原理图图页


</td></tr>
<tr><td>

[createSchematic(boardName)](./DMT_Schematic.md)


</td><td>


</td><td>

**_(BETA)_** 创建原理图


</td></tr>
<tr><td>

[createSchematicPage(schematicUuid)](./DMT_Schematic.md)


</td><td>


</td><td>

**_(BETA)_** 创建原理图图页


</td></tr>
<tr><td>

[deleteSchematic(schematicUuid)](./DMT_Schematic.md)


</td><td>


</td><td>

**_(BETA)_** 删除原理图


</td></tr>
<tr><td>

[deleteSchematicPage(schematicPageUuid)](./DMT_Schematic.md)


</td><td>


</td><td>

**_(BETA)_** 删除原理图图页


</td></tr>
<tr><td>

[getAllSchematicPagesInfo()](./DMT_Schematic.md)


</td><td>


</td><td>

**_(BETA)_** 获取工程内所有原理图图页的详细属性


</td></tr>
<tr><td>

[getAllSchematicsInfo()](./DMT_Schematic.md)


</td><td>


</td><td>

**_(BETA)_** 获取工程内所有原理图的详细属性


</td></tr>
<tr><td>

[getCurrentSchematicAllSchematicPagesInfo()](./DMT_Schematic.md)


</td><td>


</td><td>

**_(BETA)_** 获取当前原理图内所有原理图图页的详细属性


</td></tr>
<tr><td>

[getCurrentSchematicInfo()](./DMT_Schematic.md)


</td><td>


</td><td>

**_(BETA)_** 获取当前原理图的详细属性


</td></tr>
<tr><td>

[getCurrentSchematicPageInfo()](./DMT_Schematic.md)


</td><td>


</td><td>

**_(BETA)_** 获取当前原理图图页的详细属性


</td></tr>
<tr><td>

[getSchematicInfo(schematicUuid)](./DMT_Schematic.md)


</td><td>


</td><td>

**_(BETA)_** 获取原理图的详细属性


</td></tr>
<tr><td>

[getSchematicPageInfo(schematicPageUuid)](./DMT_Schematic.md)


</td><td>


</td><td>

**_(BETA)_** 获取原理图图页的详细属性


</td></tr>
<tr><td>

[modifySchematicName(schematicUuid, schematicName)](./DMT_Schematic.md)


</td><td>


</td><td>

**_(BETA)_** 修改原理图名称


</td></tr>
<tr><td>

[modifySchematicPageName(schematicPageUuid, schematicPageName)](./DMT_Schematic.md)


</td><td>


</td><td>

**_(BETA)_** 修改原理图图页名称


</td></tr>
<tr><td>

[modifySchematicPageTitleBlock(showTitleBlock, titleBlockData)](./DMT_Schematic.md)


</td><td>


</td><td>

**_(BETA)_** 修改原理图图页明细表


</td></tr>
<tr><td>

[reorderSchematicPages(schematicUuid, schematicPageItemsArray)](./DMT_Schematic.md)


</td><td>


</td><td>

**_(BETA)_** 重新排序原理图图页


</td></tr>
</tbody></table>

---

## 方法详情

### copyschematic

# DMT\_Schematic.copySchematic() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

复制原理图

## 签名

```typescript
copySchematic(schematicUuid: string, boardName?: string): Promise<string | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

schematicUuid


</td><td>

string


</td><td>

源原理图 UUID


</td></tr>
<tr><td>

boardName


</td><td>

string


</td><td>

_（可选）_ 新原理图所属板子名称，如若不指定则为游离原理图


</td></tr>
</tbody></table>



## 返回值

Promise&lt;string \| undefined&gt;

新原理图 UUID，如若为 `undefined` 则复制失败

## 备注

如若原理图已关联复用模块（在工程库内存在同名的复用模块符号），则复制原理图时将同步新建复用模块符号

### copyschematicpage

# DMT\_Schematic.copySchematicPage() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

复制原理图图页

## 签名

```typescript
copySchematicPage(schematicPageUuid: string, schematicUuid?: string): Promise<string | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

schematicPageUuid


</td><td>

string


</td><td>

源原理图图页 UUID


</td></tr>
<tr><td>

schematicUuid


</td><td>

string


</td><td>

_（可选）_ 目标原理图 UUID，如若不指定则为当前原理图


</td></tr>
</tbody></table>



## 返回值

Promise&lt;string \| undefined&gt;

新原理图图页 UUID，如若为 `undefined` 则复制失败

### createschematic

# DMT\_Schematic.createSchematic() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

创建原理图

## 签名

```typescript
createSchematic(boardName?: string): Promise<string | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

boardName


</td><td>

string


</td><td>

_（可选）_ 所属板子名称，如若不指定则为游离原理图


</td></tr>
</tbody></table>



## 返回值

Promise&lt;string \| undefined&gt;

原理图 UUID，如若为 `undefined` 则创建失败

### createschematicpage

# DMT\_Schematic.createSchematicPage() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

创建原理图图页

## 签名

```typescript
createSchematicPage(schematicUuid: string): Promise<string | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

schematicUuid


</td><td>

string


</td><td>

所属原理图 UUID


</td></tr>
</tbody></table>



## 返回值

Promise&lt;string \| undefined&gt;

原理图图页 UUID，如若为 `undefined` 则创建失败

### deleteschematic

# DMT\_Schematic.deleteSchematic() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

删除原理图

## 签名

```typescript
deleteSchematic(schematicUuid: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

schematicUuid


</td><td>

string


</td><td>

原理图 UUID


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

操作是否成功

## 备注

如若原理图已关联复用模块（在工程库内存在同名的复用模块符号），则删除原理图时将同步删除关联的 PCB 和复用模块符号，复用模块符号不可删除则跳过

### deleteschematicpage

# DMT\_Schematic.deleteSchematicPage() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

删除原理图图页

## 签名

```typescript
deleteSchematicPage(schematicPageUuid: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

schematicPageUuid


</td><td>

string


</td><td>

原理图图页 UUID


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

操作是否成功

### getallschematicpagesinfo

# DMT\_Schematic.getAllSchematicPagesInfo() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

获取工程内所有原理图图页的详细属性

## 签名

```typescript
getAllSchematicPagesInfo(): Promise<Array<IDMT_SchematicPageItem>>;
```


## 返回值

Promise&lt;Array&lt;[IDMT\_SchematicPageItem](../interfaces/IDMT_SchematicPageItem.md)<!-- -->&gt;&gt;

所有原理图图页的详细属性的数组

### getallschematicsinfo

# DMT\_Schematic.getAllSchematicsInfo() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

获取工程内所有原理图的详细属性

## 签名

```typescript
getAllSchematicsInfo(): Promise<Array<IDMT_SchematicItem>>;
```


## 返回值

Promise&lt;Array&lt;[IDMT\_SchematicItem](../interfaces/IDMT_SchematicItem.md)<!-- -->&gt;&gt;

所有原理图的详细属性的数组

### getcurrentschematicallschematicpagesinfo

# DMT\_Schematic.getCurrentSchematicAllSchematicPagesInfo() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

获取当前原理图内所有原理图图页的详细属性

## 签名

```typescript
getCurrentSchematicAllSchematicPagesInfo(): Promise<Array<IDMT_SchematicPageItem>>;
```


## 返回值

Promise&lt;Array&lt;[IDMT\_SchematicPageItem](../interfaces/IDMT_SchematicPageItem.md)<!-- -->&gt;&gt;

所有原理图图页的详细属性的数组

### getcurrentschematicinfo

# DMT\_Schematic.getCurrentSchematicInfo() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

获取当前原理图的详细属性

## 签名

```typescript
getCurrentSchematicInfo(): Promise<IDMT_SchematicItem | undefined>;
```


## 返回值

Promise&lt;[IDMT\_SchematicItem](../interfaces/IDMT_SchematicItem.md) \| undefined&gt;

原理图的详细属性，如若为 `undefined` 则获取失败

## 备注

将会获取当前打开且拥有最后输入焦点的原理图图页所关联的原理图的详细属性

### getcurrentschematicpageinfo

# DMT\_Schematic.getCurrentSchematicPageInfo() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

获取当前原理图图页的详细属性

## 签名

```typescript
getCurrentSchematicPageInfo(): Promise<IDMT_SchematicPageItem | undefined>;
```


## 返回值

Promise&lt;[IDMT\_SchematicPageItem](../interfaces/IDMT_SchematicPageItem.md) \| undefined&gt;

原理图图页的详细属性，如若为 `undefined` 则获取失败

## 备注

将会获取当前打开且拥有最后输入焦点的原理图图页的详细属性

### getschematicinfo

# DMT\_Schematic.getSchematicInfo() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

获取原理图的详细属性

## 签名

```typescript
getSchematicInfo(schematicUuid: string): Promise<IDMT_SchematicItem | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

schematicUuid


</td><td>

string


</td><td>

原理图 UUID


</td></tr>
</tbody></table>



## 返回值

Promise&lt;[IDMT\_SchematicItem](../interfaces/IDMT_SchematicItem.md) \| undefined&gt;

原理图的详细属性，如若为 `undefined` 则获取失败

### getschematicpageinfo

# DMT\_Schematic.getSchematicPageInfo() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

获取原理图图页的详细属性

## 签名

```typescript
getSchematicPageInfo(schematicPageUuid: string): Promise<IDMT_SchematicPageItem | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

schematicPageUuid


</td><td>

string


</td><td>

原理图图页 UUID


</td></tr>
</tbody></table>



## 返回值

Promise&lt;[IDMT\_SchematicPageItem](../interfaces/IDMT_SchematicPageItem.md) \| undefined&gt;

原理图图页的详细属性，如若为 `undefined` 则获取失败

### modifyschematicname

# DMT\_Schematic.modifySchematicName() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

修改原理图名称

## 签名

```typescript
modifySchematicName(schematicUuid: string, schematicName: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

schematicUuid


</td><td>

string


</td><td>

原理图 UUID


</td></tr>
<tr><td>

schematicName


</td><td>

string


</td><td>

原理图名称


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

是否修改成功

## 备注

如若原理图已关联复用模块（在工程库内存在同名的复用模块符号），则修改名称时将同步修改复用模块符号名称与关联 PCB 名称

### modifyschematicpagename

# DMT\_Schematic.modifySchematicPageName() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

修改原理图图页名称

## 签名

```typescript
modifySchematicPageName(schematicPageUuid: string, schematicPageName: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

schematicPageUuid


</td><td>

string


</td><td>

原理图图页 UUID


</td></tr>
<tr><td>

schematicPageName


</td><td>

string


</td><td>

原理图图页名称


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

是否修改成功

### modifyschematicpagetitleblock

# DMT\_Schematic.modifySchematicPageTitleBlock() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

修改原理图图页明细表

## 签名

```typescript
modifySchematicPageTitleBlock(showTitleBlock?: boolean, titleBlockData?: {
        [key: string]: {
            showTitle?: boolean;
            showValue?: boolean;
            value?: any;
        };
    }): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

showTitleBlock


</td><td>

boolean


</td><td>

_（可选）_ 是否显示明细表，不定义将保持当前状态


</td></tr>
<tr><td>

titleBlockData


</td><td>

\{ \[key: string\]: \{ showTitle?: boolean; showValue?: boolean; value?: any; \}; \}


</td><td>

_（可选）_ 需要修改的明细项及其修改的值


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

修改操作是否成功，如若未传入 `showTitleBlock` 和 `titleBlockData` 将返回 `false`<!-- -->；请注意，如若存在无法识别的明细项但程序并未出错，将返回 `true` 的结果，因为无法识别的明细项被忽略

## 备注

`titleBlockData` 仅需要传入任何需要修改的明细项作为 `key`<!-- -->，并传入其需要修改的值，任何无法识别的明细项将被忽略，任何未传入的项和值将保持默认状态

### reorderschematicpages

# DMT\_Schematic.reorderSchematicPages() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

重新排序原理图图页

## 签名

```typescript
reorderSchematicPages(schematicUuid: string, schematicPageItemsArray: Array<IDMT_SchematicPageItem>): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

schematicUuid


</td><td>

string


</td><td>

执行排序的图页所关联的原理图 UUID


</td></tr>
<tr><td>

schematicPageItemsArray


</td><td>

Array&lt;[IDMT\_SchematicPageItem](../interfaces/IDMT_SchematicPageItem.md)<!-- -->&gt;


</td><td>

所有原理图图页属性的数组


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

排序操作是否成功

## 备注

此处源原理图图页属性的数组需要通过 [DMT\_Schematic.getAllSchematicPagesInfo()](./DMT_Schematic.md) 或其它上游方法取得，完成数组排序后传入


path: references/easyeda-api-reference/classes/DMT_SelectControl.md
content: # DMT\_SelectControl class

文档树 / 选择控制类

## 签名

```typescript
declare class DMT_SelectControl 
```

## 备注

在文档树内进行选择焦点的查询、控制

## 方法

<table><thead><tr><th>

方法名


</th><th>

修饰符


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[getCurrentDocumentInfo()](./DMT_SelectControl.md)


</td><td>


</td><td>

**_(BETA)_** 获取当前文档的属性


</td></tr>
</tbody></table>

---

## 方法详情

### getcurrentdocumentinfo

# DMT\_SelectControl.getCurrentDocumentInfo() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

获取当前文档的属性

## 签名

```typescript
getCurrentDocumentInfo(): Promise<IDMT_EditorDocumentItem | undefined>;
```


## 返回值

Promise&lt;[IDMT\_EditorDocumentItem](../interfaces/IDMT_EditorDocumentItem.md) \| undefined&gt;

文档类型、UUID、所属工程的 UUID、所属库的 UUID 组成的对象，如若为 `undefined` 则获取失败

## 备注

将会获取当前打开且拥有最后输入焦点的文档的文档类型、UUID、所属工程的 UUID 或所属库的 UUID


path: references/easyeda-api-reference/classes/DMT_Team.md
content: # DMT\_Team class

文档树 / 团队类

## 签名

```typescript
declare class DMT_Team 
```

## 方法

<table><thead><tr><th>

方法名


</th><th>

修饰符


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[getAllInvolvedTeamInfo()](./DMT_Team.md)


</td><td>


</td><td>

获取所有参与的团队的详细属性


</td></tr>
<tr><td>

[getAllTeamsInfo()](./DMT_Team.md)


</td><td>


</td><td>

获取所有直接团队的详细属性


</td></tr>
<tr><td>

[getCurrentTeamInfo()](./DMT_Team.md)


</td><td>


</td><td>

获取当前团队的详细属性


</td></tr>
</tbody></table>

---

## 方法详情

### getallinvolvedteaminfo

# DMT\_Team.getAllInvolvedTeamInfo() method

获取所有参与的团队的详细属性

## 签名

```typescript
getAllInvolvedTeamInfo(): Promise<Array<IDMT_TeamItem>>;
```


## 返回值

Promise&lt;Array&lt;[IDMT\_TeamItem](../interfaces/IDMT_TeamItem.md)<!-- -->&gt;&gt;

所有参与的团队的详细属性

### getallteamsinfo

# DMT\_Team.getAllTeamsInfo() method

获取所有直接团队的详细属性

## 签名

```typescript
getAllTeamsInfo(): Promise<Array<IDMT_TeamItem>>;
```


## 返回值

Promise&lt;Array&lt;[IDMT\_TeamItem](../interfaces/IDMT_TeamItem.md)<!-- -->&gt;&gt;

所有团队的详细属性

## 备注

个人本质上也是一个名为 \*\*个人\*\* 的团队

### getcurrentteaminfo

# DMT\_Team.getCurrentTeamInfo() method

获取当前团队的详细属性

## 签名

```typescript
getCurrentTeamInfo(): Promise<IDMT_TeamItem | undefined>;
```


## 返回值

Promise&lt;[IDMT\_TeamItem](../interfaces/IDMT_TeamItem.md) \| undefined&gt;

团队的详细属性，如若为 `undefined` 则获取失败

## 备注

将会获取当前打开且拥有最后输入焦点的原理图、PCB、面板所关联的工程的所属团队的详细属性


path: references/easyeda-api-reference/classes/DMT_Workspace.md
content: # DMT\_Workspace class

文档树 / 工作区类

## 签名

```typescript
declare class DMT_Workspace 
```

## 方法

<table><thead><tr><th>

方法名


</th><th>

修饰符


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[getAllWorkspacesInfo()](./DMT_Workspace.md)


</td><td>


</td><td>

获取所有工作区的详细属性


</td></tr>
<tr><td>

[getCurrentWorkspaceInfo()](./DMT_Workspace.md)


</td><td>


</td><td>

获取当前工作区的详细属性


</td></tr>
<tr><td>

[toggleToWorkspace(workspaceUuid)](./DMT_Workspace.md)


</td><td>


</td><td>

切换到工作区


</td></tr>
</tbody></table>

---

## 方法详情

### getallworkspacesinfo

# DMT\_Workspace.getAllWorkspacesInfo() method

获取所有工作区的详细属性

## 签名

```typescript
getAllWorkspacesInfo(): Promise<Array<IDMT_WorkspaceItem>>;
```


## 返回值

Promise&lt;Array&lt;[IDMT\_WorkspaceItem](../interfaces/IDMT_WorkspaceItem.md)<!-- -->&gt;&gt;

所有工作区的详细属性

### getcurrentworkspaceinfo

# DMT\_Workspace.getCurrentWorkspaceInfo() method

获取当前工作区的详细属性

## 签名

```typescript
getCurrentWorkspaceInfo(): Promise<IDMT_WorkspaceItem | undefined>;
```


## 返回值

Promise&lt;[IDMT\_WorkspaceItem](../interfaces/IDMT_WorkspaceItem.md) \| undefined&gt;

工作区的详细属性，如若为 `undefined` 则获取失败

## 备注

将会获取当前工作区的详细属性

### toggletoworkspace

# DMT\_Workspace.toggleToWorkspace() method

切换到工作区

## 签名

```typescript
toggleToWorkspace(workspaceUuid?: string): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

workspaceUuid


</td><td>

string


</td><td>

_（可选）_ 工作区 UUID，如若不指定，则将切换到个人工作区


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

切换操作是否成功


path: references/easyeda-api-reference/classes/EDA.md
content: # eda variable

扩展用户 API 接口

## 签名

```typescript
eda: EDA
```

---

## 属性详情

### dmt_board

# EDA.dmt\_Board property

## 签名

```typescript
dmt_Board: DMT_Board;
```

### dmt_editorcontrol

# EDA.dmt\_EditorControl property

## 签名

```typescript
dmt_EditorControl: DMT_EditorControl;
```

### dmt_folder

# EDA.dmt\_Folder property

## 签名

```typescript
dmt_Folder: DMT_Folder;
```

### dmt_panel

# EDA.dmt\_Panel property

## 签名

```typescript
dmt_Panel: DMT_Panel;
```

### dmt_pcb

# EDA.dmt\_Pcb property

## 签名

```typescript
dmt_Pcb: DMT_Pcb;
```

### dmt_project

# EDA.dmt\_Project property

## 签名

```typescript
dmt_Project: DMT_Project;
```

### dmt_schematic

# EDA.dmt\_Schematic property

## 签名

```typescript
dmt_Schematic: DMT_Schematic;
```

### dmt_selectcontrol

# EDA.dmt\_SelectControl property

## 签名

```typescript
dmt_SelectControl: DMT_SelectControl;
```

### dmt_team

# EDA.dmt\_Team property

## 签名

```typescript
dmt_Team: DMT_Team;
```

### dmt_workspace

# EDA.dmt\_Workspace property

## 签名

```typescript
dmt_Workspace: DMT_Workspace;
```

### lib_3dmodel

# EDA.lib\_3DModel property

## 签名

```typescript
lib_3DModel: LIB_3DModel;
```

### lib_cbb

# EDA.lib\_Cbb property

## 签名

```typescript
lib_Cbb: LIB_Cbb;
```

### lib_classification

# EDA.lib\_Classification property

## 签名

```typescript
lib_Classification: LIB_Classification;
```

### lib_device

# EDA.lib\_Device property

## 签名

```typescript
lib_Device: LIB_Device;
```

### lib_footprint

# EDA.lib\_Footprint property

## 签名

```typescript
lib_Footprint: LIB_Footprint;
```

### lib_librarieslist

# EDA.lib\_LibrariesList property

## 签名

```typescript
lib_LibrariesList: LIB_LibrariesList;
```

### lib_panellibrary

# EDA.lib\_PanelLibrary property

## 签名

```typescript
lib_PanelLibrary: LIB_PanelLibrary;
```

### lib_selectcontrol

# EDA.lib\_SelectControl property

## 签名

```typescript
lib_SelectControl: LIB_SelectControl;
```

### lib_symbol

# EDA.lib\_Symbol property

## 签名

```typescript
lib_Symbol: LIB_Symbol;
```

### pcb_document

# EDA.pcb\_Document property

## 签名

```typescript
pcb_Document: PCB_Document;
```

### pcb_drc

# EDA.pcb\_Drc property

## 签名

```typescript
pcb_Drc: PCB_Drc;
```

### pcb_event

# EDA.pcb\_Event property

## 签名

```typescript
pcb_Event: PCB_Event;
```

### pcb_layer

# EDA.pcb\_Layer property

## 签名

```typescript
pcb_Layer: PCB_Layer;
```

### pcb_manufacturedata

# EDA.pcb\_ManufactureData property

## 签名

```typescript
pcb_ManufactureData: PCB_ManufactureData;
```

### pcb_mathpolygon

# EDA.pcb\_MathPolygon property

## 签名

```typescript
pcb_MathPolygon: PCB_MathPolygon;
```

### pcb_net

# EDA.pcb\_Net property

## 签名

```typescript
pcb_Net: PCB_Net;
```

### pcb_primitive

# EDA.pcb\_Primitive property

## 签名

```typescript
pcb_Primitive: PCB_Primitive;
```

### pcb_primitivearc

# EDA.pcb\_PrimitiveArc property

## 签名

```typescript
pcb_PrimitiveArc: PCB_PrimitiveArc;
```

### pcb_primitiveattribute

# EDA.pcb\_PrimitiveAttribute property

## 签名

```typescript
pcb_PrimitiveAttribute: PCB_PrimitiveAttribute;
```

### pcb_primitivecomponent

# EDA.pcb\_PrimitiveComponent property

## 签名

```typescript
pcb_PrimitiveComponent: PCB_PrimitiveComponent;
```

### pcb_primitivedimension

# EDA.pcb\_PrimitiveDimension property

## 签名

```typescript
pcb_PrimitiveDimension: PCB_PrimitiveDimension;
```

### pcb_primitivefill

# EDA.pcb\_PrimitiveFill property

## 签名

```typescript
pcb_PrimitiveFill: PCB_PrimitiveFill;
```

### pcb_primitiveimage

# EDA.pcb\_PrimitiveImage property

## 签名

```typescript
pcb_PrimitiveImage: PCB_PrimitiveImage;
```

### pcb_primitiveline

# EDA.pcb\_PrimitiveLine property

## 签名

```typescript
pcb_PrimitiveLine: PCB_PrimitiveLine;
```

### pcb_primitiveobject

# EDA.pcb\_PrimitiveObject property

## 签名

```typescript
pcb_PrimitiveObject: PCB_PrimitiveObject;
```

### pcb_primitivepad

# EDA.pcb\_PrimitivePad property

## 签名

```typescript
pcb_PrimitivePad: PCB_PrimitivePad;
```

### pcb_primitivepolyline

# EDA.pcb\_PrimitivePolyline property

## 签名

```typescript
pcb_PrimitivePolyline: PCB_PrimitivePolyline;
```

### pcb_primitivepour

# EDA.pcb\_PrimitivePour property

## 签名

```typescript
pcb_PrimitivePour: PCB_PrimitivePour;
```

### pcb_primitivepoured

# EDA.pcb\_PrimitivePoured property

## 签名

```typescript
pcb_PrimitivePoured: PCB_PrimitivePoured;
```

### pcb_primitiveregion

# EDA.pcb\_PrimitiveRegion property

## 签名

```typescript
pcb_PrimitiveRegion: PCB_PrimitiveRegion;
```

### pcb_primitivestring

# EDA.pcb\_PrimitiveString property

## 签名

```typescript
pcb_PrimitiveString: PCB_PrimitiveString;
```

### pcb_primitivevia

# EDA.pcb\_PrimitiveVia property

## 签名

```typescript
pcb_PrimitiveVia: PCB_PrimitiveVia;
```

### pcb_selectcontrol

# EDA.pcb\_SelectControl property

## 签名

```typescript
pcb_SelectControl: PCB_SelectControl;
```

### pnl_document

# EDA.pnl\_Document property

## 签名

```typescript
pnl_Document: PNL_Document;
```

### sch_document

# EDA.sch\_Document property

## 签名

```typescript
sch_Document: SCH_Document;
```

### sch_drc

# EDA.sch\_Drc property

## 签名

```typescript
sch_Drc: SCH_Drc;
```

### sch_event

# EDA.sch\_Event property

## 签名

```typescript
sch_Event: SCH_Event;
```

### sch_manufacturedata

# EDA.sch\_ManufactureData property

## 签名

```typescript
sch_ManufactureData: SCH_ManufactureData;
```

### sch_netlist

# EDA.sch\_Netlist property

## 签名

```typescript
sch_Netlist: SCH_Netlist;
```

### sch_primitive

# EDA.sch\_Primitive property

## 签名

```typescript
sch_Primitive: SCH_Primitive;
```

### sch_primitivearc

# EDA.sch\_PrimitiveArc property

## 签名

```typescript
sch_PrimitiveArc: SCH_PrimitiveArc;
```

### sch_primitiveattribute

# EDA.sch\_PrimitiveAttribute property

## 签名

```typescript
sch_PrimitiveAttribute: SCH_PrimitiveAttribute;
```

### sch_primitivebus

# EDA.sch\_PrimitiveBus property

## 签名

```typescript
sch_PrimitiveBus: SCH_PrimitiveBus;
```

### sch_primitivecircle

# EDA.sch\_PrimitiveCircle property

## 签名

```typescript
sch_PrimitiveCircle: SCH_PrimitiveCircle;
```

### sch_primitivecomponent

# EDA.sch\_PrimitiveComponent property

## 签名

```typescript
sch_PrimitiveComponent: SCH_PrimitiveComponent | SCH_PrimitiveComponent3;
```

### sch_primitivepin

# EDA.sch\_PrimitivePin property

## 签名

```typescript
sch_PrimitivePin: SCH_PrimitivePin;
```

### sch_primitivepolygon

# EDA.sch\_PrimitivePolygon property

## 签名

```typescript
sch_PrimitivePolygon: SCH_PrimitivePolygon;
```

### sch_primitiverectangle

# EDA.sch\_PrimitiveRectangle property

## 签名

```typescript
sch_PrimitiveRectangle: SCH_PrimitiveRectangle;
```

### sch_primitivetext

# EDA.sch\_PrimitiveText property

## 签名

```typescript
sch_PrimitiveText: SCH_PrimitiveText;
```

### sch_primitivewire

# EDA.sch\_PrimitiveWire property

## 签名

```typescript
sch_PrimitiveWire: SCH_PrimitiveWire;
```

### sch_selectcontrol

# EDA.sch\_SelectControl property

## 签名

```typescript
sch_SelectControl: SCH_SelectControl;
```

### sch_simulationengine

# EDA.sch\_SimulationEngine property

## 签名

```typescript
sch_SimulationEngine: SCH_SimulationEngine;
```

### sch_utils

# EDA.sch\_Utils property

## 签名

```typescript
sch_Utils: SCH_Utils;
```

### sys_clienturl

# EDA.sys\_ClientUrl property

## 签名

```typescript
sys_ClientUrl: SYS_ClientUrl;
```

### sys_dialog

# EDA.sys\_Dialog property

## 签名

```typescript
sys_Dialog: SYS_Dialog;
```

### sys_environment

# EDA.sys\_Environment property

## 签名

```typescript
sys_Environment: SYS_Environment;
```

### sys_filemanager

# EDA.sys\_FileManager property

## 签名

```typescript
sys_FileManager: SYS_FileManager;
```

### sys_filesystem

# EDA.sys\_FileSystem property

## 签名

```typescript
sys_FileSystem: SYS_FileSystem;
```

### sys_fontmanager

# EDA.sys\_FontManager property

## 签名

```typescript
sys_FontManager: SYS_FontManager;
```

### sys_formatconversion

# EDA.sys\_FormatConversion property

## 签名

```typescript
sys_FormatConversion: SYS_FormatConversion;
```

### sys_headermenu

# EDA.sys\_HeaderMenu property

## 签名

```typescript
sys_HeaderMenu: SYS_HeaderMenu;
```

### sys_i18n

# EDA.sys\_I18n property

## 签名

```typescript
sys_I18n: SYS_I18n;
```

### sys_iframe

# EDA.sys\_IFrame property

## 签名

```typescript
sys_IFrame: SYS_IFrame;
```

### sys_loadingandprogressbar

# EDA.sys\_LoadingAndProgressBar property

## 签名

```typescript
sys_LoadingAndProgressBar: SYS_LoadingAndProgressBar;
```

### sys_log

# EDA.sys\_Log property

## 签名

```typescript
sys_Log: SYS_Log;
```

### sys_message

# EDA.sys\_Message property

## 签名

```typescript
sys_Message: SYS_Message;
```

### sys_messagebox

# EDA.sys\_MessageBox property

## 签名

```typescript
sys_MessageBox: SYS_MessageBox;
```

### sys_messagebus

# EDA.sys\_MessageBus property

## 签名

```typescript
sys_MessageBus: SYS_MessageBus;
```

### sys_panelcontrol

# EDA.sys\_PanelControl property

## 签名

```typescript
sys_PanelControl: SYS_PanelControl;
```

### sys_rightclickmenu

# EDA.sys\_RightClickMenu property

## 签名

```typescript
sys_RightClickMenu: SYS_RightClickMenu;
```

### sys_setting

# EDA.sys\_Setting property

## 签名

```typescript
sys_Setting: SYS_Setting;
```

### sys_shortcutkey

# EDA.sys\_ShortcutKey property

## 签名

```typescript
sys_ShortcutKey: SYS_ShortcutKey;
```

### sys_storage

# EDA.sys\_Storage property

## 签名

```typescript
sys_Storage: SYS_Storage;
```

### sys_timer

# EDA.sys\_Timer property

## 签名

```typescript
sys_Timer: SYS_Timer;
```

### sys_toastmessage

# EDA.sys\_ToastMessage property

## 签名

```typescript
sys_ToastMessage: SYS_ToastMessage;
```

### sys_tool

# EDA.sys\_Tool property

## 签名

```typescript
sys_Tool: SYS_Tool;
```

### sys_unit

# EDA.sys\_Unit property

## 签名

```typescript
sys_Unit: SYS_Unit;
```

### sys_websocket

# EDA.sys\_WebSocket property

## 签名

```typescript
sys_WebSocket: SYS_WebSocket;
```

### sys_window

# EDA.sys\_Window property

## 签名

```typescript
sys_Window: SYS_Window;
```


path: references/easyeda-api-reference/classes/IPCB_ComplexPolygon.md
content: # IPCB\_ComplexPolygon class

复杂多边形

## 签名

```typescript
declare class IPCB_ComplexPolygon 
```

## 备注

复杂多边形可以包含多个单多边形，通过 [fill-rule](https://developer.mozilla.org/zh-CN/docs/Web/SVG/Attribute/fill-rule) 将其组合，以实现多边形的布尔运算。 目前嘉立创 EDA 专业版固定使用 [nonzero](https://developer.mozilla.org/zh-CN/docs/Web/SVG/Attribute/fill-rule#nonzero) 这个 fill-rule。


## 方法

<table><thead><tr><th>

方法名


</th><th>

修饰符


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[addSource(complexPolygon)](./IPCB_ComplexPolygon.md)


</td><td>


</td><td>

添加多边形数据


</td></tr>
<tr><td>

[getSource()](./IPCB_ComplexPolygon.md)


</td><td>


</td><td>

获取多边形数据


</td></tr>
<tr><td>

[getSourceStrictComplex()](./IPCB_ComplexPolygon.md)


</td><td>


</td><td>

获取复杂多边形数据


</td></tr>
</tbody></table>

---

## 方法详情

### addsource

# IPCB\_ComplexPolygon.addSource() method

添加多边形数据

## 签名

```typescript
addSource(complexPolygon: TPCB_PolygonSourceArray | Array<TPCB_PolygonSourceArray> | IPCB_Polygon | Array<IPCB_Polygon>): IPCB_ComplexPolygon;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

complexPolygon


</td><td>

[TPCB\_PolygonSourceArray](../types/TPCB_PolygonSourceArray.md) \| Array&lt;[TPCB\_PolygonSourceArray](../types/TPCB_PolygonSourceArray.md)<!-- -->&gt; \| [IPCB\_Polygon](./IPCB_Polygon.md) \| Array&lt;[IPCB\_Polygon](./IPCB_Polygon.md)<!-- -->&gt;


</td><td>

复杂多边形数据


</td></tr>
</tbody></table>



## 返回值

[IPCB\_ComplexPolygon](./IPCB_ComplexPolygon.md)

复杂多边形对象

### getsource

# IPCB\_ComplexPolygon.getSource() method

获取多边形数据

## 签名

```typescript
getSource(): TPCB_PolygonSourceArray | Array<TPCB_PolygonSourceArray>;
```


## 返回值

[TPCB\_PolygonSourceArray](../types/TPCB_PolygonSourceArray.md) \| Array&lt;[TPCB\_PolygonSourceArray](../types/TPCB_PolygonSourceArray.md)<!-- -->&gt;

单多边形或复杂多边形数据

## 备注

如遇仅包含单一的单多边形，将会化简最外层的数组

### getsourcestrictcomplex

# IPCB\_ComplexPolygon.getSourceStrictComplex() method

获取复杂多边形数据

## 签名

```typescript
getSourceStrictComplex(): Array<TPCB_PolygonSourceArray>;
```


## 返回值

Array&lt;[TPCB\_PolygonSourceArray](../types/TPCB_PolygonSourceArray.md)<!-- -->&gt;

复杂多边形数据

## 备注

强制返回复杂多边形格式数据，即使它仅包含单一的单多边形


path: references/easyeda-api-reference/classes/IPCB_Polygon.md
content: # IPCB\_Polygon class

单多边形

## 签名

```typescript
declare class IPCB_Polygon 
```

## 备注


## 方法

<table><thead><tr><th>

方法名


</th><th>

修饰符


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[getSource()](./IPCB_Polygon.md)


</td><td>


</td><td>

获取单多边形数据


</td></tr>
</tbody></table>

---

## 方法详情

### getsource

# IPCB\_Polygon.getSource() method

获取单多边形数据

## 签名

```typescript
getSource(): TPCB_PolygonSourceArray;
```


## 返回值

[TPCB\_PolygonSourceArray](../types/TPCB_PolygonSourceArray.md)

单多边形数据


path: references/easyeda-api-reference/classes/IPCB_PrimitiveArc.md
content: # IPCB\_PrimitiveArc class

圆弧线图元

## 签名

```typescript
declare class IPCB_PrimitiveArc implements IPCB_Primitive 
```
**实现自：**[IPCB\_Primitive](../interfaces/IPCB_Primitive.md)

## 备注

直线和圆弧线均为导线，对应画布的线条走线和圆弧走线


## 方法

<table><thead><tr><th>

方法名


</th><th>

修饰符


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[done()](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

**_(BETA)_** 将对图元的更改应用到画布


</td></tr>
<tr><td>

[getAdjacentPrimitives()](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

**_(BETA)_** 获取相邻的图元对象


</td></tr>
<tr><td>

[getEntireTrack(includeVias)](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

**_(BETA)_** 获取整段导线


</td></tr>
<tr><td>

[getEntireTrack(includeVias)](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

**_(BETA)_** 获取整段导线


</td></tr>
<tr><td>

[getState\_ArcAngle()](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

获取属性状态：圆弧角度


</td></tr>
<tr><td>

[getState\_EndX()](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

获取属性状态：终止位置 X


</td></tr>
<tr><td>

[getState\_EndY()](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

获取属性状态：终止位置 Y


</td></tr>
<tr><td>

[getState\_InteractiveMode()](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

获取属性状态：交互模式


</td></tr>
<tr><td>

[getState\_Layer()](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

获取属性状态：层


</td></tr>
<tr><td>

[getState\_LineWidth()](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

获取属性状态：线宽


</td></tr>
<tr><td>

[getState\_Net()](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

获取属性状态：网络名称


</td></tr>
<tr><td>

[getState\_PrimitiveId()](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

获取属性状态：图元 ID


</td></tr>
<tr><td>

[getState\_PrimitiveLock()](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

获取属性状态：是否锁定


</td></tr>
<tr><td>

[getState\_PrimitiveType()](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

获取属性状态：图元类型


</td></tr>
<tr><td>

[getState\_StartX()](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

获取属性状态：起始位置 X


</td></tr>
<tr><td>

[getState\_StartY()](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

获取属性状态：起始位置 Y


</td></tr>
<tr><td>

[isAsync()](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

查询图元是否为异步图元


</td></tr>
<tr><td>

[reset()](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

**_(BETA)_** 将异步图元重置为当前画布状态


</td></tr>
<tr><td>

[setState\_ArcAngle(arcAngle)](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：圆弧角度


</td></tr>
<tr><td>

[setState\_EndX(endX)](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：终止位置 X


</td></tr>
<tr><td>

[setState\_EndY(endY)](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：终止位置 Y


</td></tr>
<tr><td>

[setState\_InteractiveMode(interactiveMode)](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：交互模式


</td></tr>
<tr><td>

[setState\_Layer(layer)](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：层


</td></tr>
<tr><td>

[setState\_LineWidth(lineWidth)](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：线宽


</td></tr>
<tr><td>

[setState\_Net(net)](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：网络名称


</td></tr>
<tr><td>

[setState\_PrimitiveLock(primitiveLock)](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：是否锁定


</td></tr>
<tr><td>

[setState\_StartX(startX)](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：起始位置 X


</td></tr>
<tr><td>

[setState\_StartY(startY)](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：起始位置 Y


</td></tr>
<tr><td>

[toAsync()](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

将图元转换为异步图元


</td></tr>
<tr><td>

[toSync()](./IPCB_PrimitiveArc.md)


</td><td>


</td><td>

将图元转换为同步图元


</td></tr>
</tbody></table>

---

## 方法详情

### done

# IPCB\_PrimitiveArc.done() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

将对图元的更改应用到画布

## 签名

```typescript
done(): Promise<IPCB_PrimitiveArc>;
```


## 返回值

Promise&lt;[IPCB\_PrimitiveArc](./IPCB_PrimitiveArc.md)<!-- -->&gt;

圆弧线图元对象

### getadjacentprimitives

# IPCB\_PrimitiveArc.getAdjacentPrimitives() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

获取相邻的图元对象

## 签名

```typescript
getAdjacentPrimitives(): Promise<Array<IPCB_PrimitiveLine | IPCB_PrimitiveVia | IPCB_PrimitiveArc>>;
```


## 返回值

Promise&lt;Array&lt;[IPCB\_PrimitiveLine](./IPCB_PrimitiveLine.md) \| [IPCB\_PrimitiveVia](./IPCB_PrimitiveVia.md) \| [IPCB\_PrimitiveArc](./IPCB_PrimitiveArc.md)<!-- -->&gt;&gt;

相邻的直线、过孔、圆弧线图元对象

## 备注

将会获取与圆弧线直接相连的直线、过孔、圆弧线图元对象

### getentiretrack

# IPCB\_PrimitiveArc.getEntireTrack() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

获取整段导线

## 签名

```typescript
getEntireTrack(includeVias: false): Promise<Array<IPCB_PrimitiveLine | IPCB_PrimitiveArc>>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

includeVias


</td><td>

false


</td><td>

是否包含导线两端的过孔


</td></tr>
</tbody></table>



## 返回值

Promise&lt;Array&lt;[IPCB\_PrimitiveLine](./IPCB_PrimitiveLine.md) \| [IPCB\_PrimitiveArc](./IPCB_PrimitiveArc.md)<!-- -->&gt;&gt;

整段导线内的所有直线和圆弧线

### getentiretrack_1

# IPCB\_PrimitiveArc.getEntireTrack() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

获取整段导线

## 签名

```typescript
getEntireTrack(includeVias: true): Promise<Array<IPCB_PrimitiveLine | IPCB_PrimitiveArc | IPCB_PrimitiveVia>>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

includeVias


</td><td>

true


</td><td>

是否包含导线两端的过孔


</td></tr>
</tbody></table>



## 返回值

Promise&lt;Array&lt;[IPCB\_PrimitiveLine](./IPCB_PrimitiveLine.md) \| [IPCB\_PrimitiveArc](./IPCB_PrimitiveArc.md) \| [IPCB\_PrimitiveVia](./IPCB_PrimitiveVia.md)<!-- -->&gt;&gt;

整段导线内的所有直线、圆弧线，以及两端连接的过孔（如果有）

### getstate_arcangle

# IPCB\_PrimitiveArc.getState\_ArcAngle() method

获取属性状态：圆弧角度

## 签名

```typescript
getState_ArcAngle(): number;
```


## 返回值

number

圆弧角度

### getstate_endx

# IPCB\_PrimitiveArc.getState\_EndX() method

获取属性状态：终止位置 X

## 签名

```typescript
getState_EndX(): number;
```


## 返回值

number

终止位置 X

### getstate_endy

# IPCB\_PrimitiveArc.getState\_EndY() method

获取属性状态：终止位置 Y

## 签名

```typescript
getState_EndY(): number;
```


## 返回值

number

终止位置 Y

### getstate_interactivemode

# IPCB\_PrimitiveArc.getState\_InteractiveMode() method

获取属性状态：交互模式

## 签名

```typescript
getState_InteractiveMode(): EPCB_PrimitiveArcInteractiveMode;
```


## 返回值

[EPCB\_PrimitiveArcInteractiveMode](../enums/EPCB_PrimitiveArcInteractiveMode.md)

交互模式

### getstate_layer

# IPCB\_PrimitiveArc.getState\_Layer() method

获取属性状态：层

## 签名

```typescript
getState_Layer(): TPCB_LayersOfLine;
```


## 返回值

[TPCB\_LayersOfLine](../types/TPCB_LayersOfLine.md)

层

### getstate_linewidth

# IPCB\_PrimitiveArc.getState\_LineWidth() method

获取属性状态：线宽

## 签名

```typescript
getState_LineWidth(): number;
```


## 返回值

number

线宽

### getstate_net

# IPCB\_PrimitiveArc.getState\_Net() method

获取属性状态：网络名称

## 签名

```typescript
getState_Net(): string;
```


## 返回值

string

网络名称

### getstate_primitiveid

# IPCB\_PrimitiveArc.getState\_PrimitiveId() method

获取属性状态：图元 ID

## 签名

```typescript
getState_PrimitiveId(): string;
```


## 返回值

string

图元 ID

### getstate_primitivelock

# IPCB\_PrimitiveArc.getState\_PrimitiveLock() method

获取属性状态：是否锁定

## 签名

```typescript
getState_PrimitiveLock(): boolean;
```


## 返回值

boolean

是否锁定

### getstate_primitivetype

# IPCB\_PrimitiveArc.getState\_PrimitiveType() method

获取属性状态：图元类型

## 签名

```typescript
getState_PrimitiveType(): EPCB_PrimitiveType;
```


## 返回值

[EPCB\_PrimitiveType](../enums/EPCB_PrimitiveType.md)

图元类型

### getstate_startx

# IPCB\_PrimitiveArc.getState\_StartX() method

获取属性状态：起始位置 X

## 签名

```typescript
getState_StartX(): number;
```


## 返回值

number

起始位置 X

### getstate_starty

# IPCB\_PrimitiveArc.getState\_StartY() method

获取属性状态：起始位置 Y

## 签名

```typescript
getState_StartY(): number;
```


## 返回值

number

起始位置 Y

### isasync

# IPCB\_PrimitiveArc.isAsync() method

查询图元是否为异步图元

## 签名

```typescript
isAsync(): boolean;
```


## 返回值

boolean

是否为异步图元

### reset

# IPCB\_PrimitiveArc.reset() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

将异步图元重置为当前画布状态

## 签名

```typescript
reset(): Promise<IPCB_PrimitiveArc>;
```


## 返回值

Promise&lt;[IPCB\_PrimitiveArc](./IPCB_PrimitiveArc.md)<!-- -->&gt;

圆弧线图元对象

### setstate_arcangle

# IPCB\_PrimitiveArc.setState\_ArcAngle() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：圆弧角度

## 签名

```typescript
setState_ArcAngle(arcAngle: number): IPCB_PrimitiveArc;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

arcAngle


</td><td>

number


</td><td>

圆弧角度


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveArc](./IPCB_PrimitiveArc.md)

圆弧线图元对象

### setstate_endx

# IPCB\_PrimitiveArc.setState\_EndX() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：终止位置 X

## 签名

```typescript
setState_EndX(endX: number): IPCB_PrimitiveArc;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

endX


</td><td>

number


</td><td>

终止位置 X


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveArc](./IPCB_PrimitiveArc.md)

圆弧线图元对象

### setstate_endy

# IPCB\_PrimitiveArc.setState\_EndY() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：终止位置 Y

## 签名

```typescript
setState_EndY(endY: number): IPCB_PrimitiveArc;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

endY


</td><td>

number


</td><td>

终止位置 Y


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveArc](./IPCB_PrimitiveArc.md)

圆弧线图元对象

### setstate_interactivemode

# IPCB\_PrimitiveArc.setState\_InteractiveMode() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：交互模式

## 签名

```typescript
setState_InteractiveMode(interactiveMode: EPCB_PrimitiveArcInteractiveMode): IPCB_PrimitiveArc;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

interactiveMode


</td><td>

[EPCB\_PrimitiveArcInteractiveMode](../enums/EPCB_PrimitiveArcInteractiveMode.md)


</td><td>

交互模式


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveArc](./IPCB_PrimitiveArc.md)

圆弧线图元对象

### setstate_layer

# IPCB\_PrimitiveArc.setState\_Layer() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：层

## 签名

```typescript
setState_Layer(layer: TPCB_LayersOfLine): IPCB_PrimitiveArc;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

layer


</td><td>

[TPCB\_LayersOfLine](../types/TPCB_LayersOfLine.md)


</td><td>

层


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveArc](./IPCB_PrimitiveArc.md)

圆弧线图元对象

### setstate_linewidth

# IPCB\_PrimitiveArc.setState\_LineWidth() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：线宽

## 签名

```typescript
setState_LineWidth(lineWidth: number): IPCB_PrimitiveArc;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

lineWidth


</td><td>

number


</td><td>

线宽


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveArc](./IPCB_PrimitiveArc.md)

圆弧线图元对象

### setstate_net

# IPCB\_PrimitiveArc.setState\_Net() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：网络名称

## 签名

```typescript
setState_Net(net: string): IPCB_PrimitiveArc;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

net


</td><td>

string


</td><td>

网络名称


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveArc](./IPCB_PrimitiveArc.md)

圆弧线图元对象

### setstate_primitivelock

# IPCB\_PrimitiveArc.setState\_PrimitiveLock() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：是否锁定

## 签名

```typescript
setState_PrimitiveLock(primitiveLock: boolean): IPCB_PrimitiveArc;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

primitiveLock


</td><td>

boolean


</td><td>

是否锁定


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveArc](./IPCB_PrimitiveArc.md)

圆弧线图元对象

### setstate_startx

# IPCB\_PrimitiveArc.setState\_StartX() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：起始位置 X

## 签名

```typescript
setState_StartX(startX: number): IPCB_PrimitiveArc;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

startX


</td><td>

number


</td><td>

起始位置 X


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveArc](./IPCB_PrimitiveArc.md)

圆弧线图元对象

### setstate_starty

# IPCB\_PrimitiveArc.setState\_StartY() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：起始位置 Y

## 签名

```typescript
setState_StartY(startY: number): IPCB_PrimitiveArc;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

startY


</td><td>

number


</td><td>

起始位置 Y


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveArc](./IPCB_PrimitiveArc.md)

圆弧线图元对象

### toasync

# IPCB\_PrimitiveArc.toAsync() method

将图元转换为异步图元

## 签名

```typescript
toAsync(): IPCB_PrimitiveArc;
```


## 返回值

[IPCB\_PrimitiveArc](./IPCB_PrimitiveArc.md)

圆弧线图元对象

### tosync

# IPCB\_PrimitiveArc.toSync() method

将图元转换为同步图元

## 签名

```typescript
toSync(): IPCB_PrimitiveArc;
```


## 返回值

[IPCB\_PrimitiveArc](./IPCB_PrimitiveArc.md)

圆弧线图元对象


path: references/easyeda-api-reference/classes/IPCB_PrimitiveAttribute.md
content: # IPCB\_PrimitiveAttribute class

属性图元

## 签名

```typescript
declare class IPCB_PrimitiveAttribute implements IPCB_Primitive 
```
**实现自：**[IPCB\_Primitive](../interfaces/IPCB_Primitive.md)

## Constructors

<table><thead><tr><th>

Constructor


</th><th>

修饰符


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[(constructor)(layer, x, y, key, value, keyVisible, valueVisible, fontFamily, fontSize, lineWidth, alignMode, rotation, reverse, expansion, mirror, primitiveLock, primitiveId, parentPrimitiveId)](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

Constructs a new instance of the `IPCB_PrimitiveAttribute` class


</td></tr>
</tbody></table>

## 方法

<table><thead><tr><th>

方法名


</th><th>

修饰符


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[getState\_AlignMode()](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

获取属性状态：对齐模式


</td></tr>
<tr><td>

[getState\_Expansion()](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

获取属性状态：反相扩展


</td></tr>
<tr><td>

[getState\_FontFamily()](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

获取属性状态：字体


</td></tr>
<tr><td>

[getState\_FontSize()](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

获取属性状态：字号


</td></tr>
<tr><td>

[getState\_Key()](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

获取属性状态：Key


</td></tr>
<tr><td>

[getState\_KeyVisible()](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

获取属性状态：Key 是否可见


</td></tr>
<tr><td>

[getState\_Layer()](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

获取属性状态：层


</td></tr>
<tr><td>

[getState\_LineWidth()](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

获取属性状态：线宽


</td></tr>
<tr><td>

[getState\_Mirror()](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

获取属性状态：是否镜像


</td></tr>
<tr><td>

[getState\_ParentPrimitiveId()](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

获取属性状态：关联的父图元 ID


</td></tr>
<tr><td>

[getState\_PrimitiveId()](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

获取属性状态：图元 ID


</td></tr>
<tr><td>

[getState\_PrimitiveLock()](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

获取属性状态：是否锁定


</td></tr>
<tr><td>

[getState\_PrimitiveType()](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

获取属性状态：图元类型


</td></tr>
<tr><td>

[getState\_Reverse()](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

获取属性状态：是否反相


</td></tr>
<tr><td>

[getState\_Rotation()](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

获取属性状态：旋转角度


</td></tr>
<tr><td>

[getState\_Value()](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

获取属性状态：Value


</td></tr>
<tr><td>

[getState\_ValueVisible()](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

获取属性状态：Value 是否可见


</td></tr>
<tr><td>

[getState\_X()](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

获取属性状态：坐标 X


</td></tr>
<tr><td>

[getState\_Y()](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

获取属性状态：坐标 Y


</td></tr>
<tr><td>

[isAsync()](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

查询图元是否为异步图元


</td></tr>
<tr><td>

[setState\_AlignMode(alignMode)](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：对齐模式


</td></tr>
<tr><td>

[setState\_Expansion(expansion)](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：反相扩展


</td></tr>
<tr><td>

[setState\_FontFamily(fontFamily)](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：字体


</td></tr>
<tr><td>

[setState\_FontSize(fontSize)](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：字号


</td></tr>
<tr><td>

[setState\_Key(key)](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：Key


</td></tr>
<tr><td>

[setState\_KeyVisible(keyVisible)](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：Key 是否可见


</td></tr>
<tr><td>

[setState\_Layer(layer)](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：层


</td></tr>
<tr><td>

[setState\_LineWidth(lineWidth)](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：线宽


</td></tr>
<tr><td>

[setState\_Mirror(mirror)](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：是否镜像


</td></tr>
<tr><td>

[setState\_PrimitiveLock(primitiveLock)](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：是否锁定


</td></tr>
<tr><td>

[setState\_Reverse(reverse)](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：是否反相


</td></tr>
<tr><td>

[setState\_Rotation(rotation)](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：旋转角度


</td></tr>
<tr><td>

[setState\_Value(value)](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：Value


</td></tr>
<tr><td>

[setState\_ValueVisible(valueVisible)](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：Value 是否可见


</td></tr>
<tr><td>

[setState\_X(x)](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：坐标 X


</td></tr>
<tr><td>

[setState\_Y(y)](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：坐标 Y


</td></tr>
<tr><td>

[toAsync()](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

将图元转换为异步图元


</td></tr>
<tr><td>

[toSync()](./IPCB_PrimitiveAttribute.md)


</td><td>


</td><td>

将图元转换为同步图元


</td></tr>
</tbody></table>

---

## 构造函数详情

### _constructor_

# IPCB\_PrimitiveAttribute.(constructor)

Constructs a new instance of the `IPCB_PrimitiveAttribute` class

## 签名

```typescript
constructor(layer: TPCB_LayersOfImage, x: number | null, y: number | null, key: string, value: string, keyVisible: boolean, valueVisible: boolean, fontFamily: string, fontSize: number, lineWidth: number, alignMode: EPCB_PrimitiveStringAlignMode, rotation: number, reverse: boolean, expansion: number, mirror: boolean, primitiveLock: boolean, primitiveId: string, parentPrimitiveId: string);
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

layer


</td><td>

[TPCB\_LayersOfImage](../types/TPCB_LayersOfImage.md)


</td><td>


</td></tr>
<tr><td>

x


</td><td>

number \| null


</td><td>


</td></tr>
<tr><td>

y


</td><td>

number \| null


</td><td>


</td></tr>
<tr><td>

key


</td><td>

string


</td><td>


</td></tr>
<tr><td>

value


</td><td>

string


</td><td>


</td></tr>
<tr><td>

keyVisible


</td><td>

boolean


</td><td>


</td></tr>
<tr><td>

valueVisible


</td><td>

boolean


</td><td>


</td></tr>
<tr><td>

fontFamily


</td><td>

string


</td><td>


</td></tr>
<tr><td>

fontSize


</td><td>

number


</td><td>


</td></tr>
<tr><td>

lineWidth


</td><td>

number


</td><td>


</td></tr>
<tr><td>

alignMode


</td><td>

[EPCB\_PrimitiveStringAlignMode](../enums/EPCB_PrimitiveStringAlignMode.md)


</td><td>


</td></tr>
<tr><td>

rotation


</td><td>

number


</td><td>


</td></tr>
<tr><td>

reverse


</td><td>

boolean


</td><td>


</td></tr>
<tr><td>

expansion


</td><td>

number


</td><td>


</td></tr>
<tr><td>

mirror


</td><td>

boolean


</td><td>


</td></tr>
<tr><td>

primitiveLock


</td><td>

boolean


</td><td>


</td></tr>
<tr><td>

primitiveId


</td><td>

string


</td><td>


</td></tr>
<tr><td>

parentPrimitiveId


</td><td>

string


</td><td>


</td></tr>
</tbody></table>


---

## 方法详情

### getstate_alignmode

# IPCB\_PrimitiveAttribute.getState\_AlignMode() method

获取属性状态：对齐模式

## 签名

```typescript
getState_AlignMode(): EPCB_PrimitiveStringAlignMode;
```


## 返回值

[EPCB\_PrimitiveStringAlignMode](../enums/EPCB_PrimitiveStringAlignMode.md)

对齐模式

### getstate_expansion

# IPCB\_PrimitiveAttribute.getState\_Expansion() method

获取属性状态：反相扩展

## 签名

```typescript
getState_Expansion(): number;
```


## 返回值

number

反相扩展

### getstate_fontfamily

# IPCB\_PrimitiveAttribute.getState\_FontFamily() method

获取属性状态：字体

## 签名

```typescript
getState_FontFamily(): string;
```


## 返回值

string

字体

### getstate_fontsize

# IPCB\_PrimitiveAttribute.getState\_FontSize() method

获取属性状态：字号

## 签名

```typescript
getState_FontSize(): number;
```


## 返回值

number

字号

### getstate_key

# IPCB\_PrimitiveAttribute.getState\_Key() method

获取属性状态：Key

## 签名

```typescript
getState_Key(): string;
```


## 返回值

string

Key

### getstate_keyvisible

# IPCB\_PrimitiveAttribute.getState\_KeyVisible() method

获取属性状态：Key 是否可见

## 签名

```typescript
getState_KeyVisible(): boolean;
```


## 返回值

boolean

Key 是否可见

### getstate_layer

# IPCB\_PrimitiveAttribute.getState\_Layer() method

获取属性状态：层

## 签名

```typescript
getState_Layer(): TPCB_LayersOfImage;
```


## 返回值

[TPCB\_LayersOfImage](../types/TPCB_LayersOfImage.md)

层

### getstate_linewidth

# IPCB\_PrimitiveAttribute.getState\_LineWidth() method

获取属性状态：线宽

## 签名

```typescript
getState_LineWidth(): number;
```


## 返回值

number

线宽

### getstate_mirror

# IPCB\_PrimitiveAttribute.getState\_Mirror() method

获取属性状态：是否镜像

## 签名

```typescript
getState_Mirror(): boolean;
```


## 返回值

boolean

是否镜像

### getstate_parentprimitiveid

# IPCB\_PrimitiveAttribute.getState\_ParentPrimitiveId() method

获取属性状态：关联的父图元 ID

## 签名

```typescript
getState_ParentPrimitiveId(): string;
```


## 返回值

string

关联的父图元 ID

### getstate_primitiveid

# IPCB\_PrimitiveAttribute.getState\_PrimitiveId() method

获取属性状态：图元 ID

## 签名

```typescript
getState_PrimitiveId(): string;
```


## 返回值

string

图元 ID

### getstate_primitivelock

# IPCB\_PrimitiveAttribute.getState\_PrimitiveLock() method

获取属性状态：是否锁定

## 签名

```typescript
getState_PrimitiveLock(): boolean;
```


## 返回值

boolean

是否锁定

### getstate_primitivetype

# IPCB\_PrimitiveAttribute.getState\_PrimitiveType() method

获取属性状态：图元类型

## 签名

```typescript
getState_PrimitiveType(): EPCB_PrimitiveType;
```


## 返回值

[EPCB\_PrimitiveType](../enums/EPCB_PrimitiveType.md)

图元类型

### getstate_reverse

# IPCB\_PrimitiveAttribute.getState\_Reverse() method

获取属性状态：是否反相

## 签名

```typescript
getState_Reverse(): boolean;
```


## 返回值

boolean

是否反相

### getstate_rotation

# IPCB\_PrimitiveAttribute.getState\_Rotation() method

获取属性状态：旋转角度

## 签名

```typescript
getState_Rotation(): number;
```


## 返回值

number

旋转角度

### getstate_value

# IPCB\_PrimitiveAttribute.getState\_Value() method

获取属性状态：Value

## 签名

```typescript
getState_Value(): string;
```


## 返回值

string

值

### getstate_valuevisible

# IPCB\_PrimitiveAttribute.getState\_ValueVisible() method

获取属性状态：Value 是否可见

## 签名

```typescript
getState_ValueVisible(): boolean;
```


## 返回值

boolean

Value 是否可见

### getstate_x

# IPCB\_PrimitiveAttribute.getState\_X() method

获取属性状态：坐标 X

## 签名

```typescript
getState_X(): number | null;
```


## 返回值

number \| null

坐标 X

### getstate_y

# IPCB\_PrimitiveAttribute.getState\_Y() method

获取属性状态：坐标 Y

## 签名

```typescript
getState_Y(): number | null;
```


## 返回值

number \| null

坐标 Y

### isasync

# IPCB\_PrimitiveAttribute.isAsync() method

查询图元是否为异步图元

## 签名

```typescript
isAsync(): boolean;
```


## 返回值

boolean

是否为异步图元

### setstate_alignmode

# IPCB\_PrimitiveAttribute.setState\_AlignMode() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：对齐模式

## 签名

```typescript
setState_AlignMode(alignMode: EPCB_PrimitiveStringAlignMode): IPCB_PrimitiveAttribute;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

alignMode


</td><td>

[EPCB\_PrimitiveStringAlignMode](../enums/EPCB_PrimitiveStringAlignMode.md)


</td><td>

对齐模式


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)

属性图元对象

### setstate_expansion

# IPCB\_PrimitiveAttribute.setState\_Expansion() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：反相扩展

## 签名

```typescript
setState_Expansion(expansion: number): IPCB_PrimitiveAttribute;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

expansion


</td><td>

number


</td><td>

反相扩展


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)

属性图元对象

### setstate_fontfamily

# IPCB\_PrimitiveAttribute.setState\_FontFamily() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：字体

## 签名

```typescript
setState_FontFamily(fontFamily: string): IPCB_PrimitiveAttribute;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

fontFamily


</td><td>

string


</td><td>

字体


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)

属性图元对象

### setstate_fontsize

# IPCB\_PrimitiveAttribute.setState\_FontSize() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：字号

## 签名

```typescript
setState_FontSize(fontSize: number): IPCB_PrimitiveAttribute;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

fontSize


</td><td>

number


</td><td>

字号


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)

属性图元对象

### setstate_key

# IPCB\_PrimitiveAttribute.setState\_Key() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：Key

## 签名

```typescript
setState_Key(key: string): IPCB_PrimitiveAttribute;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

key


</td><td>

string


</td><td>

Key


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)

属性图元对象

### setstate_keyvisible

# IPCB\_PrimitiveAttribute.setState\_KeyVisible() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：Key 是否可见

## 签名

```typescript
setState_KeyVisible(keyVisible: boolean): IPCB_PrimitiveAttribute;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

keyVisible


</td><td>

boolean


</td><td>

Key 是否可见


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)

属性图元对象

### setstate_layer

# IPCB\_PrimitiveAttribute.setState\_Layer() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：层

## 签名

```typescript
setState_Layer(layer: TPCB_LayersOfImage): IPCB_PrimitiveAttribute;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

layer


</td><td>

[TPCB\_LayersOfImage](../types/TPCB_LayersOfImage.md)


</td><td>

层


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)

属性图元对象

### setstate_linewidth

# IPCB\_PrimitiveAttribute.setState\_LineWidth() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：线宽

## 签名

```typescript
setState_LineWidth(lineWidth: number): IPCB_PrimitiveAttribute;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

lineWidth


</td><td>

number


</td><td>

线宽


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)

属性图元对象

### setstate_mirror

# IPCB\_PrimitiveAttribute.setState\_Mirror() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：是否镜像

## 签名

```typescript
setState_Mirror(mirror: boolean): IPCB_PrimitiveAttribute;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

mirror


</td><td>

boolean


</td><td>

是否镜像


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)

属性图元对象

### setstate_primitivelock

# IPCB\_PrimitiveAttribute.setState\_PrimitiveLock() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：是否锁定

## 签名

```typescript
setState_PrimitiveLock(primitiveLock: boolean): IPCB_PrimitiveAttribute;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

primitiveLock


</td><td>

boolean


</td><td>

是否锁定


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)

属性图元对象

### setstate_reverse

# IPCB\_PrimitiveAttribute.setState\_Reverse() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：是否反相

## 签名

```typescript
setState_Reverse(reverse: boolean): IPCB_PrimitiveAttribute;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

reverse


</td><td>

boolean


</td><td>

是否反相


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)

属性图元对象

### setstate_rotation

# IPCB\_PrimitiveAttribute.setState\_Rotation() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：旋转角度

## 签名

```typescript
setState_Rotation(rotation: number): IPCB_PrimitiveAttribute;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

rotation


</td><td>

number


</td><td>

旋转角度


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)

属性图元对象

### setstate_value

# IPCB\_PrimitiveAttribute.setState\_Value() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：Value

## 签名

```typescript
setState_Value(value: string): IPCB_PrimitiveAttribute;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

value


</td><td>

string


</td><td>

值


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)

属性图元对象

### setstate_valuevisible

# IPCB\_PrimitiveAttribute.setState\_ValueVisible() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：Value 是否可见

## 签名

```typescript
setState_ValueVisible(valueVisible: boolean): IPCB_PrimitiveAttribute;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

valueVisible


</td><td>

boolean


</td><td>

Value 是否可见


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)

属性图元对象

### setstate_x

# IPCB\_PrimitiveAttribute.setState\_X() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：坐标 X

## 签名

```typescript
setState_X(x: number): IPCB_PrimitiveAttribute;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

x


</td><td>

number


</td><td>

坐标 X


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)

属性图元对象

### setstate_y

# IPCB\_PrimitiveAttribute.setState\_Y() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：坐标 Y

## 签名

```typescript
setState_Y(y: number): IPCB_PrimitiveAttribute;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

y


</td><td>

number


</td><td>

坐标 Y


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)

属性图元对象

### toasync

# IPCB\_PrimitiveAttribute.toAsync() method

将图元转换为异步图元

## 签名

```typescript
toAsync(): IPCB_PrimitiveAttribute;
```


## 返回值

[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)

属性图元对象

### tosync

# IPCB\_PrimitiveAttribute.toSync() method

将图元转换为同步图元

## 签名

```typescript
toSync(): IPCB_PrimitiveAttribute;
```


## 返回值

[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)

属性图元对象


path: references/easyeda-api-reference/classes/IPCB_PrimitiveComponent.md
content: # IPCB\_PrimitiveComponent class

器件图元

## 签名

```typescript
declare class IPCB_PrimitiveComponent implements IPCB_Primitive 
```
**实现自：**[IPCB\_Primitive](../interfaces/IPCB_Primitive.md)

## 备注


## 方法

<table><thead><tr><th>

方法名


</th><th>

修饰符


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[done()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

**_(BETA)_** 将对图元的更改应用到画布


</td></tr>
<tr><td>

[getAllPins()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

**_(BETA)_** 获取器件关联的所有焊盘


</td></tr>
<tr><td>

[getState\_AddIntoBom()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

获取属性状态：是否加入 BOM


</td></tr>
<tr><td>

[getState\_Component()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

获取属性状态：关联库器件


</td></tr>
<tr><td>

[getState\_Designator()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

获取属性状态：位号


</td></tr>
<tr><td>

[getState\_Footprint()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

获取属性状态：关联库封装


</td></tr>
<tr><td>

[getState\_Layer()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

获取属性状态：层


</td></tr>
<tr><td>

[getState\_Manufacturer()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

获取属性状态：制造商


</td></tr>
<tr><td>

[getState\_ManufacturerId()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

获取属性状态：制造商编号


</td></tr>
<tr><td>

[getState\_Model3D()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

获取属性状态：关联库 3D 模型


</td></tr>
<tr><td>

[getState\_Name()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

获取属性状态：名称


</td></tr>
<tr><td>

[getState\_OtherProperty()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

获取属性状态：其它参数


</td></tr>
<tr><td>

[getState\_Pads()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

获取属性状态：焊盘


</td></tr>
<tr><td>

[getState\_PrimitiveId()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

获取属性状态：图元 ID


</td></tr>
<tr><td>

[getState\_PrimitiveLock()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

获取属性状态：是否锁定


</td></tr>
<tr><td>

[getState\_PrimitiveType()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

获取属性状态：图元类型


</td></tr>
<tr><td>

[getState\_Rotation()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

获取属性状态：旋转角度


</td></tr>
<tr><td>

[getState\_Supplier()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

获取属性状态：供应商


</td></tr>
<tr><td>

[getState\_SupplierId()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

获取属性状态：供应商编号


</td></tr>
<tr><td>

[getState\_UniqueId()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

获取属性状态：唯一 ID


</td></tr>
<tr><td>

[getState\_X()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

获取属性状态：坐标 X


</td></tr>
<tr><td>

[getState\_Y()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

获取属性状态：坐标 Y


</td></tr>
<tr><td>

[isAsync()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

查询图元是否为异步图元


</td></tr>
<tr><td>

[reset()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

**_(BETA)_** 将异步图元重置为当前画布状态


</td></tr>
<tr><td>

[setState\_AddIntoBom(addIntoBom)](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：是否加入 BOM


</td></tr>
<tr><td>

[setState\_Designator(designator)](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：位号


</td></tr>
<tr><td>

[setState\_Layer(layer)](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：层


</td></tr>
<tr><td>

[setState\_Manufacturer(manufacturer)](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：制造商


</td></tr>
<tr><td>

[setState\_ManufacturerId(manufacturerId)](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：制造商编号


</td></tr>
<tr><td>

[setState\_Name(name)](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：名称


</td></tr>
<tr><td>

[setState\_OtherProperty(otherProperty)](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：其它参数


</td></tr>
<tr><td>

[setState\_PrimitiveLock(primitiveLock)](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：是否锁定


</td></tr>
<tr><td>

[setState\_Rotation(rotation)](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：旋转角度


</td></tr>
<tr><td>

[setState\_Supplier(supplier)](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：供应商


</td></tr>
<tr><td>

[setState\_SupplierId(supplierId)](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：供应商编号


</td></tr>
<tr><td>

[setState\_UniqueId(uniqueId)](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：唯一 ID


</td></tr>
<tr><td>

[setState\_X(x)](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：坐标 X


</td></tr>
<tr><td>

[setState\_Y(y)](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：坐标 Y


</td></tr>
<tr><td>

[toAsync()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

将图元转换为异步图元


</td></tr>
<tr><td>

[toSync()](./IPCB_PrimitiveComponent.md)


</td><td>


</td><td>

将图元转换为同步图元


</td></tr>
</tbody></table>

---

## 方法详情

### done

# IPCB\_PrimitiveComponent.done() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

将对图元的更改应用到画布

## 签名

```typescript
done(): Promise<IPCB_PrimitiveComponent>;
```


## 返回值

Promise&lt;[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)<!-- -->&gt;

器件图元对象

### getallpins

# IPCB\_PrimitiveComponent.getAllPins() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

获取器件关联的所有焊盘

## 签名

```typescript
getAllPins(): Promise<Array<IPCB_PrimitiveComponentPad>>;
```


## 返回值

Promise&lt;Array&lt;[IPCB\_PrimitiveComponentPad](./IPCB_PrimitiveComponentPad.md)<!-- -->&gt;&gt;

器件焊盘图元数组

### getstate_addintobom

# IPCB\_PrimitiveComponent.getState\_AddIntoBom() method

获取属性状态：是否加入 BOM

## 签名

```typescript
getState_AddIntoBom(): boolean;
```


## 返回值

boolean

是否加入 BOM

### getstate_component

# IPCB\_PrimitiveComponent.getState\_Component() method

获取属性状态：关联库器件

## 签名

```typescript
getState_Component(): {
        libraryUuid: string;
        uuid: string;
    };
```


## 返回值

\{ libraryUuid: string; uuid: string; \}

关联库器件

### getstate_designator

# IPCB\_PrimitiveComponent.getState\_Designator() method

获取属性状态：位号

## 签名

```typescript
getState_Designator(): string | undefined;
```


## 返回值

string \| undefined

位号

### getstate_footprint

# IPCB\_PrimitiveComponent.getState\_Footprint() method

获取属性状态：关联库封装

## 签名

```typescript
getState_Footprint(): {
        libraryUuid: string;
        uuid: string;
    } | undefined;
```


## 返回值

{ libraryUuid: string; uuid: string; } \| undefined

关联库封装

### getstate_layer

# IPCB\_PrimitiveComponent.getState\_Layer() method

获取属性状态：层

## 签名

```typescript
getState_Layer(): TPCB_LayersOfComponent;
```


## 返回值

[TPCB\_LayersOfComponent](../types/TPCB_LayersOfComponent.md)

层

### getstate_manufacturer

# IPCB\_PrimitiveComponent.getState\_Manufacturer() method

获取属性状态：制造商

## 签名

```typescript
getState_Manufacturer(): string | undefined;
```


## 返回值

string \| undefined

制造商

### getstate_manufacturerid

# IPCB\_PrimitiveComponent.getState\_ManufacturerId() method

获取属性状态：制造商编号

## 签名

```typescript
getState_ManufacturerId(): string | undefined;
```


## 返回值

string \| undefined

制造商编号

### getstate_model3d

# IPCB\_PrimitiveComponent.getState\_Model3D() method

获取属性状态：关联库 3D 模型

## 签名

```typescript
getState_Model3D(): {
        libraryUuid: string;
        uuid: string;
    } | undefined;
```


## 返回值

{ libraryUuid: string; uuid: string; } \| undefined

关联库 3D 模型

### getstate_name

# IPCB\_PrimitiveComponent.getState\_Name() method

获取属性状态：名称

## 签名

```typescript
getState_Name(): string | undefined;
```


## 返回值

string \| undefined

名称

### getstate_otherproperty

# IPCB\_PrimitiveComponent.getState\_OtherProperty() method

获取属性状态：其它参数

## 签名

```typescript
getState_OtherProperty(): {
        [key: string]: string | number | boolean;
    } | undefined;
```


## 返回值

{ \[key: string\]: string \| number \| boolean; } \| undefined

其它参数

### getstate_pads

# IPCB\_PrimitiveComponent.getState\_Pads() method

获取属性状态：焊盘

## 签名

```typescript
getState_Pads(): Array<{
        primitiveId: string;
        net: string;
        padNumber: string;
    }> | undefined;
```


## 返回值

Array&lt;{ primitiveId: string; net: string; padNumber: string; }&gt; \| undefined

焊盘

### getstate_primitiveid

# IPCB\_PrimitiveComponent.getState\_PrimitiveId() method

获取属性状态：图元 ID

## 签名

```typescript
getState_PrimitiveId(): string;
```


## 返回值

string

图元 ID

### getstate_primitivelock

# IPCB\_PrimitiveComponent.getState\_PrimitiveLock() method

获取属性状态：是否锁定

## 签名

```typescript
getState_PrimitiveLock(): boolean;
```


## 返回值

boolean

是否锁定

### getstate_primitivetype

# IPCB\_PrimitiveComponent.getState\_PrimitiveType() method

获取属性状态：图元类型

## 签名

```typescript
getState_PrimitiveType(): EPCB_PrimitiveType;
```


## 返回值

[EPCB\_PrimitiveType](../enums/EPCB_PrimitiveType.md)

图元类型

### getstate_rotation

# IPCB\_PrimitiveComponent.getState\_Rotation() method

获取属性状态：旋转角度

## 签名

```typescript
getState_Rotation(): number;
```


## 返回值

number

旋转角度

### getstate_supplier

# IPCB\_PrimitiveComponent.getState\_Supplier() method

获取属性状态：供应商

## 签名

```typescript
getState_Supplier(): string | undefined;
```


## 返回值

string \| undefined

供应商

### getstate_supplierid

# IPCB\_PrimitiveComponent.getState\_SupplierId() method

获取属性状态：供应商编号

## 签名

```typescript
getState_SupplierId(): string | undefined;
```


## 返回值

string \| undefined

供应商编号

### getstate_uniqueid

# IPCB\_PrimitiveComponent.getState\_UniqueId() method

获取属性状态：唯一 ID

## 签名

```typescript
getState_UniqueId(): string | undefined;
```


## 返回值

string \| undefined

唯一 ID

### getstate_x

# IPCB\_PrimitiveComponent.getState\_X() method

获取属性状态：坐标 X

## 签名

```typescript
getState_X(): number;
```


## 返回值

number

坐标 X

### getstate_y

# IPCB\_PrimitiveComponent.getState\_Y() method

获取属性状态：坐标 Y

## 签名

```typescript
getState_Y(): number;
```


## 返回值

number

坐标 Y

### isasync

# IPCB\_PrimitiveComponent.isAsync() method

查询图元是否为异步图元

## 签名

```typescript
isAsync(): boolean;
```


## 返回值

boolean

是否为异步图元

### reset

# IPCB\_PrimitiveComponent.reset() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

将异步图元重置为当前画布状态

## 签名

```typescript
reset(): Promise<IPCB_PrimitiveComponent>;
```


## 返回值

Promise&lt;[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)<!-- -->&gt;

器件图元对象

### setstate_addintobom

# IPCB\_PrimitiveComponent.setState\_AddIntoBom() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：是否加入 BOM

## 签名

```typescript
setState_AddIntoBom(addIntoBom: boolean): IPCB_PrimitiveComponent;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

addIntoBom


</td><td>

boolean


</td><td>

是否加入 BOM


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)

器件图元对象

### setstate_designator

# IPCB\_PrimitiveComponent.setState\_Designator() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：位号

## 签名

```typescript
setState_Designator(designator: string | undefined): IPCB_PrimitiveComponent;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

designator


</td><td>

string \| undefined


</td><td>

位号


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)

器件图元对象

### setstate_layer

# IPCB\_PrimitiveComponent.setState\_Layer() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：层

## 签名

```typescript
setState_Layer(layer: TPCB_LayersOfComponent): IPCB_PrimitiveComponent;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

layer


</td><td>

[TPCB\_LayersOfComponent](../types/TPCB_LayersOfComponent.md)


</td><td>

层


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)

器件图元对象

### setstate_manufacturer

# IPCB\_PrimitiveComponent.setState\_Manufacturer() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：制造商

## 签名

```typescript
setState_Manufacturer(manufacturer: string | undefined): IPCB_PrimitiveComponent;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

manufacturer


</td><td>

string \| undefined


</td><td>

制造商


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)

器件图元对象

### setstate_manufacturerid

# IPCB\_PrimitiveComponent.setState\_ManufacturerId() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：制造商编号

## 签名

```typescript
setState_ManufacturerId(manufacturerId: string | undefined): IPCB_PrimitiveComponent;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

manufacturerId


</td><td>

string \| undefined


</td><td>

制造商编号


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)

器件图元对象

### setstate_name

# IPCB\_PrimitiveComponent.setState\_Name() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：名称

## 签名

```typescript
setState_Name(name: string | undefined): IPCB_PrimitiveComponent;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

name


</td><td>

string \| undefined


</td><td>

名称


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)

器件图元对象

### setstate_otherproperty

# IPCB\_PrimitiveComponent.setState\_OtherProperty() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：其它参数

## 签名

```typescript
setState_OtherProperty(otherProperty: {
        [key: string]: string | number | boolean;
    }): IPCB_PrimitiveComponent;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

otherProperty


</td><td>

\{ \[key: string\]: string \| number \| boolean; \}


</td><td>

其它参数


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)

器件图元对象

### setstate_primitivelock

# IPCB\_PrimitiveComponent.setState\_PrimitiveLock() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：是否锁定

## 签名

```typescript
setState_PrimitiveLock(primitiveLock: boolean): IPCB_PrimitiveComponent;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

primitiveLock


</td><td>

boolean


</td><td>

是否锁定


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)

器件图元对象

### setstate_rotation

# IPCB\_PrimitiveComponent.setState\_Rotation() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：旋转角度

## 签名

```typescript
setState_Rotation(rotation: number): IPCB_PrimitiveComponent;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

rotation


</td><td>

number


</td><td>

旋转角度


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)

器件图元对象

### setstate_supplier

# IPCB\_PrimitiveComponent.setState\_Supplier() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：供应商

## 签名

```typescript
setState_Supplier(supplier: string | undefined): IPCB_PrimitiveComponent;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

supplier


</td><td>

string \| undefined


</td><td>

供应商


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)

器件图元对象

### setstate_supplierid

# IPCB\_PrimitiveComponent.setState\_SupplierId() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：供应商编号

## 签名

```typescript
setState_SupplierId(supplierId: string | undefined): IPCB_PrimitiveComponent;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

supplierId


</td><td>

string \| undefined


</td><td>

供应商编号


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)

器件图元对象

### setstate_uniqueid

# IPCB\_PrimitiveComponent.setState\_UniqueId() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：唯一 ID

## 签名

```typescript
setState_UniqueId(uniqueId: string | undefined): IPCB_PrimitiveComponent;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

uniqueId


</td><td>

string \| undefined


</td><td>

唯一 ID


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)

器件图元对象

### setstate_x

# IPCB\_PrimitiveComponent.setState\_X() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：坐标 X

## 签名

```typescript
setState_X(x: number): IPCB_PrimitiveComponent;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

x


</td><td>

number


</td><td>

坐标 X


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)

器件图元对象

### setstate_y

# IPCB\_PrimitiveComponent.setState\_Y() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：坐标 Y

## 签名

```typescript
setState_Y(y: number): IPCB_PrimitiveComponent;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

y


</td><td>

number


</td><td>

坐标 Y


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)

器件图元对象

### toasync

# IPCB\_PrimitiveComponent.toAsync() method

将图元转换为异步图元

## 签名

```typescript
toAsync(): IPCB_PrimitiveComponent;
```


## 返回值

[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)

器件图元对象

### tosync

# IPCB\_PrimitiveComponent.toSync() method

将图元转换为同步图元

## 签名

```typescript
toSync(): IPCB_PrimitiveComponent;
```


## 返回值

[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)

器件图元对象


path: references/easyeda-api-reference/classes/IPCB_PrimitiveComponentPad.md
content: # IPCB\_PrimitiveComponentPad class

器件焊盘图元

## 签名

```typescript
declare class IPCB_PrimitiveComponentPad extends IPCB_PrimitivePad 
```
**扩展自：**[IPCB\_PrimitivePad](./IPCB_PrimitivePad.md)

## 备注

器件焊盘图元是一个特殊的图元，它指的是在 PCB 画布上关联到封装的焊盘

你只能通过 [器件类的 getAllPinsByPrimitiveId 方法](./PCB_PrimitiveComponent.md) 或 [器件图元的 getAllPads 方法](./IPCB_PrimitiveComponent.md) 获取到器件焊盘图元


## 属性

<table><thead><tr><th>

属性名


</th><th>

修饰符


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[primitiveType](./IPCB_PrimitiveComponentPad.md)


</td><td>

`protected`

`readonly`


</td><td>

[EPCB\_PrimitiveType.COMPONENT\_PAD](../enums/EPCB_PrimitiveType.md)


</td><td>

图元类型


</td></tr>
</tbody></table>

## 方法

<table><thead><tr><th>

方法名


</th><th>

修饰符


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[done()](./IPCB_PrimitiveComponentPad.md)


</td><td>


</td><td>

**_(BETA)_** 将对图元的更改应用到画布


</td></tr>
<tr><td>

[getConnectedPrimitives(onlyCentreConnection)](./IPCB_PrimitiveComponentPad.md)


</td><td>


</td><td>

**_(BETA)_** 获取连接的图元


</td></tr>
<tr><td>

[getConnectedPrimitives(onlyCentreConnection)](./IPCB_PrimitiveComponentPad.md)


</td><td>


</td><td>


</td></tr>
<tr><td>

[getState\_ParentComponentPrimitiveId()](./IPCB_PrimitiveComponentPad.md)


</td><td>


</td><td>

获取属性状态：父器件图元 ID


</td></tr>
<tr><td>

[setState\_ParentComponentPrimitiveId()](./IPCB_PrimitiveComponentPad.md)


</td><td>


</td><td>

设置属性状态：父器件图元 ID


</td></tr>
</tbody></table>

---

## 属性详情

### primitivetype

# IPCB\_PrimitiveComponentPad.primitiveType property

图元类型

## 签名

```typescript
protected readonly primitiveType: EPCB_PrimitiveType.COMPONENT_PAD;
```


---

## 方法详情

### done

# IPCB\_PrimitiveComponentPad.done() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

将对图元的更改应用到画布

## 签名

```typescript
done(): Promise<IPCB_PrimitiveComponentPad>;
```


## 返回值

Promise&lt;[IPCB\_PrimitiveComponentPad](./IPCB_PrimitiveComponentPad.md)<!-- -->&gt;

器件焊盘图元对象

### getconnectedprimitives

# IPCB\_PrimitiveComponentPad.getConnectedPrimitives() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

获取连接的图元

## 签名

```typescript
getConnectedPrimitives(onlyCentreConnection: true): Promise<Array<IPCB_PrimitiveLine | IPCB_PrimitiveArc | IPCB_PrimitiveVia>>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

onlyCentreConnection


</td><td>

true


</td><td>

是否仅中心连接，如若为 `true` 则仅获取中心连接的图元（直线、圆弧线、过孔），如若为 `false` 则获取所有接触的图元


</td></tr>
</tbody></table>



## 返回值

Promise&lt;Array&lt;[IPCB\_PrimitiveLine](./IPCB_PrimitiveLine.md) \| [IPCB\_PrimitiveArc](./IPCB_PrimitiveArc.md) \| [IPCB\_PrimitiveVia](./IPCB_PrimitiveVia.md)<!-- -->&gt;&gt;

## 备注

本接口可以获取到与焊盘直接接触的图元

### getconnectedprimitives_1

# IPCB\_PrimitiveComponentPad.getConnectedPrimitives() method

## 签名

```typescript
getConnectedPrimitives(onlyCentreConnection: false): Promise<Array<IPCB_PrimitiveLine | IPCB_PrimitiveArc | IPCB_PrimitiveVia | IPCB_PrimitivePolyline | IPCB_PrimitiveFill>>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

onlyCentreConnection


</td><td>

false


</td><td>


</td></tr>
</tbody></table>



## 返回值

Promise&lt;Array&lt;[IPCB\_PrimitiveLine](./IPCB_PrimitiveLine.md) \| [IPCB\_PrimitiveArc](./IPCB_PrimitiveArc.md) \| [IPCB\_PrimitiveVia](./IPCB_PrimitiveVia.md) \| [IPCB\_PrimitivePolyline](./IPCB_PrimitivePolyline.md) \| [IPCB\_PrimitiveFill](./IPCB_PrimitiveFill.md)<!-- -->&gt;&gt;

### getstate_parentcomponentprimitiveid

# IPCB\_PrimitiveComponentPad.getState\_ParentComponentPrimitiveId() method

获取属性状态：父器件图元 ID

## 签名

```typescript
getState_ParentComponentPrimitiveId(): string;
```


## 返回值

string

父器件图元 ID

### setstate_parentcomponentprimitiveid

# IPCB\_PrimitiveComponentPad.setState\_ParentComponentPrimitiveId() method

设置属性状态：父器件图元 ID

## 签名

```typescript
setState_ParentComponentPrimitiveId(): IPCB_PrimitiveComponentPad;
```


## 返回值

[IPCB\_PrimitiveComponentPad](./IPCB_PrimitiveComponentPad.md)

器件焊盘图元对象

## 备注

本器件焊盘图元属性不支持修改，本接口调用将不会有任何效果


path: references/easyeda-api-reference/classes/IPCB_PrimitiveDimension.md
content: # IPCB\_PrimitiveDimension class

尺寸标注图元

## 签名

```typescript
declare class IPCB_PrimitiveDimension implements IPCB_Primitive 
```
**实现自：**[IPCB\_Primitive](../interfaces/IPCB_Primitive.md)

## 备注


## 方法

<table><thead><tr><th>

方法名


</th><th>

修饰符


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[done()](./IPCB_PrimitiveDimension.md)


</td><td>


</td><td>

**_(BETA)_** 将对图元的更改应用到画布


</td></tr>
<tr><td>

[getState\_CoordinateSet()](./IPCB_PrimitiveDimension.md)


</td><td>


</td><td>

获取属性状态：坐标集


</td></tr>
<tr><td>

[getState\_DimensionType()](./IPCB_PrimitiveDimension.md)


</td><td>


</td><td>

获取属性状态：尺寸标注类型


</td></tr>
<tr><td>

[getState\_Layer()](./IPCB_PrimitiveDimension.md)


</td><td>


</td><td>

获取属性状态：层


</td></tr>
<tr><td>

[getState\_LineWidth()](./IPCB_PrimitiveDimension.md)


</td><td>


</td><td>

获取属性状态：线宽


</td></tr>
<tr><td>

[getState\_Precision()](./IPCB_PrimitiveDimension.md)


</td><td>


</td><td>

获取属性状态：精度


</td></tr>
<tr><td>

[getState\_PrimitiveId()](./IPCB_PrimitiveDimension.md)


</td><td>


</td><td>

获取属性状态：图元 ID


</td></tr>
<tr><td>

[getState\_PrimitiveLock()](./IPCB_PrimitiveDimension.md)


</td><td>


</td><td>

获取属性状态：是否锁定


</td></tr>
<tr><td>

[getState\_PrimitiveType()](./IPCB_PrimitiveDimension.md)


</td><td>


</td><td>

获取属性状态：图元类型


</td></tr>
<tr><td>

[getState\_TextFollow()](./IPCB_PrimitiveDimension.md)


</td><td>


</td><td>

获取属性状态：文字跟随


</td></tr>
<tr><td>

[getState\_Unit()](./IPCB_PrimitiveDimension.md)


</td><td>


</td><td>

获取属性状态：单位


</td></tr>
<tr><td>

[isAsync()](./IPCB_PrimitiveDimension.md)


</td><td>


</td><td>

查询图元是否为异步图元


</td></tr>
<tr><td>

[reset()](./IPCB_PrimitiveDimension.md)


</td><td>


</td><td>

**_(BETA)_** 将异步图元重置为当前画布状态


</td></tr>
<tr><td>

[setState\_CoordinateSet(coordinateSet)](./IPCB_PrimitiveDimension.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：坐标集


</td></tr>
<tr><td>

[setState\_DimensionType(dimensionType)](./IPCB_PrimitiveDimension.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：尺寸标注类型


</td></tr>
<tr><td>

[setState\_Layer(layer)](./IPCB_PrimitiveDimension.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：层


</td></tr>
<tr><td>

[setState\_LineWidth(lineWidth)](./IPCB_PrimitiveDimension.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：线宽


</td></tr>
<tr><td>

[setState\_Precision(precision)](./IPCB_PrimitiveDimension.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：精度


</td></tr>
<tr><td>

[setState\_PrimitiveLock(primitiveLock)](./IPCB_PrimitiveDimension.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：是否锁定


</td></tr>
<tr><td>

[setState\_Unit(unit)](./IPCB_PrimitiveDimension.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：单位


</td></tr>
<tr><td>

[toAsync()](./IPCB_PrimitiveDimension.md)


</td><td>


</td><td>

将图元转换为异步图元


</td></tr>
<tr><td>

[toSync()](./IPCB_PrimitiveDimension.md)


</td><td>


</td><td>

将图元转换为同步图元


</td></tr>
</tbody></table>

---

## 方法详情

### done

# IPCB\_PrimitiveDimension.done() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

将对图元的更改应用到画布

## 签名

```typescript
done(): Promise<IPCB_PrimitiveDimension>;
```


## 返回值

Promise&lt;[IPCB\_PrimitiveDimension](./IPCB_PrimitiveDimension.md)<!-- -->&gt;

尺寸标注图元对象

### getstate_coordinateset

# IPCB\_PrimitiveDimension.getState\_CoordinateSet() method

获取属性状态：坐标集

## 签名

```typescript
getState_CoordinateSet(): TPCB_PrimitiveDimensionCoordinateSet;
```


## 返回值

[TPCB\_PrimitiveDimensionCoordinateSet](../types/TPCB_PrimitiveDimensionCoordinateSet.md)

坐标集

### getstate_dimensiontype

# IPCB\_PrimitiveDimension.getState\_DimensionType() method

获取属性状态：尺寸标注类型

## 签名

```typescript
getState_DimensionType(): EPCB_PrimitiveDimensionType;
```


## 返回值

[EPCB\_PrimitiveDimensionType](../enums/EPCB_PrimitiveDimensionType.md)

尺寸标注类型

### getstate_layer

# IPCB\_PrimitiveDimension.getState\_Layer() method

获取属性状态：层

## 签名

```typescript
getState_Layer(): TPCB_LayersOfDimension;
```


## 返回值

[TPCB\_LayersOfDimension](../types/TPCB_LayersOfDimension.md)

层

### getstate_linewidth

# IPCB\_PrimitiveDimension.getState\_LineWidth() method

获取属性状态：线宽

## 签名

```typescript
getState_LineWidth(): number;
```


## 返回值

number

线宽

### getstate_precision

# IPCB\_PrimitiveDimension.getState\_Precision() method

获取属性状态：精度

## 签名

```typescript
getState_Precision(): number;
```


## 返回值

number

精度

### getstate_primitiveid

# IPCB\_PrimitiveDimension.getState\_PrimitiveId() method

获取属性状态：图元 ID

## 签名

```typescript
getState_PrimitiveId(): string;
```


## 返回值

string

图元 ID

### getstate_primitivelock

# IPCB\_PrimitiveDimension.getState\_PrimitiveLock() method

获取属性状态：是否锁定

## 签名

```typescript
getState_PrimitiveLock(): boolean;
```


## 返回值

boolean

是否锁定

### getstate_primitivetype

# IPCB\_PrimitiveDimension.getState\_PrimitiveType() method

获取属性状态：图元类型

## 签名

```typescript
getState_PrimitiveType(): EPCB_PrimitiveType;
```


## 返回值

[EPCB\_PrimitiveType](../enums/EPCB_PrimitiveType.md)

图元类型

### getstate_textfollow

# IPCB\_PrimitiveDimension.getState\_TextFollow() method

获取属性状态：文字跟随

## 签名

```typescript
getState_TextFollow(): 0 | 1;
```


## 返回值

0 \| 1

文字跟随

### getstate_unit

# IPCB\_PrimitiveDimension.getState\_Unit() method

获取属性状态：单位

## 签名

```typescript
getState_Unit(): ESYS_Unit.MILLIMETER | ESYS_Unit.CENTIMETER | ESYS_Unit.INCH | ESYS_Unit.MIL;
```


## 返回值

[ESYS\_Unit.MILLIMETER](../enums/ESYS_Unit.md) \| [ESYS\_Unit.CENTIMETER](../enums/ESYS_Unit.md) \| [ESYS\_Unit.INCH](../enums/ESYS_Unit.md) \| [ESYS\_Unit.MIL](../enums/ESYS_Unit.md)

单位

### isasync

# IPCB\_PrimitiveDimension.isAsync() method

查询图元是否为异步图元

## 签名

```typescript
isAsync(): boolean;
```


## 返回值

boolean

是否为异步图元

### reset

# IPCB\_PrimitiveDimension.reset() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

将异步图元重置为当前画布状态

## 签名

```typescript
reset(): Promise<IPCB_PrimitiveDimension>;
```


## 返回值

Promise&lt;[IPCB\_PrimitiveDimension](./IPCB_PrimitiveDimension.md)<!-- -->&gt;

尺寸标注图元对象

### setstate_coordinateset

# IPCB\_PrimitiveDimension.setState\_CoordinateSet() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：坐标集

## 签名

```typescript
setState_CoordinateSet(coordinateSet: TPCB_PrimitiveDimensionCoordinateSet): IPCB_PrimitiveDimension;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

coordinateSet


</td><td>

[TPCB\_PrimitiveDimensionCoordinateSet](../types/TPCB_PrimitiveDimensionCoordinateSet.md)


</td><td>

坐标集


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveDimension](./IPCB_PrimitiveDimension.md)

尺寸标注图元对象

### setstate_dimensiontype

# IPCB\_PrimitiveDimension.setState\_DimensionType() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：尺寸标注类型

## 签名

```typescript
setState_DimensionType(dimensionType: EPCB_PrimitiveDimensionType): IPCB_PrimitiveDimension;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

dimensionType


</td><td>

[EPCB\_PrimitiveDimensionType](../enums/EPCB_PrimitiveDimensionType.md)


</td><td>

尺寸标注类型


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveDimension](./IPCB_PrimitiveDimension.md)

尺寸标注图元对象

### setstate_layer

# IPCB\_PrimitiveDimension.setState\_Layer() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：层

## 签名

```typescript
setState_Layer(layer: TPCB_LayersOfDimension): IPCB_PrimitiveDimension;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

layer


</td><td>

[TPCB\_LayersOfDimension](../types/TPCB_LayersOfDimension.md)


</td><td>

层


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveDimension](./IPCB_PrimitiveDimension.md)

尺寸标注图元对象

### setstate_linewidth

# IPCB\_PrimitiveDimension.setState\_LineWidth() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：线宽

## 签名

```typescript
setState_LineWidth(lineWidth: number): IPCB_PrimitiveDimension;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

lineWidth


</td><td>

number


</td><td>

线宽


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveDimension](./IPCB_PrimitiveDimension.md)

尺寸标注图元对象

### setstate_precision

# IPCB\_PrimitiveDimension.setState\_Precision() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：精度

## 签名

```typescript
setState_Precision(precision: number): IPCB_PrimitiveDimension;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

precision


</td><td>

number


</td><td>

精度


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveDimension](./IPCB_PrimitiveDimension.md)

尺寸标注图元对象

### setstate_primitivelock

# IPCB\_PrimitiveDimension.setState\_PrimitiveLock() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：是否锁定

## 签名

```typescript
setState_PrimitiveLock(primitiveLock: boolean): IPCB_PrimitiveDimension;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

primitiveLock


</td><td>

boolean


</td><td>

是否锁定


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveDimension](./IPCB_PrimitiveDimension.md)

尺寸标注图元对象

### setstate_unit

# IPCB\_PrimitiveDimension.setState\_Unit() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：单位

## 签名

```typescript
setState_Unit(unit: ESYS_Unit.MILLIMETER | ESYS_Unit.CENTIMETER | ESYS_Unit.INCH | ESYS_Unit.MIL): IPCB_PrimitiveDimension;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

unit


</td><td>

[ESYS\_Unit.MILLIMETER](../enums/ESYS_Unit.md) \| [ESYS\_Unit.CENTIMETER](../enums/ESYS_Unit.md) \| [ESYS\_Unit.INCH](../enums/ESYS_Unit.md) \| [ESYS\_Unit.MIL](../enums/ESYS_Unit.md)


</td><td>

单位


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveDimension](./IPCB_PrimitiveDimension.md)

尺寸标注图元对象

### toasync

# IPCB\_PrimitiveDimension.toAsync() method

将图元转换为异步图元

## 签名

```typescript
toAsync(): IPCB_PrimitiveDimension;
```


## 返回值

[IPCB\_PrimitiveDimension](./IPCB_PrimitiveDimension.md)

尺寸标注图元对象

### tosync

# IPCB\_PrimitiveDimension.toSync() method

将图元转换为同步图元

## 签名

```typescript
toSync(): IPCB_PrimitiveDimension;
```


## 返回值

[IPCB\_PrimitiveDimension](./IPCB_PrimitiveDimension.md)

尺寸标注图元对象


path: references/easyeda-api-reference/classes/IPCB_PrimitiveFill.md
content: # IPCB\_PrimitiveFill class

填充图元

## 签名

```typescript
declare class IPCB_PrimitiveFill implements IPCB_Primitive 
```
**实现自：**[IPCB\_Primitive](../interfaces/IPCB_Primitive.md)

## 备注


## 方法

<table><thead><tr><th>

方法名


</th><th>

修饰符


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[convertToPolyline()](./IPCB_PrimitiveFill.md)


</td><td>


</td><td>

**_(BETA)_** 转换到：折线图元


</td></tr>
<tr><td>

[convertToPour()](./IPCB_PrimitiveFill.md)


</td><td>


</td><td>

**_(BETA)_** 转换到：覆铜边框图元


</td></tr>
<tr><td>

[convertToRegion()](./IPCB_PrimitiveFill.md)


</td><td>


</td><td>

**_(BETA)_** 转换到：区域图元(默认是禁止区域)


</td></tr>
<tr><td>

[done()](./IPCB_PrimitiveFill.md)


</td><td>


</td><td>

**_(BETA)_** 将对图元的更改应用到画布


</td></tr>
<tr><td>

[getState\_ComplexPolygon()](./IPCB_PrimitiveFill.md)


</td><td>


</td><td>

获取属性状态：复杂多边形


</td></tr>
<tr><td>

[getState\_FillMode()](./IPCB_PrimitiveFill.md)


</td><td>


</td><td>

获取属性状态：填充模式


</td></tr>
<tr><td>

[getState\_Layer()](./IPCB_PrimitiveFill.md)


</td><td>


</td><td>

获取属性状态：层


</td></tr>
<tr><td>

[getState\_LineWidth()](./IPCB_PrimitiveFill.md)


</td><td>


</td><td>

获取属性状态：线宽


</td></tr>
<tr><td>

[getState\_Net()](./IPCB_PrimitiveFill.md)


</td><td>


</td><td>

获取属性状态：网络名称


</td></tr>
<tr><td>

[getState\_PrimitiveId()](./IPCB_PrimitiveFill.md)


</td><td>


</td><td>

获取属性状态：图元 ID


</td></tr>
<tr><td>

[getState\_PrimitiveLock()](./IPCB_PrimitiveFill.md)


</td><td>


</td><td>

获取属性状态：是否锁定


</td></tr>
<tr><td>

[getState\_PrimitiveType()](./IPCB_PrimitiveFill.md)


</td><td>


</td><td>

获取属性状态：图元类型


</td></tr>
<tr><td>

[isAsync()](./IPCB_PrimitiveFill.md)


</td><td>


</td><td>

查询图元是否为异步图元


</td></tr>
<tr><td>

[reset()](./IPCB_PrimitiveFill.md)


</td><td>


</td><td>

**_(BETA)_** 将异步图元重置为当前画布状态


</td></tr>
<tr><td>

[setState\_ComplexPolygon(complexPolygon)](./IPCB_PrimitiveFill.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：复杂多边形


</td></tr>
<tr><td>

[setState\_FillMode(fillMode)](./IPCB_PrimitiveFill.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：填充模式


</td></tr>
<tr><td>

[setState\_Layer(layer)](./IPCB_PrimitiveFill.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：层


</td></tr>
<tr><td>

[setState\_LineWidth(lineWidth)](./IPCB_PrimitiveFill.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：线宽


</td></tr>
<tr><td>

[setState\_Net(net)](./IPCB_PrimitiveFill.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：网络名称


</td></tr>
<tr><td>

[setState\_PrimitiveLock(primitiveLock)](./IPCB_PrimitiveFill.md)


</td><td>


</td><td>

**_(BETA)_** 设置属性状态：是否锁定


</td></tr>
<tr><td>

[toAsync()](./IPCB_PrimitiveFill.md)


</td><td>


</td><td>

将图元转换为异步图元


</td></tr>
<tr><td>

[toSync()](./IPCB_PrimitiveFill.md)


</td><td>


</td><td>

将图元转换为同步图元


</td></tr>
</tbody></table>

---

## 方法详情

### converttopolyline

# IPCB\_PrimitiveFill.convertToPolyline() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

转换到：折线图元

## 签名

```typescript
convertToPolyline(): Promise<IPCB_PrimitivePolyline>;
```


## 返回值

Promise&lt;[IPCB\_PrimitivePolyline](./IPCB_PrimitivePolyline.md)<!-- -->&gt;

折线图元对象

### converttopour

# IPCB\_PrimitiveFill.convertToPour() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

转换到：覆铜边框图元

## 签名

```typescript
convertToPour(): Promise<IPCB_PrimitivePour>;
```


## 返回值

Promise&lt;[IPCB\_PrimitivePour](./IPCB_PrimitivePour.md)<!-- -->&gt;

覆铜边框图元对象

### converttoregion

# IPCB\_PrimitiveFill.convertToRegion() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

转换到：区域图元(默认是禁止区域)

## 签名

```typescript
convertToRegion(): Promise<IPCB_PrimitiveRegion>;
```


## 返回值

Promise&lt;[IPCB\_PrimitiveRegion](./IPCB_PrimitiveRegion.md)<!-- -->&gt;

区域图元对象

### done

# IPCB\_PrimitiveFill.done() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

将对图元的更改应用到画布

## 签名

```typescript
done(): Promise<IPCB_PrimitiveFill>;
```


## 返回值

Promise&lt;[IPCB\_PrimitiveFill](./IPCB_PrimitiveFill.md)<!-- -->&gt;

填充图元对象

### getstate_complexpolygon

# IPCB\_PrimitiveFill.getState\_ComplexPolygon() method

获取属性状态：复杂多边形

## 签名

```typescript
getState_ComplexPolygon(): IPCB_Polygon;
```


## 返回值

[IPCB\_Polygon](./IPCB_Polygon.md)

复杂多边形

### getstate_fillmode

# IPCB\_PrimitiveFill.getState\_FillMode() method

获取属性状态：填充模式

## 签名

```typescript
getState_FillMode(): EPCB_PrimitiveFillMode | undefined;
```


## 返回值

[EPCB\_PrimitiveFillMode](../enums/EPCB_PrimitiveFillMode.md) \| undefined

填充模式

### getstate_layer

# IPCB\_PrimitiveFill.getState\_Layer() method

获取属性状态：层

## 签名

```typescript
getState_Layer(): TPCB_LayersOfFill;
```


## 返回值

[TPCB\_LayersOfFill](../types/TPCB_LayersOfFill.md)

层

### getstate_linewidth

# IPCB\_PrimitiveFill.getState\_LineWidth() method

获取属性状态：线宽

## 签名

```typescript
getState_LineWidth(): number;
```


## 返回值

number

线宽

### getstate_net

# IPCB\_PrimitiveFill.getState\_Net() method

获取属性状态：网络名称

## 签名

```typescript
getState_Net(): string | undefined;
```


## 返回值

string \| undefined

网络名称

### getstate_primitiveid

# IPCB\_PrimitiveFill.getState\_PrimitiveId() method

获取属性状态：图元 ID

## 签名

```typescript
getState_PrimitiveId(): string;
```


## 返回值

string

图元 ID

### getstate_primitivelock

# IPCB\_PrimitiveFill.getState\_PrimitiveLock() method

获取属性状态：是否锁定

## 签名

```typescript
getState_PrimitiveLock(): boolean;
```


## 返回值

boolean

是否锁定

### getstate_primitivetype

# IPCB\_PrimitiveFill.getState\_PrimitiveType() method

获取属性状态：图元类型

## 签名

```typescript
getState_PrimitiveType(): EPCB_PrimitiveType;
```


## 返回值

[EPCB\_PrimitiveType](../enums/EPCB_PrimitiveType.md)

图元类型

### isasync

# IPCB\_PrimitiveFill.isAsync() method

查询图元是否为异步图元

## 签名

```typescript
isAsync(): boolean;
```


## 返回值

boolean

是否为异步图元

### reset

# IPCB\_PrimitiveFill.reset() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

将异步图元重置为当前画布状态

## 签名

```typescript
reset(): Promise<IPCB_PrimitiveFill>;
```


## 返回值

Promise&lt;[IPCB\_PrimitiveFill](./IPCB_PrimitiveFill.md)<!-- -->&gt;

填充图元对象

### setstate_complexpolygon

# IPCB\_PrimitiveFill.setState\_ComplexPolygon() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：复杂多边形

## 签名

```typescript
setState_ComplexPolygon(complexPolygon: IPCB_Polygon): IPCB_PrimitiveFill;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

complexPolygon


</td><td>

[IPCB\_Polygon](./IPCB_Polygon.md)


</td><td>

复杂多边形


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveFill](./IPCB_PrimitiveFill.md)

填充图元对象

### setstate_fillmode

# IPCB\_PrimitiveFill.setState\_FillMode() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：填充模式

## 签名

```typescript
setState_FillMode(fillMode: EPCB_PrimitiveFillMode): IPCB_PrimitiveFill;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

fillMode


</td><td>

[EPCB\_PrimitiveFillMode](../enums/EPCB_PrimitiveFillMode.md)


</td><td>

填充模式


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveFill](./IPCB_PrimitiveFill.md)

填充图元对象

### setstate_layer

# IPCB\_PrimitiveFill.setState\_Layer() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：层

## 签名

```typescript
setState_Layer(layer: TPCB_LayersOfFill): IPCB_PrimitiveFill;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

layer


</td><td>

[TPCB\_LayersOfFill](../types/TPCB_LayersOfFill.md)


</td><td>

层


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveFill](./IPCB_PrimitiveFill.md)

填充图元对象

### setstate_linewidth

# IPCB\_PrimitiveFill.setState\_LineWidth() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：线宽

## 签名

```typescript
setState_LineWidth(lineWidth: number): IPCB_PrimitiveFill;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

lineWidth


</td><td>

number


</td><td>

线宽


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveFill](./IPCB_PrimitiveFill.md)

填充图元对象

### setstate_net

# IPCB\_PrimitiveFill.setState\_Net() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：网络名称

## 签名

```typescript
setState_Net(net: string): IPCB_PrimitiveFill;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

net


</td><td>

string


</td><td>

网络名称


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveFill](./IPCB_PrimitiveFill.md)

填充图元对象

### setstate_primitivelock

# IPCB\_PrimitiveFill.setState\_PrimitiveLock() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

设置属性状态：是否锁定

## 签名

```typescript
setState_PrimitiveLock(primitiveLock: boolean): IPCB_PrimitiveFill;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

primitiveLock


</td><td>

boolean


</td><td>

是否锁定


</td></tr>
</tbody></table>



## 返回值

[IPCB\_PrimitiveFill](./IPCB_PrimitiveFill.md)

填充图元对象

### toasync

# IPCB\_PrimitiveFill.toAsync() method

将图元转换为异步图元

## 签名

```typescript
toAsync(): IPCB_PrimitiveFill;
```


## 返回值

[IPCB\_PrimitiveFill](./IPCB_PrimitiveFill.md)

填充图元对象

### tosync

# IPCB\_PrimitiveFill.toSync() method

将图元转换为同步图元

## 签名

```typescript
toSync(): IPCB_PrimitiveFill;
```


## 返回值

[IPCB\_PrimitiveFill](./IPCB_PrimitiveFill.md)

填充图元对象


path: references/easyeda-api-reference/classes/IPCB_PrimitivePoured.md
content: # IPCB\_PrimitivePoured class

覆铜填充图元

## 签名

```typescript
declare class IPCB_PrimitivePoured implements IPCB_Primitive 
```
**实现自：**[IPCB\_Primitive](../interfaces/IPCB_Primitive.md)

## 备注


## 方法

<table><thead><tr><th>

方法名


</th><th>

修饰符


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[addSolderMaskFill(pourFillId)](./IPCB_PrimitivePoured.md)


</td><td>


</td><td>

**_(BETA)_** 添加：阻焊区域


</td></tr>
<tr><td>

[convertToFill(pourFillId)](./IPCB_PrimitivePoured.md)


</td><td>


</td><td>

**_(BETA)_** 转换到：填充图元


</td></tr>
<tr><td>

[deletePourFills(pourFillIds)](./IPCB_PrimitivePoured.md)


</td><td>


</td><td>

**_(BETA)_** 删除覆铜填充区域


</td></tr>
<tr><td>

[getState\_PourFills()](./IPCB_PrimitivePoured.md)


</td><td>


</td><td>

获取属性状态：覆铜填充区域


</td></tr>
<tr><td>

[getState\_PourPrimitiveId()](./IPCB_PrimitivePoured.md)


</td><td>


</td><td>

获取属性状态：覆铜边框图元 ID


</td></tr>
<tr><td>

[getState\_PrimitiveId()](./IPCB_PrimitivePoured.md)


</td><td>


</td><td>

获取属性状态：图元 ID


</td></tr>
<tr><td>

[getState\_PrimitiveType()](./IPCB_PrimitivePoured.md)


</td><td>


</td><td>

获取属性状态：图元类型


</td></tr>
</tbody></table>

---

## 方法详情

### addsoldermaskfill

# IPCB\_PrimitivePoured.addSolderMaskFill() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

添加：阻焊区域

## 签名

```typescript
addSolderMaskFill(pourFillId: IPCB_PrimitivePouredPourFill['id']): Promise<IPCB_PrimitiveFill | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

pourFillId


</td><td>

[IPCB\_PrimitivePouredPourFill](../interfaces/IPCB_PrimitivePouredPourFill.md)<!-- -->\['id'\]


</td><td>


</td></tr>
</tbody></table>



## 返回值

Promise&lt;[IPCB\_PrimitiveFill](./IPCB_PrimitiveFill.md) \| undefined&gt;

阻焊区域填充图元对象，无法转换或 ID 错误将返回 `undefined`

### converttofill

# IPCB\_PrimitivePoured.convertToFill() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

转换到：填充图元

## 签名

```typescript
convertToFill(pourFillId: IPCB_PrimitivePouredPourFill['id']): Promise<IPCB_PrimitiveFill | undefined>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

pourFillId


</td><td>

[IPCB\_PrimitivePouredPourFill](../interfaces/IPCB_PrimitivePouredPourFill.md)<!-- -->\['id'\]


</td><td>


</td></tr>
</tbody></table>



## 返回值

Promise&lt;[IPCB\_PrimitiveFill](./IPCB_PrimitiveFill.md) \| undefined&gt;

填充图元对象，无法转换或 ID 错误将返回 `undefined`

### deletepourfills

# IPCB\_PrimitivePoured.deletePourFills() method

> 此 API 当前处于 BETA 预览状态，希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改，请不要将它用于任何正式环境。

删除覆铜填充区域

## 签名

```typescript
deletePourFills(pourFillIds: IPCB_PrimitivePouredPourFill['id'] | Array<IPCB_PrimitivePouredPourFill['id']>): Promise<boolean>;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

pourFillIds


</td><td>

[IPCB\_PrimitivePouredPourFill](../interfaces/IPCB_PrimitivePouredPourFill.md)<!-- -->\['id'\] \| Array&lt;[IPCB\_PrimitivePouredPourFill](../interfaces/IPCB_PrimitivePouredPourFill.md)<!-- -->\['id'\]&gt;


</td><td>

覆铜填充区域 ID


</td></tr>
</tbody></table>



## 返回值

Promise&lt;boolean&gt;

删除操作是否成功

### getstate_pourfills

# IPCB\_PrimitivePoured.getState\_PourFills() method

获取属性状态：覆铜填充区域

## 签名

```typescript
getState_PourFills(): Array<IPCB_PrimitivePouredPourFill>;
```


## 返回值

Array&lt;[IPCB\_PrimitivePouredPourFill](../interfaces/IPCB_PrimitivePouredPourFill.md)<!-- -->&gt;

覆铜填充区域

### getstate_pourprimitiveid

# IPCB\_PrimitivePoured.getState\_PourPrimitiveId() method

获取属性状态：覆铜边框图元 ID

## 签名

```typescript
getState_PourPrimitiveId(): string;
```


## 返回值

string

覆铜边框图元 ID

### getstate_primitiveid

# IPCB\_PrimitivePoured.getState\_PrimitiveId() method

获取属性状态：图元 ID

## 签名

```typescript
getState_PrimitiveId(): string;
```


## 返回值

string

图元 ID

### getstate_primitivetype

# IPCB\_PrimitivePoured.getState\_PrimitiveType() method

获取属性状态：图元类型

## 签名

```typescript
getState_PrimitiveType(): EPCB_PrimitiveType;
```


## 返回值

[EPCB\_PrimitiveType](../enums/EPCB_PrimitiveType.md)

图元类型


path: references/easyeda-api-reference/classes/ISCH_PrimitiveCbbSymbolComponent.md
content: # ISCH\_PrimitiveCbbSymbolComponent class

复用模块符号图元

## 签名

```typescript
declare class ISCH_PrimitiveCbbSymbolComponent extends ISCH_PrimitiveComponent 
```
**扩展自：**[ISCH\_PrimitiveComponent](./ISCH_PrimitiveComponent.md)

## 备注


## 方法

<table><thead><tr><th>

方法名


</th><th>

修饰符


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[getState\_Cbb()](./ISCH_PrimitiveCbbSymbolComponent.md)


</td><td>


</td><td>

获取属性状态：关联复用模块


</td></tr>
<tr><td>

[getState\_CbbSymbol()](./ISCH_PrimitiveCbbSymbolComponent.md)


</td><td>


</td><td>

获取属性状态：关联复用模块符号


</td></tr>
</tbody></table>

---

## 方法详情

### getstate_cbb

# ISCH\_PrimitiveCbbSymbolComponent.getState\_Cbb() method

获取属性状态：关联复用模块

## 签名

```typescript
getState_Cbb(): {
        libraryUuid: string;
        uuid: string;
    };
```


## 返回值

\{ libraryUuid: string; uuid: string; \}

关联复用模块

### getstate_cbbsymbol

# ISCH\_PrimitiveCbbSymbolComponent.getState\_CbbSymbol() method

获取属性状态：关联复用模块符号

## 签名

```typescript
getState_CbbSymbol(): {
        libraryUuid: string;
        cbbUuid: string;
        uuid: string;
        name?: string;
    };
```


## 返回值

\{ libraryUuid: string; cbbUuid: string; uuid: string; name?: string; \}

关联复用模块符号


path: references/easyeda-api-reference/classes/ISCH_PrimitiveComponentPin.md
content: # ISCH\_PrimitiveComponentPin class

器件引脚图元

## 签名

```typescript
declare class ISCH_PrimitiveComponentPin extends ISCH_PrimitivePin 
```
**扩展自：**[ISCH\_PrimitivePin](./ISCH_PrimitivePin.md)

## 备注

器件引脚图元是一个特殊的图元，它指的是在原理图画布上关联到符号的引脚

器件引脚图元仅可更改 `pinNumber`<!-- -->、`noConnected` 属性，其它所有属性均为只读， 并且你只能通过 [器件类的 getAllPinsByPrimitiveId 方法](./SCH_PrimitiveComponent.md) 或  获取到器件引脚图元


## 属性

<table><thead><tr><th>

属性名


</th><th>

修饰符


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[primitiveType](./ISCH_PrimitiveComponentPin.md)


</td><td>

`protected`

`readonly`


</td><td>

[ESCH\_PrimitiveType.COMPONENT\_PIN](../enums/ESCH_PrimitiveType.md)


</td><td>

图元类型


</td></tr>
</tbody></table>

## 方法

<table><thead><tr><th>

方法名


</th><th>

修饰符


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

[getState\_NoConnected()](./ISCH_PrimitiveComponentPin.md)


</td><td>


</td><td>

获取属性状态：是否存在非连接标识


</td></tr>
<tr><td>

[setState\_NoConnected(noConnected)](./ISCH_PrimitiveComponentPin.md)


</td><td>


</td><td>

设置属性状态：是否存在非连接标识


</td></tr>
</tbody></table>

---

## 属性详情

### primitivetype

# ISCH\_PrimitiveComponentPin.primitiveType property

图元类型

## 签名

```typescript
protected readonly primitiveType: ESCH_PrimitiveType.COMPONENT_PIN;
```


---

## 方法详情

### getstate_noconnected

# ISCH\_PrimitiveComponentPin.getState\_NoConnected() method

获取属性状态：是否存在非连接标识

## 签名

```typescript
getState_NoConnected(): boolean;
```


## 返回值

boolean

是否存在非连接标识

### setstate_noconnected

# ISCH\_PrimitiveComponentPin.setState\_NoConnected() method

设置属性状态：是否存在非连接标识

## 签名

```typescript
setState_NoConnected(noConnected: boolean): ISCH_PrimitiveComponentPin;
```

## 参数名

<table><thead><tr><th>

参数


</th><th>

类型


</th><th>

描述


</th></tr></thead>
<tbody><tr><td>

noConnected


</td><td>

boolean


</td><td>


</td></tr>
</tbody></table>



## 返回值

[ISCH\_PrimitiveComponentPin](./ISCH_PrimitiveComponentPin.md)

器件引脚图元对象


path: references/easyeda-api-reference/classes/PCB_PrimitiveAttribute.md
content: # PCB\_PrimitiveAttribute class

PCB &amp; 封装 / 属性图元类

## 签名

```typescript
declare class PCB_PrimitiveAttribute implements IPCB_PrimitiveAPI 
```
**实现自：**[IPCB\_PrimitiveAPI](../interfaces/IPCB_PrimitiveAPI.md)

path: references/easyeda-api-reference/classes/SCH_Utils.md
content: # SCH\_Utils class

原理图 &amp; 符号 / 工具类

## 签名

```typescript
declare class SCH_Utils 
```

path: references/easyeda-official-guides/ancillary-projects/pro-api-sdk.md
content: <!--@include: @/private/pro-api-sdk/README.md{3,}-->


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)