@windypro-rourou/dsh-eda 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (407) hide show
  1. package/README.md +71 -119
  2. package/cordis.patch.yml +9 -7
  3. package/lib/board.js +80 -0
  4. package/lib/client.js +2 -2
  5. package/lib/index.js +339 -11
  6. package/lib/installer.js +4 -4
  7. package/lib/skill.js +138 -0
  8. package/package.json +3 -2
  9. package/skill/INDEX.md +193 -0
  10. package/skill/README.official.md +125 -0
  11. package/skill/README.zh-Hans.official.md +125 -0
  12. package/skill/SKILL.md +746 -0
  13. package/skill/format/index.md +152 -0
  14. package/skill/format/pcb/3d.md +166 -0
  15. package/skill/format/pcb/attr.md +63 -0
  16. package/skill/format/pcb/common.md +306 -0
  17. package/skill/format/pcb/component.md +132 -0
  18. package/skill/format/pcb/dimension.md +58 -0
  19. package/skill/format/pcb/index.md +17 -0
  20. package/skill/format/pcb/obj.md +43 -0
  21. package/skill/format/pcb/pad_via.md +151 -0
  22. package/skill/format/pcb/panel.md +64 -0
  23. package/skill/format/pcb/partition.md +43 -0
  24. package/skill/format/pcb/primitive.md +196 -0
  25. package/skill/format/pcb/rule.md +71 -0
  26. package/skill/format/pcb/shape.md +441 -0
  27. package/skill/format/pcb/text.md +62 -0
  28. package/skill/format/project/blob.md +30 -0
  29. package/skill/format/project/common.md +42 -0
  30. package/skill/format/project/group.md +62 -0
  31. package/skill/format/project/index.md +12 -0
  32. package/skill/format/project/instance.md +32 -0
  33. package/skill/format/project/meta.md +189 -0
  34. package/skill/format/project/variant.md +30 -0
  35. package/skill/format/schematic/attr.md +41 -0
  36. package/skill/format/schematic/common.md +47 -0
  37. package/skill/format/schematic/component.md +91 -0
  38. package/skill/format/schematic/index.md +14 -0
  39. package/skill/format/schematic/obj.md +41 -0
  40. package/skill/format/schematic/pin.md +59 -0
  41. package/skill/format/schematic/shape.md +231 -0
  42. package/skill/format/schematic/structure.md +53 -0
  43. package/skill/format/schematic/table.md +109 -0
  44. package/skill/format/schematic/text.md +47 -0
  45. package/skill/format/schematic/wire.md +132 -0
  46. package/skill/guide/ancillary-projects/pro-api-sdk.md +1 -0
  47. package/skill/guide/ancillary-projects/pro-api-types.md +5 -0
  48. package/skill/guide/ancillary-projects.md +10 -0
  49. package/skill/guide/error-handling.md +38 -0
  50. package/skill/guide/extension-json.md +135 -0
  51. package/skill/guide/extensions-marketplace.md +61 -0
  52. package/skill/guide/how-to-start.md +301 -0
  53. package/skill/guide/i18n.md +57 -0
  54. package/skill/guide/index.md +7 -0
  55. package/skill/guide/inline-frame.md +20 -0
  56. package/skill/guide/invoke-apis.md +81 -0
  57. package/skill/guide/stability.md +37 -0
  58. package/skill/references/_index.md +398 -0
  59. package/skill/references/_quick-reference.md +3028 -0
  60. package/skill/references/classes/DMT_Board.md +533 -0
  61. package/skill/references/classes/DMT_EditorControl.md +1736 -0
  62. package/skill/references/classes/DMT_Event.md +356 -0
  63. package/skill/references/classes/DMT_Folder.md +775 -0
  64. package/skill/references/classes/DMT_Panel.md +531 -0
  65. package/skill/references/classes/DMT_Pcb.md +575 -0
  66. package/skill/references/classes/DMT_Project.md +573 -0
  67. package/skill/references/classes/DMT_Schematic.md +1477 -0
  68. package/skill/references/classes/DMT_SelectControl.md +96 -0
  69. package/skill/references/classes/DMT_Team.md +172 -0
  70. package/skill/references/classes/DMT_Workspace.md +198 -0
  71. package/skill/references/classes/EDA.md +961 -0
  72. package/skill/references/classes/IPCB_ComplexPolygon.md +299 -0
  73. package/skill/references/classes/IPCB_Polygon.md +175 -0
  74. package/skill/references/classes/IPCB_PrimitiveArc.md +1901 -0
  75. package/skill/references/classes/IPCB_PrimitiveAttribute.md +2993 -0
  76. package/skill/references/classes/IPCB_PrimitiveComponent.md +2627 -0
  77. package/skill/references/classes/IPCB_PrimitiveComponentPad.md +410 -0
  78. package/skill/references/classes/IPCB_PrimitiveDimension.md +1419 -0
  79. package/skill/references/classes/IPCB_PrimitiveFill.md +1325 -0
  80. package/skill/references/classes/IPCB_PrimitiveImage.md +1461 -0
  81. package/skill/references/classes/IPCB_PrimitiveLine.md +1639 -0
  82. package/skill/references/classes/IPCB_PrimitiveObject.md +1700 -0
  83. package/skill/references/classes/IPCB_PrimitivePad.md +3155 -0
  84. package/skill/references/classes/IPCB_PrimitivePolyline.md +1193 -0
  85. package/skill/references/classes/IPCB_PrimitivePour.md +1858 -0
  86. package/skill/references/classes/IPCB_PrimitivePoured.md +556 -0
  87. package/skill/references/classes/IPCB_PrimitiveRegion.md +1332 -0
  88. package/skill/references/classes/IPCB_PrimitiveString.md +2315 -0
  89. package/skill/references/classes/IPCB_PrimitiveVia.md +1588 -0
  90. package/skill/references/classes/ISCH_PrimitiveArc.md +1676 -0
  91. package/skill/references/classes/ISCH_PrimitiveAttribute.md +2541 -0
  92. package/skill/references/classes/ISCH_PrimitiveBus.md +973 -0
  93. package/skill/references/classes/ISCH_PrimitiveCbbSymbolComponent.md +260 -0
  94. package/skill/references/classes/ISCH_PrimitiveCircle.md +1392 -0
  95. package/skill/references/classes/ISCH_PrimitiveComponent.md +2913 -0
  96. package/skill/references/classes/ISCH_PrimitiveComponentPin.md +155 -0
  97. package/skill/references/classes/ISCH_PrimitiveObject.md +960 -0
  98. package/skill/references/classes/ISCH_PrimitivePin.md +2402 -0
  99. package/skill/references/classes/ISCH_PrimitivePolygon.md +1028 -0
  100. package/skill/references/classes/ISCH_PrimitiveRectangle.md +1777 -0
  101. package/skill/references/classes/ISCH_PrimitiveText.md +1771 -0
  102. package/skill/references/classes/ISCH_PrimitiveWire.md +973 -0
  103. package/skill/references/classes/LIB_3DModel.md +780 -0
  104. package/skill/references/classes/LIB_Cbb.md +957 -0
  105. package/skill/references/classes/LIB_Classification.md +965 -0
  106. package/skill/references/classes/LIB_Device.md +1221 -0
  107. package/skill/references/classes/LIB_Footprint.md +1153 -0
  108. package/skill/references/classes/LIB_LibrariesList.md +329 -0
  109. package/skill/references/classes/LIB_PanelLibrary.md +855 -0
  110. package/skill/references/classes/LIB_SelectControl.md +89 -0
  111. package/skill/references/classes/LIB_SimulationModel.md +821 -0
  112. package/skill/references/classes/LIB_Symbol.md +1195 -0
  113. package/skill/references/classes/PCB_Document.md +1754 -0
  114. package/skill/references/classes/PCB_Drc.md +3375 -0
  115. package/skill/references/classes/PCB_Event.md +1081 -0
  116. package/skill/references/classes/PCB_Layer.md +1911 -0
  117. package/skill/references/classes/PCB_ManufactureData.md +2968 -0
  118. package/skill/references/classes/PCB_MathPolygon.md +785 -0
  119. package/skill/references/classes/PCB_Net.md +1128 -0
  120. package/skill/references/classes/PCB_Primitive.md +217 -0
  121. package/skill/references/classes/PCB_PrimitiveArc.md +894 -0
  122. package/skill/references/classes/PCB_PrimitiveAttribute.md +717 -0
  123. package/skill/references/classes/PCB_PrimitiveComponent.md +1050 -0
  124. package/skill/references/classes/PCB_PrimitiveDimension.md +833 -0
  125. package/skill/references/classes/PCB_PrimitiveFill.md +861 -0
  126. package/skill/references/classes/PCB_PrimitiveImage.md +875 -0
  127. package/skill/references/classes/PCB_PrimitiveLine.md +858 -0
  128. package/skill/references/classes/PCB_PrimitiveObject.md +800 -0
  129. package/skill/references/classes/PCB_PrimitivePad.md +944 -0
  130. package/skill/references/classes/PCB_PrimitivePolyline.md +819 -0
  131. package/skill/references/classes/PCB_PrimitivePour.md +845 -0
  132. package/skill/references/classes/PCB_PrimitivePoured.md +363 -0
  133. package/skill/references/classes/PCB_PrimitiveRegion.md +799 -0
  134. package/skill/references/classes/PCB_PrimitiveString.md +910 -0
  135. package/skill/references/classes/PCB_PrimitiveVia.md +765 -0
  136. package/skill/references/classes/PCB_RayTracerEngine.md +263 -0
  137. package/skill/references/classes/PCB_SelectControl.md +495 -0
  138. package/skill/references/classes/PNL_Document.md +83 -0
  139. package/skill/references/classes/SCH_Document.md +809 -0
  140. package/skill/references/classes/SCH_Drc.md +242 -0
  141. package/skill/references/classes/SCH_Event.md +583 -0
  142. package/skill/references/classes/SCH_ManufactureData.md +1205 -0
  143. package/skill/references/classes/SCH_Net.md +200 -0
  144. package/skill/references/classes/SCH_Netlist.md +191 -0
  145. package/skill/references/classes/SCH_Primitive.md +337 -0
  146. package/skill/references/classes/SCH_PrimitiveArc.md +692 -0
  147. package/skill/references/classes/SCH_PrimitiveAttribute.md +590 -0
  148. package/skill/references/classes/SCH_PrimitiveBus.md +624 -0
  149. package/skill/references/classes/SCH_PrimitiveCircle.md +683 -0
  150. package/skill/references/classes/SCH_PrimitiveComponent.md +2240 -0
  151. package/skill/references/classes/SCH_PrimitiveObject.md +666 -0
  152. package/skill/references/classes/SCH_PrimitivePin.md +754 -0
  153. package/skill/references/classes/SCH_PrimitivePolygon.md +627 -0
  154. package/skill/references/classes/SCH_PrimitiveRectangle.md +731 -0
  155. package/skill/references/classes/SCH_PrimitiveText.md +746 -0
  156. package/skill/references/classes/SCH_PrimitiveWire.md +703 -0
  157. package/skill/references/classes/SCH_SelectControl.md +520 -0
  158. package/skill/references/classes/SCH_SimulationEngine.md +133 -0
  159. package/skill/references/classes/SCH_Utils.md +121 -0
  160. package/skill/references/classes/SYS_ClientUrl.md +173 -0
  161. package/skill/references/classes/SYS_Dialog.md +825 -0
  162. package/skill/references/classes/SYS_Environment.md +502 -0
  163. package/skill/references/classes/SYS_FileManager.md +1686 -0
  164. package/skill/references/classes/SYS_FileSystem.md +1171 -0
  165. package/skill/references/classes/SYS_FontManager.md +224 -0
  166. package/skill/references/classes/SYS_FormatConversion.md +349 -0
  167. package/skill/references/classes/SYS_HeaderMenu.md +479 -0
  168. package/skill/references/classes/SYS_I18n.md +861 -0
  169. package/skill/references/classes/SYS_IFrame.md +535 -0
  170. package/skill/references/classes/SYS_LoadingAndProgressBar.md +246 -0
  171. package/skill/references/classes/SYS_Log.md +424 -0
  172. package/skill/references/classes/SYS_Math.md +1565 -0
  173. package/skill/references/classes/SYS_Message.md +363 -0
  174. package/skill/references/classes/SYS_MessageBox.md +285 -0
  175. package/skill/references/classes/SYS_MessageBus.md +1618 -0
  176. package/skill/references/classes/SYS_PanelControl.md +696 -0
  177. package/skill/references/classes/SYS_RightClickMenu.md +175 -0
  178. package/skill/references/classes/SYS_Setting.md +85 -0
  179. package/skill/references/classes/SYS_ShortcutKey.md +623 -0
  180. package/skill/references/classes/SYS_Storage.md +484 -0
  181. package/skill/references/classes/SYS_Timer.md +447 -0
  182. package/skill/references/classes/SYS_ToastMessage.md +194 -0
  183. package/skill/references/classes/SYS_Tool.md +241 -0
  184. package/skill/references/classes/SYS_Unit.md +594 -0
  185. package/skill/references/classes/SYS_WebSocket.md +401 -0
  186. package/skill/references/classes/SYS_Window.md +850 -0
  187. package/skill/references/enums/EDMT_EditorDocumentType.md +279 -0
  188. package/skill/references/enums/EDMT_EditorSplitScreenDirection.md +48 -0
  189. package/skill/references/enums/EDMT_EditorTabEventType.md +63 -0
  190. package/skill/references/enums/EDMT_IndicatorMarkerType.md +81 -0
  191. package/skill/references/enums/EDMT_ItemType.md +158 -0
  192. package/skill/references/enums/EDMT_ProjectCollaborationMode.md +48 -0
  193. package/skill/references/enums/ELIB_DeviceJlcLibraryCategory.md +48 -0
  194. package/skill/references/enums/ELIB_LibraryType.md +114 -0
  195. package/skill/references/enums/ELIB_PreviewType.md +70 -0
  196. package/skill/references/enums/ELIB_SimulationModelType.md +48 -0
  197. package/skill/references/enums/ELIB_SymbolType.md +125 -0
  198. package/skill/references/enums/EPCB_AutoRoutingCornerStyle.md +48 -0
  199. package/skill/references/enums/EPCB_AutoRoutingExistingPrimitiveMode.md +48 -0
  200. package/skill/references/enums/EPCB_AutoRoutingOptimization.md +48 -0
  201. package/skill/references/enums/EPCB_DocumentCanvasUpdateCalculationActiveStatus.md +48 -0
  202. package/skill/references/enums/EPCB_DocumentRatlineCalculatingActiveStatus.md +52 -0
  203. package/skill/references/enums/EPCB_InactiveLayerDisplayMode.md +59 -0
  204. package/skill/references/enums/EPCB_LayerColorConfiguration.md +81 -0
  205. package/skill/references/enums/EPCB_LayerId.md +882 -0
  206. package/skill/references/enums/EPCB_LayerStatus.md +59 -0
  207. package/skill/references/enums/EPCB_LayerType.md +114 -0
  208. package/skill/references/enums/EPCB_MouseEventType.md +59 -0
  209. package/skill/references/enums/EPCB_NetEventType.md +59 -0
  210. package/skill/references/enums/EPCB_PcbPlateType.md +48 -0
  211. package/skill/references/enums/EPCB_PdfOutputMethod.md +59 -0
  212. package/skill/references/enums/EPCB_PrimitiveArcInteractiveMode.md +48 -0
  213. package/skill/references/enums/EPCB_PrimitiveDimensionType.md +59 -0
  214. package/skill/references/enums/EPCB_PrimitiveEventType.md +59 -0
  215. package/skill/references/enums/EPCB_PrimitiveFillMode.md +63 -0
  216. package/skill/references/enums/EPCB_PrimitivePadHeatWeldingConnectionMethod.md +59 -0
  217. package/skill/references/enums/EPCB_PrimitivePadHoleType.md +59 -0
  218. package/skill/references/enums/EPCB_PrimitivePadShapeType.md +81 -0
  219. package/skill/references/enums/EPCB_PrimitivePadType.md +59 -0
  220. package/skill/references/enums/EPCB_PrimitivePourFillMethod.md +59 -0
  221. package/skill/references/enums/EPCB_PrimitiveRegionRuleType.md +96 -0
  222. package/skill/references/enums/EPCB_PrimitiveStringAlignMode.md +125 -0
  223. package/skill/references/enums/EPCB_PrimitiveType.md +202 -0
  224. package/skill/references/enums/EPCB_PrimitiveViaType.md +59 -0
  225. package/skill/references/enums/ESCH_DynamicSimulationEnginePullEventType.md +103 -0
  226. package/skill/references/enums/ESCH_DynamicSimulationEnginePushEventType.md +81 -0
  227. package/skill/references/enums/ESCH_ExportDocumentFileType.md +59 -0
  228. package/skill/references/enums/ESCH_MouseEventType.md +48 -0
  229. package/skill/references/enums/ESCH_PrimitiveComponentType.md +125 -0
  230. package/skill/references/enums/ESCH_PrimitiveEventType.md +70 -0
  231. package/skill/references/enums/ESCH_PrimitiveFillStyle.md +114 -0
  232. package/skill/references/enums/ESCH_PrimitiveLineType.md +70 -0
  233. package/skill/references/enums/ESCH_PrimitivePinShape.md +70 -0
  234. package/skill/references/enums/ESCH_PrimitivePinType.md +147 -0
  235. package/skill/references/enums/ESCH_PrimitiveTextAlignMode.md +125 -0
  236. package/skill/references/enums/ESCH_PrimitiveType.md +180 -0
  237. package/skill/references/enums/ESCH_SimulationNetlistType.md +37 -0
  238. package/skill/references/enums/ESCH_SpiceSimulationEnginePullEventType.md +48 -0
  239. package/skill/references/enums/ESCH_SpiceSimulationEnginePushEventType.md +70 -0
  240. package/skill/references/enums/ESYS_BottomPanelTab.md +81 -0
  241. package/skill/references/enums/ESYS_HeaderMenuEnvironment.md +158 -0
  242. package/skill/references/enums/ESYS_ImportProjectBoardOutlineSource.md +52 -0
  243. package/skill/references/enums/ESYS_ImportProjectImportOption.md +59 -0
  244. package/skill/references/enums/ESYS_ImportProjectSchematicObjectStyle.md +48 -0
  245. package/skill/references/enums/ESYS_ImportProjectViaSolderMaskExpansion.md +52 -0
  246. package/skill/references/enums/ESYS_LeftPanelTab.md +81 -0
  247. package/skill/references/enums/ESYS_LogType.md +103 -0
  248. package/skill/references/enums/ESYS_NetlistType.md +114 -0
  249. package/skill/references/enums/ESYS_RightPanelTab.md +202 -0
  250. package/skill/references/enums/ESYS_ShortcutKeyEffectiveEditorRange.md +191 -0
  251. package/skill/references/enums/ESYS_ShortcutKeyEffectiveEditorScene.md +92 -0
  252. package/skill/references/enums/ESYS_StartPageQuickStartItem.md +206 -0
  253. package/skill/references/enums/ESYS_Theme.md +48 -0
  254. package/skill/references/enums/ESYS_ToastMessageType.md +81 -0
  255. package/skill/references/enums/ESYS_Unit.md +103 -0
  256. package/skill/references/enums/ESYS_WindowEventType.md +48 -0
  257. package/skill/references/enums/ESYS_WindowOpenTarget.md +48 -0
  258. package/skill/references/enums/NetportDeviceName.md +147 -0
  259. package/skill/references/enums/SchToolBarDeviceName.md +279 -0
  260. package/skill/references/interfaces/BoardProps.md +169 -0
  261. package/skill/references/interfaces/ButtonProps.md +169 -0
  262. package/skill/references/interfaces/CheckBoxProps.md +196 -0
  263. package/skill/references/interfaces/ComponentPropsMap.md +448 -0
  264. package/skill/references/interfaces/DialogProps.md +385 -0
  265. package/skill/references/interfaces/FlexItemProps.md +116 -0
  266. package/skill/references/interfaces/FlexProps.md +224 -0
  267. package/skill/references/interfaces/GridItemProps.md +143 -0
  268. package/skill/references/interfaces/GridProps.md +143 -0
  269. package/skill/references/interfaces/IDMT_BoardItem.md +171 -0
  270. package/skill/references/interfaces/IDMT_BriefProjectItem.md +171 -0
  271. package/skill/references/interfaces/IDMT_EditorDocumentItem.md +169 -0
  272. package/skill/references/interfaces/IDMT_EditorSplitScreenItem.md +173 -0
  273. package/skill/references/interfaces/IDMT_EditorTabItem.md +169 -0
  274. package/skill/references/interfaces/IDMT_FolderItem.md +225 -0
  275. package/skill/references/interfaces/IDMT_IndicatorMarkerShape.md +393 -0
  276. package/skill/references/interfaces/IDMT_PanelItem.md +144 -0
  277. package/skill/references/interfaces/IDMT_PcbItem.md +171 -0
  278. package/skill/references/interfaces/IDMT_ProjectItem.md +143 -0
  279. package/skill/references/interfaces/IDMT_SchematicItem.md +225 -0
  280. package/skill/references/interfaces/IDMT_SchematicPageItem.md +198 -0
  281. package/skill/references/interfaces/IDMT_TeamItem.md +144 -0
  282. package/skill/references/interfaces/IDMT_WorkspaceItem.md +117 -0
  283. package/skill/references/interfaces/IDesignPortal.md +103 -0
  284. package/skill/references/interfaces/ILIB_3DModelItem.md +198 -0
  285. package/skill/references/interfaces/ILIB_3DModelSearchItem.md +277 -0
  286. package/skill/references/interfaces/ILIB_CbbItem.md +225 -0
  287. package/skill/references/interfaces/ILIB_CbbSearchItem.md +277 -0
  288. package/skill/references/interfaces/ILIB_ClassificationIndex.md +150 -0
  289. package/skill/references/interfaces/ILIB_DeviceAssociationItem.md +210 -0
  290. package/skill/references/interfaces/ILIB_DeviceExtendPropertyItem.md +304 -0
  291. package/skill/references/interfaces/ILIB_DeviceItem.md +279 -0
  292. package/skill/references/interfaces/ILIB_DevicePropertiesForSearch.md +250 -0
  293. package/skill/references/interfaces/ILIB_DeviceSearchItem.md +521 -0
  294. package/skill/references/interfaces/ILIB_ExtendLibrary3DModelFunctions.md +64 -0
  295. package/skill/references/interfaces/ILIB_ExtendLibraryCbbFunctions.md +99 -0
  296. package/skill/references/interfaces/ILIB_ExtendLibraryClassificationIndex.md +150 -0
  297. package/skill/references/interfaces/ILIB_ExtendLibraryDeviceFunctions.md +157 -0
  298. package/skill/references/interfaces/ILIB_ExtendLibraryFootprintFunctions.md +63 -0
  299. package/skill/references/interfaces/ILIB_ExtendLibraryFunctions.md +123 -0
  300. package/skill/references/interfaces/ILIB_ExtendLibraryItem.md +97 -0
  301. package/skill/references/interfaces/ILIB_ExtendLibraryItemIndex.md +98 -0
  302. package/skill/references/interfaces/ILIB_ExtendLibrarySearchProperty.md +115 -0
  303. package/skill/references/interfaces/ILIB_ExtendLibrarySearchResult.md +169 -0
  304. package/skill/references/interfaces/ILIB_ExtendLibrarySearchResultDataLine.md +234 -0
  305. package/skill/references/interfaces/ILIB_ExtendLibrarySymbolFunctions.md +105 -0
  306. package/skill/references/interfaces/ILIB_ExtendLibraryUserIndex.md +96 -0
  307. package/skill/references/interfaces/ILIB_FootprintItem.md +198 -0
  308. package/skill/references/interfaces/ILIB_FootprintPropertiesForSearch.md +61 -0
  309. package/skill/references/interfaces/ILIB_FootprintSearchItem.md +277 -0
  310. package/skill/references/interfaces/ILIB_LibraryInfo.md +92 -0
  311. package/skill/references/interfaces/ILIB_LibraryItem.md +115 -0
  312. package/skill/references/interfaces/ILIB_PanelLibraryItem.md +198 -0
  313. package/skill/references/interfaces/ILIB_PanelLibrarySearchItem.md +277 -0
  314. package/skill/references/interfaces/ILIB_SimulationModelItem.md +306 -0
  315. package/skill/references/interfaces/ILIB_SimulationModelSearchItem.md +304 -0
  316. package/skill/references/interfaces/ILIB_SymbolItem.md +279 -0
  317. package/skill/references/interfaces/ILIB_SymbolPropertiesForSearch.md +61 -0
  318. package/skill/references/interfaces/ILIB_SymbolSearchItem.md +304 -0
  319. package/skill/references/interfaces/IPCB_AutoLayoutResult.md +169 -0
  320. package/skill/references/interfaces/IPCB_AutoRoutingProps.md +220 -0
  321. package/skill/references/interfaces/IPCB_AutoRoutingResult.md +169 -0
  322. package/skill/references/interfaces/IPCB_BomPropertiesTableColumns.md +169 -0
  323. package/skill/references/interfaces/IPCB_DifferentialPairItem.md +115 -0
  324. package/skill/references/interfaces/IPCB_DiscretizeOptions.md +65 -0
  325. package/skill/references/interfaces/IPCB_DiscretizedPoint.md +88 -0
  326. package/skill/references/interfaces/IPCB_EqualLengthNetGroupItem.md +115 -0
  327. package/skill/references/interfaces/IPCB_LayerItem.md +277 -0
  328. package/skill/references/interfaces/IPCB_NetClassItem.md +115 -0
  329. package/skill/references/interfaces/IPCB_NetInfo.md +115 -0
  330. package/skill/references/interfaces/IPCB_PadPairGroupItem.md +88 -0
  331. package/skill/references/interfaces/IPCB_PadPairMinWireLengthItem.md +88 -0
  332. package/skill/references/interfaces/IPCB_PhysicalStackingConfiguration.md +115 -0
  333. package/skill/references/interfaces/IPCB_Primitive.md +218 -0
  334. package/skill/references/interfaces/IPCB_PrimitiveAPI.md +175 -0
  335. package/skill/references/interfaces/IPCB_PrimitivePadHeatWelding.md +151 -0
  336. package/skill/references/interfaces/IPCB_PrimitivePouredPourFill.md +142 -0
  337. package/skill/references/interfaces/IPCB_PrimitiveSolderMaskAndPasteMaskExpansion.md +154 -0
  338. package/skill/references/interfaces/IPCB_SubstratePhysicalProperties.md +88 -0
  339. package/skill/references/interfaces/IRawNet.md +103 -0
  340. package/skill/references/interfaces/IRawPureSchematic.md +80 -0
  341. package/skill/references/interfaces/IRawSchematic.md +103 -0
  342. package/skill/references/interfaces/IRawWire.md +149 -0
  343. package/skill/references/interfaces/ISCH_DrcError.md +142 -0
  344. package/skill/references/interfaces/ISCH_DrcErrorPrimitive.md +142 -0
  345. package/skill/references/interfaces/ISCH_ExportPngResolution.md +94 -0
  346. package/skill/references/interfaces/ISCH_NetInfo.md +88 -0
  347. package/skill/references/interfaces/ISCH_Primitive.md +219 -0
  348. package/skill/references/interfaces/ISCH_PrimitiveAPI.md +175 -0
  349. package/skill/references/interfaces/ISCH_ProjectNetInfo.md +142 -0
  350. package/skill/references/interfaces/ISCH_WireInfo.md +169 -0
  351. package/skill/references/interfaces/ISYS_FileSystemFileList.md +169 -0
  352. package/skill/references/interfaces/ISYS_HeaderMenuSub1MenuItem.md +174 -0
  353. package/skill/references/interfaces/ISYS_HeaderMenuSub2MenuItem.md +147 -0
  354. package/skill/references/interfaces/ISYS_HeaderMenuTopMenuItem.md +115 -0
  355. package/skill/references/interfaces/ISYS_HeaderMenus.md +408 -0
  356. package/skill/references/interfaces/ISYS_LogLine.md +115 -0
  357. package/skill/references/interfaces/ISYS_MathBBox.md +142 -0
  358. package/skill/references/interfaces/ISYS_MathPoint.md +88 -0
  359. package/skill/references/interfaces/ISYS_MathPolygonWithHoles.md +92 -0
  360. package/skill/references/interfaces/ISYS_MessageBusTask.md +115 -0
  361. package/skill/references/interfaces/ISYS_MultilingualLanguagesData.md +13 -0
  362. package/skill/references/interfaces/ISYS_PcbComparisonResponse.md +115 -0
  363. package/skill/references/interfaces/ISYS_RightClickMenuItem.md +174 -0
  364. package/skill/references/interfaces/ISYS_ShortcutKeyData.md +169 -0
  365. package/skill/references/interfaces/ISYS_ShortcutKeyDataWithCallFn.md +62 -0
  366. package/skill/references/interfaces/ISYS_ShortcutKeyDataWithUserDefinedShortcutKey.md +62 -0
  367. package/skill/references/interfaces/ISYS_WindowEventListenerRemovableObject.md +109 -0
  368. package/skill/references/interfaces/IconProps.md +88 -0
  369. package/skill/references/interfaces/ImageProps.md +115 -0
  370. package/skill/references/interfaces/InputProps.md +520 -0
  371. package/skill/references/interfaces/ListChildren.md +223 -0
  372. package/skill/references/interfaces/ListProps.md +223 -0
  373. package/skill/references/interfaces/ModalProps.md +358 -0
  374. package/skill/references/interfaces/RadioGroupProps.md +196 -0
  375. package/skill/references/interfaces/RadioItem.md +115 -0
  376. package/skill/references/interfaces/ScrollerProps.md +169 -0
  377. package/skill/references/interfaces/SelectListItem.md +142 -0
  378. package/skill/references/interfaces/SelectProps.md +169 -0
  379. package/skill/references/interfaces/SlotProps.md +88 -0
  380. package/skill/references/interfaces/StyleProps.md +385 -0
  381. package/skill/references/interfaces/TextAreaProps.md +196 -0
  382. package/skill/references/interfaces/TextProps.md +169 -0
  383. package/skill/references/types/ISYS_LanguageKeyValuePairs.md +13 -0
  384. package/skill/references/types/TPCB_LayerTypesOfInnerLayer.md +12 -0
  385. package/skill/references/types/TPCB_LayersInTheSelectable.md +43 -0
  386. package/skill/references/types/TPCB_LayersOfComponent.md +12 -0
  387. package/skill/references/types/TPCB_LayersOfCopper.md +16 -0
  388. package/skill/references/types/TPCB_LayersOfCustom.md +42 -0
  389. package/skill/references/types/TPCB_LayersOfDimension.md +17 -0
  390. package/skill/references/types/TPCB_LayersOfFill.md +29 -0
  391. package/skill/references/types/TPCB_LayersOfImage.md +23 -0
  392. package/skill/references/types/TPCB_LayersOfInner.md +42 -0
  393. package/skill/references/types/TPCB_LayersOfLine.md +26 -0
  394. package/skill/references/types/TPCB_LayersOfObject.md +13 -0
  395. package/skill/references/types/TPCB_LayersOfPad.md +12 -0
  396. package/skill/references/types/TPCB_LayersOfRegion.md +12 -0
  397. package/skill/references/types/TPCB_NumberOfCopperLayers.md +10 -0
  398. package/skill/references/types/TPCB_PolygonSourceArray.md +83 -0
  399. package/skill/references/types/TPCB_PrimitiveDimensionCoordinateSet.md +67 -0
  400. package/skill/references/types/TPCB_PrimitivePadHole.md +31 -0
  401. package/skill/references/types/TPCB_PrimitivePadShape.md +62 -0
  402. package/skill/references/types/TPCB_PrimitiveSpecialPadShape.md +20 -0
  403. package/skill/references/types/TSYS_MathPolygonGroup.md +16 -0
  404. package/skill/references/types/TSYS_MathPolygonInput.md +21 -0
  405. package/skill/references/types/TSYS_PcbComparisonErrorCode.md +10 -0
  406. package/skill/references/types/TSYS_ShortcutKeys.md +97 -0
  407. package/skill/user-guide/using-extension.md +47 -0
