Skip to main content
Glama
mayjack0312
by mayjack0312

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CHROME_PATHNoPath to Chrome/Chromium/Edge executable. If not set, the server attempts to auto-detect.
EASYEDA_TOOL_PROFILENoTool exposure mode: 'all' registers all 760 direct API tools; 'compact' keeps only management/unified call entry. Default: 'all'all
EASYEDA_API_TIMEOUT_MSNoTimeout 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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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: 新板子名称,如若为 undefined 则复制失败

eda_dmt_board_create_boardA

dmt_Board.createBoard(schematicUuid?: string, pcbUuid?: string) -> Promise<string | undefined> 创建板子 returns: 板子名称,如若为 undefined 则创建失败

eda_dmt_board_delete_boardB

dmt_Board.deleteBoard(boardName: string) -> Promise 删除板子 remarks: 如若指定板子不存在,接口将返回 false 的结果,表示操作失败 returns: 操作是否成功

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: 板子的详细属性,如若为 undefined 则获取失败

eda_dmt_board_get_current_board_infoA

dmt_Board.getCurrentBoardInfo() -> Promise<IDMT_BoardItem | undefined> 获取当前板子的详细属性 remarks: 将会获取当前打开且拥有最后输入焦点的原理图、PCB 所关联的板子的详细属性 returns: 板子的详细属性,如若为 undefined 则获取失败

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,sourceSplitScreenId 代表源分屏,newSplitScreenId 代表新分屏

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: 指示标记生成是否成功,false 表示画布不支持该操作或 tabId 不存在

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: 编辑器分屏属性树,如若为 undefined,则数据获取失败

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,如若为 undefined,则打开文档失败

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,如若为 undefined,则打开文档失败

eda_dmt_editor_control_remove_indicator_markersB

dmt_EditorControl.removeIndicatorMarkers(tabId?: string) -> Promise 移除指示标记 remarks: 本接口会移除所有已生成的指示标记 returns: 指示标记移除是否成功,false 表示画布不支持该操作或 tabId 不存在

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: 缩放到的区域数据,false 表示画布不支持该缩放操作或 tabId 不存在

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: 缩放到的区域数据,false 表示画布不支持该缩放操作或 tabId 不存在

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: 缩放到的区域数据,false 表示画布不支持该缩放操作或 tabId 不存在

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: 缩放到的区域数据,false 表示画布不支持该缩放操作或 tabId 不存在

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,如若为 undefined 则创建失败

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: 文件夹属性,如若为 undefined 则获取失败

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,如若为 undefined 则复制失败

eda_dmt_panel_create_panelC

dmt_Panel.createPanel() -> Promise<string | undefined> 创建面板 returns: 面板 UUID,如若为 undefined 则创建失败

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: 面板的详细属性,如若为 undefined 则获取失败

eda_dmt_panel_get_panel_infoB

dmt_Panel.getPanelInfo(panelUuid: string) -> Promise<IDMT_PanelItem | undefined> 获取面板的详细属性 returns: 面板的详细属性,如若为 undefined 则获取失败

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,如若为 undefined 则复制失败

eda_dmt_pcb_create_pcbA

dmt_Pcb.createPcb(boardName?: string) -> Promise<string | undefined> 创建 PCB returns: PCB UUID,如若为 undefined 则创建失败

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 的详细属性,如若为 undefined 则获取失败

eda_dmt_pcb_get_pcb_infoB

dmt_Pcb.getPcbInfo(pcbUuid: string) -> Promise<IDMT_PcbItem | undefined> 获取 PCB 的详细属性 returns: PCB 的详细属性,如若为 undefined 则获取失败

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,如若为 undefined 则复制失败

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,如若为 undefined 则创建失败

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: 如若指定 teamUuid,则获取指定团队下的所有工程;

如若指定 folderUuid,则获取指定文件夹下的所有工程;

teamUuid、folderUuid 需要且仅允许指定其一,如若都指定则只取 folderUuid;

如若指定 workspaceUuid,则在指定 Workspace 下获取指定团队/文件夹下的所有工程 returns: 工程 UUID 数组

eda_dmt_project_get_current_project_infoA

dmt_Project.getCurrentProjectInfo() -> Promise<IDMT_ProjectItem | undefined> 获取当前工程的详细属性 remarks: 将会获取当前打开且拥有最后输入焦点的原理图、PCB、面板所关联的工程的详细属性 returns: 工程属性,如若为 undefined 则获取失败

