@windypro-rourou/dsh-eda 0.1.0 → 0.1.1

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 +12 -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,944 @@
1
+ # PCB\_PrimitivePad class
2
+
3
+ PCB & footprint / pad primitive class
4
+
5
+ ## Signature
6
+
7
+ ```typescript
8
+ class PCB_PrimitivePad implements IPCB_PrimitiveAPI
9
+ ```
10
+ **Implements:** [IPCB\_PrimitiveAPI](../interfaces/IPCB_PrimitiveAPI.md)
11
+
12
+ ## Methods
13
+
14
+ <table><thead><tr><th>
15
+
16
+ Method
17
+
18
+ </th><th>
19
+
20
+ Modifiers
21
+
22
+ </th><th>
23
+
24
+ Description
25
+
26
+ </th></tr></thead>
27
+ <tbody><tr><td>
28
+
29
+ [create(layer, padNumber, x, y, rotation, pad, net, hole, holeOffsetX, holeOffsetY, holeRotation, metallization, padType, specialPad, solderMaskAndPasteMaskExpansion, heatWelding, primitiveLock)](./PCB_PrimitivePad.md)
30
+
31
+ </td><td>
32
+
33
+ </td><td>
34
+
35
+ Create Pad
36
+
37
+ </td></tr>
38
+ <tr><td>
39
+
40
+ [delete(primitiveIds)](./PCB_PrimitivePad.md)
41
+
42
+ </td><td>
43
+
44
+ </td><td>
45
+
46
+ **_(BETA)_** Delete Pad
47
+
48
+ </td></tr>
49
+ <tr><td>
50
+
51
+ [get(primitiveIds)](./PCB_PrimitivePad.md)
52
+
53
+ </td><td>
54
+
55
+ </td><td>
56
+
57
+ **_(BETA)_** Get Pad
58
+
59
+ </td></tr>
60
+ <tr><td>
61
+
62
+ [get(primitiveIds)](./PCB_PrimitivePad.md)
63
+
64
+ </td><td>
65
+
66
+ </td><td>
67
+
68
+ **_(BETA)_** Get Pad
69
+
70
+ </td></tr>
71
+ <tr><td>
72
+
73
+ [getAll(layer, net, primitiveLock, padType)](./PCB_PrimitivePad.md)
74
+
75
+ </td><td>
76
+
77
+ </td><td>
78
+
79
+ **_(BETA)_** Get all Pad
80
+
81
+ </td></tr>
82
+ <tr><td>
83
+
84
+ [getAllPrimitiveId(layer, net, primitiveLock, padType)](./PCB_PrimitivePad.md)
85
+
86
+ </td><td>
87
+
88
+ </td><td>
89
+
90
+ **_(BETA)_** Get all Pad primitive IDs
91
+
92
+ </td></tr>
93
+ <tr><td>
94
+
95
+ [modify(primitiveId, property)](./PCB_PrimitivePad.md)
96
+
97
+ </td><td>
98
+
99
+ </td><td>
100
+
101
+ **_(BETA)_** Modify Pad
102
+
103
+ </td></tr>
104
+ </tbody></table>
105
+
106
+ ---
107
+
108
+ ## 方法详情
109
+
110
+ ### create
111
+
112
+ # PCB\_PrimitivePad.create() method
113
+
114
+ Create Pad
115
+
116
+ ## Signature
117
+
118
+ ```typescript
119
+ function create(
120
+ layer: TPCB_LayersOfPad,
121
+ padNumber: string,
122
+ x: number,
123
+ y: number,
124
+ rotation?: number,
125
+ pad?: TPCB_PrimitivePadShape,
126
+ net?: string,
127
+ hole?: TPCB_PrimitivePadHole | null,
128
+ holeOffsetX?: number,
129
+ holeOffsetY?: number,
130
+ holeRotation?: number,
131
+ metallization?: boolean,
132
+ padType?: EPCB_PrimitivePadType,
133
+ specialPad?: TPCB_PrimitiveSpecialPadShape,
134
+ solderMaskAndPasteMaskExpansion?: IPCB_PrimitiveSolderMaskAndPasteMaskExpansion | null,
135
+ heatWelding?: IPCB_PrimitivePadHeatWelding | null,
136
+ primitiveLock?: boolean,
137
+ ): Promise<IPCB_PrimitivePad | undefined>;
138
+ ```
139
+
140
+ ## Parameters
141
+
142
+ <table><thead><tr><th>
143
+
144
+ Parameter
145
+
146
+ </th><th>
147
+
148
+ Type
149
+
150
+ </th><th>
151
+
152
+ Description
153
+
154
+ </th></tr></thead>
155
+ <tbody><tr><td>
156
+
157
+ layer
158
+
159
+ </td><td>
160
+
161
+ [TPCB\_LayersOfPad](../types/TPCB_LayersOfPad.md)
162
+
163
+ </td><td>
164
+
165
+ Layer
166
+
167
+ </td></tr>
168
+ <tr><td>
169
+
170
+ padNumber
171
+
172
+ </td><td>
173
+
174
+ string
175
+
176
+ </td><td>
177
+
178
+ Pad number
179
+
180
+ </td></tr>
181
+ <tr><td>
182
+
183
+ x
184
+
185
+ </td><td>
186
+
187
+ number
188
+
189
+ </td><td>
190
+
191
+ X position
192
+
193
+ </td></tr>
194
+ <tr><td>
195
+
196
+ y
197
+
198
+ </td><td>
199
+
200
+ number
201
+
202
+ </td><td>
203
+
204
+ Y position
205
+
206
+ </td></tr>
207
+ <tr><td>
208
+
209
+ rotation
210
+
211
+ </td><td>
212
+
213
+ number
214
+
215
+ </td><td>
216
+
217
+ _(Optional)_ Rotation angle
218
+
219
+ </td></tr>
220
+ <tr><td>
221
+
222
+ pad
223
+
224
+ </td><td>
225
+
226
+ [TPCB\_PrimitivePadShape](../types/TPCB_PrimitivePadShape.md)
227
+
228
+ </td><td>
229
+
230
+ _(Optional)_ Pad shape. This parameter is required before the special pad shape is implemented
231
+
232
+ </td></tr>
233
+ <tr><td>
234
+
235
+ net
236
+
237
+ </td><td>
238
+
239
+ string
240
+
241
+ </td><td>
242
+
243
+ _(Optional)_ Net name
244
+
245
+ </td></tr>
246
+ <tr><td>
247
+
248
+ hole
249
+
250
+ </td><td>
251
+
252
+ [TPCB\_PrimitivePadHole](../types/TPCB_PrimitivePadHole.md) \| null
253
+
254
+ </td><td>
255
+
256
+ _(Optional)_ Hole. `null` indicates no hole
257
+
258
+ </td></tr>
259
+ <tr><td>
260
+
261
+ holeOffsetX
262
+
263
+ </td><td>
264
+
265
+ number
266
+
267
+ </td><td>
268
+
269
+ _(Optional)_ Hole offset X
270
+
271
+ </td></tr>
272
+ <tr><td>
273
+
274
+ holeOffsetY
275
+
276
+ </td><td>
277
+
278
+ number
279
+
280
+ </td><td>
281
+
282
+ _(Optional)_ Hole offset Y
283
+
284
+ </td></tr>
285
+ <tr><td>
286
+
287
+ holeRotation
288
+
289
+ </td><td>
290
+
291
+ number
292
+
293
+ </td><td>
294
+
295
+ _(Optional)_ Rotation angle of the hole relative to the pad
296
+
297
+ </td></tr>
298
+ <tr><td>
299
+
300
+ metallization
301
+
302
+ </td><td>
303
+
304
+ boolean
305
+
306
+ </td><td>
307
+
308
+ _(Optional)_ Whether the hole wall is plated
309
+
310
+ </td></tr>
311
+ <tr><td>
312
+
313
+ padType
314
+
315
+ </td><td>
316
+
317
+ [EPCB\_PrimitivePadType](../enums/EPCB_PrimitivePadType.md)
318
+
319
+ </td><td>
320
+
321
+ _(Optional)_ Pad type
322
+
323
+ </td></tr>
324
+ <tr><td>
325
+
326
+ specialPad
327
+
328
+ </td><td>
329
+
330
+ [TPCB\_PrimitiveSpecialPadShape](../types/TPCB_PrimitiveSpecialPadShape.md)
331
+
332
+ </td><td>
333
+
334
+ _(Optional)_ Special pad shape. Currently not implemented; please do not use it
335
+
336
+ </td></tr>
337
+ <tr><td>
338
+
339
+ solderMaskAndPasteMaskExpansion
340
+
341
+ </td><td>
342
+
343
+ [IPCB\_PrimitiveSolderMaskAndPasteMaskExpansion](../interfaces/IPCB_PrimitiveSolderMaskAndPasteMaskExpansion.md) \| null
344
+
345
+ </td><td>
346
+
347
+ _(Optional)_ Solder mask/paste mask expansion. `null` means following the rules
348
+
349
+ </td></tr>
350
+ <tr><td>
351
+
352
+ heatWelding
353
+
354
+ </td><td>
355
+
356
+ [IPCB\_PrimitivePadHeatWelding](../interfaces/IPCB_PrimitivePadHeatWelding.md) \| null
357
+
358
+ </td><td>
359
+
360
+ _(Optional)_ Thermal relief optimization parameters
361
+
362
+ </td></tr>
363
+ <tr><td>
364
+
365
+ primitiveLock
366
+
367
+ </td><td>
368
+
369
+ boolean
370
+
371
+ </td><td>
372
+
373
+ _(Optional)_ Whether it is locked
374
+
375
+ </td></tr>
376
+ </tbody></table>
377
+
378
+ ## Returns
379
+
380
+ Promise&lt;[IPCB\_PrimitivePad](./IPCB_PrimitivePad.md) \| undefined&gt;
381
+
382
+ Pad primitive object
383
+
384
+ ## Example
385
+
386
+ ```javascript
387
+ // 1. 生成随机坐标,避免与画布上已有的焊盘重合
388
+ const x = 2000 + Math.floor(Math.random() * 100000);
389
+ const y = 2000 + Math.floor(Math.random() * 100000);
390
+
391
+ // 2. 在顶层(1)创建一个 60x60 圆形贴片焊盘:外形用 ['ELLIPSE', 宽, 高],无孔传 null
392
+ const smd = await eda.pcb_PrimitivePad.create(1, '1', x, y, 0, ['ELLIPSE', 60, 60], '', null, 0, 0, 0, false, 0);
393
+
394
+ // 3. 在多层(12)创建一个 80x80 通孔焊盘:圆孔直径 35mil,金属化孔壁(沉铜)
395
+ const thru = await eda.pcb_PrimitivePad.create(12, '2', x, y + 500, 0, ['ELLIPSE', 80, 80], '', ['ROUND', 35], 0, 0, 0, true, 0);
396
+
397
+ // 4. 创建类保留现场,不删除图元
398
+ console.log('smd padId:', smd.getState_PrimitiveId());
399
+ console.log('smd layer:', smd.getState_Layer());
400
+ console.log('thru padId:', thru.getState_PrimitiveId());
401
+ console.log('thru layer:', thru.getState_Layer());
402
+ ```
403
+
404
+ ### delete
405
+
406
+ # PCB\_PrimitivePad.delete() method
407
+
408
+ > 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.
409
+
410
+ Delete Pad
411
+
412
+ ## Signature
413
+
414
+ ```typescript
415
+ function delete(primitiveIds: string | IPCB_PrimitivePad | Array<string> | Array<IPCB_PrimitivePad>): Promise<boolean>;
416
+ ```
417
+
418
+ ## Parameters
419
+
420
+ <table><thead><tr><th>
421
+
422
+ Parameter
423
+
424
+ </th><th>
425
+
426
+ Type
427
+
428
+ </th><th>
429
+
430
+ Description
431
+
432
+ </th></tr></thead>
433
+ <tbody><tr><td>
434
+
435
+ primitiveIds
436
+
437
+ </td><td>
438
+
439
+ string \| [IPCB\_PrimitivePad](./IPCB_PrimitivePad.md) \| Array&lt;string&gt; \| Array&lt;[IPCB\_PrimitivePad](./IPCB_PrimitivePad.md)<!-- -->&gt;
440
+
441
+ </td><td>
442
+
443
+ Pad primitive ID or Pad primitive object
444
+
445
+ </td></tr>
446
+ </tbody></table>
447
+
448
+ ## Returns
449
+
450
+ Promise&lt;boolean&gt;
451
+
452
+ Delete Whether the operation is successful
453
+
454
+ ## Example
455
+
456
+ ```javascript
457
+ // 1. 创建两个待删除的测试焊盘(随机坐标避免重合)
458
+ const x = 2000 + Math.floor(Math.random() * 100000);
459
+ const y = 2000 + Math.floor(Math.random() * 100000);
460
+ const pad1 = await eda.pcb_PrimitivePad.create(1, '1', x, y, 0, ['ELLIPSE', 60, 60], '', null, 0, 0, 0, false, 0);
461
+ const pad2 = await eda.pcb_PrimitivePad.create(1, '2', x, y + 500, 0, ['OVAL', 80, 50], '', null, 0, 0, 0, false, 0);
462
+
463
+ // 2. 记录删除前的焊盘数量
464
+ const beforeCount = (await eda.pcb_PrimitivePad.getAll()).length;
465
+
466
+ // 3. 以 ID 数组形式批量删除两个焊盘
467
+ const deleted = await eda.pcb_PrimitivePad.delete([pad1.getState_PrimitiveId(), pad2.getState_PrimitiveId()]);
468
+
469
+ // 4. 删除类保留现场(图元已删除,不恢复)
470
+ const afterCount = (await eda.pcb_PrimitivePad.getAll()).length;
471
+
472
+ console.log('deleted:', deleted);
473
+ console.log('beforeCount:', beforeCount, '→ afterCount:', afterCount);
474
+ ```
475
+
476
+ ### get
477
+
478
+ # PCB\_PrimitivePad.get() method
479
+
480
+ > 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.
481
+
482
+ Get Pad
483
+
484
+ ## Signature
485
+
486
+ ```typescript
487
+ function get(primitiveIds: string): Promise<IPCB_PrimitivePad | undefined>;
488
+ ```
489
+
490
+ ## Parameters
491
+
492
+ <table><thead><tr><th>
493
+
494
+ Parameter
495
+
496
+ </th><th>
497
+
498
+ Type
499
+
500
+ </th><th>
501
+
502
+ Description
503
+
504
+ </th></tr></thead>
505
+ <tbody><tr><td>
506
+
507
+ primitiveIds
508
+
509
+ </td><td>
510
+
511
+ string
512
+
513
+ </td><td>
514
+
515
+ Pad primitive ID, which can be a string or an array of strings. If it is an array, an array is also returned
516
+
517
+ </td></tr>
518
+ </tbody></table>
519
+
520
+ ## Returns
521
+
522
+ Promise&lt;[IPCB\_PrimitivePad](./IPCB_PrimitivePad.md) \| undefined&gt;
523
+
524
+ Pad primitive object, `undefined` indicates that the retrieval failed
525
+
526
+ ## Example
527
+
528
+ ```javascript
529
+ // 1. 创建两个测试焊盘(随机坐标避免重合)
530
+ const x = 2000 + Math.floor(Math.random() * 100000);
531
+ const y = 2000 + Math.floor(Math.random() * 100000);
532
+ const pad1 = await eda.pcb_PrimitivePad.create(1, '1', x, y, 0, ['ELLIPSE', 60, 60], '', null, 0, 0, 0, false, 0);
533
+ const pad2 = await eda.pcb_PrimitivePad.create(1, '2', x, y + 500, 0, ['RECT', 80, 40, 0], '', null, 0, 0, 0, false, 0);
534
+
535
+ // 2. 传单个 ID 字符串,返回单个焊盘对象
536
+ const single = await eda.pcb_PrimitivePad.get(pad1.getState_PrimitiveId());
537
+
538
+ // 3. 传 ID 数组,返回焊盘对象数组(任一 ID 未匹配不影响其它项返回)
539
+ const arr = await eda.pcb_PrimitivePad.get([pad1.getState_PrimitiveId(), pad2.getState_PrimitiveId()]);
540
+
541
+ // 4. 清理测试图元(查询类需要清理)
542
+ await eda.pcb_PrimitivePad.delete([pad1.getState_PrimitiveId(), pad2.getState_PrimitiveId()]);
543
+
544
+ console.log('single padNumber:', single.getState_PadNumber());
545
+ console.log('array length:', arr.length);
546
+ console.log('pad2 layer:', arr[1].getState_Layer());
547
+ ```
548
+
549
+ ### get_1
550
+
551
+ # PCB\_PrimitivePad.get() method
552
+
553
+ > 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.
554
+
555
+ Get Pad
556
+
557
+ ## Signature
558
+
559
+ ```typescript
560
+ function get(primitiveIds: Array<string>): Promise<Array<IPCB_PrimitivePad>>;
561
+ ```
562
+
563
+ ## Parameters
564
+
565
+ <table><thead><tr><th>
566
+
567
+ Parameter
568
+
569
+ </th><th>
570
+
571
+ Type
572
+
573
+ </th><th>
574
+
575
+ Description
576
+
577
+ </th></tr></thead>
578
+ <tbody><tr><td>
579
+
580
+ primitiveIds
581
+
582
+ </td><td>
583
+
584
+ Array&lt;string&gt;
585
+
586
+ </td><td>
587
+
588
+ Pad primitive ID, which can be a string or an array of strings. If it is an array, an array is also returned
589
+
590
+ </td></tr>
591
+ </tbody></table>
592
+
593
+ ## Returns
594
+
595
+ Promise&lt;Array&lt;[IPCB\_PrimitivePad](./IPCB_PrimitivePad.md)<!-- -->&gt;&gt;
596
+
597
+ Pad primitive object; an empty array indicates that the retrieval failed
598
+
599
+ ## Remarks
600
+
601
+ If multiple primitive IDs are passed in, a primitive ID that is not matched will not affect the return of other primitives; that is, fewer primitive objects than the number of primitive IDs passed in may be returned.
602
+
603
+ ### getall
604
+
605
+ # PCB\_PrimitivePad.getAll() method
606
+
607
+ > 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.
608
+
609
+ Get all Pad
610
+
611
+ ## Signature
612
+
613
+ ```typescript
614
+ function getAll(
615
+ layer?: TPCB_LayersOfPad,
616
+ net?: string,
617
+ primitiveLock?: boolean,
618
+ padType?: EPCB_PrimitivePadType,
619
+ ): Promise<Array<IPCB_PrimitivePad>>;
620
+ ```
621
+
622
+ ## Parameters
623
+
624
+ <table><thead><tr><th>
625
+
626
+ Parameter
627
+
628
+ </th><th>
629
+
630
+ Type
631
+
632
+ </th><th>
633
+
634
+ Description
635
+
636
+ </th></tr></thead>
637
+ <tbody><tr><td>
638
+
639
+ layer
640
+
641
+ </td><td>
642
+
643
+ [TPCB\_LayersOfPad](../types/TPCB_LayersOfPad.md)
644
+
645
+ </td><td>
646
+
647
+ _(Optional)_ Layer
648
+
649
+ </td></tr>
650
+ <tr><td>
651
+
652
+ net
653
+
654
+ </td><td>
655
+
656
+ string
657
+
658
+ </td><td>
659
+
660
+ _(Optional)_ Net name
661
+
662
+ </td></tr>
663
+ <tr><td>
664
+
665
+ primitiveLock
666
+
667
+ </td><td>
668
+
669
+ boolean
670
+
671
+ </td><td>
672
+
673
+ _(Optional)_ Whether it is locked
674
+
675
+ </td></tr>
676
+ <tr><td>
677
+
678
+ padType
679
+
680
+ </td><td>
681
+
682
+ [EPCB\_PrimitivePadType](../enums/EPCB_PrimitivePadType.md)
683
+
684
+ </td><td>
685
+
686
+ _(Optional)_
687
+
688
+ </td></tr>
689
+ </tbody></table>
690
+
691
+ ## Returns
692
+
693
+ Promise&lt;Array&lt;[IPCB\_PrimitivePad](./IPCB_PrimitivePad.md)<!-- -->&gt;&gt;
694
+
695
+ Array of Pad primitive objects
696
+
697
+ ## Example
698
+
699
+ ```javascript
700
+ // 1. 创建一个顶层测试焊盘作为过滤目标(随机坐标避免重合)
701
+ const x = 2000 + Math.floor(Math.random() * 100000);
702
+ const y = 2000 + Math.floor(Math.random() * 100000);
703
+ const pad = await eda.pcb_PrimitivePad.create(1, '1', x, y, 0, ['ELLIPSE', 60, 60], '', null, 0, 0, 0, false, 0);
704
+ const padId = pad.getState_PrimitiveId();
705
+
706
+ // 2. 不带参数:获取 PCB 上全部焊盘
707
+ const all = await eda.pcb_PrimitivePad.getAll();
708
+
709
+ // 3. 按层过滤:只取顶层(1)的焊盘
710
+ const topLayer = await eda.pcb_PrimitivePad.getAll(1);
711
+
712
+ // 4. 清理测试图元(查询类需要清理)
713
+ await eda.pcb_PrimitivePad.delete([padId]);
714
+
715
+ console.log('total pads:', all.length);
716
+ console.log('top layer pads:', topLayer.length);
717
+ console.log('marker pad found in top layer:', topLayer.some(p => p.getState_PrimitiveId() === padId));
718
+ ```
719
+
720
+ ### getallprimitiveid
721
+
722
+ # PCB\_PrimitivePad.getAllPrimitiveId() method
723
+
724
+ > 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.
725
+
726
+ Get all Pad primitive IDs
727
+
728
+ ## Signature
729
+
730
+ ```typescript
731
+ function getAllPrimitiveId(
732
+ layer?: TPCB_LayersOfPad,
733
+ net?: string,
734
+ primitiveLock?: boolean,
735
+ padType?: EPCB_PrimitivePadType,
736
+ ): Promise<Array<string>>;
737
+ ```
738
+
739
+ ## Parameters
740
+
741
+ <table><thead><tr><th>
742
+
743
+ Parameter
744
+
745
+ </th><th>
746
+
747
+ Type
748
+
749
+ </th><th>
750
+
751
+ Description
752
+
753
+ </th></tr></thead>
754
+ <tbody><tr><td>
755
+
756
+ layer
757
+
758
+ </td><td>
759
+
760
+ [TPCB\_LayersOfPad](../types/TPCB_LayersOfPad.md)
761
+
762
+ </td><td>
763
+
764
+ _(Optional)_ Layer
765
+
766
+ </td></tr>
767
+ <tr><td>
768
+
769
+ net
770
+
771
+ </td><td>
772
+
773
+ string
774
+
775
+ </td><td>
776
+
777
+ _(Optional)_ Net name
778
+
779
+ </td></tr>
780
+ <tr><td>
781
+
782
+ primitiveLock
783
+
784
+ </td><td>
785
+
786
+ boolean
787
+
788
+ </td><td>
789
+
790
+ _(Optional)_ Whether it is locked
791
+
792
+ </td></tr>
793
+ <tr><td>
794
+
795
+ padType
796
+
797
+ </td><td>
798
+
799
+ [EPCB\_PrimitivePadType](../enums/EPCB_PrimitivePadType.md)
800
+
801
+ </td><td>
802
+
803
+ _(Optional)_
804
+
805
+ </td></tr>
806
+ </tbody></table>
807
+
808
+ ## Returns
809
+
810
+ Promise&lt;Array&lt;string&gt;&gt;
811
+
812
+ Array of Pad primitive IDs
813
+
814
+ ## Example
815
+
816
+ ```javascript
817
+ // 1. 创建一个顶层测试焊盘作为查找目标(随机坐标避免重合)
818
+ const x = 2000 + Math.floor(Math.random() * 100000);
819
+ const y = 2000 + Math.floor(Math.random() * 100000);
820
+ const pad = await eda.pcb_PrimitivePad.create(1, '1', x, y, 0, ['ELLIPSE', 60, 60], '', null, 0, 0, 0, false, 0);
821
+ const padId = pad.getState_PrimitiveId();
822
+
823
+ // 2. 获取全部焊盘的图元 ID
824
+ const allIds = await eda.pcb_PrimitivePad.getAllPrimitiveId();
825
+
826
+ // 3. 按层过滤:只取顶层(1)焊盘的图元 ID
827
+ const topLayerIds = await eda.pcb_PrimitivePad.getAllPrimitiveId(1);
828
+
829
+ // 4. 清理测试图元(查询类需要清理)
830
+ await eda.pcb_PrimitivePad.delete([padId]);
831
+
832
+ console.log('total pad ids:', allIds.length);
833
+ console.log('top layer pad ids:', topLayerIds.length);
834
+ console.log('marker id in top layer list:', topLayerIds.includes(padId));
835
+ ```
836
+
837
+ ### modify
838
+
839
+ # PCB\_PrimitivePad.modify() method
840
+
841
+ > 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.
842
+
843
+ Modify Pad
844
+
845
+ ## Signature
846
+
847
+ ```typescript
848
+ function modify(
849
+ primitiveId: string | IPCB_PrimitivePad,
850
+ property: {
851
+ layer?: undefined | EPCB_LayerId.TOP | EPCB_LayerId.BOTTOM | EPCB_LayerId.MULTI;
852
+ padNumber?: undefined | string;
853
+ x?: undefined | number;
854
+ y?: undefined | number;
855
+ rotation?: undefined | number;
856
+ pad?: undefined | any | any | any;
857
+ net?: undefined | string;
858
+ hole?: undefined | null | any | any;
859
+ holeOffsetX?: undefined | number;
860
+ holeOffsetY?: undefined | number;
861
+ holeRotation?: undefined | number;
862
+ metallization?: undefined | false | true;
863
+ specialPad?: undefined | TPCB_PrimitiveSpecialPadShape;
864
+ solderMaskAndPasteMaskExpansion?:
865
+ undefined | null | IPCB_PrimitiveSolderMaskAndPasteMaskExpansion;
866
+ heatWelding?: undefined | null | IPCB_PrimitivePadHeatWelding;
867
+ primitiveLock?: undefined | false | true;
868
+ },
869
+ ): Promise<IPCB_PrimitivePad | undefined>;
870
+ ```
871
+
872
+ ## Parameters
873
+
874
+ <table><thead><tr><th>
875
+
876
+ Parameter
877
+
878
+ </th><th>
879
+
880
+ Type
881
+
882
+ </th><th>
883
+
884
+ Description
885
+
886
+ </th></tr></thead>
887
+ <tbody><tr><td>
888
+
889
+ primitiveId
890
+
891
+ </td><td>
892
+
893
+ string \| [IPCB\_PrimitivePad](./IPCB_PrimitivePad.md)
894
+
895
+ </td><td>
896
+
897
+ Primitive ID
898
+
899
+ </td></tr>
900
+ <tr><td>
901
+
902
+ property
903
+
904
+ </td><td>
905
+
906
+ { layer?: undefined \| [EPCB\_LayerId.TOP](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.BOTTOM](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.MULTI](../enums/EPCB_LayerId.md)<!-- -->; padNumber?: undefined \| string; x?: undefined \| number; y?: undefined \| number; rotation?: undefined \| number; pad?: undefined \| any \| any \| any; net?: undefined \| string; hole?: undefined \| null \| any \| any; holeOffsetX?: undefined \| number; holeOffsetY?: undefined \| number; holeRotation?: undefined \| number; metallization?: undefined \| false \| true; specialPad?: undefined \| [TPCB\_PrimitiveSpecialPadShape](../types/TPCB_PrimitiveSpecialPadShape.md)<!-- -->; solderMaskAndPasteMaskExpansion?: undefined \| null \| [IPCB\_PrimitiveSolderMaskAndPasteMaskExpansion](../interfaces/IPCB_PrimitiveSolderMaskAndPasteMaskExpansion.md)<!-- -->; heatWelding?: undefined \| null \| [IPCB\_PrimitivePadHeatWelding](../interfaces/IPCB_PrimitivePadHeatWelding.md)<!-- -->; primitiveLock?: undefined \| false \| true }
907
+
908
+ </td><td>
909
+
910
+ Modify Parameter
911
+
912
+ </td></tr>
913
+ </tbody></table>
914
+
915
+ ## Returns
916
+
917
+ Promise&lt;[IPCB\_PrimitivePad](./IPCB_PrimitivePad.md) \| undefined&gt;
918
+
919
+ Pad primitive object
920
+
921
+ ## Example
922
+
923
+ ```javascript
924
+ // 1. 创建待修改的测试焊盘(随机坐标避免与画布已有焊盘重合)
925
+ const x = 2000 + Math.floor(Math.random() * 100000);
926
+ const y = 2000 + Math.floor(Math.random() * 100000);
927
+ const pad = await eda.pcb_PrimitivePad.create(1, '1', x, y, 0, ['ELLIPSE', 60, 60], '', null, 0, 0, 0, false, 0);
928
+ const padId = pad.getState_PrimitiveId();
929
+
930
+ // 2. 读取修改前的编号与旋转
931
+ const beforeNumber = pad.getState_PadNumber();
932
+ const beforeRotation = pad.getState_Rotation();
933
+
934
+ // 3. 批量修改:编号 '1' → 'A1',旋转 0 → 45 度
935
+ await eda.pcb_PrimitivePad.modify(padId, { padNumber: 'A1', rotation: 45 });
936
+
937
+ // 4. modify 返回后需要重新 get() 才能读到画布上的最新值
938
+ const refreshed = await eda.pcb_PrimitivePad.get(padId);
939
+
940
+ // 5. 修改类保留现场,供观察修改结果
941
+ console.log('primitiveId:', padId);
942
+ console.log('padNumber:', beforeNumber, '→', refreshed.getState_PadNumber());
943
+ console.log('rotation:', beforeRotation, '→', refreshed.getState_Rotation());
944
+ ```