@@ -0,0 +1,1153 @@
1
+ # LIB\_Footprint class
2
+
3
+ Comprehensive library / footprint class
4
+
5
+ ## Signature
6
+
7
+ ```typescript
8
+ class LIB_Footprint
9
+ ```
10
+
11
+ ## Methods
12
+
13
+ <table><thead><tr><th>
14
+
15
+ Method
16
+
17
+ </th><th>
18
+
19
+ Modifiers
20
+
21
+ </th><th>
22
+
23
+ Description
24
+
25
+ </th></tr></thead>
26
+ <tbody><tr><td>
27
+
28
+ [copy(footprintUuid, libraryUuid, targetLibraryUuid, targetClassification, newFootprintName)](./LIB_Footprint.md)
29
+
30
+ </td><td>
31
+
32
+ </td><td>
33
+
34
+ **_(BETA)_** Copy Footprint
35
+
36
+ </td></tr>
37
+ <tr><td>
38
+
39
+ [create(libraryUuid, footprintName, classification, description)](./LIB_Footprint.md)
40
+
41
+ </td><td>
42
+
43
+ </td><td>
44
+
45
+ **_(BETA)_** Create Footprint
46
+
47
+ </td></tr>
48
+ <tr><td>
49
+
50
+ [delete(footprintUuid, libraryUuid)](./LIB_Footprint.md)
51
+
52
+ </td><td>
53
+
54
+ </td><td>
55
+
56
+ **_(BETA)_** Delete Footprint
57
+
58
+ </td></tr>
59
+ <tr><td>
60
+
61
+ [get(footprintUuid, libraryUuid)](./LIB_Footprint.md)
62
+
63
+ </td><td>
64
+
65
+ </td><td>
66
+
67
+ **_(BETA)_** Get all properties of the footprint
68
+
69
+ </td></tr>
70
+ <tr><td>
71
+
72
+ [getRenderImage(source)](./LIB_Footprint.md)
73
+
74
+ </td><td>
75
+
76
+ </td><td>
77
+
78
+ **_(BETA)_** Get the footprint render image
79
+
80
+ </td></tr>
81
+ <tr><td>
82
+
83
+ [modify(footprintUuid, libraryUuid, footprintName, classification, description)](./LIB_Footprint.md)
84
+
85
+ </td><td>
86
+
87
+ </td><td>
88
+
89
+ **_(BETA)_** Modify Footprint
90
+
91
+ </td></tr>
92
+ <tr><td>
93
+
94
+ [openInEditor(footprintUuid, libraryUuid, splitScreenId)](./LIB_Footprint.md)
95
+
96
+ </td><td>
97
+
98
+ </td><td>
99
+
100
+ **_(BETA)_** Open in the editor document
101
+
102
+ </td></tr>
103
+ <tr><td>
104
+
105
+ [search(key, libraryUuid, classification, itemsOfPage, page)](./LIB_Footprint.md)
106
+
107
+ </td><td>
108
+
109
+ </td><td>
110
+
111
+ **_(BETA)_** Search footprint
112
+
113
+ </td></tr>
114
+ <tr><td>
115
+
116
+ [searchByProperties(properties, libraryUuid)](./LIB_Footprint.md)
117
+
118
+ </td><td>
119
+
120
+ </td><td>
121
+
122
+ **_(BETA)_** Search footprints precisely by properties
123
+
124
+ </td></tr>
125
+ <tr><td>
126
+
127
+ [updateDocumentSource(footprintUuid, libraryUuid, documentSource)](./LIB_Footprint.md)
128
+
129
+ </td><td>
130
+
131
+ </td><td>
132
+
133
+ **_(BETA)_** Update the document source code of the footprint
134
+
135
+ </td></tr>
136
+ </tbody></table>
137
+
138
+ ---
139
+
140
+ ## 方法详情
141
+
142
+ ### copy
143
+
144
+ # LIB\_Footprint.copy() method
145
+
146
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
147
+
148
+ Copy Footprint
149
+
150
+ ## Signature
151
+
152
+ ```typescript
153
+ function copy(
154
+ footprintUuid: string,
155
+ libraryUuid: string,
156
+ targetLibraryUuid: string,
157
+ targetClassification?: ILIB_ClassificationIndex | Array<string>,
158
+ newFootprintName?: string,
159
+ ): Promise<string | undefined>;
160
+ ```
161
+
162
+ ## Parameters
163
+
164
+ <table><thead><tr><th>
165
+
166
+ Parameter
167
+
168
+ </th><th>
169
+
170
+ Type
171
+
172
+ </th><th>
173
+
174
+ Description
175
+
176
+ </th></tr></thead>
177
+ <tbody><tr><td>
178
+
179
+ footprintUuid
180
+
181
+ </td><td>
182
+
183
+ string
184
+
185
+ </td><td>
186
+
187
+ Footprint UUID
188
+
189
+ </td></tr>
190
+ <tr><td>
191
+
192
+ libraryUuid
193
+
194
+ </td><td>
195
+
196
+ string
197
+
198
+ </td><td>
199
+
200
+ Library UUID, you can use [LIB\_LibrariesList](./LIB_LibrariesList.md) APIs in
201
+
202
+ </td></tr>
203
+ <tr><td>
204
+
205
+ targetLibraryUuid
206
+
207
+ </td><td>
208
+
209
+ string
210
+
211
+ </td><td>
212
+
213
+ Target library UUID
214
+
215
+ </td></tr>
216
+ <tr><td>
217
+
218
+ targetClassification
219
+
220
+ </td><td>
221
+
222
+ [ILIB\_ClassificationIndex](../interfaces/ILIB_ClassificationIndex.md) \| Array&lt;string&gt;
223
+
224
+ </td><td>
225
+
226
+ _(Optional)_ Classification in the target library
227
+
228
+ </td></tr>
229
+ <tr><td>
230
+
231
+ newFootprintName
232
+
233
+ </td><td>
234
+
235
+ string
236
+
237
+ </td><td>
238
+
239
+ _(Optional)_ New footprint name. If a footprint with the same name exists in the target library, the copy will fail
240
+
241
+ </td></tr>
242
+ </tbody></table>
243
+
244
+ ## Returns
245
+
246
+ Promise&lt;string \| undefined&gt;
247
+
248
+ UUID of the new footprint in the target library
249
+
250
+ ## Example
251
+
252
+ ```javascript
253
+ // 1. 搜索系统库,取一个封装作为复制来源
254
+ const [source] = await eda.lib_Footprint.search('0402', undefined, undefined, 1, 1);
255
+
256
+ // 2. 获取个人库 UUID
257
+ const targetLibraryUuid = await eda.lib_LibrariesList.getPersonalLibraryUuid();
258
+
259
+ // 3. 从系统库复制到个人库,指定新名称避免同名冲突(分类传 [] = 不分类)
260
+ const newName = `嘉立创示例_封装副本_${Date.now()}`;
261
+ const copiedUuid = await eda.lib_Footprint.copy(
262
+ source.uuid,
263
+ source.libraryUuid,
264
+ targetLibraryUuid,
265
+ [],
266
+ newName
267
+ );
268
+
269
+ // 创建类保留现场(副本留在个人库中供观察)
270
+
271
+ console.log('sourceUuid:', source.uuid);
272
+ console.log('copiedUuid:', copiedUuid);
273
+ console.log('newName:', newName);
274
+ ```
275
+
276
+ ### create
277
+
278
+ # LIB\_Footprint.create() method
279
+
280
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
281
+
282
+ Create Footprint
283
+
284
+ ## Signature
285
+
286
+ ```typescript
287
+ function create(
288
+ libraryUuid: string,
289
+ footprintName: string,
290
+ classification?: ILIB_ClassificationIndex | Array<string>,
291
+ description?: string,
292
+ ): Promise<string | undefined>;
293
+ ```
294
+
295
+ ## Parameters
296
+
297
+ <table><thead><tr><th>
298
+
299
+ Parameter
300
+
301
+ </th><th>
302
+
303
+ Type
304
+
305
+ </th><th>
306
+
307
+ Description
308
+
309
+ </th></tr></thead>
310
+ <tbody><tr><td>
311
+
312
+ libraryUuid
313
+
314
+ </td><td>
315
+
316
+ string
317
+
318
+ </td><td>
319
+
320
+ Library UUID, you can use [LIB\_LibrariesList](./LIB_LibrariesList.md) APIs in
321
+
322
+ </td></tr>
323
+ <tr><td>
324
+
325
+ footprintName
326
+
327
+ </td><td>
328
+
329
+ string
330
+
331
+ </td><td>
332
+
333
+ Footprint name
334
+
335
+ </td></tr>
336
+ <tr><td>
337
+
338
+ classification
339
+
340
+ </td><td>
341
+
342
+ [ILIB\_ClassificationIndex](../interfaces/ILIB_ClassificationIndex.md) \| Array&lt;string&gt;
343
+
344
+ </td><td>
345
+
346
+ _(Optional)_ Classification
347
+
348
+ </td></tr>
349
+ <tr><td>
350
+
351
+ description
352
+
353
+ </td><td>
354
+
355
+ string
356
+
357
+ </td><td>
358
+
359
+ _(Optional)_ Description
360
+
361
+ </td></tr>
362
+ </tbody></table>
363
+
364
+ ## Returns
365
+
366
+ Promise&lt;string \| undefined&gt;
367
+
368
+ Footprint UUID
369
+
370
+ ## Example
371
+
372
+ ```javascript
373
+ // 1. 获取个人库 UUID
374
+ const libraryUuid = await eda.lib_LibrariesList.getPersonalLibraryUuid();
375
+
376
+ // 2. 创建封装(分类传 [] = 不分类)
377
+ const footprintName = `嘉立创示例_新封装_${Date.now()}`;
378
+ const footprintUuid = await eda.lib_Footprint.create(libraryUuid, footprintName, [], '示例封装描述');
379
+
380
+ // 创建类保留现场(新封装留在个人库中供观察)
381
+
382
+ console.log('footprintUuid:', footprintUuid);
383
+ console.log('footprintName:', footprintName);
384
+ ```
385
+
386
+ ### delete
387
+
388
+ # LIB\_Footprint.delete() method
389
+
390
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
391
+
392
+ Delete Footprint
393
+
394
+ ## Signature
395
+
396
+ ```typescript
397
+ function delete(footprintUuid: string, libraryUuid: string): Promise<boolean>;
398
+ ```
399
+
400
+ ## Parameters
401
+
402
+ <table><thead><tr><th>
403
+
404
+ Parameter
405
+
406
+ </th><th>
407
+
408
+ Type
409
+
410
+ </th><th>
411
+
412
+ Description
413
+
414
+ </th></tr></thead>
415
+ <tbody><tr><td>
416
+
417
+ footprintUuid
418
+
419
+ </td><td>
420
+
421
+ string
422
+
423
+ </td><td>
424
+
425
+ Footprint UUID
426
+
427
+ </td></tr>
428
+ <tr><td>
429
+
430
+ libraryUuid
431
+
432
+ </td><td>
433
+
434
+ string
435
+
436
+ </td><td>
437
+
438
+ Library UUID, you can use [LIB\_LibrariesList](./LIB_LibrariesList.md) APIs in
439
+
440
+ </td></tr>
441
+ </tbody></table>
442
+
443
+ ## Returns
444
+
445
+ Promise&lt;boolean&gt;
446
+
447
+ Whether the operation is successful
448
+
449
+ ## Example
450
+
451
+ ```javascript
452
+ // 1. 获取个人库 UUID 并新建删除对象
453
+ const libraryUuid = await eda.lib_LibrariesList.getPersonalLibraryUuid();
454
+ const footprintUuid = await eda.lib_Footprint.create(
455
+ libraryUuid,
456
+ `嘉立创示例_待删除封装_${Date.now()}`,
457
+ []
458
+ );
459
+
460
+ // 2. 删除该封装
461
+ const deleted = await eda.lib_Footprint.delete(footprintUuid, libraryUuid);
462
+
463
+ console.log('footprintUuid:', footprintUuid);
464
+ console.log('deleted:', deleted);
465
+ ```
466
+
467
+ ### get
468
+
469
+ # LIB\_Footprint.get() method
470
+
471
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
472
+
473
+ Get all properties of the footprint
474
+
475
+ ## Signature
476
+
477
+ ```typescript
478
+ function get(footprintUuid: string, libraryUuid?: string): Promise<ILIB_FootprintItem | undefined>;
479
+ ```
480
+
481
+ ## Parameters
482
+
483
+ <table><thead><tr><th>
484
+
485
+ Parameter
486
+
487
+ </th><th>
488
+
489
+ Type
490
+
491
+ </th><th>
492
+
493
+ Description
494
+
495
+ </th></tr></thead>
496
+ <tbody><tr><td>
497
+
498
+ footprintUuid
499
+
500
+ </td><td>
501
+
502
+ string
503
+
504
+ </td><td>
505
+
506
+ Footprint UUID
507
+
508
+ </td></tr>
509
+ <tr><td>
510
+
511
+ libraryUuid
512
+
513
+ </td><td>
514
+
515
+ string
516
+
517
+ </td><td>
518
+
519
+ _(Optional)_ Library UUID, default is system library, you can use [LIB\_LibrariesList](./LIB_LibrariesList.md) APIs in
520
+
521
+ </td></tr>
522
+ </tbody></table>
523
+
524
+ ## Returns
525
+
526
+ Promise&lt;[ILIB\_FootprintItem](../interfaces/ILIB_FootprintItem.md) \| undefined&gt;
527
+
528
+ Footprint property
529
+
530
+ ### getrenderimage
531
+
532
+ # LIB\_Footprint.getRenderImage() method
533
+
534
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
535
+
536
+ Get the footprint render image
537
+
538
+ ## Signature
539
+
540
+ ```typescript
541
+ function getRenderImage(source: {
542
+ footprintUuid: string;
543
+ libraryUuid: string;
544
+ }): Promise<Blob | undefined>;
545
+ ```
546
+
547
+ ## Parameters
548
+
549
+ <table><thead><tr><th>
550
+
551
+ Parameter
552
+
553
+ </th><th>
554
+
555
+ Type
556
+
557
+ </th><th>
558
+
559
+ Description
560
+
561
+ </th></tr></thead>
562
+ <tbody><tr><td>
563
+
564
+ source
565
+
566
+ </td><td>
567
+
568
+ \{ footprintUuid: string; libraryUuid: string \}
569
+
570
+ </td><td>
571
+
572
+ </td></tr>
573
+ </tbody></table>
574
+
575
+ ## Returns
576
+
577
+ Promise&lt;Blob \| undefined&gt;
578
+
579
+ Footprint render image
580
+
581
+ ## Example
582
+
583
+ ```javascript
584
+ // 1. 搜索系统库,取一个封装作为渲染来源
585
+ const [source] = await eda.lib_Footprint.search('0402', undefined, undefined, 1, 1);
586
+
587
+ // 2. 获取渲染图(PNG Blob)
588
+ const blob = await eda.lib_Footprint.getRenderImage({
589
+ footprintUuid: source.uuid,
590
+ libraryUuid: source.libraryUuid,
591
+ });
592
+
593
+ // 3. Blob 可转成 URL 直接展示:URL.createObjectURL(blob)
594
+ console.log('sourceName:', source.name);
595
+ console.log('imageSize:', blob.size);
596
+ console.log('imageType:', blob.type);
597
+ ```
598
+
599
+ ### modify
600
+
601
+ # LIB\_Footprint.modify() method
602
+
603
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
604
+
605
+ Modify Footprint
606
+
607
+ ## Signature
608
+
609
+ ```typescript
610
+ function modify(
611
+ footprintUuid: string,
612
+ libraryUuid: string,
613
+ footprintName?: string,
614
+ classification?: ILIB_ClassificationIndex | Array<string> | null,
615
+ description?: string | null,
616
+ ): Promise<boolean>;
617
+ ```
618
+
619
+ ## Parameters
620
+
621
+ <table><thead><tr><th>
622
+
623
+ Parameter
624
+
625
+ </th><th>
626
+
627
+ Type
628
+
629
+ </th><th>
630
+
631
+ Description
632
+
633
+ </th></tr></thead>
634
+ <tbody><tr><td>
635
+
636
+ footprintUuid
637
+
638
+ </td><td>
639
+
640
+ string
641
+
642
+ </td><td>
643
+
644
+ Footprint UUID
645
+
646
+ </td></tr>
647
+ <tr><td>
648
+
649
+ libraryUuid
650
+
651
+ </td><td>
652
+
653
+ string
654
+
655
+ </td><td>
656
+
657
+ Library UUID, you can use [LIB\_LibrariesList](./LIB_LibrariesList.md) APIs in
658
+
659
+ </td></tr>
660
+ <tr><td>
661
+
662
+ footprintName
663
+
664
+ </td><td>
665
+
666
+ string
667
+
668
+ </td><td>
669
+
670
+ _(Optional)_ Footprint name
671
+
672
+ </td></tr>
673
+ <tr><td>
674
+
675
+ classification
676
+
677
+ </td><td>
678
+
679
+ [ILIB\_ClassificationIndex](../interfaces/ILIB_ClassificationIndex.md) \| Array&lt;string&gt; \| null
680
+
681
+ </td><td>
682
+
683
+ _(Optional)_ Classification
684
+
685
+ </td></tr>
686
+ <tr><td>
687
+
688
+ description
689
+
690
+ </td><td>
691
+
692
+ string \| null
693
+
694
+ </td><td>
695
+
696
+ _(Optional)_ Description
697
+
698
+ </td></tr>
699
+ </tbody></table>
700
+
701
+ ## Returns
702
+
703
+ Promise&lt;boolean&gt;
704
+
705
+ Whether the operation is successful
706
+
707
+ ## Remarks
708
+
709
+ If you want to clear certain properties, set their values to `null`
710
+
711
+ ## Example
712
+
713
+ ```javascript
714
+ // 1. 获取个人库 UUID 并新建修改对象
715
+ const libraryUuid = await eda.lib_LibrariesList.getPersonalLibraryUuid();
716
+ const footprintUuid = await eda.lib_Footprint.create(
717
+ libraryUuid,
718
+ `嘉立创示例_封装修改前_${Date.now()}`,
719
+ [],
720
+ '修改前的描述'
721
+ );
722
+
723
+ // 2. 修改名称和描述(分类保持不变传 [])
724
+ const newName = `嘉立创示例_封装修改后_${Date.now()}`;
725
+ const modified = await eda.lib_Footprint.modify(footprintUuid, libraryUuid, newName, [], '修改后的描述');
726
+
727
+ // 修改类保留现场
728
+
729
+ console.log('footprintUuid:', footprintUuid);
730
+ console.log('modified:', modified);
731
+ console.log('newName:', newName);
732
+ ```
733
+
734
+ ### openineditor
735
+
736
+ # LIB\_Footprint.openInEditor() method
737
+
738
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
739
+
740
+ Open in the editor document
741
+
742
+ ## Signature
743
+
744
+ ```typescript
745
+ function openInEditor(
746
+ footprintUuid: string,
747
+ libraryUuid: string,
748
+ splitScreenId?: string,
749
+ ): Promise<string | undefined>;
750
+ ```
751
+
752
+ ## Parameters
753
+
754
+ <table><thead><tr><th>
755
+
756
+ Parameter
757
+
758
+ </th><th>
759
+
760
+ Type
761
+
762
+ </th><th>
763
+
764
+ Description
765
+
766
+ </th></tr></thead>
767
+ <tbody><tr><td>
768
+
769
+ footprintUuid
770
+
771
+ </td><td>
772
+
773
+ string
774
+
775
+ </td><td>
776
+
777
+ Footprint UUID
778
+
779
+ </td></tr>
780
+ <tr><td>
781
+
782
+ libraryUuid
783
+
784
+ </td><td>
785
+
786
+ string
787
+
788
+ </td><td>
789
+
790
+ Library UUID, you can use [LIB\_LibrariesList](./LIB_LibrariesList.md) APIs in
791
+
792
+ </td></tr>
793
+ <tr><td>
794
+
795
+ splitScreenId
796
+
797
+ </td><td>
798
+
799
+ string
800
+
801
+ </td><td>
802
+
803
+ _(Optional)_ Split screen ID. If not filled in, it opens in the split screen with the last input focus by default. It can be obtained using the APIs in [DMT\_EditorControl](./DMT_EditorControl.md)
804
+
805
+ </td></tr>
806
+ </tbody></table>
807
+
808
+ ## Returns
809
+
810
+ Promise&lt;string \| undefined&gt;
811
+
812
+ Tab ID, corresponding to [IDMT\_EditorTabItem.tabId](../interfaces/IDMT_EditorTabItem.md)<!-- -->. You can use [DMT\_EditorControl.getSplitScreenIdByTabId()](./DMT_EditorControl.md) to get the split screen ID
813
+
814
+ ## Example
815
+
816
+ ```javascript
817
+ // 1. 获取个人库 UUID 并新建封装
818
+ const libraryUuid = await eda.lib_LibrariesList.getPersonalLibraryUuid();
819
+ const footprintUuid = await eda.lib_Footprint.create(
820
+ libraryUuid,
821
+ `嘉立创示例_编辑封装_${Date.now()}`,
822
+ []
823
+ );
824
+
825
+ // 2. 在编辑器中打开该封装,返回标签页 ID(uuid@libraryUuid 格式)
826
+ const tabId = await eda.lib_Footprint.openInEditor(footprintUuid, libraryUuid);
827
+
828
+ // 打开后保留现场(编辑器停留在新封装页供观察;不需要时可传 tabId 给
829
+ // dmt_EditorControl.closeDocument 关闭)
830
+
831
+ console.log('footprintUuid:', footprintUuid);
832
+ console.log('tabId:', tabId);
833
+ ```
834
+
835
+ ### search
836
+
837
+ # LIB\_Footprint.search() method
838
+
839
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
840
+
841
+ Search footprint
842
+
843
+ ## Signature
844
+
845
+ ```typescript
846
+ function search(
847
+ key: string,
848
+ libraryUuid?: string,
849
+ classification?: ILIB_ClassificationIndex | Array<string>,
850
+ itemsOfPage?: number,
851
+ page?: number,
852
+ ): Promise<Array<ILIB_FootprintSearchItem>>;
853
+ ```
854
+
855
+ ## Parameters
856
+
857
+ <table><thead><tr><th>
858
+
859
+ Parameter
860
+
861
+ </th><th>
862
+
863
+ Type
864
+
865
+ </th><th>
866
+
867
+ Description
868
+
869
+ </th></tr></thead>
870
+ <tbody><tr><td>
871
+
872
+ key
873
+
874
+ </td><td>
875
+
876
+ string
877
+
878
+ </td><td>
879
+
880
+ Search keyword
881
+
882
+ </td></tr>
883
+ <tr><td>
884
+
885
+ libraryUuid
886
+
887
+ </td><td>
888
+
889
+ string
890
+
891
+ </td><td>
892
+
893
+ _(Optional)_ Library UUID, default is system library, you can use [LIB\_LibrariesList](./LIB_LibrariesList.md) APIs in
894
+
895
+ </td></tr>
896
+ <tr><td>
897
+
898
+ classification
899
+
900
+ </td><td>
901
+
902
+ [ILIB\_ClassificationIndex](../interfaces/ILIB_ClassificationIndex.md) \| Array&lt;string&gt;
903
+
904
+ </td><td>
905
+
906
+ _(Optional)_ Classification, defaults to all
907
+
908
+ </td></tr>
909
+ <tr><td>
910
+
911
+ itemsOfPage
912
+
913
+ </td><td>
914
+
915
+ number
916
+
917
+ </td><td>
918
+
919
+ _(Optional)_ Number of search results per page
920
+
921
+ </td></tr>
922
+ <tr><td>
923
+
924
+ page
925
+
926
+ </td><td>
927
+
928
+ number
929
+
930
+ </td><td>
931
+
932
+ _(Optional)_ Page count
933
+
934
+ </td></tr>
935
+ </tbody></table>
936
+
937
+ ## Returns
938
+
939
+ Promise&lt;Array&lt;[ILIB\_FootprintSearchItem](../interfaces/ILIB_FootprintSearchItem.md)<!-- -->&gt;&gt;
940
+
941
+ List of searched footprint properties
942
+
943
+ ## Example
944
+
945
+ ```javascript
946
+ // 1. 按关键字搜索系统库中的封装,每页 5 条
947
+ const results = await eda.lib_Footprint.search('0402', undefined, undefined, 5, 1);
948
+
949
+ // 2. 输出搜索结果
950
+ console.log('count:', results.length);
951
+ results.forEach((item, i) => {
952
+ console.log(`[${i}] name:`, item.name, 'uuid:', item.uuid, 'libraryUuid:', item.libraryUuid);
953
+ });
954
+ ```
955
+
956
+ ### searchbyproperties
957
+
958
+ # LIB\_Footprint.searchByProperties() method
959
+
960
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
961
+
962
+ Search footprints precisely by properties
963
+
964
+ ## Signature
965
+
966
+ ```typescript
967
+ function searchByProperties(
968
+ properties: ILIB_FootprintPropertiesForSearch,
969
+ libraryUuid?: string,
970
+ ): Promise<Array<ILIB_FootprintSearchItem>>;
971
+ ```
972
+
973
+ ## Parameters
974
+
975
+ <table><thead><tr><th>
976
+
977
+ Parameter
978
+
979
+ </th><th>
980
+
981
+ Type
982
+
983
+ </th><th>
984
+
985
+ Description
986
+
987
+ </th></tr></thead>
988
+ <tbody><tr><td>
989
+
990
+ properties
991
+
992
+ </td><td>
993
+
994
+ [ILIB\_FootprintPropertiesForSearch](../interfaces/ILIB_FootprintPropertiesForSearch.md)
995
+
996
+ </td><td>
997
+
998
+ Property
999
+
1000
+ </td></tr>
1001
+ <tr><td>
1002
+
1003
+ libraryUuid
1004
+
1005
+ </td><td>
1006
+
1007
+ string
1008
+
1009
+ </td><td>
1010
+
1011
+ _(Optional)_ Library UUID, default is system library, you can use [LIB\_LibrariesList](./LIB_LibrariesList.md) APIs in
1012
+
1013
+ </td></tr>
1014
+ </tbody></table>
1015
+
1016
+ ## Returns
1017
+
1018
+ Promise&lt;Array&lt;[ILIB\_FootprintSearchItem](../interfaces/ILIB_FootprintSearchItem.md)<!-- -->&gt;&gt;
1019
+
1020
+ List of searched footprint properties
1021
+
1022
+ ## Example
1023
+
1024
+ ```javascript
1025
+ // 1. 按名称精确搜索(官方属性集合目前仅支持 name)
1026
+ // 当前版本该接口不稳定:可能抛错,也可能正常返回 undefined,两种都要兼容
1027
+ let results;
1028
+ try {
1029
+ results = await eda.lib_Footprint.searchByProperties({ name: '0402' });
1030
+ }
1031
+ catch (e) {
1032
+ console.log('当前版本按 name 搜索抛错:', e.message);
1033
+ }
1034
+ if (!Array.isArray(results))
1035
+ results = [];
1036
+
1037
+ // 2. 输出搜索结果
1038
+ console.log('count:', results.length);
1039
+ results.forEach((item, i) => {
1040
+ console.log(`[${i}] name:`, item.name, 'uuid:', item.uuid, 'libraryUuid:', item.libraryUuid);
1041
+ });
1042
+ ```
1043
+
1044
+ ### updatedocumentsource
1045
+
1046
+ # LIB\_Footprint.updateDocumentSource() method
1047
+
1048
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
1049
+
1050
+ Update the document source code of the footprint
1051
+
1052
+ ## Signature
1053
+
1054
+ ```typescript
1055
+ function updateDocumentSource(
1056
+ footprintUuid: string,
1057
+ libraryUuid: string,
1058
+ documentSource: string,
1059
+ ): Promise<boolean | undefined>;
1060
+ ```
1061
+
1062
+ ## Parameters
1063
+
1064
+ <table><thead><tr><th>
1065
+
1066
+ Parameter
1067
+
1068
+ </th><th>
1069
+
1070
+ Type
1071
+
1072
+ </th><th>
1073
+
1074
+ Description
1075
+
1076
+ </th></tr></thead>
1077
+ <tbody><tr><td>
1078
+
1079
+ footprintUuid
1080
+
1081
+ </td><td>
1082
+
1083
+ string
1084
+
1085
+ </td><td>
1086
+
1087
+ Footprint UUID
1088
+
1089
+ </td></tr>
1090
+ <tr><td>
1091
+
1092
+ libraryUuid
1093
+
1094
+ </td><td>
1095
+
1096
+ string
1097
+
1098
+ </td><td>
1099
+
1100
+ Library UUID, you can use [LIB\_LibrariesList](./LIB_LibrariesList.md) APIs in
1101
+
1102
+ </td></tr>
1103
+ <tr><td>
1104
+
1105
+ documentSource
1106
+
1107
+ </td><td>
1108
+
1109
+ string
1110
+
1111
+ </td><td>
1112
+
1113
+ Document source code
1114
+
1115
+ </td></tr>
1116
+ </tbody></table>
1117
+
1118
+ ## Returns
1119
+
1120
+ Promise&lt;boolean \| undefined&gt;
1121
+
1122
+ Whether the update is successful
1123
+
1124
+ ## Example
1125
+
1126
+ ```javascript
1127
+ // 1. 获取个人库 UUID 并新建封装
1128
+ const libraryUuid = await eda.lib_LibrariesList.getPersonalLibraryUuid();
1129
+ const footprintUuid = await eda.lib_Footprint.create(
1130
+ libraryUuid,
1131
+ `嘉立创示例_源码封装_${Date.now()}`,
1132
+ []
1133
+ );
1134
+
1135
+ // 2. 在编辑器中打开封装,等待文档加载完成
1136
+ const tabId = await eda.lib_Footprint.openInEditor(footprintUuid, libraryUuid);
1137
+ await new Promise(r => setTimeout(r, 1500));
1138
+
1139
+ // 3. 读取当前打开封装的文档源码
1140
+ const documentSource = await eda.sys_FileManager.getDocumentSource();
1141
+
1142
+ // 4. 把源码写回库中的封装(此处原样写回;实际使用时可先改写 documentSource)
1143
+ const updated = await eda.lib_Footprint.updateDocumentSource(footprintUuid, libraryUuid, documentSource);
1144
+
1145
+ // 5. 关闭编辑器标签页(封装本体保留在库中)
1146
+ await eda.dmt_EditorControl.closeDocument(tabId);
1147
+
1148
+ // 修改类保留现场
1149
+
1150
+ console.log('footprintUuid:', footprintUuid);
1151
+ console.log('sourceLength:', documentSource.length);
1152
+ console.log('updated:', updated);
1153
+ ```