eda_dmt_project_get_project_infoB

dmt_Project.getProjectInfo(projectUuid: string) -> Promise<IDMT_BriefProjectItem | undefined> 获取工程属性 returns: 简略的工程属性,如若为 undefined 则获取失败

eda_dmt_project_modify_project_collaboration_modeB

dmt_Project.modifyProjectCollaborationMode(projectUuid: string, collaborationMode: EDMT_ProjectCollaborationMode) -> boolean 修改工程协作模式 remarks: 如若团队权限无需工程设置协作模式,则将返回 false returns: 是否修改成功

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,如若为 undefined 则复制失败

eda_dmt_schematic_copy_schematic_pageC

dmt_Schematic.copySchematicPage(schematicPageUuid: string, schematicUuid?: string) -> Promise<string | undefined> 复制原理图图页 returns: 新原理图图页 UUID,如若为 undefined 则复制失败

eda_dmt_schematic_create_schematicB

dmt_Schematic.createSchematic(boardName?: string) -> Promise<string | undefined> 创建原理图 returns: 原理图 UUID,如若为 undefined 则创建失败

eda_dmt_schematic_create_schematic_pageB

dmt_Schematic.createSchematicPage(schematicUuid: string) -> Promise<string | undefined> 创建原理图图页 returns: 原理图图页 UUID,如若为 undefined 则创建失败

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: 原理图的详细属性,如若为 undefined 则获取失败

eda_dmt_schematic_get_current_schematic_page_infoB

dmt_Schematic.getCurrentSchematicPageInfo() -> Promise<IDMT_SchematicPageItem | undefined> 获取当前原理图图页的详细属性 remarks: 将会获取当前打开且拥有最后输入焦点的原理图图页的详细属性 returns: 原理图图页的详细属性,如若为 undefined 则获取失败

eda_dmt_schematic_get_schematic_infoB

dmt_Schematic.getSchematicInfo(schematicUuid: string) -> Promise<IDMT_SchematicItem | undefined> 获取原理图的详细属性 returns: 原理图的详细属性,如若为 undefined 则获取失败

eda_dmt_schematic_get_schematic_page_infoB

dmt_Schematic.getSchematicPageInfo(schematicPageUuid: string) -> Promise<IDMT_SchematicPageItem | undefined> 获取原理图图页的详细属性 returns: 原理图图页的详细属性,如若为 undefined 则获取失败

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: titleBlockData 仅需要传入任何需要修改的明细项作为 key,并传入其需要修改的值,任何无法识别的明细项将被忽略,任何未传入的项和值将保持默认状态 returns: 修改操作是否成功,如若未传入 showTitleBlock 和 titleBlockData 将返回 false;请注意,如若存在无法识别的明细项但程序并未出错,将返回 true 的结果,因为无法识别的明细项被忽略

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 组成的对象,如若为 undefined 则获取失败

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: 团队的详细属性,如若为 undefined 则获取失败

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: 工作区的详细属性,如若为 undefined 则获取失败

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: 传入的 modelFile 可以为多个模型文件的压缩包,EDA 将会自动提取多个模型 returns: 创建的所有 3D 模型的 UUID

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: 如希望清除某些属性,则将其的值设置为 null returns: 操作是否成功

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: 如希望清除某些属性,则将其的值设置为 null returns: 操作是否成功

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 编号的器件,将只会返回第一个结果;

如果希望返回多个结果,请将 allowMultiMatch 置为 true;

私有化部署环境暂无法使用本接口 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: 如希望清除某些属性,则将其的值设置为 null returns: 操作是否成功

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: 如希望清除某些属性,则将其的值设置为 null returns: 操作是否成功

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,在私有部署环境下不存在个人库,此接口将永远返回 undefined returns: 个人库的 UUID

eda_lib_libraries_list_get_project_library_uuidB

lib_LibrariesList.getProjectLibraryUuid() -> Promise<string | undefined> 获取工程库的 UUID remarks: 在未打开工程的情况下调用将返回 undefined returns: 工程库的 UUID

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: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error returns: 库 UUID

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: 如希望清除某些属性,则将其的值设置为 null returns: 操作是否成功

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: 库属性对象,如若为 undefined 则获取失败

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: 注意:本接口仅私有化部署版本有效,如若在其他版本调用将始终 throw Error

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: 如希望清除某些属性,则将其的值设置为 null

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: 如希望清除某些属性,则将其的值设置为 null returns: 操作是否成功

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 使用的均为数据原点;

