JLC_EDA-MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CHROME_PATH | No | Path to Chrome/Chromium/Edge executable. If not set, the server attempts to auto-detect. | |
| EASYEDA_TOOL_PROFILE | No | Tool exposure mode: 'all' registers all 760 direct API tools; 'compact' keeps only management/unified call entry. Default: 'all' | all |
| EASYEDA_API_TIMEOUT_MS | No | Timeout for EasyEDA API calls in milliseconds. Default: '30000' | 30000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| easyeda_bridge_statusB | 检查 EasyEDA API Bridge 和当前连接的嘉立创EDA窗口。 |
| easyeda_select_windowB | 当连接了多个嘉立创EDA窗口时,选择后续API调用使用的窗口。 |
| easyeda_api_catalogA | 列出当前包对接的官方EasyEDA Pro API版本、命名空间和方法数量。 |
| easyeda_api_searchA | 按方法名、命名空间、说明或参数类型搜索全部官方EasyEDA Pro API。 |
| easyeda_api_describeA | 获取一个官方EasyEDA Pro API方法的完整签名、重载和说明。 |
| easyeda_api_callB | 调用目录内任一官方EasyEDA Pro API。仅允许自动生成白名单中的方法,不接受任意代码。 |
| eda_dmt_board_copy_boardC | dmt_Board.copyBoard(sourceBoardName: string) -> Promise<string | undefined>
复制板子
returns: 新板子名称,如若为 |
| eda_dmt_board_create_boardA | dmt_Board.createBoard(schematicUuid?: string, pcbUuid?: string) -> Promise<string | undefined>
创建板子
returns: 板子名称,如若为 |
| eda_dmt_board_delete_boardB | dmt_Board.deleteBoard(boardName: string) -> Promise
删除板子
remarks: 如若指定板子不存在,接口将返回 |
| eda_dmt_board_get_all_boards_infoB | dmt_Board.getAllBoardsInfo() -> Promise<Array> 获取工程内所有板子的详细属性 returns: 所有板子的详细属性的数组 |
| eda_dmt_board_get_board_infoB | dmt_Board.getBoardInfo(boardName: string) -> Promise<IDMT_BoardItem | undefined>
获取板子的详细属性
returns: 板子的详细属性,如若为 |
| eda_dmt_board_get_current_board_infoA | dmt_Board.getCurrentBoardInfo() -> Promise<IDMT_BoardItem | undefined>
获取当前板子的详细属性
remarks: 将会获取当前打开且拥有最后输入焦点的原理图、PCB 所关联的板子的详细属性
returns: 板子的详细属性,如若为 |
| eda_dmt_board_modify_board_nameC | dmt_Board.modifyBoardName(originalBoardName: string, boardName: string) -> Promise 修改板子名称 returns: 是否修改成功 |
| eda_dmt_editor_control_activate_documentA | dmt_EditorControl.activateDocument(tabId: string) -> Promise 激活文档 remarks: 切换到指定文档的标签页,并将输入焦点置于其中 returns: 操作是否成功 |
| eda_dmt_editor_control_activate_split_screenC | dmt_EditorControl.activateSplitScreen(splitScreenId: string) -> Promise 激活分屏 remarks: 使输入焦点 returns: 操作是否成功 |
| eda_dmt_editor_control_close_documentB | dmt_EditorControl.closeDocument(tabId: string) -> Promise 关闭文档 returns: 操作是否成功 |
| eda_dmt_editor_control_create_split_screenC | dmt_EditorControl.createSplitScreen(splitScreenType: EDMT_EditorSplitScreenDirection, tabId: string) -> Promise<{ sourceSplitScreenId: string; newSplitScreenId: string } | undefined>
创建分屏
returns: 分屏 ID, |
| eda_dmt_editor_control_generate_indicator_markersB | dmt_EditorControl.generateIndicatorMarkers(markers: Array, color?: { r: number; g: number; b: number; alpha: number }, lineWidth?: number, zoom?: boolean, tabId?: string) -> Promise
生成指示标记
remarks: 指示标记外形数据中,原理图、符号画布坐标单位跨度为 0.01inch,PCB、封装画布坐标单位跨度为 mil
returns: 指示标记生成是否成功, |
| eda_dmt_editor_control_get_current_rendered_area_imageB | dmt_EditorControl.getCurrentRenderedAreaImage(tabId?: string) -> Promise<Blob | undefined> 获取画布渲染区域图像 returns: - 画布渲染区域的 Blob 格式图像数据 |
| eda_dmt_editor_control_get_split_screen_id_by_tab_idB | dmt_EditorControl.getSplitScreenIdByTabId(tabId: string) -> Promise<string | undefined> 使用标签页 ID 获取分屏 ID returns: 分屏 ID |
| eda_dmt_editor_control_get_split_screen_treeB | dmt_EditorControl.getSplitScreenTree() -> Promise<IDMT_EditorSplitScreenItem | undefined>
获取编辑器分屏属性树
returns: 编辑器分屏属性树,如若为 |
| eda_dmt_editor_control_get_tabs_by_split_screen_idA | dmt_EditorControl.getTabsBySplitScreenId(splitScreenId: string) -> Promise<Array> 获取指定分屏 ID 下的所有标签页 returns: 标签页列表 |
| eda_dmt_editor_control_merge_all_document_from_split_screenA | dmt_EditorControl.mergeAllDocumentFromSplitScreen() -> Promise 合并所有分屏 remarks: 仅当存在子分屏时可用,将会取消所有子分屏,并将所有文档标签页合并到初始分屏内 returns: 操作是否成功 |
| eda_dmt_editor_control_move_document_to_split_screenB | dmt_EditorControl.moveDocumentToSplitScreen(tabId: string, splitScreenId: string) -> Promise 将文档移动到指定分屏 remarks: 移动文档后,编辑器分屏属性树可能会出现变化 returns: 操作是否成功 |
| eda_dmt_editor_control_open_documentB | dmt_EditorControl.openDocument(documentUuid: string, splitScreenId?: string) -> Promise<string | undefined>
打开文档
returns: 标签页 ID,如若为 |
| eda_dmt_editor_control_open_library_documentC | dmt_EditorControl.openLibraryDocument(libraryUuid: string, libraryType: ELIB_LibraryType.SYMBOL | ELIB_LibraryType.FOOTPRINT, uuid: string, splitScreenId?: string) -> Promise<string | undefined>
打开库符号、封装文档
returns: 标签页 ID,如若为 |
| eda_dmt_editor_control_remove_indicator_markersB | dmt_EditorControl.removeIndicatorMarkers(tabId?: string) -> Promise
移除指示标记
remarks: 本接口会移除所有已生成的指示标记
returns: 指示标记移除是否成功, |
| eda_dmt_editor_control_tile_all_document_to_split_screenA | dmt_EditorControl.tileAllDocumentToSplitScreen() -> Promise 平铺所有文档 remarks: 仅当不存在子分屏时可用,将会自动为所有已打开的文档标签页创建分屏 returns: 操作是否成功 |
| eda_dmt_editor_control_zoomB | dmt_EditorControl.zoom(percent: number, tabId?: string) -> { left: number; right: number; top: number; bottom: number } | false
设置缩放比例
remarks: 在返回数据中,原理图、符号画布坐标单位跨度为 0.01inch,PCB、封装画布坐标单位跨度为 mil
returns: 缩放到的区域数据, |
| eda_dmt_editor_control_zoom_toA | dmt_EditorControl.zoomTo(x?: number, y?: number, scaleRatio?: number, tabId?: string) -> Promise<{ left: number; right: number; top: number; bottom: number } | false>
缩放到坐标
remarks: 在原理图、符号画布坐标单位跨度为 0.01inch,在 PCB、封装画布坐标单位跨度为 mil
returns: 缩放到的区域数据, |
| eda_dmt_editor_control_zoom_to_all_primitivesA | dmt_EditorControl.zoomToAllPrimitives(tabId?: string) -> Promise<{ left: number; right: number; top: number; bottom: number } | false>
缩放到所有图元(适应全部)
remarks: 在返回数据中,原理图、符号画布坐标单位跨度为 0.01inch,PCB、封装画布坐标单位跨度为 mil
returns: 缩放到的区域数据, |
| eda_dmt_editor_control_zoom_to_regionC | dmt_EditorControl.zoomToRegion(left: number, right: number, top: number, bottom: number, tabId?: string) -> Promise 缩放到区域 remarks: 在原理图、符号画布坐标单位跨度为 0.01inch,在 PCB、封装画布坐标单位跨度为 mil returns: 操作是否成功 |
| eda_dmt_editor_control_zoom_to_selected_primitivesA | dmt_EditorControl.zoomToSelectedPrimitives(tabId?: string) -> Promise<{ left: number; right: number; top: number; bottom: number } | false>
缩放到已选中图元(适应选中)
remarks: 在返回数据中,原理图、符号画布坐标单位跨度为 0.01inch,PCB、封装画布坐标单位跨度为 mil
returns: 缩放到的区域数据, |
| eda_dmt_event_add_editor_tab_event_listenerB | dmt_Event.addEditorTabEventListener(id: string, eventType: 'all' | EDMT_EditorTabEventType, callFn: (eventType: EDMT_EditorTabEventType, props: { documentType: EDMT_EditorDocumentType; title: string; tabId: string }) => void | Promise, onlyOnce?: boolean) -> void 新增编辑器标签页事件监听 |
| eda_dmt_event_is_event_listener_already_existA | dmt_Event.isEventListenerAlreadyExist(id: string) -> boolean 查询事件监听是否存在 returns: 事件监听是否存在 |
| eda_dmt_event_remove_event_listenerC | dmt_Event.removeEventListener(id: string) -> boolean 移除事件监听 returns: 是否移除指定事件监听 |
| eda_dmt_folder_create_folderB | dmt_Folder.createFolder(folderName: string, teamUuid: string, parentFolderUuid?: string, description?: string) -> Promise<string | undefined>
创建文件夹
returns: 文件夹 UUID,如若为 |
| eda_dmt_folder_delete_folderB | dmt_Folder.deleteFolder(teamUuid: string, folderUuid: string) -> Promise 删除文件夹 returns: 操作是否成功 |
| eda_dmt_folder_get_all_folders_uuidB | dmt_Folder.getAllFoldersUuid(teamUuid: string) -> Promise<Array> 获取所有文件夹的 UUID remarks: 本接口忽略层级信息,将会返回所有层级的文件夹的 UUID 并放置于一维数组中 returns: 文件夹 UUID 数组 |
| eda_dmt_folder_get_folder_infoB | dmt_Folder.getFolderInfo(teamUuid: string, folderUuid: string) -> Promise<IDMT_FolderItem | undefined>
获取文件夹详细属性
returns: 文件夹属性,如若为 |
| eda_dmt_folder_modify_folder_descriptionC | dmt_Folder.modifyFolderDescription(teamUuid: string, folderUuid: string, description?: string) -> Promise 修改文件夹描述 remarks: 修改文件夹描述需要与工作区系统进行交互,修改操作存在延迟,需要短暂等待后才会呈现效果 returns: 是否修改成功 |
| eda_dmt_folder_modify_folder_nameB | dmt_Folder.modifyFolderName(teamUuid: string, folderUuid: string, folderName: string) -> Promise 修改文件夹名称 returns: 是否修改成功 |
| eda_dmt_folder_move_folder_to_folderC | dmt_Folder.moveFolderToFolder(teamUuid: string, folderUuid: string, parentFolderUuid?: string) -> Promise 移动文件夹 returns: 是否移动成功 |
| eda_dmt_panel_copy_panelB | dmt_Panel.copyPanel(panelUuid: string) -> Promise<string | undefined>
复制面板
returns: 新面板 UUID,如若为 |
| eda_dmt_panel_create_panelC | dmt_Panel.createPanel() -> Promise<string | undefined>
创建面板
returns: 面板 UUID,如若为 |
| eda_dmt_panel_delete_panelA | dmt_Panel.deletePanel(panelUuid: string) -> Promise 删除面板 returns: 操作是否成功 |
| eda_dmt_panel_get_all_panels_infoC | dmt_Panel.getAllPanelsInfo() -> Promise<Array> 获取工程内所有面板的详细属性 returns: 所有面板的详细属性的数组 |
| eda_dmt_panel_get_current_panel_infoA | dmt_Panel.getCurrentPanelInfo() -> Promise<IDMT_PanelItem | undefined>
获取当前面板的详细属性
remarks: 将会获取当前打开且拥有最后输入焦点的面板的详细属性
returns: 面板的详细属性,如若为 |
| eda_dmt_panel_get_panel_infoB | dmt_Panel.getPanelInfo(panelUuid: string) -> Promise<IDMT_PanelItem | undefined>
获取面板的详细属性
returns: 面板的详细属性,如若为 |
| eda_dmt_panel_modify_panel_nameA | dmt_Panel.modifyPanelName(panelUuid: string, panelName: string) -> Promise 修改面板名称 returns: 是否修改成功 |
| eda_dmt_pcb_copy_pcbA | dmt_Pcb.copyPcb(pcbUuid: string, boardName?: string) -> Promise<string | undefined>
复制 PCB
remarks: 即使此处 PCB 已关联复用模块(在工程库内存在同名的复用模块符号),也不新建复用模块符号,此操作逻辑与当前编辑器前端保持一致
returns: 新 PCB UUID,如若为 |
| eda_dmt_pcb_create_pcbA | dmt_Pcb.createPcb(boardName?: string) -> Promise<string | undefined>
创建 PCB
returns: PCB UUID,如若为 |
| eda_dmt_pcb_delete_pcbA | dmt_Pcb.deletePcb(pcbUuid: string) -> Promise 删除 PCB remarks: 如若 PCB 已关联复用模块(在工程库内存在同名的复用模块符号),则删除 PCB 时将同步删除关联的原理图和复用模块符号,复用模块符号不可删除则跳过 returns: 操作是否成功 |
| eda_dmt_pcb_get_all_pcbs_infoC | dmt_Pcb.getAllPcbsInfo() -> Promise<Array> 获取工程内所有 PCB 的详细属性 returns: 所有 PCB 的详细属性的数组 |
| eda_dmt_pcb_get_current_pcb_infoB | dmt_Pcb.getCurrentPcbInfo() -> Promise<IDMT_PcbItem | undefined>
获取当前 PCB 的详细属性
remarks: 将会获取当前打开且拥有最后输入焦点的 PCB 的详细属性
returns: PCB 的详细属性,如若为 |
| eda_dmt_pcb_get_pcb_infoB | dmt_Pcb.getPcbInfo(pcbUuid: string) -> Promise<IDMT_PcbItem | undefined>
获取 PCB 的详细属性
returns: PCB 的详细属性,如若为 |
| eda_dmt_pcb_modify_pcb_nameA | dmt_Pcb.modifyPcbName(pcbUuid: string, pcbName: string) -> Promise 修改 PCB 名称 remarks: 如若 PCB 已关联复用模块(在工程库内存在同名的复用模块符号),则修改名称时将同步修改复用模块符号名称与关联原理图名称 returns: 是否修改成功 |
| eda_dmt_project_copy_projectB | dmt_Project.copyProject(sourceProjectUuid: string, targetTeamUuid?: string, targetFolderUuid?: string, newProjectFriendlyName?: string, newProjectName?: string) -> string | undefined
复制工程
returns: 新工程 UUID,如若为 |
| eda_dmt_project_create_projectB | dmt_Project.createProject(projectFriendlyName: string, projectName?: string, teamUuid?: string, folderUuid?: string, description?: string, collaborationMode?: EDMT_ProjectCollaborationMode) -> Promise<string | undefined>
创建工程
returns: 工程 UUID,如若为 |
| eda_dmt_project_delete_projectB | dmt_Project.deleteProject(projectUuid: string) -> boolean 删除工程 returns: 操作是否成功 |
| eda_dmt_project_get_all_projects_uuidA | dmt_Project.getAllProjectsUuid(teamUuid?: string, folderUuid?: string, workspaceUuid?: string) -> Promise<Array>
获取所有工程的 UUID
remarks: 如若指定 如若指定
如若指定 |
| eda_dmt_project_get_current_project_infoA | dmt_Project.getCurrentProjectInfo() -> Promise<IDMT_ProjectItem | undefined>
获取当前工程的详细属性
remarks: 将会获取当前打开且拥有最后输入焦点的原理图、PCB、面板所关联的工程的详细属性
returns: 工程属性,如若为 |
| eda_dmt_project_get_project_infoB | dmt_Project.getProjectInfo(projectUuid: string) -> Promise<IDMT_BriefProjectItem | undefined>
获取工程属性
returns: 简略的工程属性,如若为 |
| eda_dmt_project_modify_project_collaboration_modeB | dmt_Project.modifyProjectCollaborationMode(projectUuid: string, collaborationMode: EDMT_ProjectCollaborationMode) -> boolean
修改工程协作模式
remarks: 如若团队权限无需工程设置协作模式,则将返回 |
| eda_dmt_project_modify_project_descriptionB | dmt_Project.modifyProjectDescription(projectUuid: string, description?: string) -> boolean 修改工程描述 returns: 是否修改成功 |
| eda_dmt_project_modify_project_friendly_nameB | dmt_Project.modifyProjectFriendlyName(projectUuid: string, projectFriendlyName: string) -> boolean 修改工程友好名称 returns: 是否修改成功 |
| eda_dmt_project_move_projectC | dmt_Project.moveProject(projectUuid: string, teamUuid: string, folderUuid?: string) -> boolean 移动工程 returns: 是否移动成功 |
| eda_dmt_project_move_project_to_folderB | dmt_Project.moveProjectToFolder(projectUuid: string, folderUuid?: string) -> Promise 移动工程到文件夹 returns: 是否移动成功 |
| eda_dmt_project_open_projectA | dmt_Project.openProject(projectUuid: string) -> Promise 打开工程 remarks: 本操作将会在 EDA 前端打开指定工程,如若原先已打开其它工程且有未保存的变更,执行本操作将直接丢失所有未保存的数据 returns: 是否成功打开工程 |
| eda_dmt_schematic_copy_schematicB | dmt_Schematic.copySchematic(schematicUuid: string, boardName?: string) -> Promise<string | undefined>
复制原理图
remarks: 如若原理图已关联复用模块(在工程库内存在同名的复用模块符号),则复制原理图时将同步新建复用模块符号
returns: 新原理图 UUID,如若为 |
| eda_dmt_schematic_copy_schematic_pageC | dmt_Schematic.copySchematicPage(schematicPageUuid: string, schematicUuid?: string) -> Promise<string | undefined>
复制原理图图页
returns: 新原理图图页 UUID,如若为 |
| eda_dmt_schematic_create_schematicB | dmt_Schematic.createSchematic(boardName?: string) -> Promise<string | undefined>
创建原理图
returns: 原理图 UUID,如若为 |
| eda_dmt_schematic_create_schematic_pageB | dmt_Schematic.createSchematicPage(schematicUuid: string) -> Promise<string | undefined>
创建原理图图页
returns: 原理图图页 UUID,如若为 |
| eda_dmt_schematic_delete_schematicA | dmt_Schematic.deleteSchematic(schematicUuid: string) -> Promise 删除原理图 remarks: 如若原理图已关联复用模块(在工程库内存在同名的复用模块符号),则删除原理图时将同步删除关联的 PCB 和复用模块符号,复用模块符号不可删除则跳过 returns: 操作是否成功 |
| eda_dmt_schematic_delete_schematic_pageB | dmt_Schematic.deleteSchematicPage(schematicPageUuid: string) -> Promise 删除原理图图页 returns: 操作是否成功 |
| eda_dmt_schematic_get_all_schematic_pages_infoB | dmt_Schematic.getAllSchematicPagesInfo() -> Promise<Array> 获取工程内所有原理图图页的详细属性 returns: 所有原理图图页的详细属性的数组 |
| eda_dmt_schematic_get_all_schematics_infoC | dmt_Schematic.getAllSchematicsInfo() -> Promise<Array> 获取工程内所有原理图的详细属性 returns: 所有原理图的详细属性的数组 |
| eda_dmt_schematic_get_current_schematic_all_schematic_pages_infoC | dmt_Schematic.getCurrentSchematicAllSchematicPagesInfo() -> Promise<Array> 获取当前原理图内所有原理图图页的详细属性 returns: 所有原理图图页的详细属性的数组 |
| eda_dmt_schematic_get_current_schematic_infoA | dmt_Schematic.getCurrentSchematicInfo() -> Promise<IDMT_SchematicItem | undefined>
获取当前原理图的详细属性
remarks: 将会获取当前打开且拥有最后输入焦点的原理图图页所关联的原理图的详细属性
returns: 原理图的详细属性,如若为 |
| eda_dmt_schematic_get_current_schematic_page_infoB | dmt_Schematic.getCurrentSchematicPageInfo() -> Promise<IDMT_SchematicPageItem | undefined>
获取当前原理图图页的详细属性
remarks: 将会获取当前打开且拥有最后输入焦点的原理图图页的详细属性
returns: 原理图图页的详细属性,如若为 |
| eda_dmt_schematic_get_schematic_infoB | dmt_Schematic.getSchematicInfo(schematicUuid: string) -> Promise<IDMT_SchematicItem | undefined>
获取原理图的详细属性
returns: 原理图的详细属性,如若为 |
| eda_dmt_schematic_get_schematic_page_infoB | dmt_Schematic.getSchematicPageInfo(schematicPageUuid: string) -> Promise<IDMT_SchematicPageItem | undefined>
获取原理图图页的详细属性
returns: 原理图图页的详细属性,如若为 |
| eda_dmt_schematic_modify_schematic_nameA | dmt_Schematic.modifySchematicName(schematicUuid: string, schematicName: string) -> Promise 修改原理图名称 remarks: 如若原理图已关联复用模块(在工程库内存在同名的复用模块符号),则修改名称时将同步修改复用模块符号名称与关联 PCB 名称 returns: 是否修改成功 |
| eda_dmt_schematic_modify_schematic_page_nameB | dmt_Schematic.modifySchematicPageName(schematicPageUuid: string, schematicPageName: string) -> Promise 修改原理图图页名称 returns: 是否修改成功 |
| eda_dmt_schematic_modify_schematic_page_title_blockA | dmt_Schematic.modifySchematicPageTitleBlock(showTitleBlock?: boolean, titleBlockData?: Record<string, { showTitle?: boolean; showValue?: boolean; value?: any }>) -> Promise
修改原理图图页明细表
remarks: |
| eda_dmt_schematic_reorder_schematic_pagesC | dmt_Schematic.reorderSchematicPages(schematicUuid: string, schematicPageItemsArray: Array) -> Promise 重新排序原理图图页 returns: 排序操作是否成功 |
| eda_dmt_select_control_get_current_document_infoA | dmt_SelectControl.getCurrentDocumentInfo() -> Promise<IDMT_EditorDocumentItem | undefined>
获取当前文档的属性
remarks: 将会获取当前打开且拥有最后输入焦点的文档的文档类型、UUID、所属工程的 UUID 或所属库的 UUID
returns: 文档类型、UUID、所属工程的 UUID、所属库的 UUID 组成的对象,如若为 |
| eda_dmt_team_get_all_involved_team_infoB | dmt_Team.getAllInvolvedTeamInfo() -> Promise<Array> 获取所有参与的团队的详细属性 returns: 所有参与的团队的详细属性 |
| eda_dmt_team_get_all_teams_infoB | dmt_Team.getAllTeamsInfo() -> Promise<Array> 获取所有直接团队的详细属性 remarks: 个人本质上也是一个名为 个人 的团队 returns: 所有团队的详细属性 |
| eda_dmt_team_get_current_team_infoA | dmt_Team.getCurrentTeamInfo() -> Promise<IDMT_TeamItem | undefined>
获取当前团队的详细属性
remarks: 将会获取当前打开且拥有最后输入焦点的原理图、PCB、面板所关联的工程的所属团队的详细属性
returns: 团队的详细属性,如若为 |
| eda_dmt_workspace_get_all_workspaces_infoC | dmt_Workspace.getAllWorkspacesInfo() -> Promise<Array> 获取所有工作区的详细属性 returns: 所有工作区的详细属性 |
| eda_dmt_workspace_get_current_workspace_infoC | dmt_Workspace.getCurrentWorkspaceInfo() -> Promise<IDMT_WorkspaceItem | undefined>
获取当前工作区的详细属性
remarks: 将会获取当前工作区的详细属性
returns: 工作区的详细属性,如若为 |
| eda_dmt_workspace_toggle_to_workspaceC | dmt_Workspace.toggleToWorkspace(workspaceUuid?: string) -> Promise 切换到工作区 returns: 切换操作是否成功 |
| eda_lib_3_dmodel_copyC | lib_3DModel.copy(modelUuid: string, libraryUuid: string, targetLibraryUuid: string, targetClassification?: ILIB_ClassificationIndex | Array, newModelName?: string) -> Promise<string | undefined> 复制 3D 模型 returns: 目标库内新 3D 模型的 UUID |
| eda_lib_3_dmodel_createB | lib_3DModel.create(libraryUuid: string, modelFile: Blob, classification?: ILIB_ClassificationIndex | Array, unit?: ESYS_Unit.MILLIMETER | ESYS_Unit.CENTIMETER | ESYS_Unit.METER | ESYS_Unit.MIL | ESYS_Unit.INCH) -> Promise<Array | undefined>
创建 3D 模型
remarks: 传入的 |
| eda_lib_3_dmodel_deleteA | lib_3DModel.delete(modelUuid: string, libraryUuid: string) -> Promise 删除 3D 模型 returns: 操作是否成功 |
| eda_lib_3_dmodel_getB | lib_3DModel.get(modelUuid: string, libraryUuid?: string) -> Promise<ILIB_3DModelItem | undefined> 获取 3D 模型的所有属性 returns: 3D 模型属性 |
| eda_lib_3_dmodel_modifyB | lib_3DModel.modify(modelUuid: string, libraryUuid: string, modelName?: string, classification?: ILIB_ClassificationIndex | Array | null, description?: string | null) -> Promise
修改 3D 模型
remarks: 如希望清除某些属性,则将其的值设置为 |
| eda_lib_3_dmodel_searchB | lib_3DModel.search(key: string, libraryUuid?: string, classification?: ILIB_ClassificationIndex | Array, itemsOfPage?: number, page?: number) -> Promise<Array> 搜索 3D 模型 returns: 搜索到的 3D 模型属性列表 |
| eda_lib_cbb_copyC | lib_Cbb.copy(cbbUuid: string, libraryUuid: string, targetLibraryUuid: string, targetClassification?: ILIB_ClassificationIndex | Array, newCbbName?: string) -> Promise<string | undefined> 复制复用模块 returns: 目标库内新复用模块的 UUID |
| eda_lib_cbb_createB | lib_Cbb.create(libraryUuid: string, cbbName: string, classification?: ILIB_ClassificationIndex | Array, description?: string) -> Promise<string | undefined> 创建复用模块 returns: 复用模块 UUID |
| eda_lib_cbb_deleteB | lib_Cbb.delete(cbbUuid: string, libraryUuid: string) -> Promise 删除复用模块 returns: 操作是否成功 |
| eda_lib_cbb_getC | lib_Cbb.get(cbbUuid: string, libraryUuid?: string) -> Promise<ILIB_CbbItem | undefined> 获取复用模块的所有属性 returns: 复用模块属性 |
| eda_lib_cbb_modifyB | lib_Cbb.modify(cbbUuid: string, libraryUuid: string, cbbName?: string, classification?: ILIB_ClassificationIndex | Array | null, description?: string | null) -> Promise
修改复用模块
remarks: 如希望清除某些属性,则将其的值设置为 |
| eda_lib_cbb_open_project_in_editorA | lib_Cbb.openProjectInEditor(cbbUuid: string, libraryUuid: string) -> Promise 在编辑器打开复用模块工程 remarks: 本操作将会在 EDA 前端打开模块工程,如若原先已打开其它工程且有未保存的变更,执行本操作将直接丢失所有未保存的数据 |
| eda_lib_cbb_open_symbol_in_editorC | lib_Cbb.openSymbolInEditor(cbbUuid: string, libraryUuid: string, splitScreenId?: string) -> Promise<string | undefined> 在编辑器打开复用模块符号 |
| eda_lib_cbb_searchB | lib_Cbb.search(key: string, libraryUuid?: string, classification?: ILIB_ClassificationIndex | Array, itemsOfPage?: number, page?: number) -> Promise<Array> 搜索复用模块 returns: 搜索到的复用模块属性列表 |
| eda_lib_classification_create_primaryB | lib_Classification.createPrimary(libraryUuid: string, libraryType: ELIB_LibraryType, primaryClassificationName: string) -> Promise<ILIB_ClassificationIndex | undefined> 创建一级分类 deprecated: since EDA v3.2; dropped EDA v3.3 returns: 分类索引 [已弃用] |
| eda_lib_classification_create_secondaryC | lib_Classification.createSecondary(libraryUuid: string, libraryType: ELIB_LibraryType, primaryClassificationUuid: string, secondaryClassificationName: string) -> Promise<ILIB_ClassificationIndex | undefined> 创建二级分类 deprecated: since EDA v3.2; dropped EDA v3.3 returns: 分类索引 [已弃用] |
| eda_lib_classification_delete_by_indexB | lib_Classification.deleteByIndex(classificationIndex: ILIB_ClassificationIndex) -> Promise 删除指定索引的分类 deprecated: since EDA v3.2; dropped EDA v3.3 returns: 操作是否成功 [已弃用] |
| eda_lib_classification_delete_by_uuidA | lib_Classification.deleteByUuid(libraryUuid: string, classificationUuid: string) -> Promise 删除指定 UUID 的分类 deprecated: since EDA v3.2; dropped EDA v3.3 returns: 操作是否成功 [已弃用] |
| eda_lib_classification_get_all_classification_treeA | lib_Classification.getAllClassificationTree(libraryUuid: string, libraryType: ELIB_LibraryType) -> Promise<Array<{ name: string; uuid: string; children?: Array<{ name: string; uuid: string }> | undefined }>> 获取所有分类信息组成的树 deprecated: since EDA v3.2; dropped EDA v3.3 returns: 分类信息组成的树结构数据 [已弃用] |
| eda_lib_classification_get_index_by_nameB | lib_Classification.getIndexByName(libraryUuid: string, libraryType: ELIB_LibraryType, primaryClassificationName: string, secondaryClassificationName?: string) -> Promise<ILIB_ClassificationIndex | undefined> 获取指定名称的分类的分类索引 deprecated: since EDA v3.2; dropped EDA v3.3 returns: 分类索引 [已弃用] |
| eda_lib_classification_get_name_by_indexC | lib_Classification.getNameByIndex(classificationIndex: ILIB_ClassificationIndex) -> Promise<{ primaryClassificationName: string; secondaryClassificationName?: string | undefined } | undefined> 获取指定索引的分类的名称 deprecated: since EDA v3.2; dropped EDA v3.3 returns: 两级分类的名称 [已弃用] |
| eda_lib_classification_get_name_by_uuidA | lib_Classification.getNameByUuid(libraryUuid: string, libraryType: ELIB_LibraryType, primaryClassificationUuid: string, secondaryClassificationUuid?: string) -> Promise<{ primaryClassificationName: string; secondaryClassificationName?: string | undefined } | undefined> 获取指定 UUID 的分类的名称 deprecated: since EDA v3.2; dropped EDA v3.3 returns: 两级分类的名称 [已弃用] |
| eda_lib_device_copyB | lib_Device.copy(deviceUuid: string, libraryUuid: string, targetLibraryUuid: string, targetClassification?: ILIB_ClassificationIndex | Array, newDeviceName?: string) -> Promise<string | undefined> 复制器件 returns: 目标库内新器件的 UUID |
| eda_lib_device_createB | lib_Device.create(libraryUuid: string, deviceName: string, classification?: ILIB_ClassificationIndex | Array, association?: { symbolType?: ELIB_SymbolType; symbolUuid?: string; symbol?: { uuid: string; libraryUuid: string }; footprintUuid?: string; footprint?: { uuid: string; libraryUuid: string }; model3D?: { uuid: string; libraryUuid: string }; imageData?: File | Blob }, description?: string, property?: ILIB_DeviceExtendPropertyItem) -> Promise<string | undefined> 创建器件 returns: 器件 UUID |
| eda_lib_device_deleteB | lib_Device.delete(deviceUuid: string, libraryUuid: string) -> Promise 删除器件 returns: 操作是否成功 |
| eda_lib_device_getB | lib_Device.get(deviceUuid: string, libraryUuid?: string) -> Promise<ILIB_DeviceItem | undefined> 获取器件的所有属性 returns: 器件属性 |
| eda_lib_device_get_by_lcsc_idsA | lib_Device.getByLcscIds(lcscIds: string, libraryUuid?: string, allowMultiMatch?: T) -> Promise<T extends true ? ILIB_DeviceSearchItem | undefined : Array> 使用立创 C 编号获取器件 remarks: 默认情况下,如果在同一个库内匹配到多个相同 C 编号的器件,将只会返回第一个结果; 如果希望返回多个结果,请将 私有化部署环境暂无法使用本接口 returns: 搜索到的器件属性 |
| eda_lib_device_modifyA | lib_Device.modify(deviceUuid: string, libraryUuid: string, deviceName?: string, classification?: ILIB_ClassificationIndex | Array | null, association?: { symbolUuid?: string; symbol?: { uuid: string; libraryUuid: string }; footprintUuid?: string | null; footprint?: { uuid: string; libraryUuid: string } | null; model3D?: { uuid: string; libraryUuid: string } | null; imageData?: File | Blob | null }, description?: string | null, property?: { name?: string | null; designator?: string; addIntoBom?: boolean; addIntoPcb?: boolean; net?: string; manufacturer?: string | null; manufacturerId?: string | null; supplier?: string | null; supplierId?: string | null; otherProperty?: Record<string, boolean | number | string | undefined | null> }) -> Promise
修改器件
remarks: 如希望清除某些属性,则将其的值设置为 |
| eda_lib_device_searchC | lib_Device.search(key: string, libraryUuid?: string, classification?: ILIB_ClassificationIndex | Array, symbolType?: ELIB_SymbolType, itemsOfPage?: number, page?: number) -> Promise<Array> 搜索器件 returns: 搜索到的器件属性的列表 |
| eda_lib_device_search_by_propertiesC | lib_Device.searchByProperties(properties: ILIB_DevicePropertiesForSearch, libraryUuid?: string, classification?: Array, symbolType?: ELIB_SymbolType, itemsOfPage?: number, page?: number) -> Promise<Array> 使用属性精确搜索器件 returns: 搜索到的器件属性的列表 |
| eda_lib_footprint_copyB | lib_Footprint.copy(footprintUuid: string, libraryUuid: string, targetLibraryUuid: string, targetClassification?: ILIB_ClassificationIndex | Array, newFootprintName?: string) -> Promise<string | undefined> 复制封装 returns: 目标库内新封装的 UUID |
| eda_lib_footprint_createC | lib_Footprint.create(libraryUuid: string, footprintName: string, classification?: ILIB_ClassificationIndex | Array, description?: string, otherProperty?: Record<string, boolean | number | string | undefined>) -> Promise<string | undefined> 创建封装 returns: 封装 UUID |
| eda_lib_footprint_deleteB | lib_Footprint.delete(footprintUuid: string, libraryUuid: string) -> Promise 删除封装 returns: 操作是否成功 |
| eda_lib_footprint_getB | lib_Footprint.get(footprintUuid: string, libraryUuid?: string) -> Promise<ILIB_FootprintItem | undefined> 获取封装的所有属性 returns: 封装属性 |
| eda_lib_footprint_get_render_imageC | lib_Footprint.getRenderImage(source: { footprintUuid: string; libraryUuid: string }) -> Promise<Blob | undefined> 获取封装渲染图 returns: 封装渲染图 |
| eda_lib_footprint_modifyB | lib_Footprint.modify(footprintUuid: string, libraryUuid: string, footprintName?: string, classification?: ILIB_ClassificationIndex | Array | null, description?: string | null, otherProperty?: Record<string, boolean | number | string | undefined | null>) -> Promise
修改封装
remarks: 如希望清除某些属性,则将其的值设置为 |
| eda_lib_footprint_open_in_editorB | lib_Footprint.openInEditor(footprintUuid: string, libraryUuid: string, splitScreenId?: string) -> Promise<string | undefined> 在编辑器打开文档 |
| eda_lib_footprint_searchC | lib_Footprint.search(key: string, libraryUuid?: string, classification?: ILIB_ClassificationIndex | Array, itemsOfPage?: number, page?: number) -> Promise<Array> 搜索封装 returns: 搜索到的封装属性列表 |
| eda_lib_footprint_search_by_propertiesC | lib_Footprint.searchByProperties(properties: ILIB_FootprintPropertiesForSearch, libraryUuid?: string) -> Promise<Array> 使用属性精确搜索封装 returns: 搜索到的封装属性的列表 |
| eda_lib_footprint_update_document_sourceC | lib_Footprint.updateDocumentSource(footprintUuid: string, libraryUuid: string, documentSource: string) -> Promise<boolean | undefined> 更新封装的文档源码 returns: 是否更新成功 |
| eda_lib_libraries_list_get_all_libraries_listB | lib_LibrariesList.getAllLibrariesList() -> Promise<Array> 获取所有库的列表 returns: 库信息列表 |
| eda_lib_libraries_list_get_favorite_library_uuidA | lib_LibrariesList.getFavoriteLibraryUuid() -> Promise<string | undefined> 获取收藏库的 UUID remarks: 将会获取当前编辑器工作区下的收藏库的 UUID returns: 收藏库的 UUID |
| eda_lib_libraries_list_get_personal_library_uuidB | lib_LibrariesList.getPersonalLibraryUuid() -> Promise<string | undefined>
获取个人库的 UUID
remarks: 将会获取当前编辑器工作区下的个人库的 UUID,在私有部署环境下不存在个人库,此接口将永远返回 |
| eda_lib_libraries_list_get_project_library_uuidB | lib_LibrariesList.getProjectLibraryUuid() -> Promise<string | undefined>
获取工程库的 UUID
remarks: 在未打开工程的情况下调用将返回 |
| eda_lib_libraries_list_get_system_library_uuidC | lib_LibrariesList.getSystemLibraryUuid() -> Promise<string | undefined> 获取系统库的 UUID returns: 系统库的 UUID |
| eda_lib_libraries_list_register_extend_libraryA | lib_LibrariesList.registerExtendLibrary(title: string, libraryFunctions: { device?: ILIB_ExtendLibraryDeviceFunctions; symbol?: ILIB_ExtendLibrarySymbolFunctions; footprint?: ILIB_ExtendLibraryFootprintFunctions; cbb?: ILIB_ExtendLibraryCbbFunctions; model3d?: ILIB_ExtendLibrary3DModelFunctions }) -> Promise<string | undefined>
注册外部库
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 |
| eda_lib_panel_library_copyC | lib_PanelLibrary.copy(panelLibraryUuid: string, libraryUuid: string, targetLibraryUuid: string, targetClassification?: ILIB_ClassificationIndex | Array, newPanelLibraryName?: string) -> Promise<string | undefined> 复制面板库 returns: 目标库内新面板库的 UUID |
| eda_lib_panel_library_createC | lib_PanelLibrary.create(libraryUuid: string, panelLibraryName: string, classification?: ILIB_ClassificationIndex | Array, description?: string) -> Promise<string | undefined> 创建面板库 returns: 面板库 UUID |
| eda_lib_panel_library_deleteA | lib_PanelLibrary.delete(panelLibraryUuid: string, libraryUuid: string) -> Promise 删除面板库 returns: 操作是否成功 |
| eda_lib_panel_library_getC | lib_PanelLibrary.get(panelLibraryUuid: string, libraryUuid?: string) -> Promise<ILIB_PanelLibraryItem | undefined> 获取面板库的所有属性 returns: 面板库属性 |
| eda_lib_panel_library_modifyA | lib_PanelLibrary.modify(panelLibraryUuid: string, libraryUuid: string, panelLibraryName?: string, classification?: ILIB_ClassificationIndex | Array | null, description?: string | null) -> Promise
修改面板库
remarks: 如希望清除某些属性,则将其的值设置为 |
| eda_lib_panel_library_open_in_editorC | lib_PanelLibrary.openInEditor(panelLibraryUuid: string, libraryUuid: string, splitScreenId?: string) -> Promise<string | undefined> 在编辑器打开文档 |
| eda_lib_panel_library_searchC | lib_PanelLibrary.search(key: string, libraryUuid?: string, classification?: ILIB_ClassificationIndex | Array, itemsOfPage?: number, page?: number) -> Promise<Array> 搜索面板库 returns: 搜索到的面板库属性列表 |
| eda_lib_select_control_get_selected_library_row_infoA | lib_SelectControl.getSelectedLibraryRowInfo() -> Promise<ILIB_LibraryItem | undefined>
获取当前底部库选中行的信息
remarks: 将会获取当前底部库选中行的库类型、UUID、所属库 UUID
returns: 库属性对象,如若为 |
| eda_lib_simulation_model_copyC | lib_SimulationModel.copy(simulationModelUuid: string, libraryUuid: string, targetLibraryUuid: string, targetClassification?: Array, newSimulationModelName?: string) -> Promise<string | undefined> 复制仿真模型 remarks: ADD since EDA v3.2.167 returns: 目标库内新仿真模型的 UUID |
| eda_lib_simulation_model_createA | lib_SimulationModel.create(libraryUuid: string, model: { modelType: 'Ngspice' } & ({ modelFile: Blob; modelName?: string; modelCategory?: string; modelPin?: string } | { modelData: string; modelName?: string; modelCategory?: string; modelPin?: string }), classification?: Array, description?: string) -> Promise<string | undefined> 创建仿真模型 remarks: ADD since EDA v3.2.167 returns: 仿真模型 UUID |
| eda_lib_simulation_model_deleteC | lib_SimulationModel.delete(simulationModelUuid: string, libraryUuid: string) -> Promise 删除仿真模型 remarks: ADD since EDA v3.2.167 returns: 操作是否成功 |
| eda_lib_simulation_model_getA | lib_SimulationModel.get(simulationModelUuid: string, libraryUuid?: string) -> Promise<ILIB_SimulationModelItem | undefined>
获取仿真模型的所有属性
remarks: 注意:本接口仅私有化部署版本有效,如若在其他版本调用将始终 ADD since EDA v3.2.167 returns: 仿真模型属性 |
| eda_lib_simulation_model_modifyA | lib_SimulationModel.modify(simulationModelUuid: string, libraryUuid: string, modelProps?: { modelName?: string; modelCategory?: string; modelPin?: string }, classification?: Array | null, description?: string | null) -> Promise
修改仿真模型
remarks: 如希望清除某些属性,则将其的值设置为 ADD since EDA v3.2.167 returns: 操作是否成功 |
| eda_lib_simulation_model_searchB | lib_SimulationModel.search(key: string, libraryUuid?: string, classification?: Array, simulationModelType?: ELIB_SimulationModelType, itemsOfPage?: number, page?: number) -> Promise<Array> 搜索仿真模型 remarks: ADD since EDA v3.2.167 returns: 搜索到的仿真模型属性列表 |
| eda_lib_symbol_copyC | lib_Symbol.copy(symbolUuid: string, libraryUuid: string, targetLibraryUuid: string, targetClassification?: ILIB_ClassificationIndex | Array, newSymbolName?: string) -> Promise<string | undefined> 复制符号 returns: 目标库内新符号的 UUID |
| eda_lib_symbol_createC | lib_Symbol.create(libraryUuid: string, symbolName: string, classification?: ILIB_ClassificationIndex | Array, symbolType?: ELIB_SymbolType, description?: string, otherProperty?: Record<string, boolean | number | string | undefined>) -> Promise<string | undefined> 创建符号 returns: 符号 UUID |
| eda_lib_symbol_deleteB | lib_Symbol.delete(symbolUuid: string, libraryUuid: string) -> Promise 删除符号 returns: 操作是否成功 |
| eda_lib_symbol_getC | lib_Symbol.get(symbolUuid: string, libraryUuid?: string) -> Promise<ILIB_SymbolItem | undefined> 获取符号的所有属性 returns: 符号属性 |
| eda_lib_symbol_get_render_imageB | lib_Symbol.getRenderImage(source: { symbolUuid: string; libraryUuid: string; subPartName?: string }) -> Promise<Blob | undefined> 获取符号渲染图 returns: 符号渲染图 |
| eda_lib_symbol_modifyA | lib_Symbol.modify(symbolUuid: string, libraryUuid: string, symbolName?: string, classification?: ILIB_ClassificationIndex | Array | null, description?: string | null, otherProperty?: Record<string, boolean | number | string | undefined | null>) -> Promise
修改符号
remarks: 如希望清除某些属性,则将其的值设置为 |
| eda_lib_symbol_open_in_editorC | lib_Symbol.openInEditor(symbolUuid: string, libraryUuid: string, splitScreenId?: string) -> Promise<string | undefined> 在编辑器打开文档 |
| eda_lib_symbol_searchC | lib_Symbol.search(key: string, libraryUuid?: string, classification?: ILIB_ClassificationIndex | Array, symbolType?: ELIB_SymbolType, itemsOfPage?: number, page?: number) -> Promise<Array> 搜索符号 returns: 搜索到的符号属性列表 |
| eda_lib_symbol_search_by_propertiesB | lib_Symbol.searchByProperties(properties: ILIB_SymbolPropertiesForSearch, libraryUuid?: string) -> Promise<Array> 使用属性精确搜索符号 returns: 搜索到的符号属性的列表 |
| eda_lib_symbol_update_document_sourceC | lib_Symbol.updateDocumentSource(symbolUuid: string, libraryUuid: string, documentSource: string) -> Promise<boolean | undefined> 更新符号的文档源码 returns: 是否更新成功 |
| eda_pcb_document_auto_layoutC | pcb_Document.autoLayout() -> Promise 自动布局 remarks: ADD since EDA v3.2.162 returns: 自动布局结果 |
| eda_pcb_document_auto_routingC | pcb_Document.autoRouting(props?: IPCB_AutoRoutingProps) -> Promise 自动布线 remarks: 如不传入任何参数,将对所有未布线的网络进行自动布线 ADD since EDA v3.2.162 returns: 自动布线结果 |
| eda_pcb_document_clear_routingC | pcb_Document.clearRouting(type?: 'all' | 'net' | 'connection') -> Promise 清除布线 |
| eda_pcb_document_convert_canvas_origin_to_data_originA | pcb_Document.convertCanvasOriginToDataOrigin(x: number, y: number) -> Promise<{ x: number; y: number }> 输入画布坐标返回该坐标对应的数据坐标 remarks: 嘉立创 EDA 前端显示的坐标均为画布原点;嘉立创 EDA API 使用的均为数据原点;在创建 PCB 时,默认画布原点等于数据原点 returns: 数据原点坐标 |
| eda_pcb_document_convert_data_origin_to_canvas_originA | pcb_Document.convertDataOriginToCanvasOrigin(x: number, y: number) -> Promise<{ x: number; y: number }> 输入数据坐标返回该坐标对应的画布坐标 remarks: 嘉立创 EDA 前端显示的坐标均为画布原点;嘉立创 EDA API 使用的均为数据原点;在创建 PCB 时,默认画布原点等于数据原点 returns: 画布原点坐标 |
| eda_pcb_document_get_calculating_ratline_statusA | pcb_Document.getCalculatingRatlineStatus() -> Promise<EPCB_DocumentRatlineCalculatingActiveStatus | undefined> 获取当前飞线计算功能状态 deprecated: since EDA v4.2 returns: 功能状态 [已弃用] |
| eda_pcb_document_get_canvas_originA | pcb_Document.getCanvasOrigin() -> Promise<{ offsetX: number; offsetY: number }> 获取画布原点相对于数据原点的偏移坐标 remarks: 嘉立创 EDA 专业版前端显示的坐标均为画布原点; 嘉立创 EDA 专业版 API 使用的均为数据原点; 如果返回的数据为 此处的单位为数据层面单位,在跨度上等同于画布层面的 mil returns: 画布原点相对于数据原点的偏移坐标 |
| eda_pcb_document_get_canvas_update_calculation_statusB | pcb_Document.getCanvasUpdateCalculationStatus() -> Promise<EPCB_DocumentCanvasUpdateCalculationActiveStatus | undefined> 查询当前画布更新计算状态 remarks: 画布更新计算包括画布渲染更新、属性面板更新等 ADD since EDA v4.2 returns: 画布更新计算功能状态 |
| eda_pcb_document_get_current_filter_configurationB | pcb_Document.getCurrentFilterConfiguration() -> Promise<Record<string, any> | undefined>
获取当前画布过滤器配置
returns: 当前画布过滤器配置, |
| eda_pcb_document_get_primitive_at_pointB | pcb_Document.getPrimitiveAtPoint(x: number, y: number) -> Promise<IPCB_Primitive | undefined>
获取坐标点的图元
remarks: 本操作和前端鼠标点击操作类似,将会获取指定坐标点上的图元
returns: 坐标点的图元,如若坐标点无法找到图元,将返回 |
| eda_pcb_document_get_primitives_in_regionC | pcb_Document.getPrimitivesInRegion(left: number, right: number, top: number, bottom: number, leftToRight?: boolean) -> Promise<Array> 获取区域内所有图元 returns: 区域内所有图元 |
| eda_pcb_document_import_auto_layout_json_fileC | pcb_Document.importAutoLayoutJsonFile(autoLayoutFile: File) -> Promise 导入自动布局文件(JSON) returns: 导入操作是否成功 |
| eda_pcb_document_import_auto_route_json_fileC | pcb_Document.importAutoRouteJsonFile(autoRouteFile: File) -> Promise 导入自动布线文件(JSON) returns: 导入操作是否成功 |
| eda_pcb_document_import_auto_route_ses_fileC | pcb_Document.importAutoRouteSesFile(autoRouteFile: File) -> Promise 导入自动布线文件(SES) returns: 导入操作是否成功 |
| eda_pcb_document_import_changesC | pcb_Document.importChanges(uuid?: string) -> Promise
从原理图导入变更
returns: 导入操作是否成功,导入失败或未传入原理图 UUID 的游离 PCB 将返回 |
| eda_pcb_document_navigate_to_coordinatesC | pcb_Document.navigateToCoordinates(x: number, y: number) -> Promise 定位到画布坐标 returns: 操作是否成功 |
| eda_pcb_document_navigate_to_regionA | pcb_Document.navigateToRegion(left: number, right: number, top: number, bottom: number) -> Promise 定位到画布区域 remarks: 本接口在前端画布上定位到指定的区域,区域数据为相对于数据原点的偏移; 例如:传入数据为 本接口不进行缩放操作,但会生成指示定位中心及表示区域范围的矩形框; 此处的单位为数据层面单位,在跨度上等同于画布层面的 mil returns: 操作是否成功 |
| eda_pcb_document_saveA | pcb_Document.save() -> Promise
保存文档
returns: 保存操作是否成功,保存失败、上传失败等错误均返回 |
| eda_pcb_document_set_canvas_originA | pcb_Document.setCanvasOrigin(offsetX: number, offsetY: number) -> Promise 设置画布原点相对于数据原点的偏移坐标 remarks: 嘉立创 EDA 专业版前端显示的坐标均为画布原点; 嘉立创 EDA 专业版 API 使用的均为数据原点; 如果希望在 API 操作时前端画布坐标能与数据一致,
建议调用本方法并设置偏移量为零,
即 此处的单位为数据层面单位,在跨度上等同于画布层面的 mil returns: 操作是否成功 |
| eda_pcb_document_start_calculating_ratlineC | pcb_Document.startCalculatingRatline() -> Promise 启动飞线计算功能 deprecated: since EDA v4.2 remarks: 在启动时将会触发一次飞线计算 returns: 操作是否成功 [已弃用] |
| eda_pcb_document_start_canvas_update_calculationC | pcb_Document.startCanvasUpdateCalculation() -> Promise 开始画布更新计算 remarks: 画布更新计算包括画布渲染更新、属性面板更新等 如若不理解该开关的含义,请勿调用本接口进行任何操作 ADD since EDA v4.2 returns: 操作是否成功 |
| eda_pcb_document_stop_calculating_ratlineB | pcb_Document.stopCalculatingRatline() -> Promise 停止飞线计算功能 deprecated: since EDA v4.2 returns: 操作是否成功 [已弃用] |
| eda_pcb_document_stop_canvas_update_calculationB | pcb_Document.stopCanvasUpdateCalculation() -> Promise 停止画布更新计算 remarks: 画布更新计算包括画布渲染更新、属性面板更新等 如若不理解该开关的含义,请勿调用本接口进行任何操作 ADD since EDA v4.2 returns: 操作是否成功 |
| eda_pcb_document_trigger_canvas_update_calculationC | pcb_Document.triggerCanvasUpdateCalculation() -> Promise 触发一次画布更新计算 remarks: 画布更新计算包括画布渲染更新、属性面板更新等 如若不理解该开关的含义,请勿调用本接口进行任何操作 ADD since EDA v4.2 returns: 操作是否成功 |
| eda_pcb_document_zoom_to_board_outlineC | pcb_Document.zoomToBoardOutline() -> Promise 缩放到板框(适应板框) returns: 操作是否成功 |
| eda_pcb_drc_add_net_to_equal_length_net_groupB | pcb_Drc.addNetToEqualLengthNetGroup(equalLengthNetGroupName: string, net: string | Array) -> Promise 将网络添加到等长网络组 returns: 操作是否成功 |
| eda_pcb_drc_add_net_to_net_classC | pcb_Drc.addNetToNetClass(netClassName: string, net: string | Array) -> Promise 将网络添加到网络类 returns: 操作是否成功 |
| eda_pcb_drc_add_pad_pair_to_pad_pair_groupC | pcb_Drc.addPadPairToPadPairGroup(padPairGroupName: string, padPair: [string, string] | Array<[string, string]>) -> Promise 将焊盘对添加到焊盘对组 returns: 操作是否成功 |
| eda_pcb_drc_checkC | pcb_Drc.check(strict: boolean, userInterface: boolean, includeVerboseError: false) -> Promise 检查 DRC returns: DRC 检查是否通过 |
| eda_pcb_drc_create_differential_pairB | pcb_Drc.createDifferentialPair(differentialPairName: string, positiveNet: string, negativeNet: string) -> Promise 创建差分对 returns: 操作是否成功 |
| eda_pcb_drc_create_equal_length_net_groupC | pcb_Drc.createEqualLengthNetGroup(equalLengthNetGroupName: string, nets: Array, color: IPCB_EqualLengthNetGroupItem['color']) -> Promise 创建等长网络组 returns: 操作是否成功 |
| eda_pcb_drc_create_net_classC | pcb_Drc.createNetClass(netClassName: string, nets: Array, color: IPCB_EqualLengthNetGroupItem['color']) -> Promise 创建网络类 returns: 操作是否成功 |
| eda_pcb_drc_create_pad_pair_groupC | pcb_Drc.createPadPairGroup(padPairGroupName: string, padPairs: Array<[string, string]>) -> Promise 创建焊盘对组 returns: 操作是否成功 |
| eda_pcb_drc_delete_differential_pairC | pcb_Drc.deleteDifferentialPair(differentialPairName: string) -> Promise 删除差分对 returns: 操作是否成功 |
| eda_pcb_drc_delete_equal_length_net_groupB | pcb_Drc.deleteEqualLengthNetGroup(equalLengthNetGroupName: string) -> Promise 删除等长网络组 returns: 操作是否成功 |
| eda_pcb_drc_delete_net_classC | pcb_Drc.deleteNetClass(netClassName: string) -> Promise 删除网络类 returns: 操作是否成功 |
| eda_pcb_drc_delete_pad_pair_groupB | pcb_Drc.deletePadPairGroup(padPairGroupName: string) -> Promise 删除焊盘对组 returns: 操作是否成功 |
| eda_pcb_drc_delete_rule_configurationA | pcb_Drc.deleteRuleConfiguration(configurationName: string) -> Promise 删除设计规则配置 remarks: 系统配置不允许删除 returns: 删除是否成功 |
| eda_pcb_drc_get_all_differential_pairsB | pcb_Drc.getAllDifferentialPairs() -> Promise<Array | Record<string, any>> 获取所有差分对的详细属性 remarks: BREAKING CHANGE since EDA v3.4
|
| eda_pcb_drc_get_all_equal_length_net_groupsB | pcb_Drc.getAllEqualLengthNetGroups() -> Promise<Array> 获取所有等长网络组的详细属性 returns: 所有等长网络组的详细属性 |
| eda_pcb_drc_get_all_net_classesC | pcb_Drc.getAllNetClasses() -> Promise<Array> 获取所有网络类的详细属性 returns: 所有网络类的详细属性 |
| eda_pcb_drc_get_all_pad_pair_groupsC | pcb_Drc.getAllPadPairGroups() -> Promise<Array> 获取所有焊盘对组的详细属性 returns: 所有焊盘对组的详细属性 |
| eda_pcb_drc_get_all_rule_configurationsC | pcb_Drc.getAllRuleConfigurations(includeSystem?: boolean) -> Promise<Array<Record<string, any>>> 获取所有设计规则配置 returns: 所有设计规则配置 |
| eda_pcb_drc_get_current_rule_configurationB | pcb_Drc.getCurrentRuleConfiguration() -> Promise<Record<string, any> | undefined>
获取当前设计规则配置
returns: 当前设计规则配置, |
| eda_pcb_drc_get_current_rule_configuration_nameB | pcb_Drc.getCurrentRuleConfigurationName() -> Promise<string | undefined>
获取当前设计规则配置名称
returns: 当前设计规则配置名称, |
| eda_pcb_drc_get_default_rule_configuration_nameB | pcb_Drc.getDefaultRuleConfigurationName() -> Promise<string | undefined>
获取新建 PCB 默认设计规则配置的名称
returns: 默认设计规则配置的名称, |
| eda_pcb_drc_get_net_by_net_rulesB | pcb_Drc.getNetByNetRules() -> Promise<Record<string, any>> 获取网络-网络规则 returns: 当前 PCB 的所有网络-网络规则 |
| eda_pcb_drc_get_net_rulesC | pcb_Drc.getNetRules() -> Promise<Array<Record<string, any>>> 获取网络规则 returns: 当前 PCB 的所有网络规则 |
| eda_pcb_drc_get_pad_pair_group_min_wire_lengthA | pcb_Drc.getPadPairGroupMinWireLength(padPairGroupName: string) -> Promise<Array> 获取焊盘对组最短导线长度 returns: 所有焊盘对的最短导线长度 |
| eda_pcb_drc_get_real_time_drc_statusA | pcb_Drc.getRealTimeDrcStatus() -> Promise
获取实时 DRC 检查状态
remarks: ADD since EDA v4.2
returns: 实时 DRC 检查状态,实时 DRC 已停止、不处于 PCB 或获取失败均返回 |
| eda_pcb_drc_get_region_rulesB | pcb_Drc.getRegionRules() -> Promise<Array<Record<string, any>>> 获取区域规则 returns: - 当前 PCB 的所有区域规则 |
| eda_pcb_drc_get_rule_configurationB | pcb_Drc.getRuleConfiguration(configurationName: string) -> Promise<Record<string, any> | undefined>
获取指定设计规则配置
returns: 设计规则配置, |
| eda_pcb_drc_modify_differential_pair_nameB | pcb_Drc.modifyDifferentialPairName(originalDifferentialPairName: string, differentialPairName: string) -> Promise 修改差分对的名称 returns: 操作是否成功 |
| eda_pcb_drc_modify_differential_pair_negative_netB | pcb_Drc.modifyDifferentialPairNegativeNet(differentialPairName: string, negativeNet: string) -> Promise 修改差分对负网络 returns: 操作是否成功 |
| eda_pcb_drc_modify_differential_pair_positive_netB | pcb_Drc.modifyDifferentialPairPositiveNet(differentialPairName: string, positiveNet: string) -> Promise 修改差分对正网络 returns: 操作是否成功 |
| eda_pcb_drc_modify_equal_length_net_group_nameB | pcb_Drc.modifyEqualLengthNetGroupName(originalEqualLengthNetGroupName: string, equalLengthNetGroupName: string) -> Promise 修改等长网络组的名称 returns: 操作是否成功 |
| eda_pcb_drc_modify_net_class_nameA | pcb_Drc.modifyNetClassName(originalNetClassName: string, netClassName: string) -> Promise 修改网络类的名称 returns: 操作是否成功 |
| eda_pcb_drc_modify_pad_pair_group_nameB | pcb_Drc.modifyPadPairGroupName(originalPadPairGroupName: string, padPairGroupName: string) -> Promise 修改焊盘对组的名称 returns: 操作是否成功 |
| eda_pcb_drc_overwrite_current_rule_configurationB | pcb_Drc.overwriteCurrentRuleConfiguration(ruleConfiguration: Record<string, any>) -> Promise 覆写当前设计规则配置 remarks: 将会覆写 PCB 当前的设计规则配置,请注意数据丢失风险 returns: 覆写是否成功 |
| eda_pcb_drc_overwrite_net_by_net_rulesC | pcb_Drc.overwriteNetByNetRules(netByNetRules: Record<string, any>) -> Promise 覆写网络-网络规则 remarks: 将会覆写当前 PCB 的所有网络-网络规则,请注意数据丢失风险 returns: 覆写是否成功 |
| eda_pcb_drc_overwrite_net_rulesB | pcb_Drc.overwriteNetRules(netRules: Array<Record<string, any>>) -> Promise 覆写网络规则 remarks: 将会覆写当前 PCB 的所有网络规则,请注意数据丢失风险 returns: 覆写是否成功 |
| eda_pcb_drc_overwrite_region_rulesB | pcb_Drc.overwriteRegionRules(regionRules: Array<Record<string, any>>) -> Promise 覆写区域规则 remarks: 将会覆写当前 PCB 的所有区域规则,请注意数据丢失风险 returns: 覆写是否成功 |
| eda_pcb_drc_remove_net_from_equal_length_net_groupA | pcb_Drc.removeNetFromEqualLengthNetGroup(equalLengthNetGroupName: string, net: string | Array) -> Promise 从等长网络组中移除网络 returns: 操作是否成功 |
| eda_pcb_drc_remove_net_from_net_classB | pcb_Drc.removeNetFromNetClass(netClassName: string, net: string | Array) -> Promise 从网络类中移除网络 returns: 操作是否成功 |
| eda_pcb_drc_remove_pad_pair_from_pad_pair_groupB | pcb_Drc.removePadPairFromPadPairGroup(padPairGroupName: string, padPair: [string, string] | Array<[string, string]>) -> Promise 从焊盘对组中移除焊盘对 returns: 操作是否成功 |
| eda_pcb_drc_rename_rule_configurationA | pcb_Drc.renameRuleConfiguration(originalConfigurationName: string, configurationName: string) -> Promise 重命名设计规则配置 remarks: 只有自定义配置可以重命名,系统配置不允许重命名 returns: 重命名是否成功 |
| eda_pcb_drc_save_rule_configurationB | pcb_Drc.saveRuleConfiguration(ruleConfiguration: Record<string, any>, configurationName: string, allowOverwrite?: boolean) -> Promise 保存设计规则配置 remarks: 只有自定义配置可以覆盖保存,系统配置不允许修改和覆盖 returns: 保存是否成功 |
| eda_pcb_drc_set_as_default_rule_configurationC | pcb_Drc.setAsDefaultRuleConfiguration(configurationName: string) -> Promise
设置为新建 PCB 默认设计规则配置
remarks: 返回值为结果导向,重复设置相同的设计规则为默认设计规则也将返回 |
| eda_pcb_drc_start_real_time_drcA | pcb_Drc.startRealTimeDrc() -> Promise
开始实时 DRC 检查
remarks: 本接口返回值为结果导向,调用本接口前已启用实时 DRC 检查也将返回 ADD since EDA v4.2 returns: 是否成功启用实时 DRC 检查 |
| eda_pcb_drc_stop_real_time_drcA | pcb_Drc.stopRealTimeDrc() -> Promise
停止实时 DRC 检查
remarks: 本接口返回值为结果导向,调用本接口前已停用实时 DRC 检查也将返回 ADD since EDA v4.2 returns: 是否成功停用实时 DRC 检查 |
| eda_pcb_event_add_cross_probe_select_event_listenerD | pcb_Event.addCrossProbeSelectEventListener(id: string, callFn: (props: any) => void | Promise) -> void
新增交叉选择事件监听
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 |
| eda_pcb_event_add_image_event_listenerA | pcb_Event.addImageEventListener(id: string, callFn: (message: { file?: File; source: 'toolbar' | 'paste' }) => void | Promise) -> boolean 新增插入图片事件监听 deprecated: 临时接口(插入图片 PCB 迁移打通流程用):统一事件机制落地后替换,请尽快迁移,勿在新功能中继续依赖 remarks: ADD since EDA v5 returns: 是否注册成功 [已弃用] |
| eda_pcb_event_add_mouse_event_listenerB | pcb_Event.addMouseEventListener(id: string, eventType: 'all' | EPCB_MouseEventType, callFn: (eventType: EPCB_MouseEventType, props: [{ primitiveId: string; primitiveType: EPCB_PrimitiveType; net?: string; designator?: string; parentComponentPrimitiveId?: string; parentComponentDesignator?: string }]) => void | Promise, onlyOnce?: boolean) -> void
新增鼠标事件监听
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 |
| eda_pcb_event_add_net_event_listenerA | pcb_Event.addNetEventListener(id: string, eventType: 'all' | EPCB_NetEventType, callFn: (eventType: EPCB_NetEventType, props: [{ net: string }]) => void | Promise, onlyOnce?: boolean) -> void 新增网络事件监听 remarks: 网络选中事件仅 ①在过滤面板选中网络选项并在画布选中网络时 ②在工程设计 -> 网络内选中网络时 会被触发 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 |
| eda_pcb_event_add_primitive_event_listenerA | pcb_Event.addPrimitiveEventListener(id: string, eventType: 'all' | EPCB_PrimitiveEventType, callFn: (eventType: EPCB_PrimitiveEventType, props: [{ primitiveId: string; primitiveType: EPCB_PrimitiveType; net?: string; designator?: string; parentComponentPrimitiveId?: string; parentComponentDesignator?: string }]) => void | Promise, onlyOnce?: boolean) -> void
新增图元事件监听
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 |
| eda_pcb_event_add_ray_tracer_engine3_dview_camera_change_event_listenerA | pcb_Event.addRayTracerEngine3DViewCameraChangeEventListener(id: string, callFn: (props: { position: { x: number; y: number; z: number }; rotation: { x: number; y: number; z: number }; focalLength: number }) => void | Promise, onlyOnce?: boolean) -> void
新增光线追踪引擎 3D 预览相机变动(拖动 3D 模型)事件监听
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 ADD since EDA v4 |
| eda_pcb_event_add_ray_tracer_engine3_dview_click_material_event_listenerA | pcb_Event.addRayTracerEngine3DViewClickMaterialEventListener(id: string, callFn: (props: { materialId: number; material: any }) => void | Promise, onlyOnce?: boolean) -> void
新增光线追踪引擎 3D 预览点击材质事件监听
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 ADD since EDA v4 |
| eda_pcb_event_add_ray_tracer_engine_render_progress_event_listenerA | pcb_Event.addRayTracerEngineRenderProgressEventListener(id: string, callFn: (props: { loaded: boolean; sampleCount: number }) => void | Promise, onlyOnce?: boolean) -> void
新增光线追踪引擎渲染进度事件监听
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 渲染进度事件的回调数据格式为
|
| eda_pcb_event_add_real_time_drc_result_event_listenerA | pcb_Event.addRealTimeDrcResultEventListener(id: string, eventType: 'all', callFn: (eventType: undefined, props: [{ drcResult: any }]) => void | Promise) -> void
新增实时 DRC 结果事件监听
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 |
| eda_pcb_event_is_event_listener_already_existC | pcb_Event.isEventListenerAlreadyExist(id: string) -> boolean 查询事件监听是否存在 returns: 事件监听是否存在 |
| eda_pcb_event_remove_event_listenerC | pcb_Event.removeEventListener(id: string) -> boolean 移除事件监听 returns: 是否移除指定事件监听 |
| eda_pcb_image_tool_process_imageA | pcb_ImageTool.processImage(file: File, options?: { maxBytes?: number; acceptableBytes?: number }) -> Promise<{ file: File; dataURL: string; width: number; height: number; msg: string | null }>
选图处理门面(弹窗内重选图片:校验/压缩/读尺寸/预览 dataURL 全由服务端完成)
deprecated: 临时接口(插入图片 PCB 迁移打通流程用):等统一放置接口重构落地后删除替换,请尽快迁移,勿在新功能中继续依赖
remarks: ADD since EDA v5
returns: 处理结果: |
| eda_pcb_image_tool_start_place_true_color_pictureA | pcb_ImageTool.startPlaceTrueColorPicture(options: { imageBlob: Blob; width: number; height: number; unit?: 'mm' | 'mil'; fileName: string }) -> Promise 开始放置真彩图片(权限校验 → 图片审核 → 内核上传 → 模板注册 → 触发放置) deprecated: 临时接口(插入图片 PCB 迁移打通流程用):等统一放置接口重构落地后删除替换,请尽快迁移,勿在新功能中继续依赖 remarks: ADD since EDA v5 returns: 放置工具是否成功触发(权限未过/审核未过/导入失败返回 false) [已弃用] |
| eda_pcb_image_tool_start_place_vector_imageB | pcb_ImageTool.startPlaceVectorImage(options: { path: string; width: number; height: number; unit?: 'mm' | 'mil' }) -> Promise 开始放置矢量图片(将描摹好的路径交给内核,触发十字光标放置) deprecated: 临时接口(插入图片 PCB 迁移打通流程用):等统一放置接口重构落地后删除替换,请尽快迁移,勿在新功能中继续依赖 remarks: ADD since EDA v5 returns: 放置工具是否成功触发 [已弃用] |
| eda_pcb_layer_add_custom_layerB | pcb_Layer.addCustomLayer() -> Promise<TPCB_LayersOfCustom | undefined>
新增自定义层
returns: 新增的自定义层的图层 ID,如若为 |
| eda_pcb_layer_delete_physical_stacking_configurationA | pcb_Layer.deletePhysicalStackingConfiguration(configurationName: string, physicalProps?: IPCB_SubstratePhysicalProperties) -> Promise 删除物理叠层配置 remarks: ADD since EDA v4.2 returns: 删除是否成功 |
| eda_pcb_layer_get_all_layersB | pcb_Layer.getAllLayers() -> Promise<Array> 获取所有图层的详细属性 returns: 所有图层的详细属性 |
| eda_pcb_layer_get_all_physical_stacking_configurationsC | pcb_Layer.getAllPhysicalStackingConfigurations(physicalProps?: IPCB_SubstratePhysicalProperties) -> Promise<Array> 获取所有物理叠层配置 remarks: ADD since EDA v4.2 returns: 所有物理叠层配置 |
| eda_pcb_layer_get_current_layerA | pcb_Layer.getCurrentLayer() -> Promise<IPCB_LayerItem | undefined>
获取当前图层的详细属性
remarks: ADD since EDA v4.2
returns: 当前图层的详细属性,无激活层或无 PCB 画布时返回 |
| eda_pcb_layer_get_current_physical_stacking_configurationC | pcb_Layer.getCurrentPhysicalStackingConfiguration() -> Promise<IPCB_PhysicalStackingConfiguration | undefined>
获取当前物理叠层配置
remarks: ADD since EDA v4.2
returns: 当前物理叠层配置, |
| eda_pcb_layer_get_current_physical_stacking_configuration_nameC | pcb_Layer.getCurrentPhysicalStackingConfigurationName() -> Promise<string | undefined>
获取当前物理叠层配置名称
remarks: ADD since EDA v4.2
returns: 当前物理叠层配置名称, |
| eda_pcb_layer_get_default_physical_stacking_configuration_nameA | pcb_Layer.getDefaultPhysicalStackingConfigurationName(physicalProps?: IPCB_SubstratePhysicalProperties) -> Promise<string | undefined>
获取新建 PCB 默认物理叠层配置的名称
remarks: ADD since EDA v4.2
returns: 默认物理叠层配置的名称, |
| eda_pcb_layer_get_physical_stacking_configurationC | pcb_Layer.getPhysicalStackingConfiguration(configurationName: string, physicalProps?: IPCB_SubstratePhysicalProperties) -> Promise<IPCB_PhysicalStackingConfiguration | undefined>
获取指定物理叠层配置
remarks: ADD since EDA v4.2
returns: 物理叠层配置, |
| eda_pcb_layer_get_the_number_of_copper_layersC | pcb_Layer.getTheNumberOfCopperLayers() -> Promise 获取铜箔层数 returns: 层数 |
| eda_pcb_layer_lock_layerC | pcb_Layer.lockLayer(layer?: TPCB_LayersInTheSelectable | Array) -> Promise 锁定层 returns: 操作是否成功 |
| eda_pcb_layer_modify_layerA | pcb_Layer.modifyLayer(layer: TPCB_LayersInTheSelectable, property: { name?: string; type?: TPCB_LayerTypesOfInnerLayer; color?: string; transparency?: number }) -> Promise
修改图层属性
remarks: 仅内层和自定义层允许修改名称;仅内层允许修改类型, 透明度仅支持0-100之间的数
returns: 修改后的图层属性,如若为 |
| eda_pcb_layer_overwrite_current_physical_stacking_configurationA | pcb_Layer.overwriteCurrentPhysicalStackingConfiguration(physicalStackingConfiguration: IPCB_PhysicalStackingConfiguration) -> Promise 覆写当前物理叠层配置 remarks: 将会覆写 PCB 当前的物理叠层配置,请注意数据丢失风险 如果传入的物理叠层配置不符合当前 PCB 的物理属性,将会直接返回 ADD since EDA v4.2 returns: 覆写是否成功 |
| eda_pcb_layer_remove_layerB | pcb_Layer.removeLayer(layer: TPCB_LayersOfCustom) -> Promise 移除层 remarks: 当前仅支持移除自定义层 returns: 操作是否成功 |
| eda_pcb_layer_rename_physical_stacking_configurationC | pcb_Layer.renamePhysicalStackingConfiguration(originalConfigurationName: string, configurationName: string, physicalProps?: IPCB_SubstratePhysicalProperties) -> Promise 重命名物理叠层配置 remarks: ADD since EDA v4.2 returns: 重命名是否成功 |
| eda_pcb_layer_save_physical_stacking_configurationC | pcb_Layer.savePhysicalStackingConfiguration(physicalStackingConfiguration: IPCB_PhysicalStackingConfiguration, configurationName: string, physicalProps?: IPCB_SubstratePhysicalProperties, allowOverwrite?: boolean) -> Promise 保存物理叠层配置 remarks: ADD since EDA v4.2 returns: 保存是否成功 |
| eda_pcb_layer_select_layerC | pcb_Layer.selectLayer(layer: TPCB_LayersInTheSelectable) -> Promise
选中图层
returns: 操作是否成功,不存在指定层将返回 |
| eda_pcb_layer_set_as_default_physical_stacking_configurationA | pcb_Layer.setAsDefaultPhysicalStackingConfiguration(configurationName: string, physicalProps?: IPCB_SubstratePhysicalProperties) -> Promise
设置为新建 PCB 默认物理叠层配置
remarks: 返回值为结果导向,重复设置相同的物理叠层为默认物理叠层也将返回 ADD since EDA v4.2 returns: 设置是否成功 |
| eda_pcb_layer_set_inactive_layer_display_modeC | pcb_Layer.setInactiveLayerDisplayMode(displayMode?: EPCB_InactiveLayerDisplayMode) -> Promise 设置非激活层展示模式 returns: 是否设置成功 |
| eda_pcb_layer_set_inactive_layer_transparencyC | pcb_Layer.setInactiveLayerTransparency(transparency: number) -> Promise 设置非激活层透明度 returns: 操作是否成功 |
| eda_pcb_layer_set_layer_color_configurationD | pcb_Layer.setLayerColorConfiguration(colorConfiguration: EPCB_LayerColorConfiguration) -> Promise 设置层颜色配置 returns: 操作是否成功 |
| eda_pcb_layer_set_layer_invisibleC | pcb_Layer.setLayerInvisible(layer?: TPCB_LayersInTheSelectable | Array, setOtherLayerVisible?: boolean) -> Promise 将层设置为不可见 returns: 操作是否成功 |
| eda_pcb_layer_set_layer_visibleC | pcb_Layer.setLayerVisible(layer?: TPCB_LayersInTheSelectable | Array, setOtherLayerInvisible?: boolean) -> Promise 将层设置为可见 returns: 操作是否成功 |
| eda_pcb_layer_set_pcb_typeA | pcb_Layer.setPcbType(pcbType: EPCB_PcbPlateType) -> Promise 设置 PCB 类型 remarks: 此处主要是为了适配 FPC 软板的设计,如若将 PCB 类型设置为 FPC 软板,将会新增 FPC 补强层图层。 请注意:
|
| eda_pcb_layer_set_the_number_of_copper_layersB | pcb_Layer.setTheNumberOfCopperLayers(numberOfLayers: TPCB_NumberOfCopperLayers) -> Promise 设置铜箔层数 remarks: 新建的 PCB 文档默认拥有两层铜箔层 returns: 操作是否成功 |
| eda_pcb_layer_unlock_layerC | pcb_Layer.unlockLayer(layer?: TPCB_LayersInTheSelectable | Array) -> Promise 取消锁定层 returns: 操作是否成功 |
| eda_pcb_manufacture_data_delete_bom_templateC | pcb_ManufactureData.deleteBomTemplate(template: string) -> Promise 删除 BOM 模板 returns: 操作是否成功 |
| eda_pcb_manufacture_data_get3_dfileB | pcb_ManufactureData.get3DFile(fileName?: string, fileType?: 'step' | 'obj', element?: Array<'Component Model' | 'Via' | 'Silkscreen' | 'Wire In Signal Layer'>, modelMode?: 'Outfit' | 'Parts', autoGenerateModels?: boolean) -> Promise<File | undefined> 获取 3D 模型文件 returns: 3D 模型文件数据 |
| eda_pcb_manufacture_data_get3_dshell_fileB | pcb_ManufactureData.get3DShellFile(fileName?: string, fileType?: 'stl' | 'step' | 'obj') -> Promise<File | undefined> 获取 3D 外壳文件 returns: 3D 外壳文件数据 |
| eda_pcb_manufacture_data_get_altium_designer_fileC | pcb_ManufactureData.getAltiumDesignerFile(fileName?: string) -> Promise<File | undefined> 获取 Altium Designer 文件 returns: Altium Designer 文件数据 |
| eda_pcb_manufacture_data_get_auto_layout_json_fileC | pcb_ManufactureData.getAutoLayoutJsonFile(fileName?: string) -> Promise<File | undefined> 获取自动布局文件(JSON) returns: 自动布局 JSON 文件数据 |
| eda_pcb_manufacture_data_get_auto_route_json_fileB | pcb_ManufactureData.getAutoRouteJsonFile(fileName?: string) -> Promise<File | undefined> 获取自动布线文件(JSON) returns: 自动布线 JSON 文件数据 |
| eda_pcb_manufacture_data_get_auto_route_json_file_for_jrouterB | pcb_ManufactureData.getAutoRouteJsonFileForJRouter(fileName?: string) -> Promise<File | undefined> 获取 JRouter 专用自动布线文件(JSON) returns: 自动布线 JSON 文件数据 |
| eda_pcb_manufacture_data_get_bom_fileB | pcb_ManufactureData.getBomFile(fileName?: string, fileType?: 'xlsx' | 'csv', template?: string, filterOptions?: Array<{ property: string; includeValue: boolean | string }>, statistics?: Array, property?: Array, columns?: Array) -> Promise<File | undefined> 获取 BOM 文件 returns: BOM 文件数据 |
| eda_pcb_manufacture_data_get_bom_template_fileC | pcb_ManufactureData.getBomTemplateFile(template: string) -> Promise<File | undefined> 获取 BOM 模板文件 returns: BOM 模板文件 |
| eda_pcb_manufacture_data_get_bom_templatesB | pcb_ManufactureData.getBomTemplates() -> Promise<Array> 获取 BOM 模板列表 returns: BOM 模板列表 |
| eda_pcb_manufacture_data_get_dsn_fileC | pcb_ManufactureData.getDsnFile(fileName?: string) -> Promise<File | undefined> 获取自动布线文件(DSN) returns: 自动布线 DSN 文件数据 |
| eda_pcb_manufacture_data_get_dxf_fileB | pcb_ManufactureData.getDxfFile(fileName?: string, layers?: Array<{ layerId: EPCB_LayerId; mirror: boolean }>, objects?: Array) -> Promise<File | undefined> 获取 DXF 文件 returns: DXF 文件数据 |
| eda_pcb_manufacture_data_get_flying_probe_test_fileC | pcb_ManufactureData.getFlyingProbeTestFile(fileName?: string) -> Promise<File | undefined> 获取飞针测试文件 returns: 飞针测试文件数据 |
| eda_pcb_manufacture_data_get_gerber_fileC | pcb_ManufactureData.getGerberFile(fileName?: string, colorSilkscreen?: boolean, unit?: ESYS_Unit.MILLIMETER | ESYS_Unit.INCH, digitalFormat?: { integerNumber: number; decimalNumber: number }, other?: { metallicDrillingInformation: boolean; nonMetallicDrillingInformation: boolean; drillTable: boolean; flyingProbeTestingFile: boolean }, layers?: Array<{ layerId: EPCB_LayerId; isMirror: boolean }>, objects?: Array<'Pad' | 'Via' | 'Track' | 'Text' | 'Image' | 'Dimension' | 'BoardOutline' | 'BoardCutout' | 'CopperFilled' | 'SolidRegion' | 'FPCStiffener' | 'Line' | 'PlaneZone' | 'ComponentProperty' | 'ComponentSilkscreen' | 'TearDrop'>) -> Promise<File | undefined> 获取 PCB 制版文件(Gerber) returns: PCB 制版文件数据 |
| eda_pcb_manufacture_data_get_idx_fileC | pcb_ManufactureData.getIdxFile(fileName?: string) -> Promise<File | undefined> 获取 IDX 文件 returns: IDX 文件 |
| eda_pcb_manufacture_data_get_interactive_bom_fileC | pcb_ManufactureData.getInteractiveBomFile(fileName?: string) -> Promise<File | undefined> 获取交互式 BOM 文件 returns: 交互式 BOM 文件数据 |
| eda_pcb_manufacture_data_get_ipc2581_cfileB | pcb_ManufactureData.getIpc2581CFile(fileName?: string, fileType?: 'xml' | 'cvg' | '2581', unit?: ESYS_Unit.INCH | ESYS_Unit.MILLIMETER, oemNumber?: 'Device' | 'Manufacturer Part' | 'Supplier Part' | 'Comment') -> Promise<File | undefined> 获取 IPC-2581C 文件 returns: IPC-2581C 文件数据 |
| eda_pcb_manufacture_data_get_ipc_d356_afileC | pcb_ManufactureData.getIpcD356AFile(fileName?: string) -> Promise<File | undefined> 获取 IPC-D-356A 文件 returns: IPC-D-356A 文件数据 |
| eda_pcb_manufacture_data_get_manufacture_dataB | pcb_ManufactureData.getManufactureData() -> Promise<File | undefined> 导出制造文件 remarks: 本接口对应私有化部署版本一键导出制造文件功能 将根据前端一键导出制造文件弹窗的配置获取其文件数据 注意:本接口仅私有化部署版本有效,如若在其他版本调用将始终 |
| eda_pcb_manufacture_data_get_netlist_fileC | pcb_ManufactureData.getNetlistFile(fileName?: string, netlistType?: ESYS_NetlistType) -> Promise<File | undefined> 获取网表文件(Netlist) returns: 网表文件数据 |
| eda_pcb_manufacture_data_get_open_database_double_plus_fileB | pcb_ManufactureData.getOpenDatabaseDoublePlusFile(fileName?: string, unit?: ESYS_Unit.INCH | ESYS_Unit.MILLIMETER, otherData?: { metallizedDrilledHoles?: boolean; nonMetallizedDrilledHoles?: boolean; drillTable?: boolean; flyingProbeTestFile?: boolean }, layers?: Array<{ layerId: EPCB_LayerId; mirror: boolean }>, objects?: Array<{ objectName: string }>) -> Promise<File | undefined> 获取 ODB++ 文件 returns: ODB++ 文件数据 |
| eda_pcb_manufacture_data_get_pads_fileC | pcb_ManufactureData.getPadsFile(fileName?: string) -> Promise<File | undefined> 获取 PADS 文件 returns: PADS 文件数据 |
| eda_pcb_manufacture_data_get_pcb_info_fileB | pcb_ManufactureData.getPcbInfoFile(fileName?: string) -> Promise<File | undefined> 获取 PCB 信息文件 returns: PCB 信息文件 |
| eda_pcb_manufacture_data_get_pdf_fileC | pcb_ManufactureData.getPdfFile(fileName?: string, outputMethod?: EPCB_PdfOutputMethod, contentConfig?: { displayAttributesAsMenu: boolean; showOutlineOnly: boolean }, watermark?: { show?: boolean; content?: string; styleConfig?: { color: string; transparency: 'Opaque' | '75%' | '50%' | '25%'; font: string; fontSize: { unit: ESYS_Unit.INCH | ESYS_Unit.MIL | ESYS_Unit.MILLIMETER; value: number }; style: { bold: boolean; italic: boolean; underline: boolean }; slope: 0 | 45 | 90; denseness: 'Single' | 'Sparse' | 'Std' | 'Dense' } }, graphPageConfig?: Array<Record<string, any>>) -> Promise<File | undefined> 获取 PDF 文件 returns: PDF 文件数据(或压缩包) |
| eda_pcb_manufacture_data_get_pick_and_place_fileB | pcb_ManufactureData.getPickAndPlaceFile(fileName?: string, fileType?: 'xlsx' | 'csv', unit?: ESYS_Unit.MILLIMETER | ESYS_Unit.MIL) -> Promise<File | undefined> 获取坐标文件(PickAndPlace) returns: 坐标文件数据 |
| eda_pcb_manufacture_data_get_test_point_fileB | pcb_ManufactureData.getTestPointFile(fileName?: string, fileType?: 'xlsx' | 'csv') -> Promise<File | undefined> 获取测试点报告文件 returns: 测试点报告文件数据 |
| eda_pcb_manufacture_data_place3_dshell_orderA | pcb_ManufactureData.place3DShellOrder(interactive?: boolean, ignoreWarning?: boolean) -> Promise 3D 外壳下单 remarks: 本接口暂时只支持交互式检查,入参暂无作用,预留后续开发 returns: 是否通过下单检查;在入参开发完成前,返回值没有实际作用,不会等待执行结果 |
| eda_pcb_manufacture_data_place_components_orderB | pcb_ManufactureData.placeComponentsOrder(interactive?: boolean, ignoreWarning?: boolean) -> Promise 元件下单 remarks: 本接口暂时只支持交互式检查,入参暂无作用,预留后续开发 returns: 是否通过下单检查;在入参开发完成前,返回值没有实际作用,不会等待执行结果 |
| eda_pcb_manufacture_data_place_pcb_orderB | pcb_ManufactureData.placePcbOrder(interactive?: boolean, ignoreWarning?: boolean) -> Promise PCB 下单 remarks: 本接口暂时只支持交互式检查,入参暂无作用,预留后续开发 returns: 是否通过下单检查;在入参开发完成前,返回值没有实际作用,不会等待执行结果 |
| eda_pcb_manufacture_data_place_smt_components_orderA | pcb_ManufactureData.placeSmtComponentsOrder(interactive?: boolean, ignoreWarning?: boolean) -> Promise SMT 元件下单 remarks: 本接口暂时只支持交互式检查,入参暂无作用,预留后续开发 returns: 是否通过下单检查;在入参开发完成前,返回值没有实际作用,不会等待执行结果 |
| eda_pcb_manufacture_data_upload_bom_template_fileC | pcb_ManufactureData.uploadBomTemplateFile(templateFile: File, template?: string) -> Promise<string | undefined> 上传 BOM 模板文件 returns: BOM 模板名称 |
| eda_pcb_math_polygon_calculate_bbox_heightC | pcb_MathPolygon.calculateBBoxHeight(complexPolygon: TPCB_PolygonSourceArray | Array) -> number 计算多边形源数组的 BBox 高度 |
| eda_pcb_math_polygon_calculate_heightB | pcb_MathPolygon.calculateHeight(complexPolygon: TPCB_PolygonSourceArray | Array | IPCB_Polygon | IPCB_ComplexPolygon) -> number 计算复杂多边形 BBox 高度 returns: BBox 高度 |
| eda_pcb_math_polygon_calculate_widthC | pcb_MathPolygon.calculateWidth(complexPolygon: TPCB_PolygonSourceArray | Array | IPCB_Polygon | IPCB_ComplexPolygon) -> number 计算复杂多边形 BBox 宽度 returns: BBox 宽度 |
| eda_pcb_math_polygon_convert_image_to_complex_polygonC | pcb_MathPolygon.convertImageToComplexPolygon(imageBlob: Blob, imageWidth: number, imageHeight: number, tolerance?: number, simplification?: number, smoothing?: number, despeckling?: number, whiteAsBackgroundColor?: boolean, inversion?: boolean) -> Promise<IPCB_ComplexPolygon | undefined> 将图像转换为复杂多边形对象 returns: 复杂多边形对象 |
| eda_pcb_math_polygon_create_complex_polygonB | pcb_MathPolygon.createComplexPolygon(complexPolygon: TPCB_PolygonSourceArray | Array | IPCB_Polygon | Array) -> IPCB_ComplexPolygon | undefined
创建复杂多边形
returns: 复杂多边形对象, |
| eda_pcb_math_polygon_create_polygonC | pcb_MathPolygon.createPolygon(polygon: TPCB_PolygonSourceArray) -> IPCB_Polygon | undefined
创建单多边形
returns: 单多边形对象, |
| eda_pcb_math_polygon_discretizeC | pcb_MathPolygon.discretize(polygon: IPCB_Polygon | TPCB_PolygonSourceArray, options?: IPCB_DiscretizeOptions) -> Promise<Array> 将单多边形离散化为点数据 remarks: 将单多边形的边界离散化为一系列点 returns: 离散化点数据 |
| eda_pcb_math_polygon_split_polygonC | pcb_MathPolygon.splitPolygon(...complexPolygons: Array) -> Array 拆分单多边形 returns: 单多边形数组 |
| eda_pcb_math_polygon_trace_imageA | pcb_MathPolygon.traceImage(options: { imageBlob?: Blob; imageWidth?: number; imageHeight?: number; quality?: 'low' | 'high'; tolerance?: number; simplify?: number; smoothness?: number; despeckle?: number; whiteAsTransparent?: boolean; antiphase?: boolean }) -> Promise<{ path: string; sourcePreviewUrl: string; previewUrl: string; width: number; height: number } | undefined>
将图片描摹为矢量路径(SVG path),并导出预览图
remarks: 纯预览接口,不触发任何放置工具(放置由临时接口 ADD since EDA v5
returns: 描摹结果: |
| eda_pcb_net_get_all_net_nameC | pcb_Net.getAllNetName() -> Promise<Array> 获取所有网络的网络名称 returns: 网络名称数组 [已弃用] |
| eda_pcb_net_get_all_netsC | pcb_Net.getAllNets() -> Promise<Array> 获取所有网络的详细信息 returns: 所有网络的详细信息 |
| eda_pcb_net_get_all_nets_nameB | pcb_Net.getAllNetsName() -> Promise<Array> 获取所有网络的网络名称 returns: 网络名称数组 |
| eda_pcb_net_get_all_primitives_by_netC | pcb_Net.getAllPrimitivesByNet(net: string, primitiveTypes?: Array) -> Promise<Array> 获取关联指定网络的所有图元 returns: 图元对象数组 |
| eda_pcb_net_get_netB | pcb_Net.getNet(net: string) -> Promise<IPCB_NetInfo | undefined>
获取指定网络的详细信息
returns: 网络的详细信息, |
| eda_pcb_net_get_net_colorA | pcb_Net.getNetColor(net: string) -> Promise<IPCB_NetInfo['color'] | undefined>
获取指定网络的颜色
returns: 网络颜色, |
| eda_pcb_net_get_net_lengthA | pcb_Net.getNetLength(net: string) -> Promise<number | undefined>
获取指定网络的长度
returns: 网络长度, |
| eda_pcb_net_get_netlistC | pcb_Net.getNetlist(type?: ESYS_NetlistType) -> Promise 获取网表 returns: 网表数据 |
| eda_pcb_net_highlight_netB | pcb_Net.highlightNet(net: string) -> Promise
高亮网络
remarks: 本接口的返回值为结果导向,如果该网络原先已高亮,也将返回 |
| eda_pcb_net_select_netB | pcb_Net.selectNet(net: string) -> Promise 选中网络 returns: 操作是否成功 |
| eda_pcb_net_set_net_colorB | pcb_Net.setNetColor(net: string, color: IPCB_NetInfo['color']) -> Promise
设置指定网络的颜色
returns: 是否设置成功, |
| eda_pcb_net_set_netlistD | pcb_Net.setNetlist(type: ESYS_NetlistType | undefined, netlist: string) -> Promise 更新网表 |
| eda_pcb_net_unhighlight_all_netsB | pcb_Net.unhighlightAllNets() -> Promise 取消高亮所有网络 returns: 操作是否成功 |
| eda_pcb_net_unhighlight_netA | pcb_Net.unhighlightNet(net: string) -> Promise
取消高亮网络
remarks: 本接口的返回值为结果导向,如果该网络原先未高亮,也将返回 |
| eda_pcb_net_unselect_all_netsB | pcb_Net.unselectAllNets() -> Promise 取消选中所有网络 returns: 操作是否成功 |
| eda_pcb_net_unselect_netB | pcb_Net.unselectNet(net: string) -> Promise 取消选中网络 returns: 操作是否成功 |
| eda_pcb_primitive_get_primitive_board_lineB | pcb_Primitive.getPrimitiveBoardLine(primitiveId: string, layers?: Array) -> Promise<IPCB_ComplexPolygon | undefined>
获取图元的边框线
returns: 复杂多边形,如果图元 ID 未匹配或图元在指定层上不存在,则返回 |
| eda_pcb_primitive_get_primitive_by_primitive_idC | pcb_Primitive.getPrimitiveByPrimitiveId(id: string) -> Promise<IPCB_Primitive | undefined> 获取指定 ID 的图元的所有属性 returns: 图元的所有属性 |
| eda_pcb_primitive_get_primitives_bboxA | pcb_Primitive.getPrimitivesBBox(primitiveIds: Array<string | IPCB_Primitive>) -> Promise<{ minX: number; minY: number; maxX: number; maxY: number } | undefined>
获取图元的 BBox
returns: 图元的 BBox,如若图元不存在或没有 BBox,将会返回 |
| eda_pcb_primitive_get_primitives_by_primitive_idC | pcb_Primitive.getPrimitivesByPrimitiveId(ids: Array) -> Promise<Array> 获取指定所有 ID 的图元的所有属性 returns: 所有图元的所有属性 |
| eda_pcb_primitive_get_primitive_type_by_primitive_idB | pcb_Primitive.getPrimitiveTypeByPrimitiveId(id: string) -> Promise<EPCB_PrimitiveType | undefined> 获取指定 ID 的图元的图元类型 returns: 图元类型 |
| eda_pcb_primitive_arc_createC | pcb_PrimitiveArc.create(net: string, layer: TPCB_LayersOfLine, startX: number, startY: number, endX: number, endY: number, arcAngle: number, lineWidth?: number, interactiveMode?: EPCB_PrimitiveArcInteractiveMode, primitiveLock?: boolean) -> Promise<IPCB_PrimitiveArc | undefined> 创建圆弧线 returns: 圆弧线图元对象 |
| eda_pcb_primitive_arc_deleteC | pcb_PrimitiveArc.delete(primitiveIds: string | IPCB_PrimitiveArc | Array | Array) -> Promise 删除圆弧线 returns: 删除操作是否成功 |
| eda_pcb_primitive_arc_getB | pcb_PrimitiveArc.get(primitiveIds: string) -> Promise<IPCB_PrimitiveArc | undefined>
获取圆弧线
returns: 圆弧线图元对象, |
| eda_pcb_primitive_arc_get_allC | pcb_PrimitiveArc.getAll(net?: string, layer?: TPCB_LayersOfLine, primitiveLock?: boolean) -> Promise<Array> 获取所有圆弧线 returns: 圆弧线图元对象数组 |
| eda_pcb_primitive_arc_get_all_primitive_idC | pcb_PrimitiveArc.getAllPrimitiveId(net?: string, layer?: TPCB_LayersOfLine, primitiveLock?: boolean) -> Promise<Array> 获取所有圆弧线的图元 ID returns: 圆弧线的图元 ID 数组 |
| eda_pcb_primitive_arc_modifyC | pcb_PrimitiveArc.modify(primitiveId: string | IPCB_PrimitiveArc, property: { net?: string; layer?: TPCB_LayersOfLine; startX?: number; startY?: number; endX?: number; endY?: number; arcAngle?: number; lineWidth?: number; interactiveMode?: EPCB_PrimitiveArcInteractiveMode; primitiveLock?: boolean }) -> Promise<IPCB_PrimitiveArc | undefined> 修改圆弧线 returns: 圆弧线图元对象 |
| eda_pcb_primitive_attribute_createB | pcb_PrimitiveAttribute.create() -> undefined
创建属性
remarks: 属性图元不支持新建,本接口调用将不会有任何效果
returns: |
| eda_pcb_primitive_attribute_deleteC | pcb_PrimitiveAttribute.delete(primitiveIds: string | IPCB_PrimitiveAttribute | Array | Array) -> Promise 删除属性 returns: 删除操作是否成功 |
| eda_pcb_primitive_attribute_getC | pcb_PrimitiveAttribute.get(primitiveIds: string) -> Promise<IPCB_PrimitiveAttribute | undefined>
获取属性
returns: 属性图元对象, |
| eda_pcb_primitive_attribute_get_allC | pcb_PrimitiveAttribute.getAll(parentPrimitiveId?: string, layer?: TPCB_LayersOfImage, primitiveLock?: boolean) -> Promise<Array> 获取所有属性 returns: 属性图元对象数组 |
| eda_pcb_primitive_attribute_get_all_primitive_idC | pcb_PrimitiveAttribute.getAllPrimitiveId(parentPrimitiveId?: string, layer?: TPCB_LayersOfImage, primitiveLock?: boolean) -> Promise<Array> 获取所有属性的图元 ID returns: 属性的图元 ID 数组 |
| eda_pcb_primitive_attribute_modifyC | pcb_PrimitiveAttribute.modify(primitiveId: string | IPCB_PrimitiveAttribute, property: { layer?: TPCB_LayersOfImage; x?: number; y?: number; 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 }) -> Promise<IPCB_PrimitiveAttribute | undefined> 修改文本 returns: 文本图元对象 |
| eda_pcb_primitive_component_createB | pcb_PrimitiveComponent.create(component: { libraryUuid: string; uuid: string } | ILIB_DeviceItem | ILIB_DeviceSearchItem | { libraryType: ELIB_LibraryType.FOOTPRINT; libraryUuid: string; uuid: string } | ILIB_FootprintItem | ILIB_FootprintSearchItem, layer: TPCB_LayersOfComponent, x: number, y: number, rotation?: number, primitiveLock?: boolean) -> Promise<IPCB_PrimitiveComponent | undefined> 创建器件 returns: 器件图元对象 |
| eda_pcb_primitive_component_deleteC | pcb_PrimitiveComponent.delete(primitiveIds: string | IPCB_PrimitiveComponent | Array | Array) -> Promise 删除器件 returns: 删除操作是否成功 |
| eda_pcb_primitive_component_getB | pcb_PrimitiveComponent.get(primitiveIds: string) -> Promise<IPCB_PrimitiveComponent | undefined>
获取器件
returns: 器件图元对象, |
| eda_pcb_primitive_component_get_allB | pcb_PrimitiveComponent.getAll(layer?: TPCB_LayersOfComponent, primitiveLock?: boolean) -> Promise<Array> 获取所有器件 returns: 器件图元对象数组 |
| eda_pcb_primitive_component_get_all_pins_by_primitive_idA | pcb_PrimitiveComponent.getAllPinsByPrimitiveId(primitiveId: string) -> Promise<Array | undefined> 获取器件关联的所有焊盘 returns: 器件焊盘图元数组 |
| eda_pcb_primitive_component_get_all_primitive_idA | pcb_PrimitiveComponent.getAllPrimitiveId(layer?: TPCB_LayersOfComponent, primitiveLock?: boolean) -> Promise<Array> 获取所有器件的图元 ID returns: 器件的图元 ID 数组 |
| eda_pcb_primitive_component_get_all_property_namesC | pcb_PrimitiveComponent.getAllPropertyNames() -> Promise<Array> 获取所有器件的所有属性名称集合 returns: 所有器件的所有属性名称集合 |
| eda_pcb_primitive_component_modifyB | pcb_PrimitiveComponent.modify(primitiveId: string | IPCB_PrimitiveComponent, property: { layer?: TPCB_LayersOfComponent; x?: number; y?: number; rotation?: number; primitiveLock?: boolean; addIntoBom?: boolean; designator?: string | null; name?: string | null; uniqueId?: string | null; manufacturer?: string | null; manufacturerId?: string | null; supplier?: string | null; supplierId?: string | null; otherProperty?: Record<string, any> }) -> Promise<IPCB_PrimitiveComponent | undefined> 修改器件 returns: 器件图元对象 |
| eda_pcb_primitive_component_place_cbb_pcbB | pcb_PrimitiveComponent.placeCbbPcb(cbbPcb: { libraryUuid: string; cbbUuid: string; uuid: string }, x: number, y: number, props?: { reimportWhenNameRepeated?: boolean }) -> Promise 放置复用模块 PCB returns: 放置操作是否成功 |
| eda_pcb_primitive_component_place_component_with_mouseA | pcb_PrimitiveComponent.placeComponentWithMouse(component: { libraryUuid: string; uuid: string } | ILIB_DeviceItem | ILIB_DeviceSearchItem) -> Promise 使用鼠标放置器件 remarks: 本接口模拟前端点击放置按钮,指定的器件将绑定到当前鼠标,并在用户后续点击时放置于画布 本接口的返回时机并不会等待用户的放置操作,一旦器件被绑定到鼠标,本接口将立即返回 |
| eda_pcb_primitive_component_place_footprint_with_mouseA | pcb_PrimitiveComponent.placeFootprintWithMouse(footprint: { libraryUuid: string; uuid: string } | ILIB_FootprintItem | ILIB_FootprintSearchItem, properties?: Record<string, boolean | number | string | undefined>) -> Promise 使用鼠标放置封装 remarks: ADD since API v0.2.26 本接口模拟前端点击放置按钮,指定的封装将绑定到当前鼠标,并在用户后续点击时放置于画布 本接口的返回时机并不会等待用户的放置操作,一旦封装被绑定到鼠标,本接口将立即返回 |
| eda_pcb_primitive_dimension_createB | pcb_PrimitiveDimension.create(dimensionType: EPCB_PrimitiveDimensionType, coordinateSet: TPCB_PrimitiveDimensionCoordinateSet, layer?: TPCB_LayersOfDimension, unit?: ESYS_Unit.MILLIMETER | ESYS_Unit.CENTIMETER | ESYS_Unit.INCH | ESYS_Unit.MIL, lineWidth?: number, precision?: number, primitiveLock?: boolean) -> Promise<IPCB_PrimitiveDimension | undefined> 创建尺寸标注 returns: 尺寸标注图元对象 |
| eda_pcb_primitive_dimension_deleteC | pcb_PrimitiveDimension.delete(primitiveIds: string | IPCB_PrimitiveDimension | Array | Array) -> Promise 删除尺寸标注 returns: 删除操作是否成功 |
| eda_pcb_primitive_dimension_getC | pcb_PrimitiveDimension.get(primitiveIds: string) -> Promise<IPCB_PrimitiveDimension | undefined>
获取尺寸标注
returns: 尺寸标注图元对象, |
| eda_pcb_primitive_dimension_get_allC | pcb_PrimitiveDimension.getAll(layer?: TPCB_LayersOfDimension, primitiveLock?: boolean) -> Promise<Array> 获取所有尺寸标注 returns: 尺寸标注图元对象数组 |
| eda_pcb_primitive_dimension_get_all_primitive_idB | pcb_PrimitiveDimension.getAllPrimitiveId(layer?: TPCB_LayersOfDimension, primitiveLock?: boolean) -> Promise<Array> 获取所有尺寸标注的图元 ID returns: 尺寸标注的图元 ID 数组 |
| eda_pcb_primitive_dimension_modifyB | pcb_PrimitiveDimension.modify(primitiveId: string | IPCB_PrimitiveDimension, property: { dimensionType?: EPCB_PrimitiveDimensionType; coordinateSet?: TPCB_PrimitiveDimensionCoordinateSet; layer?: TPCB_LayersOfDimension; unit?: ESYS_Unit.MILLIMETER | ESYS_Unit.CENTIMETER | ESYS_Unit.INCH | ESYS_Unit.MIL; lineWidth?: number; precision?: number; primitiveLock?: boolean }) -> Promise<IPCB_PrimitiveDimension | undefined> 修改尺寸标注 returns: 尺寸标注图元对象 |
| eda_pcb_primitive_fill_createC | pcb_PrimitiveFill.create(layer: TPCB_LayersOfFill, complexPolygon: IPCB_Polygon, net?: string, fillMode?: EPCB_PrimitiveFillMode, lineWidth?: number, primitiveLock?: boolean) -> Promise<IPCB_PrimitiveFill | undefined> 创建填充 returns: 填充图元对象 |
| eda_pcb_primitive_fill_deleteC | pcb_PrimitiveFill.delete(primitiveIds: string | IPCB_PrimitiveFill | Array | Array) -> Promise 删除填充 returns: 删除操作是否成功 |
| eda_pcb_primitive_fill_getB | pcb_PrimitiveFill.get(primitiveIds: string) -> Promise<IPCB_PrimitiveFill | undefined>
获取填充
returns: 填充图元对象, |
| eda_pcb_primitive_fill_get_allA | pcb_PrimitiveFill.getAll(layer?: TPCB_LayersOfFill, net?: string, primitiveLock?: boolean) -> Promise<Array> 获取所有填充 returns: 填充图元对象数组 |
| eda_pcb_primitive_fill_get_all_primitive_idC | pcb_PrimitiveFill.getAllPrimitiveId(layer?: TPCB_LayersOfFill, net?: string, primitiveLock?: boolean) -> Promise<Array> 获取所有填充的图元 ID returns: 填充的图元 ID 数组 |
| eda_pcb_primitive_fill_modifyA | pcb_PrimitiveFill.modify(primitiveId: string | IPCB_PrimitiveFill, property: { layer?: TPCB_LayersOfFill; complexPolygon?: IPCB_Polygon; net?: string; fillMode?: EPCB_PrimitiveFillMode; lineWidth?: number; primitiveLock?: boolean }) -> Promise<IPCB_PrimitiveFill | undefined>
修改填充
returns: 填充图元对象, |
| eda_pcb_primitive_image_createB | pcb_PrimitiveImage.create(x: number, y: number, complexPolygon: TPCB_PolygonSourceArray | Array | IPCB_Polygon | IPCB_ComplexPolygon, layer: TPCB_LayersOfImage, width?: number, height?: number, rotation?: number, horizonMirror?: boolean, primitiveLock?: boolean) -> Promise<IPCB_PrimitiveImage | undefined> 创建图像 returns: 图像图元对象 |
| eda_pcb_primitive_image_deleteD | pcb_PrimitiveImage.delete(primitiveIds: string | IPCB_PrimitiveImage | Array | Array) -> Promise 删除图像 returns: 删除操作是否成功 |
| eda_pcb_primitive_image_getC | pcb_PrimitiveImage.get(primitiveIds: string) -> Promise<IPCB_PrimitiveImage | undefined>
获取图像
returns: 图像图元对象, |
| eda_pcb_primitive_image_get_allC | pcb_PrimitiveImage.getAll(layer?: TPCB_LayersOfImage, primitiveLock?: boolean) -> Promise<Array> 获取所有图像 returns: 图像图元对象数组 |
| eda_pcb_primitive_image_get_all_primitive_idB | pcb_PrimitiveImage.getAllPrimitiveId(layer?: TPCB_LayersOfImage, primitiveLock?: boolean) -> Promise<Array> 获取所有图像的图元 ID returns: 图像的图元 ID 数组 |
| eda_pcb_primitive_image_modifyB | pcb_PrimitiveImage.modify(primitiveId: string | IPCB_PrimitiveImage, property: { x?: number; y?: number; layer?: TPCB_LayersOfImage; width?: number; height?: number; rotation?: number; horizonMirror?: boolean; primitiveLock?: boolean }) -> Promise<IPCB_PrimitiveImage | undefined> 修改图像 returns: 图像图元对象 |
| eda_pcb_primitive_line_createB | pcb_PrimitiveLine.create(net: string, layer: TPCB_LayersOfLine, startX: number, startY: number, endX: number, endY: number, lineWidth?: number, primitiveLock?: boolean) -> Promise<IPCB_PrimitiveLine | undefined> 创建直线 returns: 直线图元对象 |
| eda_pcb_primitive_line_deleteB | pcb_PrimitiveLine.delete(primitiveIds: string | IPCB_PrimitiveLine | Array | Array) -> Promise 删除直线 returns: 删除操作是否成功 |
| eda_pcb_primitive_line_getB | pcb_PrimitiveLine.get(primitiveIds: string) -> Promise<IPCB_PrimitiveLine | undefined>
获取直线
returns: 直线图元对象, |
| eda_pcb_primitive_line_get_allA | pcb_PrimitiveLine.getAll(net?: string, layer?: TPCB_LayersOfLine, primitiveLock?: boolean) -> Promise<Array> 获取所有直线 returns: 直线图元对象数组 |
| eda_pcb_primitive_line_get_all_primitive_idC | pcb_PrimitiveLine.getAllPrimitiveId(net?: string, layer?: TPCB_LayersOfLine, primitiveLock?: boolean) -> Promise<Array> 获取所有直线的图元 ID returns: 折线的图元 ID 数组 |
| eda_pcb_primitive_line_modifyB | pcb_PrimitiveLine.modify(primitiveId: string | IPCB_PrimitiveLine, property: { net?: string; layer?: TPCB_LayersOfLine; startX?: number; startY?: number; endX?: number; endY?: number; lineWidth?: number; primitiveLock?: boolean }) -> Promise<IPCB_PrimitiveLine | undefined> 修改直线 returns: 直线图元对象 |
| eda_pcb_primitive_object_createC | pcb_PrimitiveObject.create(layer: TPCB_LayersOfObject, topLeftX: number, topLeftY: number, binaryData: string, width: number, height: number, rotation?: number, mirror?: boolean, fileName?: string, primitiveLock?: boolean) -> Promise<IPCB_PrimitiveObject | undefined> 创建二进制内嵌对象 returns: - 二进制内嵌对象图元对象 |
| eda_pcb_primitive_object_deleteC | pcb_PrimitiveObject.delete(primitiveIds: string | IPCB_PrimitiveObject | Array | Array) -> Promise 删除二进制内嵌对象 returns: 删除操作是否成功 |
| eda_pcb_primitive_object_getB | pcb_PrimitiveObject.get(primitiveIds: string) -> Promise<IPCB_PrimitiveObject | undefined>
获取二进制内嵌对象
returns: 二进制内嵌对象图元对象, |
| eda_pcb_primitive_object_get_allB | pcb_PrimitiveObject.getAll(layer?: TPCB_LayersOfObject, primitiveLock?: boolean) -> Promise<Array> 获取所有二进制内嵌对象 returns: 二进制内嵌对象图元对象数组 |
| eda_pcb_primitive_object_get_all_primitive_idB | pcb_PrimitiveObject.getAllPrimitiveId(layer?: TPCB_LayersOfObject, primitiveLock?: boolean) -> Promise<Array> 获取所有二进制内嵌对象的图元 ID returns: 二进制内嵌对象的图元 ID 数组 |
| eda_pcb_primitive_object_modifyB | pcb_PrimitiveObject.modify(primitiveId: string | IPCB_PrimitiveObject, property: { layer?: TPCB_LayersOfObject; topLeftX?: number; topLeftY?: number; binaryData?: string; width?: number; height?: number; rotation?: number; mirror?: boolean; fileName?: string; primitiveLock?: boolean }) -> Promise<IPCB_PrimitiveObject | undefined>
修改二进制内嵌对象
returns: 二进制内嵌对象图元对象, |
| eda_pcb_primitive_pad_createB | pcb_PrimitivePad.create(layer: TPCB_LayersOfPad, padNumber: string, x: number, y: number, rotation?: number, pad?: TPCB_PrimitivePadShape, net?: string, hole?: TPCB_PrimitivePadHole | null, holeOffsetX?: number, holeOffsetY?: number, holeRotation?: number, metallization?: boolean, padType?: EPCB_PrimitivePadType, specialPad?: TPCB_PrimitiveSpecialPadShape, solderMaskAndPasteMaskExpansion?: IPCB_PrimitiveSolderMaskAndPasteMaskExpansion | null, heatWelding?: IPCB_PrimitivePadHeatWelding | null, primitiveLock?: boolean) -> Promise<IPCB_PrimitivePad | undefined> 创建焊盘 returns: 焊盘图元对象 |
| eda_pcb_primitive_pad_deleteB | pcb_PrimitivePad.delete(primitiveIds: string | IPCB_PrimitivePad | Array | Array) -> Promise 删除焊盘 returns: 删除操作是否成功 |
| eda_pcb_primitive_pad_getB | pcb_PrimitivePad.get(primitiveIds: string) -> Promise<IPCB_PrimitivePad | undefined>
获取焊盘
returns: 焊盘图元对象, |
| eda_pcb_primitive_pad_get_allC | pcb_PrimitivePad.getAll(layer?: TPCB_LayersOfPad, net?: string, primitiveLock?: boolean, padType?: EPCB_PrimitivePadType) -> Promise<Array> 获取所有焊盘 returns: 焊盘图元对象数组 |
| eda_pcb_primitive_pad_get_all_primitive_idB | pcb_PrimitivePad.getAllPrimitiveId(layer?: TPCB_LayersOfPad, net?: string, primitiveLock?: boolean, padType?: EPCB_PrimitivePadType) -> Promise<Array> 获取所有焊盘的图元 ID returns: 焊盘的图元 ID 数组 |
| eda_pcb_primitive_pad_modifyB | pcb_PrimitivePad.modify(primitiveId: string | IPCB_PrimitivePad, property: { layer?: TPCB_LayersOfPad; padNumber?: string; x?: number; y?: number; rotation?: number; pad?: TPCB_PrimitivePadShape; net?: string; hole?: TPCB_PrimitivePadHole | null; holeOffsetX?: number; holeOffsetY?: number; holeRotation?: number; metallization?: boolean; specialPad?: TPCB_PrimitiveSpecialPadShape; solderMaskAndPasteMaskExpansion?: IPCB_PrimitiveSolderMaskAndPasteMaskExpansion | null; heatWelding?: IPCB_PrimitivePadHeatWelding | null; primitiveLock?: boolean }) -> Promise<IPCB_PrimitivePad | undefined> 修改焊盘 returns: 焊盘图元对象 |
| eda_pcb_primitive_polyline_createB | pcb_PrimitivePolyline.create(net: string, layer: TPCB_LayersOfLine, polygon: IPCB_Polygon, lineWidth?: number, primitiveLock?: boolean) -> Promise<IPCB_PrimitivePolyline | undefined> 创建折线 returns: 折线图元对象 |
| eda_pcb_primitive_polyline_deleteC | pcb_PrimitivePolyline.delete(primitiveIds: string | IPCB_PrimitivePolyline | Array | Array) -> Promise 删除折线 returns: 删除操作是否成功 |
| eda_pcb_primitive_polyline_getB | pcb_PrimitivePolyline.get(primitiveIds: string) -> Promise<IPCB_PrimitivePolyline | undefined>
获取折线
returns: 折线图元对象, |
| eda_pcb_primitive_polyline_get_allC | pcb_PrimitivePolyline.getAll(net?: string, layer?: TPCB_LayersOfLine, primitiveLock?: boolean) -> Promise<Array> 获取所有折线 returns: 折线图元对象数组 |
| eda_pcb_primitive_polyline_get_all_primitive_idB | pcb_PrimitivePolyline.getAllPrimitiveId(net?: string, layer?: TPCB_LayersOfLine, primitiveLock?: boolean) -> Promise<Array> 获取所有折线的图元 ID returns: 折线的图元 ID 数组 |
| eda_pcb_primitive_polyline_modifyC | pcb_PrimitivePolyline.modify(primitiveId: string | IPCB_PrimitivePolyline, property: { net?: string; layer?: TPCB_LayersOfLine; polygon?: IPCB_Polygon; lineWidth?: number; primitiveLock?: boolean }) -> Promise<IPCB_PrimitivePolyline | undefined> 修改折线 returns: 折线图元对象 |
| eda_pcb_primitive_pour_createC | pcb_PrimitivePour.create(net: string, layer: TPCB_LayersOfCopper, complexPolygon: IPCB_Polygon, pourFillMethod?: EPCB_PrimitivePourFillMethod, preserveSilos?: boolean, pourName?: string, pourPriority?: number, lineWidth?: number, primitiveLock?: boolean) -> Promise<IPCB_PrimitivePour | undefined> 创建覆铜边框 returns: 覆铜边框图元对象 |
| eda_pcb_primitive_pour_deleteB | pcb_PrimitivePour.delete(primitiveIds: string | IPCB_PrimitivePour | Array | Array) -> Promise 删除覆铜边框 returns: 删除操作是否成功 |
| eda_pcb_primitive_pour_getB | pcb_PrimitivePour.get(primitiveIds: string) -> Promise<IPCB_PrimitivePour | undefined>
获取覆铜边框
returns: 覆铜边框图元对象, |
| eda_pcb_primitive_pour_get_allB | pcb_PrimitivePour.getAll(net?: string, layer?: TPCB_LayersOfCopper, primitiveLock?: boolean) -> Promise<Array> 获取所有覆铜边框图元 returns: 覆铜边框图元对象数组 |
| eda_pcb_primitive_pour_get_all_primitive_idA | pcb_PrimitivePour.getAllPrimitiveId(net?: string, layer?: TPCB_LayersOfCopper, primitiveLock?: boolean) -> Promise<Array> 获取所有覆铜边框的图元 ID returns: 覆铜边框的图元 ID 数组 |
| eda_pcb_primitive_pour_modifyB | pcb_PrimitivePour.modify(primitiveId: string | IPCB_PrimitivePour, property: { net?: string; layer?: TPCB_LayersOfCopper; complexPolygon?: IPCB_Polygon; pourFillMethod?: EPCB_PrimitivePourFillMethod; preserveSilos?: boolean; pourName?: string; pourPriority?: number; lineWidth?: number; primitiveLock?: boolean }) -> Promise<IPCB_PrimitivePour | undefined>
修改覆铜边框
returns: 覆铜边框图元对象, |
| eda_pcb_primitive_pour_rebuild_copper_regionsC | pcb_PrimitivePour.rebuildCopperRegions(primitiveIds?: Array) -> Promise<Array> 重建覆铜区域 returns: 覆铜填充图元数组 |
| eda_pcb_primitive_poured_createB | pcb_PrimitivePoured.create() -> undefined
创建覆铜填充
remarks: 覆铜填充图元不支持新建,本接口调用将不会有任何效果
returns: |
| eda_pcb_primitive_poured_deleteB | pcb_PrimitivePoured.delete(primitiveIds: string | IPCB_PrimitivePoured | Array | Array) -> Promise 删除覆铜填充 returns: 删除操作是否成功 |
| eda_pcb_primitive_poured_getB | pcb_PrimitivePoured.get(primitiveIds: string) -> Promise<IPCB_PrimitivePoured | undefined>
获取覆铜填充
returns: 覆铜填充图元对象, |
| eda_pcb_primitive_poured_get_allC | pcb_PrimitivePoured.getAll() -> Promise<Array> 获取所有覆铜填充图元 returns: 覆铜填充图元对象数组 |
| eda_pcb_primitive_poured_get_all_primitive_idC | pcb_PrimitivePoured.getAllPrimitiveId() -> Promise<Array> 获取所有覆铜填充的图元 ID returns: 覆铜填充的图元 ID 数组 |
| eda_pcb_primitive_poured_modifyA | pcb_PrimitivePoured.modify() -> undefined
修改覆铜填充
remarks: 覆铜填充图元不支持修改,本接口调用将不会有任何效果
returns: |
| eda_pcb_primitive_region_createB | pcb_PrimitiveRegion.create(layer: TPCB_LayersOfRegion, complexPolygon: IPCB_Polygon, ruleType?: Array, regionName?: string, lineWidth?: number, primitiveLock?: boolean) -> Promise<IPCB_PrimitiveRegion | undefined> 创建区域 returns: 区域图元对象 |
| eda_pcb_primitive_region_deleteC | pcb_PrimitiveRegion.delete(primitiveIds: string | IPCB_PrimitiveRegion | Array | Array) -> Promise 删除区域 returns: 删除操作是否成功 |
| eda_pcb_primitive_region_getB | pcb_PrimitiveRegion.get(primitiveIds: string) -> Promise<IPCB_PrimitiveRegion | undefined>
获取区域
returns: 区域图元对象, |
| eda_pcb_primitive_region_get_allB | pcb_PrimitiveRegion.getAll(layer?: TPCB_LayersOfRegion, ruleType?: Array, primitiveLock?: boolean) -> Promise<Array> 获取所有区域 returns: 区域图元对象数组 |
| eda_pcb_primitive_region_get_all_primitive_idC | pcb_PrimitiveRegion.getAllPrimitiveId(layer?: TPCB_LayersOfRegion, ruleType?: Array, primitiveLock?: boolean) -> Promise<Array> 获取所有区域的图元 ID returns: 区域的图元 ID 数组 |
| eda_pcb_primitive_region_modifyC | pcb_PrimitiveRegion.modify(primitiveId: string | IPCB_PrimitiveRegion, property: { layer?: TPCB_LayersOfRegion; complexPolygon?: IPCB_Polygon; ruleType?: Array; regionName?: string; lineWidth?: number; primitiveLock?: boolean }) -> Promise<IPCB_PrimitiveRegion | undefined>
修改区域
returns: 区域图元对象, |
| eda_pcb_primitive_string_createD | pcb_PrimitiveString.create(layer: TPCB_LayersOfImage, x: number, y: number, text: string, fontFamily: string, fontSize: number, lineWidth: number, alignMode: EPCB_PrimitiveStringAlignMode, rotation: number, reverse: boolean, expansion: number, mirror: boolean, primitiveLock: boolean) -> Promise<IPCB_PrimitiveString | undefined> 创建文本 returns: 文本图元对象 |
| eda_pcb_primitive_string_deleteC | pcb_PrimitiveString.delete(primitiveIds: string | IPCB_PrimitiveString | Array | Array) -> Promise 删除文本 returns: 删除操作是否成功 |
| eda_pcb_primitive_string_getB | pcb_PrimitiveString.get(primitiveIds: string) -> Promise<IPCB_PrimitiveString | undefined>
获取文本
returns: 文本图元对象, |
| eda_pcb_primitive_string_get_allC | pcb_PrimitiveString.getAll(layer?: TPCB_LayersOfImage, primitiveLock?: boolean) -> Promise<Array> 获取所有文本 returns: 文本图元对象数组 |
| eda_pcb_primitive_string_get_all_primitive_idB | pcb_PrimitiveString.getAllPrimitiveId(layer?: TPCB_LayersOfImage, primitiveLock?: boolean) -> Promise<Array> 获取所有文本的图元 ID returns: 文本的图元 ID 数组 |
| eda_pcb_primitive_string_modifyC | pcb_PrimitiveString.modify(primitiveId: string | IPCB_PrimitiveString, property: { layer?: TPCB_LayersOfImage; x?: number; y?: number; text?: string; fontFamily?: string; fontSize?: number; lineWidth?: number; alignMode?: EPCB_PrimitiveStringAlignMode; rotation?: number; reverse?: boolean; expansion?: number; mirror?: boolean; primitiveLock?: boolean }) -> Promise<IPCB_PrimitiveString | undefined> 修改文本 returns: 文本图元对象 |
| eda_pcb_primitive_via_createB | pcb_PrimitiveVia.create(net: string, x: number, y: number, holeDiameter: number, diameter: number, viaType?: EPCB_PrimitiveViaType, designRuleBlindViaName?: string | null, solderMaskExpansion?: IPCB_PrimitiveSolderMaskAndPasteMaskExpansion | null, primitiveLock?: boolean) -> Promise<IPCB_PrimitiveVia | undefined> 创建过孔 returns: 过孔图元对象 |
| eda_pcb_primitive_via_deleteB | pcb_PrimitiveVia.delete(primitiveIds: string | IPCB_PrimitiveVia | Array | Array) -> Promise 删除过孔 returns: 删除操作是否成功 |
| eda_pcb_primitive_via_getB | pcb_PrimitiveVia.get(primitiveIds: string) -> Promise<IPCB_PrimitiveVia | undefined>
获取过孔
returns: 过孔图元对象, |
| eda_pcb_primitive_via_get_allB | pcb_PrimitiveVia.getAll(net?: string, primitiveLock?: boolean) -> Promise<Array> 获取所有过孔 returns: 过孔图元对象数组 |
| eda_pcb_primitive_via_get_all_primitive_idB | pcb_PrimitiveVia.getAllPrimitiveId(net?: string, primitiveLock?: boolean) -> Promise<Array> 获取所有过孔图元 ID returns: 过孔的图元 ID 数组 |
| eda_pcb_primitive_via_modifyA | pcb_PrimitiveVia.modify(primitiveId: string | IPCB_PrimitiveVia, property: { net?: string; x?: number; y?: number; holeDiameter?: number; diameter?: number; viaType?: EPCB_PrimitiveViaType; designRuleBlindViaName?: string | null; solderMaskExpansion?: IPCB_PrimitiveSolderMaskAndPasteMaskExpansion | null; primitiveLock?: boolean }) -> Promise<IPCB_PrimitiveVia | undefined> 修改过孔 returns: 过孔图元对象 |
| eda_pcb_ray_tracer_engine_disposeC | pcb_RayTracerEngine.dispose() -> Promise 停止光线追踪引擎 remarks: ADD since EDA v4 |
| eda_pcb_ray_tracer_engine_get_light_configurationsD | pcb_RayTracerEngine.getLightConfigurations(lightName: string) -> Promise 获取光线追踪光源配置 returns: 光源配置 |
| eda_pcb_ray_tracer_engine_get_render_configurationsC | pcb_RayTracerEngine.getRenderConfigurations() -> Promise 获取光线追踪渲染配置 remarks: 本接口配置定义还在进行中 ADD since EDA v4 returns: 渲染配置 |
| eda_pcb_ray_tracer_engine_initC | pcb_RayTracerEngine.init() -> Promise 初始化光线追踪引擎 remarks: ADD since EDA v4 |
| eda_pcb_ray_tracer_engine_pause_renderB | pcb_RayTracerEngine.pauseRender() -> Promise 暂停光线追踪渲染 remarks: 暂停后光线追踪引擎将停止继续渲染 |
| eda_pcb_ray_tracer_engine_set_render_configurationsC | pcb_RayTracerEngine.setRenderConfigurations(configurations: any) -> Promise 设置光线追踪渲染配置 remarks: 本接口配置定义还在进行中 ADD since EDA v4 |
| eda_pcb_select_control_clear_selectedB | pcb_SelectControl.clearSelected() -> Promise 清除选中 returns: 操作是否成功 |
| eda_pcb_select_control_do_cross_probe_selectC | pcb_SelectControl.doCrossProbeSelect(components?: Array, pins?: Array, nets?: Array, highlight?: boolean, select?: boolean) -> Promise 进行交叉选择 |
| eda_pcb_select_control_do_cross_probe_select_by_objectC | pcb_SelectControl.doCrossProbeSelectByObject(components?: Array, pins?: Array, nets?: Array) -> Promise 进行交叉选择 |
| eda_pcb_select_control_do_select_primitivesC | pcb_SelectControl.doSelectPrimitives(primitiveIds: string | Array) -> Promise 使用图元 ID 选中图元 returns: 操作是否成功 |
| eda_pcb_select_control_get_all_selected_primitivesB | pcb_SelectControl.getAllSelectedPrimitives() -> Promise<Array> 查询所有已选中图元的图元对象 returns: 所有已选中图元的图元对象 |
| eda_pcb_select_control_get_all_selected_primitives_primitive_idB | pcb_SelectControl.getAllSelectedPrimitives_PrimitiveId() -> Promise<Array> 查询所有已选中图元的图元 ID returns: 所有已选中图元的图元 ID |
| eda_pcb_select_control_get_current_mouse_positionB | pcb_SelectControl.getCurrentMousePosition() -> Promise<{ x: number; y: number } | undefined>
获取当前鼠标在画布上的位置
returns: 鼠标在画布上的位置, |
| eda_pcb_select_control_get_selected_primitivesC | pcb_SelectControl.getSelectedPrimitives() -> Promise<Array> 查询选中图元的所有参数 returns: 选中图元的所有参数 [已弃用] |
| eda_pnl_document_saveB | pnl_Document.save() -> Promise
保存文档
returns: 保存操作是否成功,保存失败、上传失败等错误均返回 |
| eda_sch_document_auto_layoutB | sch_Document.autoLayout(props?: { uuids?: Array; netlist?: { component: Record<string, { pinInfoMap: Record<string, { name: string; number: string; net: string; props: { 'Pin Number': string } }> }> }; designatorDeviceTypeMap?: Record<string, 'resistor' | 'capacitor' | 'inductive' | 'diode' | 'triode' | 'oscillator' | 'chip' | 'otherDevice'> }) -> Promise 自动布局 remarks: 如不传入任何参数,将对所有器件进行自动布局 returns: 自动布局结果 |
| eda_sch_document_auto_routingC | sch_Document.autoRouting(props?: { uuids?: Array; netlist?: { component: Record<string, { pinInfoMap: Record<string, { name: string; number: string; net: string; props: { 'Pin Number': string } }> }> }; designatorDeviceTypeMap?: Record<string, 'resistor' | 'capacitor' | 'inductive' | 'diode' | 'triode' | 'oscillator' | 'chip' | 'otherDevice'> }) -> Promise 自动布线 remarks: 如不传入任何参数,将对所有未布线的网络进行自动布线 returns: 自动布线结果 |
| eda_sch_document_get_current_filter_configurationC | sch_Document.getCurrentFilterConfiguration() -> Promise<Record<string, boolean> | undefined>
获取当前画布过滤器配置
remarks: ADD since EDA v4.2
returns: 当前画布过滤器配置, |
| eda_sch_document_get_primitive_at_pointA | sch_Document.getPrimitiveAtPoint(x: number, y: number) -> Promise<ISCH_Primitive | undefined> 获取坐标点的图元 remarks: 本操作和前端鼠标点击操作类似,将会获取指定坐标点上的图元 ADD since EDA v4.2
returns: 坐标点的图元,如若坐标点无法找到图元,将返回 |
| eda_sch_document_get_primitives_in_regionA | sch_Document.getPrimitivesInRegion(left: number, right: number, top: number, bottom: number) -> Promise<Array> 获取区域内所有图元 remarks: 本接口仅会返回完全包含在区域内的图元,如果图元有部分位于区域外,将被忽略 ADD since EDA v4.2 returns: 区域内所有图元 |
| eda_sch_document_import_changesB | sch_Document.importChanges() -> Promise
从 PCB 导入变更
returns: 导入操作是否成功,导入失败或游离原理图返回 |
| eda_sch_document_navigate_to_coordinatesB | sch_Document.navigateToCoordinates(x: number, y: number) -> Promise 定位到画布坐标 remarks: 本接口在前端画布上定位到指定的坐标; 此处的单位跨度为 0.01inch ADD since EDA v4.2 returns: 操作是否成功 |
| eda_sch_document_navigate_to_regionA | sch_Document.navigateToRegion(left: number, right: number, top: number, bottom: number) -> Promise 定位到画布区域 remarks: 本接口在前端画布上定位到指定的区域; 例如:传入数据为 本接口不进行缩放操作,但会生成指示定位中心及表示区域范围的矩形框; 此处的单位跨度为 0.01inch ADD since EDA v4.2 returns: 操作是否成功 |
| eda_sch_document_saveB | sch_Document.save() -> Promise
保存文档
returns: 保存操作是否成功,保存失败、上传失败等错误均返回 |
| eda_sch_drc_checkC | sch_Drc.check(strict: boolean, userInterface: boolean, includeVerboseError: false) -> Promise 检查 DRC returns: DRC 检查是否通过 |
| eda_sch_event_add_mouse_event_listenerA | sch_Event.addMouseEventListener(id: string, eventType: 'all' | ESCH_MouseEventType, callFn: (eventType: ESCH_MouseEventType) => void | Promise, onlyOnce?: boolean) -> void
新增鼠标事件监听
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 |
| eda_sch_event_add_primitive_event_listenerA | sch_Event.addPrimitiveEventListener(id: string, eventType: 'all' | ESCH_PrimitiveEventType, callFn: (eventType: ESCH_PrimitiveEventType, props: { primitiveIds: Array }) => void | Promise, onlyOnce?: boolean) -> void
新增图元事件监听
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 |
| eda_sch_event_add_simulation_engine_pull_event_listenerA | sch_Event.addSimulationEnginePullEventListener(id: string, eventType: 'all', callFn: (eventType: ESCH_DynamicSimulationEnginePullEventType | ESCH_SpiceSimulationEnginePullEventType, props: Record<string, any>) => void | Promise) -> void
注册仿真引擎拉取事件监听
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 |
| eda_sch_event_is_event_listener_already_existC | sch_Event.isEventListenerAlreadyExist(id: string) -> boolean 查询事件监听是否存在 returns: 事件监听是否存在 |
| eda_sch_event_remove_event_listenerB | sch_Event.removeEventListener(id: string) -> boolean 移除事件监听 returns: 是否移除指定事件监听 |
| eda_sch_manufacture_data_delete_bom_templateC | sch_ManufactureData.deleteBomTemplate(template: string) -> Promise 删除 BOM 模板 returns: 操作是否成功 |
| eda_sch_manufacture_data_get_assembly_variants_configsB | sch_ManufactureData.getAssemblyVariantsConfigs() -> Promise<Array<{ text: string; value: string }>> 获取装配体变量配置列表 returns: 装配体变量配置列表 |
| eda_sch_manufacture_data_get_bom_fileC | sch_ManufactureData.getBomFile(fileName?: string, fileType?: 'xlsx' | 'csv', template?: string, filterOptions?: Array<{ property: string; includeValue: boolean | string }>, statistics?: Array, property?: Array, columns?: Array, assemblyVariantsConfig?: { text: string; value: string }) -> Promise<File | undefined> 获取 BOM 文件 returns: BOM 文件数据 |
| eda_sch_manufacture_data_get_bom_template_fileD | sch_ManufactureData.getBomTemplateFile(template: string) -> Promise<File | undefined> 获取 BOM 模板文件 returns: BOM 模板文件 |
| eda_sch_manufacture_data_get_bom_templatesC | sch_ManufactureData.getBomTemplates() -> Promise<Array> 获取 BOM 模板列表 returns: BOM 模板列表 |
| eda_sch_manufacture_data_get_export_document_fileC | sch_ManufactureData.getExportDocumentFile(fileName?: string, fileType?: ESCH_ExportDocumentFileType, typeSpecificParams?: { theme?: 'Default' | 'White on Black' | 'Black on White'; lineWidth?: 'Default' | 'Always 1px' | 'Follow the Zoom Change'; displayAttributesAsMenu?: boolean; size?: 'Original Size' | string | { width: number; height: number; unit: ESYS_Unit.INCH | ESYS_Unit.MILLIMETER } }, object?: 'All Schematic' | 'Current Schematic' | 'Current Schematic Page' | string, objectSpecificParams?: { range?: 'All' | [number, number]; outputMethod?: 'Merged sheet' | 'Separated sheet' }) -> Promise<File | undefined> 获取导出文档文件 deprecated: - DEPRECATED since EDA v4.1 returns: 导出文档文件数据(或压缩包) [已弃用] |
| eda_sch_manufacture_data_get_netlist_fileC | sch_ManufactureData.getNetlistFile(fileName?: string, netlistType?: ESYS_NetlistType) -> Promise<File | undefined> 获取网表文件(Netlist) returns: 网表文件数据 |
| eda_sch_manufacture_data_get_pdf_fileC | sch_ManufactureData.getPdfFile(fileName?: string, typeSpecificParams?: { theme?: 'Default' | 'White on Black' | 'Black on White'; lineWidth?: 'Default' | 'Always 1px' | 'Follow the Zoom Change'; displayAttributesAsMenu?: boolean; size?: 'Original Size' | string | { width: number; height: number; unit: ESYS_Unit.INCH | ESYS_Unit.MILLIMETER } }, object?: 'All Schematic' | 'Current Schematic' | 'Current Schematic Page' | string, objectSpecificParams?: { range?: 'All' | [number, number]; outputMethod?: 'Merged sheet' | 'Separated sheet' }) -> Promise<File | undefined> 获取 PDF 文件 returns: PDF 文件数据(或压缩包) |
| eda_sch_manufacture_data_get_png_fileA | sch_ManufactureData.getPngFile(fileName?: string, resolution?: ISCH_ExportPngResolution) -> Promise<File | undefined>
获取 PNG 文件
remarks: 支持按长宽分辨率导出高清图片(最大 4096);
支持只传入 ADD since EDA v3.2.183 / EDA v4.1.23 returns: PNG 文件数据(或压缩包) |
| eda_sch_manufacture_data_get_simulation_netlist_fileC | sch_ManufactureData.getSimulationNetlistFile(fileName?: string, netlistType?: ESCH_SimulationNetlistType) -> Promise<File | undefined> 获取仿真网表文件 returns: 仿真网表文件数据 |
| eda_sch_manufacture_data_get_svg_fileA | sch_ManufactureData.getSvgFile(fileName?: string) -> Promise<File | undefined> 获取 SVG 文件 remarks: 多图页时会导出为压缩包(zip) ADD since EDA v3.2.183 / EDA v4.1.23 returns: SVG 文件数据(或压缩包) |
| eda_sch_manufacture_data_place_components_orderD | sch_ManufactureData.placeComponentsOrder(interactive?: boolean, ignoreWarning?: boolean) -> Promise 元件下单 returns: 是否通过下单检查 |
| eda_sch_manufacture_data_place_smt_components_orderC | sch_ManufactureData.placeSmtComponentsOrder(interactive?: boolean, ignoreWarning?: boolean) -> Promise SMT 元件下单 returns: 是否通过下单检查 |
| eda_sch_manufacture_data_upload_bom_template_fileB | sch_ManufactureData.uploadBomTemplateFile(templateFile: File, template?: string) -> Promise<string | undefined> 上传 BOM 模板文件 returns: BOM 模板名称 |
| eda_sch_net_get_all_netsC | sch_Net.getAllNets() -> Promise<Array> 获取所有网络的详细信息 remarks: ADD since EDA v4.2 returns: 所有网络的详细信息 |
| eda_sch_net_get_all_nets_nameB | sch_Net.getAllNetsName() -> Promise<Array> 获取所有网络的网络名称 remarks: ADD since EDA v4.2 returns: 网络名称数组 |
| eda_sch_net_get_current_project_all_netsC | sch_Net.getCurrentProjectAllNets() -> Promise<Array> 获取当前工程下所有网络的详细信息 remarks: ADD since EDA v4.2 returns: 当前工程下所有网络的详细信息 |
| eda_sch_net_get_netB | sch_Net.getNet(net: string) -> Promise<ISCH_NetInfo | undefined>
获取指定网络的详细信息
remarks: ADD since EDA v4.2
returns: 网络的详细信息, |
| eda_sch_netlist_get_netlistC | sch_Netlist.getNetlist(type?: ESYS_NetlistType) -> Promise 获取网表 returns: 网表数据 [已弃用] |
| eda_sch_netlist_set_netlistD | sch_Netlist.setNetlist(type: ESYS_NetlistType | undefined, netlist: string) -> Promise 更新网表 |
| eda_sch_primitive_get_primitive_by_primitive_idB | sch_Primitive.getPrimitiveByPrimitiveId(id: string) -> Promise<ISCH_Primitive | undefined> 获取指定 ID 的图元的所有属性 returns: 图元的所有属性 |
| eda_sch_primitive_get_primitives_bboxB | sch_Primitive.getPrimitivesBBox(primitiveIds: Array<string | ISCH_Primitive>) -> Promise<{ minX: number; minY: number; maxX: number; maxY: number } | undefined>
获取图元的 BBox
returns: 图元的 BBox,如若图元不存在或没有 BBox,将会返回 |
| eda_sch_primitive_get_primitives_by_primitive_idC | sch_Primitive.getPrimitivesByPrimitiveId(ids: Array) -> Promise<Array> 获取指定所有 ID 的图元的所有属性 returns: 所有图元的所有属性 |
| eda_sch_primitive_get_primitive_type_by_primitive_idB | sch_Primitive.getPrimitiveTypeByPrimitiveId(id: string) -> Promise<ESCH_PrimitiveType | undefined> 获取指定 ID 的图元的图元类型 returns: 图元类型 |
| eda_sch_primitive_arc_createC | sch_PrimitiveArc.create(startX: number, startY: number, referenceX: number, referenceY: number, endX: number, endY: number, color?: string | null, fillColor?: string | null, lineWidth?: number | null, lineType?: ESCH_PrimitiveLineType | null) -> Promise<ISCH_PrimitiveArc | undefined> 创建圆弧 returns: 圆弧图元对象 |
| eda_sch_primitive_arc_deleteB | sch_PrimitiveArc.delete(primitiveIds: string | ISCH_PrimitiveArc | Array | Array) -> Promise 删除圆弧 returns: 删除操作是否成功 |
| eda_sch_primitive_arc_getC | sch_PrimitiveArc.get(primitiveIds: string) -> Promise<ISCH_PrimitiveArc | undefined>
获取圆弧
returns: 圆弧图元对象, |
| eda_sch_primitive_arc_get_allB | sch_PrimitiveArc.getAll() -> Promise<Array> 获取所有圆弧 returns: 圆弧图元对象数组 |
| eda_sch_primitive_arc_get_all_primitive_idC | sch_PrimitiveArc.getAllPrimitiveId() -> Promise<Array> 获取所有圆弧的图元 ID returns: 圆弧的图元 ID 数组 |
| eda_sch_primitive_arc_modifyB | sch_PrimitiveArc.modify(primitiveId: string | ISCH_PrimitiveArc, property: { startX?: number; startY?: number; referenceX?: number; referenceY?: number; endX?: number; endY?: number; color?: string | null; fillColor?: string | null; lineWidth?: number | null; lineType?: ESCH_PrimitiveLineType | null }) -> Promise<ISCH_PrimitiveArc | undefined> 修改圆弧 returns: 圆弧图元对象 |
| eda_sch_primitive_attribute_createA | sch_PrimitiveAttribute.create() -> undefined
创建属性
remarks: 属性图元不支持新建,本接口调用将不会有任何效果
returns: |
| eda_sch_primitive_attribute_create_net_labelC | sch_PrimitiveAttribute.createNetLabel(x: number, y: number, net: string) -> Promise<ISCH_PrimitiveAttribute | undefined> 创建网络标签 remarks: ADD since EDA v4 returns: 网络标签属性图元 |
| eda_sch_primitive_attribute_deleteA | sch_PrimitiveAttribute.delete() -> boolean
删除属性
remarks: 属性图元不支持删除,本接口调用将不会有任何效果
returns: |
| eda_sch_primitive_attribute_getB | sch_PrimitiveAttribute.get(primitiveIds: string) -> Promise<ISCH_PrimitiveAttribute | undefined>
获取属性
returns: 属性图元对象, |
| eda_sch_primitive_attribute_get_allB | sch_PrimitiveAttribute.getAll(parentPrimitiveId?: string) -> Promise<Array> 获取所有属性 remarks: 不传递父图元 ID 将拿到图页中的所有属性图元 returns: 属性图元对象数组 |
| eda_sch_primitive_attribute_get_all_primitive_idB | sch_PrimitiveAttribute.getAllPrimitiveId(parentPrimitiveId?: string) -> Promise<Array> 获取所有属性的图元 ID remarks: 不传递父图元 ID 将拿到图页中的所有属性图元 returns: 属性的图元 ID 数组 |
| eda_sch_primitive_attribute_modifyB | sch_PrimitiveAttribute.modify(primitiveId: string | ISCH_PrimitiveAttribute, property: { x?: number | null; y?: number | null; rotation?: number | null; color?: string | null; fontName?: string | null; fontSize?: number | null; bold?: boolean | null; italic?: boolean | null; underLine?: boolean | null; alignMode?: ESCH_PrimitiveTextAlignMode | null; fillColor?: string | null; key?: string; value?: string; keyVisible?: boolean | null; valueVisible?: boolean | null }) -> Promise<ISCH_PrimitiveAttribute | undefined> 修改属性 returns: 属性图元对象 |
| eda_sch_primitive_bus_createC | sch_PrimitiveBus.create(busName: string, line: Array | Array<Array>, color?: string | null, lineWidth?: number | null, lineType?: ESCH_PrimitiveLineType | null) -> Promise<ISCH_PrimitiveBus | undefined> 创建总线 returns: 总线图元对象 |
| eda_sch_primitive_bus_deleteC | sch_PrimitiveBus.delete(primitiveIds: string | ISCH_PrimitiveBus | Array | Array) -> Promise 删除总线 returns: 删除操作是否成功 |
| eda_sch_primitive_bus_getB | sch_PrimitiveBus.get(primitiveIds: string) -> Promise<ISCH_PrimitiveBus | undefined>
获取总线
returns: 总线图元对象, |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 769 tools
The strict eda_<domain>_<module>_<action>_<object> hierarchy makes the vast majority of tools structurally distinguishable, but overlapping pairs exist—deprecated tools alongside near-identical replacements (e.g., eda_sys_dialog_show_confirmation_message and eda_sys_message_box_show_confirmation_message, eda_pcb_net_get_all_net_name vs eda_pcb_net_get_all_nets_name) create real misselection risk. Several descriptions are also copy-pasted incorrectly across primitive tools (e.g., a line tool documented as '折线' and an attribute tool documented as '修改文本'), further undermining the agent's ability to disambiguate.
The overwhelming majority of tools follow a consistent snake_case pattern of eda_<domain>_<module>_<action>_<object>, which is highly predictable across domains. Minor deviations: the meta-tools (easyeda_api_search, import_plugin, get_console_logs, dev_plugin) use a different prefix or none at all, and at least one method breaks convention with camelCase (getAllSelectedPrimitives_PrimitiveId) alongside snake_case equivalents.
769 tools is an extreme count—15x the rubric's 50+ threshold—and places an enormous context-window and navigation burden on any agent. While the count faithfully mirrors the official EasyEDA Pro API surface, such a monolithic server should be split into focused servers (schematic, PCB, library, system) to be usable in practice.
The surface is exceptionally complete, covering the full EDA lifecycle: project/document/folder/team management, schematic and PCB primitives with full CRUD, DRC rules (net classes, differential pairs, configurations), layer management, library operations (symbols, footprints, devices, CBBs, 3D models, simulation models), manufacturing file exports (Gerber, BOM, PDF, DXF, ODB++), event listeners, and system utilities (math, units, file system, message bus). No significant gaps are apparent in the provided subset.