如果返回的数据为 { canvasOriginOffsetX: 100, canvasOriginOffsetY: 200 }, 则代表画布原点在数据原点的向右 100 单位且向上 200 单位的位置;

此处的单位为数据层面单位,在跨度上等同于画布层面的 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: 当前画布过滤器配置,undefined 为获取失败

eda_pcb_document_get_primitive_at_pointB

pcb_Document.getPrimitiveAtPoint(x: number, y: number) -> Promise<IPCB_Primitive | undefined> 获取坐标点的图元 remarks: 本操作和前端鼠标点击操作类似,将会获取指定坐标点上的图元 returns: 坐标点的图元,如若坐标点无法找到图元,将返回 undefined

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 将返回 false

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: 本接口在前端画布上定位到指定的区域,区域数据为相对于数据原点的偏移;

例如:传入数据为 {left: 0, right: 60, top: 100, bottom: -20} => navigateToRegion(0, 60, 100, -20), 则画布将会定位到以 [30, 40] 为中心的,x 轴方向长度为 60,y 轴方向长度为 120 的矩形范围;

本接口不进行缩放操作,但会生成指示定位中心及表示区域范围的矩形框;

此处的单位为数据层面单位,在跨度上等同于画布层面的 mil returns: 操作是否成功

eda_pcb_document_saveA

pcb_Document.save() -> Promise 保存文档 returns: 保存操作是否成功,保存失败、上传失败等错误均返回 false

eda_pcb_document_set_canvas_originA

pcb_Document.setCanvasOrigin(offsetX: number, offsetY: number) -> Promise 设置画布原点相对于数据原点的偏移坐标 remarks: 嘉立创 EDA 专业版前端显示的坐标均为画布原点;

嘉立创 EDA 专业版 API 使用的均为数据原点;

如果希望在 API 操作时前端画布坐标能与数据一致, 建议调用本方法并设置偏移量为零, 即 setCanvasOrigin(0, 0);

此处的单位为数据层面单位,在跨度上等同于画布层面的 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

  • 返回值类型更改为对象 returns: 所有差分对的详细属性

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: 当前设计规则配置,undefined 为获取失败

eda_pcb_drc_get_current_rule_configuration_nameB

pcb_Drc.getCurrentRuleConfigurationName() -> Promise<string | undefined> 获取当前设计规则配置名称 returns: 当前设计规则配置名称,undefined 为获取失败

eda_pcb_drc_get_default_rule_configuration_nameB

pcb_Drc.getDefaultRuleConfigurationName() -> Promise<string | undefined> 获取新建 PCB 默认设计规则配置的名称 returns: 默认设计规则配置的名称,undefined 为获取失败

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 或获取失败均返回 false

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: 设计规则配置,undefined 为不存在该设计规则

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: 返回值为结果导向,重复设置相同的设计规则为默认设计规则也将返回 true returns: 设置是否成功

eda_pcb_drc_start_real_time_drcA

pcb_Drc.startRealTimeDrc() -> Promise 开始实时 DRC 检查 remarks: 本接口返回值为结果导向,调用本接口前已启用实时 DRC 检查也将返回 true

ADD since EDA v4.2 returns: 是否成功启用实时 DRC 检查

eda_pcb_drc_stop_real_time_drcA

pcb_Drc.stopRealTimeDrc() -> Promise 停止实时 DRC 检查 remarks: 本接口返回值为结果导向,调用本接口前已停用实时 DRC 检查也将返回 true

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: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error

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: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error

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: 网络选中事件仅

①在过滤面板选中网络选项并在画布选中网络时

②在工程设计 -> 网络内选中网络时

会被触发

注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error

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: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error

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: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error

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: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error

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: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error

渲染进度事件的回调数据格式为 { loaded: boolean, sampleCount: number }:

  • loaded:光线追踪引擎是否已加载完成

  • sampleCount:当前渲染的采样次数

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: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error

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: 处理结果:file 压缩后文件;dataURL 预览图 dataURL(decode 失败为空字符串);width/height 原始自然尺寸;msg 提示消息(有值需 toast,如「不能超过 50MB」「已压缩至小于2MB」) [已弃用]

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,如若为 undefined 则为新增失败,可能是自定义层数量已达到上限

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 画布时返回 undefined

eda_pcb_layer_get_current_physical_stacking_configurationC

pcb_Layer.getCurrentPhysicalStackingConfiguration() -> Promise<IPCB_PhysicalStackingConfiguration | undefined> 获取当前物理叠层配置 remarks: ADD since EDA v4.2 returns: 当前物理叠层配置,undefined 为获取失败

eda_pcb_layer_get_current_physical_stacking_configuration_nameC

pcb_Layer.getCurrentPhysicalStackingConfigurationName() -> Promise<string | undefined> 获取当前物理叠层配置名称 remarks: ADD since EDA v4.2 returns: 当前物理叠层配置名称,undefined 为获取失败

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: 默认物理叠层配置的名称,undefined 为获取失败

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: 物理叠层配置,undefined 为不存在该物理叠层

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: 修改后的图层属性,如若为 undefined 则代表修改失败或图层不存在

eda_pcb_layer_overwrite_current_physical_stacking_configurationA

pcb_Layer.overwriteCurrentPhysicalStackingConfiguration(physicalStackingConfiguration: IPCB_PhysicalStackingConfiguration) -> Promise 覆写当前物理叠层配置 remarks: 将会覆写 PCB 当前的物理叠层配置,请注意数据丢失风险

如果传入的物理叠层配置不符合当前 PCB 的物理属性,将会直接返回 false 且不进行修改

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: 操作是否成功,不存在指定层将返回 false

eda_pcb_layer_set_as_default_physical_stacking_configurationA

pcb_Layer.setAsDefaultPhysicalStackingConfiguration(configurationName: string, physicalProps?: IPCB_SubstratePhysicalProperties) -> Promise 设置为新建 PCB 默认物理叠层配置 remarks: 返回值为结果导向,重复设置相同的物理叠层为默认物理叠层也将返回 true

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 补强层图层。

请注意:

  1. 嘉立创暂不支持超过 2 层铜箔层的 FPC 软板生产;

  2. 将 PCB 类型从 FPC 软板切换为普通板材时需要预先删除 FPC 补强层上的任何图元,否则将无法切换并返回 false 的结果。 returns: 操作是否成功

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: 本接口对应私有化部署版本一键导出制造文件功能

将根据前端一键导出制造文件弹窗的配置获取其文件数据

注意:本接口仅私有化部署版本有效,如若在其他版本调用将始终 throw Error returns: 制造文件

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: 复杂多边形对象,undefined 表示数据不合法

eda_pcb_math_polygon_create_polygonC

pcb_MathPolygon.createPolygon(polygon: TPCB_PolygonSourceArray) -> IPCB_Polygon | undefined 创建单多边形 returns: 单多边形对象,undefined 表示数据不合法

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: 纯预览接口,不触发任何放置工具(放置由临时接口 eda.pcb_ImageTool.startPlaceVectorImage 单独承担)。服务端内置读原始图片尺寸(扩展沙盒无 new Image()/canvas,无法提供原始尺寸),返回的 width/height 为原始自然尺寸(非描摹 bbox 尺寸)。首次调用需传 imageBlob(服务端缓存像素),之后拖动只传参数

ADD since EDA v5 returns: 描摹结果:path = SVG D 字符串(放置时回传给临时接口);sourcePreviewUrl = 原图预览 dataURL(缩放居中 300×300,对应旧世界 SourceCanvasPreview);previewUrl = 描摹结果预览图 dataURL(尺寸 ≤300×300);width/height = 描摹 bbox 归一最长边 300 基准的尺寸(pixel 语义,与原图分辨率/缩放无关,作为放置尺寸默认值的换算基准);空描摹(没有可描摹的轮廓)返回 undefined

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: 网络的详细信息, undefined 为不存在该网络

eda_pcb_net_get_net_colorA

pcb_Net.getNetColor(net: string) -> Promise<IPCB_NetInfo['color'] | undefined> 获取指定网络的颜色 returns: 网络颜色,undefined 为不存在该网络

eda_pcb_net_get_net_lengthA

pcb_Net.getNetLength(net: string) -> Promise<number | undefined> 获取指定网络的长度 returns: 网络长度,undefined 为不存在该网络,0 为网络无长度

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: 本接口的返回值为结果导向,如果该网络原先已高亮,也将返回 true returns: 操作是否成功

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: 是否设置成功, false 为不存在该网络

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: 本接口的返回值为结果导向,如果该网络原先未高亮,也将返回 true returns: 操作是否成功

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 未匹配或图元在指定层上不存在,则返回 undefined

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,将会返回 undefined 的结果

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: 圆弧线图元对象,undefined 表示获取失败

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: undefined

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: 属性图元对象,undefined 表示获取失败

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: 器件图元对象,undefined 表示获取失败

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: 本接口模拟前端点击放置按钮,指定的器件将绑定到当前鼠标,并在用户后续点击时放置于画布

本接口的返回时机并不会等待用户的放置操作,一旦器件被绑定到鼠标,本接口将立即返回 true 的结果 returns: 是否找到器件

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

本接口模拟前端点击放置按钮,指定的封装将绑定到当前鼠标,并在用户后续点击时放置于画布

本接口的返回时机并不会等待用户的放置操作,一旦封装被绑定到鼠标,本接口将立即返回 true 的结果 returns: 是否找到封装

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: 尺寸标注图元对象,undefined 表示获取失败

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: 填充图元对象,undefined 表示获取失败

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: 填充图元对象,undefined 表示修改失败

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: 图像图元对象,undefined 表示获取失败

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: 直线图元对象,undefined 表示获取失败

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: 二进制内嵌对象图元对象,undefined 表示获取失败

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: 二进制内嵌对象图元对象,undefined 表示修改失败

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: 焊盘图元对象,undefined 表示获取失败

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: 折线图元对象,undefined 表示获取失败

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: 覆铜边框图元对象,undefined 表示获取失败

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: 覆铜边框图元对象,undefined 表示修改失败

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: undefined

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: 覆铜填充图元对象,undefined 表示获取失败

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: undefined

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: 区域图元对象,undefined 表示获取失败

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: 区域图元对象,undefined 表示修改失败

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: 文本图元对象,undefined 表示获取失败

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: 过孔图元对象,undefined 表示获取失败

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: 鼠标在画布上的位置,undefined 代表当前鼠标不在画布上

eda_pcb_select_control_get_selected_primitivesC

pcb_SelectControl.getSelectedPrimitives() -> Promise<Array> 查询选中图元的所有参数 returns: 选中图元的所有参数 [已弃用]

eda_pnl_document_saveB

pnl_Document.save() -> Promise 保存文档 returns: 保存操作是否成功,保存失败、上传失败等错误均返回 false

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: 当前画布过滤器配置,undefined 为获取失败

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: 坐标点的图元,如若坐标点无法找到图元,将返回 undefined

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: 导入操作是否成功,导入失败或游离原理图返回 false

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: 本接口在前端画布上定位到指定的区域;

例如:传入数据为 {left: 0, right: 60, top: 100, bottom: -20} => navigateToRegion(0, 60, 100, -20), 则画布将会定位到以 [30, 40] 为中心的,x 轴方向长度为 60,y 轴方向长度为 120 的矩形范围;

本接口不进行缩放操作,但会生成指示定位中心及表示区域范围的矩形框;

此处的单位跨度为 0.01inch

ADD since EDA v4.2 returns: 操作是否成功

eda_sch_document_saveB

sch_Document.save() -> Promise 保存文档 returns: 保存操作是否成功,保存失败、上传失败等错误均返回 false

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: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error

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: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error

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: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error

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); 支持只传入 width 或 height 中的任意一个,另一侧将按原始比例自动拉伸输出; width 与 height 均不传时,按当前一倍分辨率输出

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: 网络的详细信息, undefined 为不存在该网络

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,将会返回 undefined 的结果

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: 圆弧图元对象,undefined 表示获取失败

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: undefined

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: false

eda_sch_primitive_attribute_getB

sch_PrimitiveAttribute.get(primitiveIds: string) -> Promise<ISCH_PrimitiveAttribute | undefined> 获取属性 returns: 属性图元对象,undefined 表示获取失败

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: 总线图元对象,undefined 表示获取失败

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.7/5.0

Scored across 769 tools

Disambiguation3/5

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.

Naming Consistency4/5

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.

Tool Count1/5

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.

Completeness5/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues