@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,2913 @@
1
+ # ISCH\_PrimitiveComponent class
2
+
3
+ Device primitive
4
+
5
+ ## Signature
6
+
7
+ ```typescript
8
+ class ISCH_PrimitiveComponent implements ISCH_Primitive
9
+ ```
10
+ **Implements:** [ISCH\_Primitive](../interfaces/ISCH_Primitive.md)
11
+
12
+ ## Remarks
13
+
14
+ ## Properties
15
+
16
+ <table><thead><tr><th>
17
+
18
+ Property
19
+
20
+ </th><th>
21
+
22
+ Modifiers
23
+
24
+ </th><th>
25
+
26
+ Type
27
+
28
+ </th><th>
29
+
30
+ Description
31
+
32
+ </th></tr></thead>
33
+ <tbody><tr><td>
34
+
35
+ [async](./ISCH_PrimitiveComponent.md)
36
+
37
+ </td><td>
38
+
39
+ `protected`
40
+
41
+ </td><td>
42
+
43
+ boolean
44
+
45
+ </td><td>
46
+
47
+ 异步
48
+
49
+ </td></tr>
50
+ <tr><td>
51
+
52
+ [designator?](./ISCH_PrimitiveComponent.md)
53
+
54
+ </td><td>
55
+
56
+ `protected`
57
+
58
+ </td><td>
59
+
60
+ string
61
+
62
+ </td><td>
63
+
64
+ _(Optional)_ Component 属性:位号
65
+
66
+ </td></tr>
67
+ <tr><td>
68
+
69
+ [mirror](./ISCH_PrimitiveComponent.md)
70
+
71
+ </td><td>
72
+
73
+ `protected`
74
+
75
+ </td><td>
76
+
77
+ boolean
78
+
79
+ </td><td>
80
+
81
+ 是否镜像
82
+
83
+ </td></tr>
84
+ <tr><td>
85
+
86
+ [name?](./ISCH_PrimitiveComponent.md)
87
+
88
+ </td><td>
89
+
90
+ `protected`
91
+
92
+ </td><td>
93
+
94
+ string
95
+
96
+ </td><td>
97
+
98
+ _(Optional)_ Component 属性:名称
99
+
100
+ </td></tr>
101
+ <tr><td>
102
+
103
+ [otherProperty?](./ISCH_PrimitiveComponent.md)
104
+
105
+ </td><td>
106
+
107
+ `protected`
108
+
109
+ </td><td>
110
+
111
+ Record&lt;string, string \| number \| boolean&gt;
112
+
113
+ </td><td>
114
+
115
+ _(Optional)_ 其它参数
116
+
117
+ </td></tr>
118
+ <tr><td>
119
+
120
+ [primitiveId?](./ISCH_PrimitiveComponent.md)
121
+
122
+ </td><td>
123
+
124
+ `protected`
125
+
126
+ </td><td>
127
+
128
+ string
129
+
130
+ </td><td>
131
+
132
+ _(Optional)_ 图元 ID
133
+
134
+ </td></tr>
135
+ <tr><td>
136
+
137
+ [rotation](./ISCH_PrimitiveComponent.md)
138
+
139
+ </td><td>
140
+
141
+ `protected`
142
+
143
+ </td><td>
144
+
145
+ number
146
+
147
+ </td><td>
148
+
149
+ 旋转角度
150
+
151
+ </td></tr>
152
+ <tr><td>
153
+
154
+ [x](./ISCH_PrimitiveComponent.md)
155
+
156
+ </td><td>
157
+
158
+ `protected`
159
+
160
+ </td><td>
161
+
162
+ number
163
+
164
+ </td><td>
165
+
166
+ 坐标 X
167
+
168
+ </td></tr>
169
+ <tr><td>
170
+
171
+ [y](./ISCH_PrimitiveComponent.md)
172
+
173
+ </td><td>
174
+
175
+ `protected`
176
+
177
+ </td><td>
178
+
179
+ number
180
+
181
+ </td><td>
182
+
183
+ 坐标 Y
184
+
185
+ </td></tr>
186
+ </tbody></table>
187
+
188
+ ## Methods
189
+
190
+ <table><thead><tr><th>
191
+
192
+ Method
193
+
194
+ </th><th>
195
+
196
+ Modifiers
197
+
198
+ </th><th>
199
+
200
+ Description
201
+
202
+ </th></tr></thead>
203
+ <tbody><tr><td>
204
+
205
+ [done()](./ISCH_PrimitiveComponent.md)
206
+
207
+ </td><td>
208
+
209
+ </td><td>
210
+
211
+ **_(BETA)_** Apply the changes to the primitives to the canvas
212
+
213
+ </td></tr>
214
+ <tr><td>
215
+
216
+ [getAllPins()](./ISCH_PrimitiveComponent.md)
217
+
218
+ </td><td>
219
+
220
+ </td><td>
221
+
222
+ **_(BETA)_** Get all pins associated with the device
223
+
224
+ </td></tr>
225
+ <tr><td>
226
+
227
+ [getState\_AddIntoBom()](./ISCH_PrimitiveComponent.md)
228
+
229
+ </td><td>
230
+
231
+ </td><td>
232
+
233
+ Get the property state: whether to add BOM
234
+
235
+ </td></tr>
236
+ <tr><td>
237
+
238
+ [getState\_AddIntoPcb()](./ISCH_PrimitiveComponent.md)
239
+
240
+ </td><td>
241
+
242
+ </td><td>
243
+
244
+ Get the property state: whether to switch to PCB
245
+
246
+ </td></tr>
247
+ <tr><td>
248
+
249
+ [getState\_Component()](./ISCH_PrimitiveComponent.md)
250
+
251
+ </td><td>
252
+
253
+ </td><td>
254
+
255
+ Get the property state: associate library device
256
+
257
+ </td></tr>
258
+ <tr><td>
259
+
260
+ [getState\_ComponentType()](./ISCH_PrimitiveComponent.md)
261
+
262
+ </td><td>
263
+
264
+ </td><td>
265
+
266
+ Get the property state: device type
267
+
268
+ </td></tr>
269
+ <tr><td>
270
+
271
+ [getState\_Designator()](./ISCH_PrimitiveComponent.md)
272
+
273
+ </td><td>
274
+
275
+ </td><td>
276
+
277
+ Get the property state: designator
278
+
279
+ </td></tr>
280
+ <tr><td>
281
+
282
+ [getState\_Footprint()](./ISCH_PrimitiveComponent.md)
283
+
284
+ </td><td>
285
+
286
+ </td><td>
287
+
288
+ Get the property state: associate library footprint
289
+
290
+ </td></tr>
291
+ <tr><td>
292
+
293
+ [getState\_Manufacturer()](./ISCH_PrimitiveComponent.md)
294
+
295
+ </td><td>
296
+
297
+ </td><td>
298
+
299
+ Get the property state: manufacturer
300
+
301
+ </td></tr>
302
+ <tr><td>
303
+
304
+ [getState\_ManufacturerId()](./ISCH_PrimitiveComponent.md)
305
+
306
+ </td><td>
307
+
308
+ </td><td>
309
+
310
+ Get the property state: manufacturer ID
311
+
312
+ </td></tr>
313
+ <tr><td>
314
+
315
+ [getState\_Mirror()](./ISCH_PrimitiveComponent.md)
316
+
317
+ </td><td>
318
+
319
+ </td><td>
320
+
321
+ Get the property state: whether it is mirrored
322
+
323
+ </td></tr>
324
+ <tr><td>
325
+
326
+ [getState\_Name()](./ISCH_PrimitiveComponent.md)
327
+
328
+ </td><td>
329
+
330
+ </td><td>
331
+
332
+ Get the property state: name
333
+
334
+ </td></tr>
335
+ <tr><td>
336
+
337
+ [getState\_Net()](./ISCH_PrimitiveComponent.md)
338
+
339
+ </td><td>
340
+
341
+ </td><td>
342
+
343
+ Get the property state: net name
344
+
345
+ </td></tr>
346
+ <tr><td>
347
+
348
+ [getState\_OtherProperty()](./ISCH_PrimitiveComponent.md)
349
+
350
+ </td><td>
351
+
352
+ </td><td>
353
+
354
+ Get the property state: other parameters
355
+
356
+ </td></tr>
357
+ <tr><td>
358
+
359
+ [getState\_PrimitiveId()](./ISCH_PrimitiveComponent.md)
360
+
361
+ </td><td>
362
+
363
+ </td><td>
364
+
365
+ Get the property state: primitive ID
366
+
367
+ </td></tr>
368
+ <tr><td>
369
+
370
+ [getState\_PrimitiveType()](./ISCH_PrimitiveComponent.md)
371
+
372
+ </td><td>
373
+
374
+ </td><td>
375
+
376
+ Get the property state: primitive type
377
+
378
+ </td></tr>
379
+ <tr><td>
380
+
381
+ [getState\_Rotation()](./ISCH_PrimitiveComponent.md)
382
+
383
+ </td><td>
384
+
385
+ </td><td>
386
+
387
+ Get the property state: rotation angle
388
+
389
+ </td></tr>
390
+ <tr><td>
391
+
392
+ [getState\_SubPartName()](./ISCH_PrimitiveComponent.md)
393
+
394
+ </td><td>
395
+
396
+ </td><td>
397
+
398
+ Get the property state: sub-part name
399
+
400
+ </td></tr>
401
+ <tr><td>
402
+
403
+ [getState\_Supplier()](./ISCH_PrimitiveComponent.md)
404
+
405
+ </td><td>
406
+
407
+ </td><td>
408
+
409
+ Get the property state: supplier
410
+
411
+ </td></tr>
412
+ <tr><td>
413
+
414
+ [getState\_SupplierId()](./ISCH_PrimitiveComponent.md)
415
+
416
+ </td><td>
417
+
418
+ </td><td>
419
+
420
+ Get the property state: supplier ID
421
+
422
+ </td></tr>
423
+ <tr><td>
424
+
425
+ [getState\_Symbol()](./ISCH_PrimitiveComponent.md)
426
+
427
+ </td><td>
428
+
429
+ </td><td>
430
+
431
+ Get the property state: associate library symbol
432
+
433
+ </td></tr>
434
+ <tr><td>
435
+
436
+ [getState\_UniqueId()](./ISCH_PrimitiveComponent.md)
437
+
438
+ </td><td>
439
+
440
+ </td><td>
441
+
442
+ Get the property state: unique ID
443
+
444
+ </td></tr>
445
+ <tr><td>
446
+
447
+ [getState\_X()](./ISCH_PrimitiveComponent.md)
448
+
449
+ </td><td>
450
+
451
+ </td><td>
452
+
453
+ Get the property state: X coordinate
454
+
455
+ </td></tr>
456
+ <tr><td>
457
+
458
+ [getState\_Y()](./ISCH_PrimitiveComponent.md)
459
+
460
+ </td><td>
461
+
462
+ </td><td>
463
+
464
+ Get the property state: Y coordinate
465
+
466
+ </td></tr>
467
+ <tr><td>
468
+
469
+ [isAsync()](./ISCH_PrimitiveComponent.md)
470
+
471
+ </td><td>
472
+
473
+ </td><td>
474
+
475
+ Query whether the primitive is an async primitive
476
+
477
+ </td></tr>
478
+ <tr><td>
479
+
480
+ [reset()](./ISCH_PrimitiveComponent.md)
481
+
482
+ </td><td>
483
+
484
+ </td><td>
485
+
486
+ **_(BETA)_** Reset the async primitive to the current canvas state
487
+
488
+ </td></tr>
489
+ <tr><td>
490
+
491
+ [setState\_AddIntoBom(addIntoBom)](./ISCH_PrimitiveComponent.md)
492
+
493
+ </td><td>
494
+
495
+ </td><td>
496
+
497
+ **_(BETA)_** Set the property state: whether to add BOM
498
+
499
+ </td></tr>
500
+ <tr><td>
501
+
502
+ [setState\_AddIntoPcb(addIntoPcb)](./ISCH_PrimitiveComponent.md)
503
+
504
+ </td><td>
505
+
506
+ </td><td>
507
+
508
+ **_(BETA)_** Set the property state: whether to switch to PCB
509
+
510
+ </td></tr>
511
+ <tr><td>
512
+
513
+ [setState\_Designator(designator)](./ISCH_PrimitiveComponent.md)
514
+
515
+ </td><td>
516
+
517
+ </td><td>
518
+
519
+ **_(BETA)_** Set the property state: designator
520
+
521
+ </td></tr>
522
+ <tr><td>
523
+
524
+ [setState\_Manufacturer(manufacturer)](./ISCH_PrimitiveComponent.md)
525
+
526
+ </td><td>
527
+
528
+ </td><td>
529
+
530
+ **_(BETA)_** Set the property state: manufacturer
531
+
532
+ </td></tr>
533
+ <tr><td>
534
+
535
+ [setState\_ManufacturerId(manufacturerId)](./ISCH_PrimitiveComponent.md)
536
+
537
+ </td><td>
538
+
539
+ </td><td>
540
+
541
+ **_(BETA)_** Set the property state: manufacturer ID
542
+
543
+ </td></tr>
544
+ <tr><td>
545
+
546
+ [setState\_Mirror(mirror)](./ISCH_PrimitiveComponent.md)
547
+
548
+ </td><td>
549
+
550
+ </td><td>
551
+
552
+ **_(BETA)_** Set the property state: whether it is mirrored
553
+
554
+ </td></tr>
555
+ <tr><td>
556
+
557
+ [setState\_Name(name)](./ISCH_PrimitiveComponent.md)
558
+
559
+ </td><td>
560
+
561
+ </td><td>
562
+
563
+ **_(BETA)_** Set the property state: name
564
+
565
+ </td></tr>
566
+ <tr><td>
567
+
568
+ [setState\_Net(net)](./ISCH_PrimitiveComponent.md)
569
+
570
+ </td><td>
571
+
572
+ </td><td>
573
+
574
+ **_(BETA)_** Set the property state: net name
575
+
576
+ </td></tr>
577
+ <tr><td>
578
+
579
+ [setState\_OtherProperty(otherProperty)](./ISCH_PrimitiveComponent.md)
580
+
581
+ </td><td>
582
+
583
+ </td><td>
584
+
585
+ **_(BETA)_** Set the property state: other parameters
586
+
587
+ </td></tr>
588
+ <tr><td>
589
+
590
+ [setState\_Rotation(rotation)](./ISCH_PrimitiveComponent.md)
591
+
592
+ </td><td>
593
+
594
+ </td><td>
595
+
596
+ **_(BETA)_** Set the property state: rotation angle
597
+
598
+ </td></tr>
599
+ <tr><td>
600
+
601
+ [setState\_Supplier(supplier)](./ISCH_PrimitiveComponent.md)
602
+
603
+ </td><td>
604
+
605
+ </td><td>
606
+
607
+ **_(BETA)_** Set the property state: supplier
608
+
609
+ </td></tr>
610
+ <tr><td>
611
+
612
+ [setState\_SupplierId(supplierId)](./ISCH_PrimitiveComponent.md)
613
+
614
+ </td><td>
615
+
616
+ </td><td>
617
+
618
+ **_(BETA)_** Set the property state: supplier ID
619
+
620
+ </td></tr>
621
+ <tr><td>
622
+
623
+ [setState\_UniqueId(uniqueId)](./ISCH_PrimitiveComponent.md)
624
+
625
+ </td><td>
626
+
627
+ </td><td>
628
+
629
+ **_(BETA)_** Set the property state: unique ID
630
+
631
+ </td></tr>
632
+ <tr><td>
633
+
634
+ [setState\_X(x)](./ISCH_PrimitiveComponent.md)
635
+
636
+ </td><td>
637
+
638
+ </td><td>
639
+
640
+ **_(BETA)_** Set the property state: X coordinate
641
+
642
+ </td></tr>
643
+ <tr><td>
644
+
645
+ [setState\_Y(y)](./ISCH_PrimitiveComponent.md)
646
+
647
+ </td><td>
648
+
649
+ </td><td>
650
+
651
+ **_(BETA)_** Set the property state: Y coordinate
652
+
653
+ </td></tr>
654
+ <tr><td>
655
+
656
+ [toAsync()](./ISCH_PrimitiveComponent.md)
657
+
658
+ </td><td>
659
+
660
+ </td><td>
661
+
662
+ Convert Primitive to Async primitive
663
+
664
+ </td></tr>
665
+ <tr><td>
666
+
667
+ [toSync()](./ISCH_PrimitiveComponent.md)
668
+
669
+ </td><td>
670
+
671
+ </td><td>
672
+
673
+ Convert Primitive to Sync primitive
674
+
675
+ </td></tr>
676
+ </tbody></table>
677
+
678
+ ---
679
+
680
+ ## 属性详情
681
+
682
+ ### async
683
+
684
+ # ISCH\_PrimitiveComponent.async property
685
+
686
+ 异步
687
+
688
+ ## Signature
689
+
690
+ ```typescript
691
+ function async: boolean;
692
+ ```
693
+
694
+ ### designator
695
+
696
+ # ISCH\_PrimitiveComponent.designator property
697
+
698
+ Component 属性:位号
699
+
700
+ ## Signature
701
+
702
+ ```typescript
703
+ function designator?: string;
704
+ ```
705
+
706
+ ### mirror
707
+
708
+ # ISCH\_PrimitiveComponent.mirror property
709
+
710
+ 是否镜像
711
+
712
+ ## Signature
713
+
714
+ ```typescript
715
+ function mirror: boolean;
716
+ ```
717
+
718
+ ### name
719
+
720
+ # ISCH\_PrimitiveComponent.name property
721
+
722
+ Component 属性:名称
723
+
724
+ ## Signature
725
+
726
+ ```typescript
727
+ function name?: string;
728
+ ```
729
+
730
+ ### otherproperty
731
+
732
+ # ISCH\_PrimitiveComponent.otherProperty property
733
+
734
+ 其它参数
735
+
736
+ ## Signature
737
+
738
+ ```typescript
739
+ function otherProperty?: Record<string, string | number | boolean>;
740
+ ```
741
+
742
+ ### primitiveid
743
+
744
+ # ISCH\_PrimitiveComponent.primitiveId property
745
+
746
+ 图元 ID
747
+
748
+ ## Signature
749
+
750
+ ```typescript
751
+ function primitiveId?: string;
752
+ ```
753
+
754
+ ### rotation
755
+
756
+ # ISCH\_PrimitiveComponent.rotation property
757
+
758
+ 旋转角度
759
+
760
+ ## Signature
761
+
762
+ ```typescript
763
+ function rotation: number;
764
+ ```
765
+
766
+ ### x
767
+
768
+ # ISCH\_PrimitiveComponent.x property
769
+
770
+ 坐标 X
771
+
772
+ ## Signature
773
+
774
+ ```typescript
775
+ function x: number;
776
+ ```
777
+
778
+ ### y
779
+
780
+ # ISCH\_PrimitiveComponent.y property
781
+
782
+ 坐标 Y
783
+
784
+ ## Signature
785
+
786
+ ```typescript
787
+ function y: number;
788
+ ```
789
+
790
+
791
+ ---
792
+
793
+ ## 方法详情
794
+
795
+ ### done
796
+
797
+ # ISCH\_PrimitiveComponent.done() method
798
+
799
+ > 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.
800
+
801
+ Apply the changes to the primitives to the canvas
802
+
803
+ ## Signature
804
+
805
+ ```typescript
806
+ function done(): Promise<ISCH_PrimitiveComponent>;
807
+ ```
808
+
809
+ ## Returns
810
+
811
+ Promise&lt;[ISCH\_PrimitiveComponent](./ISCH_PrimitiveComponent.md)<!-- -->&gt;
812
+
813
+ Device primitive object
814
+
815
+ ## Example
816
+
817
+ ```javascript
818
+ // 1. 生成本次运行专用的坐标,避免与之前保留的测试器件重合
819
+ const x = 2000 + Math.floor(Math.random() * 8000);
820
+ const y = 2000 + Math.floor(Math.random() * 8000);
821
+
822
+ // 2. 放置一个测试器件(SCH 坐标单位 10mil)
823
+ const devices = await eda.lib_Device.search('C0402');
824
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], x, y);
825
+
826
+ // 3. 切换异步模式,累计两处修改(写正式位号 + 旋转 90°)
827
+ const asyncComp = comp.toAsync();
828
+ asyncComp.setState_Designator('C200');
829
+ asyncComp.setState_Rotation(90);
830
+
831
+ // 4. 一次性提交到画布
832
+ await asyncComp.done();
833
+
834
+ // 5. 从画布重新读取,确认两处修改都已生效(保留现场供观察)
835
+ const refetched = await eda.sch_PrimitiveComponent.get(comp.getState_PrimitiveId());
836
+
837
+ console.log('designator: C? →', refetched.getState_Designator());
838
+ console.log('rotation: 0 →', refetched.getState_Rotation());
839
+ ```
840
+
841
+ ### getallpins
842
+
843
+ # ISCH\_PrimitiveComponent.getAllPins() method
844
+
845
+ > 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.
846
+
847
+ Get all pins associated with the device
848
+
849
+ ## Signature
850
+
851
+ ```typescript
852
+ function getAllPins(): Promise<Array<ISCH_PrimitiveComponentPin> | undefined>;
853
+ ```
854
+
855
+ ## Returns
856
+
857
+ Promise&lt;Array&lt;[ISCH\_PrimitiveComponentPin](./ISCH_PrimitiveComponentPin.md)<!-- -->&gt; \| undefined&gt;
858
+
859
+ Device pin primitive array
860
+
861
+ ## Example
862
+
863
+ ```javascript
864
+ // 1. 放置一个测试器件(C0402 电容有两个引脚,SCH 坐标单位 10mil)
865
+ const devices = await eda.lib_Device.search('C0402');
866
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
867
+ const compId = comp.getState_PrimitiveId();
868
+
869
+ // 2. 获取器件全部引脚(C0402 电容返回 2 个引脚图元)
870
+ const pins = await comp.getAllPins();
871
+
872
+ // 3. 清理测试器件(查询类需要清理)
873
+ await eda.sch_PrimitiveComponent.delete([compId]);
874
+
875
+ console.log('pinCount:', pins.length);
876
+ ```
877
+
878
+ ### getstate_addintobom
879
+
880
+ # ISCH\_PrimitiveComponent.getState\_AddIntoBom() method
881
+
882
+ Get the property state: whether to add BOM
883
+
884
+ ## Signature
885
+
886
+ ```typescript
887
+ function getState_AddIntoBom(): boolean | undefined;
888
+ ```
889
+
890
+ ## Returns
891
+
892
+ boolean \| undefined
893
+
894
+ Whether Add to BOM
895
+
896
+ ## Example
897
+
898
+ ```javascript
899
+ // 1. 放置一个测试器件(SCH 坐标单位 10mil)
900
+ const devices = await eda.lib_Device.search('C0402');
901
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
902
+ const compId = comp.getState_PrimitiveId();
903
+
904
+ // 2. 读取是否加入 BOM(默认 true)
905
+ const addIntoBom = comp.getState_AddIntoBom();
906
+
907
+ // 3. 清理测试器件(查询类需要清理)
908
+ await eda.sch_PrimitiveComponent.delete([compId]);
909
+
910
+ console.log('addIntoBom:', addIntoBom);
911
+ ```
912
+
913
+ ### getstate_addintopcb
914
+
915
+ # ISCH\_PrimitiveComponent.getState\_AddIntoPcb() method
916
+
917
+ Get the property state: whether to switch to PCB
918
+
919
+ ## Signature
920
+
921
+ ```typescript
922
+ function getState_AddIntoPcb(): boolean | undefined;
923
+ ```
924
+
925
+ ## Returns
926
+
927
+ boolean \| undefined
928
+
929
+ Whether Transfer to PCB
930
+
931
+ ## Example
932
+
933
+ ```javascript
934
+ // 1. 放置一个测试器件(SCH 坐标单位 10mil)
935
+ const devices = await eda.lib_Device.search('C0402');
936
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
937
+ const compId = comp.getState_PrimitiveId();
938
+
939
+ // 2. 读取是否转到 PCB(默认 true)
940
+ const addIntoPcb = comp.getState_AddIntoPcb();
941
+
942
+ // 3. 清理测试器件(查询类需要清理)
943
+ await eda.sch_PrimitiveComponent.delete([compId]);
944
+
945
+ console.log('addIntoPcb:', addIntoPcb);
946
+ ```
947
+
948
+ ### getstate_component
949
+
950
+ # ISCH\_PrimitiveComponent.getState\_Component() method
951
+
952
+ Get the property state: associate library device
953
+
954
+ ## Signature
955
+
956
+ ```typescript
957
+ function getState_Component():
958
+ { libraryUuid: string; uuid: string; name?: undefined | string } | undefined;
959
+ ```
960
+
961
+ ## Returns
962
+
963
+ { libraryUuid: string; uuid: string; name?: undefined \| string } \| undefined
964
+
965
+ Associate library device
966
+
967
+ ## Example
968
+
969
+ ```javascript
970
+ // 1. 放置一个测试器件(SCH 坐标单位 10mil)
971
+ const devices = await eda.lib_Device.search('C0402');
972
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
973
+ const compId = comp.getState_PrimitiveId();
974
+
975
+ // 2. 读取关联的库器件(含所属库 uuid 和器件 uuid)
976
+ const component = comp.getState_Component();
977
+
978
+ // 3. 清理测试器件(查询类需要清理)
979
+ await eda.sch_PrimitiveComponent.delete([compId]);
980
+
981
+ console.log('component:', JSON.stringify(component));
982
+ ```
983
+
984
+ ### getstate_componenttype
985
+
986
+ # ISCH\_PrimitiveComponent.getState\_ComponentType() method
987
+
988
+ Get the property state: device type
989
+
990
+ ## Signature
991
+
992
+ ```typescript
993
+ function getState_ComponentType(): ESCH_PrimitiveComponentType;
994
+ ```
995
+
996
+ ## Returns
997
+
998
+ [ESCH\_PrimitiveComponentType](../enums/ESCH_PrimitiveComponentType.md)
999
+
1000
+ Device type
1001
+
1002
+ ## Example
1003
+
1004
+ ```javascript
1005
+ // 1. 放置一个测试器件(普通元件,SCH 坐标单位 10mil)
1006
+ const devices = await eda.lib_Device.search('C0402');
1007
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
1008
+ const compId = comp.getState_PrimitiveId();
1009
+
1010
+ // 2. 读取器件类型(普通元件为 'part')
1011
+ const componentType = comp.getState_ComponentType();
1012
+
1013
+ // 3. 清理测试器件(查询类需要清理)
1014
+ await eda.sch_PrimitiveComponent.delete([compId]);
1015
+
1016
+ console.log('componentType:', componentType);
1017
+ ```
1018
+
1019
+ ### getstate_designator
1020
+
1021
+ # ISCH\_PrimitiveComponent.getState\_Designator() method
1022
+
1023
+ Get the property state: designator
1024
+
1025
+ ## Signature
1026
+
1027
+ ```typescript
1028
+ function getState_Designator(): string | undefined;
1029
+ ```
1030
+
1031
+ ## Returns
1032
+
1033
+ string \| undefined
1034
+
1035
+ Designator
1036
+
1037
+ ## Example
1038
+
1039
+ ```javascript
1040
+ // 1. 放置一个测试器件(SCH 坐标单位 10mil)
1041
+ const devices = await eda.lib_Device.search('C0402');
1042
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
1043
+ const compId = comp.getState_PrimitiveId();
1044
+
1045
+ // 2. 读取位号(未分配时是带问号的临时位号,如 C?)
1046
+ const designator = comp.getState_Designator();
1047
+
1048
+ // 3. 清理测试器件(查询类需要清理)
1049
+ await eda.sch_PrimitiveComponent.delete([compId]);
1050
+
1051
+ console.log('designator:', designator);
1052
+ ```
1053
+
1054
+ ### getstate_footprint
1055
+
1056
+ # ISCH\_PrimitiveComponent.getState\_Footprint() method
1057
+
1058
+ Get the property state: associate library footprint
1059
+
1060
+ ## Signature
1061
+
1062
+ ```typescript
1063
+ function getState_Footprint():
1064
+ { libraryUuid: string; uuid: string; name?: undefined | string } | undefined;
1065
+ ```
1066
+
1067
+ ## Returns
1068
+
1069
+ { libraryUuid: string; uuid: string; name?: undefined \| string } \| undefined
1070
+
1071
+ Associate library footprint
1072
+
1073
+ ## Example
1074
+
1075
+ ```javascript
1076
+ // 1. 放置一个测试器件(SCH 坐标单位 10mil)
1077
+ const devices = await eda.lib_Device.search('C0402');
1078
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
1079
+ const compId = comp.getState_PrimitiveId();
1080
+
1081
+ // 2. 读取关联的库封装(器件未绑定封装时为 undefined)
1082
+ const footprint = comp.getState_Footprint();
1083
+
1084
+ // 3. 清理测试器件(查询类需要清理)
1085
+ await eda.sch_PrimitiveComponent.delete([compId]);
1086
+
1087
+ console.log('footprint:', JSON.stringify(footprint));
1088
+ ```
1089
+
1090
+ ### getstate_manufacturer
1091
+
1092
+ # ISCH\_PrimitiveComponent.getState\_Manufacturer() method
1093
+
1094
+ Get the property state: manufacturer
1095
+
1096
+ ## Signature
1097
+
1098
+ ```typescript
1099
+ function getState_Manufacturer(): string | undefined;
1100
+ ```
1101
+
1102
+ ## Returns
1103
+
1104
+ string \| undefined
1105
+
1106
+ Manufacturer
1107
+
1108
+ ## Example
1109
+
1110
+ ```javascript
1111
+ // 1. 放置一个测试器件(SCH 坐标单位 10mil)
1112
+ const devices = await eda.lib_Device.search('C0402');
1113
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
1114
+ const compId = comp.getState_PrimitiveId();
1115
+
1116
+ // 2. 读取制造商(库器件未填写时为 undefined)
1117
+ const manufacturer = comp.getState_Manufacturer();
1118
+
1119
+ // 3. 清理测试器件(查询类需要清理)
1120
+ await eda.sch_PrimitiveComponent.delete([compId]);
1121
+
1122
+ console.log('manufacturer:', manufacturer);
1123
+ ```
1124
+
1125
+ ### getstate_manufacturerid
1126
+
1127
+ # ISCH\_PrimitiveComponent.getState\_ManufacturerId() method
1128
+
1129
+ Get the property state: manufacturer ID
1130
+
1131
+ ## Signature
1132
+
1133
+ ```typescript
1134
+ function getState_ManufacturerId(): string | undefined;
1135
+ ```
1136
+
1137
+ ## Returns
1138
+
1139
+ string \| undefined
1140
+
1141
+ Manufacturer ID
1142
+
1143
+ ## Example
1144
+
1145
+ ```javascript
1146
+ // 1. 放置一个测试器件(SCH 坐标单位 10mil)
1147
+ const devices = await eda.lib_Device.search('C0402');
1148
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
1149
+ const compId = comp.getState_PrimitiveId();
1150
+
1151
+ // 2. 读取制造商编号(库器件未填写时为 undefined)
1152
+ const manufacturerId = comp.getState_ManufacturerId();
1153
+
1154
+ // 3. 清理测试器件(查询类需要清理)
1155
+ await eda.sch_PrimitiveComponent.delete([compId]);
1156
+
1157
+ console.log('manufacturerId:', manufacturerId);
1158
+ ```
1159
+
1160
+ ### getstate_mirror
1161
+
1162
+ # ISCH\_PrimitiveComponent.getState\_Mirror() method
1163
+
1164
+ Get the property state: whether it is mirrored
1165
+
1166
+ ## Signature
1167
+
1168
+ ```typescript
1169
+ function getState_Mirror(): boolean;
1170
+ ```
1171
+
1172
+ ## Returns
1173
+
1174
+ boolean
1175
+
1176
+ Whether it is mirrored
1177
+
1178
+ ## Example
1179
+
1180
+ ```javascript
1181
+ // 1. 放置一个测试器件(SCH 坐标单位 10mil)
1182
+ const devices = await eda.lib_Device.search('C0402');
1183
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
1184
+ const compId = comp.getState_PrimitiveId();
1185
+
1186
+ // 2. 读取镜像状态(默认 false)
1187
+ const mirror = comp.getState_Mirror();
1188
+
1189
+ // 3. 清理测试器件(查询类需要清理)
1190
+ await eda.sch_PrimitiveComponent.delete([compId]);
1191
+
1192
+ console.log('mirror:', mirror);
1193
+ ```
1194
+
1195
+ ### getstate_name
1196
+
1197
+ # ISCH\_PrimitiveComponent.getState\_Name() method
1198
+
1199
+ Get the property state: name
1200
+
1201
+ ## Signature
1202
+
1203
+ ```typescript
1204
+ function getState_Name(): string | undefined;
1205
+ ```
1206
+
1207
+ ## Returns
1208
+
1209
+ string \| undefined
1210
+
1211
+ Name
1212
+
1213
+ ## Example
1214
+
1215
+ ```javascript
1216
+ // 1. 放置一个测试器件(SCH 坐标单位 10mil)
1217
+ const devices = await eda.lib_Device.search('C0402');
1218
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
1219
+ const compId = comp.getState_PrimitiveId();
1220
+
1221
+ // 2. 读取名称(默认继承库器件名)
1222
+ const name = comp.getState_Name();
1223
+
1224
+ // 3. 清理测试器件(查询类需要清理)
1225
+ await eda.sch_PrimitiveComponent.delete([compId]);
1226
+
1227
+ console.log('name:', name);
1228
+ ```
1229
+
1230
+ ### getstate_net
1231
+
1232
+ # ISCH\_PrimitiveComponent.getState\_Net() method
1233
+
1234
+ Get the property state: net name
1235
+
1236
+ ## Signature
1237
+
1238
+ ```typescript
1239
+ function getState_Net(): string | undefined;
1240
+ ```
1241
+
1242
+ ## Returns
1243
+
1244
+ string \| undefined
1245
+
1246
+ Net name
1247
+
1248
+ ## Example
1249
+
1250
+ ```javascript
1251
+ // 1. 放置一个测试器件(SCH 坐标单位 10mil)
1252
+ const devices = await eda.lib_Device.search('C0402');
1253
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
1254
+ const compId = comp.getState_PrimitiveId();
1255
+
1256
+ // 2. 读取器件级网络名(普通元件为 undefined,引脚网络需查引脚对象)
1257
+ const net = comp.getState_Net();
1258
+
1259
+ // 3. 清理测试器件(查询类需要清理)
1260
+ await eda.sch_PrimitiveComponent.delete([compId]);
1261
+
1262
+ console.log('net:', net);
1263
+ ```
1264
+
1265
+ ### getstate_otherproperty
1266
+
1267
+ # ISCH\_PrimitiveComponent.getState\_OtherProperty() method
1268
+
1269
+ Get the property state: other parameters
1270
+
1271
+ ## Signature
1272
+
1273
+ ```typescript
1274
+ function getState_OtherProperty(): Record<string, string | number | boolean> | undefined;
1275
+ ```
1276
+
1277
+ ## Returns
1278
+
1279
+ Record&lt;string, string \| number \| boolean&gt; \| undefined
1280
+
1281
+ Other parameters
1282
+
1283
+ ## Example
1284
+
1285
+ ```javascript
1286
+ // 1. 放置一个测试器件(SCH 坐标单位 10mil)
1287
+ const devices = await eda.lib_Device.search('C0402');
1288
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
1289
+ const compId = comp.getState_PrimitiveId();
1290
+
1291
+ // 2. 读取全部自定义参数(Record<键, 值>,未设置时为 undefined)
1292
+ const otherProperty = comp.getState_OtherProperty();
1293
+
1294
+ // 3. 清理测试器件(查询类需要清理)
1295
+ await eda.sch_PrimitiveComponent.delete([compId]);
1296
+
1297
+ console.log('otherProperty:', JSON.stringify(otherProperty));
1298
+ ```
1299
+
1300
+ ### getstate_primitiveid
1301
+
1302
+ # ISCH\_PrimitiveComponent.getState\_PrimitiveId() method
1303
+
1304
+ Get the property state: primitive ID
1305
+
1306
+ ## Signature
1307
+
1308
+ ```typescript
1309
+ function getState_PrimitiveId(): string;
1310
+ ```
1311
+
1312
+ ## Returns
1313
+
1314
+ string
1315
+
1316
+ Primitive ID
1317
+
1318
+ ## Example
1319
+
1320
+ ```javascript
1321
+ // 1. 放置一个测试器件(SCH 坐标单位 10mil)
1322
+ const devices = await eda.lib_Device.search('C0402');
1323
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
1324
+
1325
+ // 2. 读取图元 ID
1326
+ const compId = comp.getState_PrimitiveId();
1327
+
1328
+ // 3. 清理测试器件(查询类需要清理)
1329
+ await eda.sch_PrimitiveComponent.delete([compId]);
1330
+
1331
+ console.log('compId:', compId);
1332
+ ```
1333
+
1334
+ ### getstate_primitivetype
1335
+
1336
+ # ISCH\_PrimitiveComponent.getState\_PrimitiveType() method
1337
+
1338
+ Get the property state: primitive type
1339
+
1340
+ ## Signature
1341
+
1342
+ ```typescript
1343
+ function getState_PrimitiveType(): ESCH_PrimitiveType;
1344
+ ```
1345
+
1346
+ ## Returns
1347
+
1348
+ [ESCH\_PrimitiveType](../enums/ESCH_PrimitiveType.md)
1349
+
1350
+ Primitive type
1351
+
1352
+ ## Example
1353
+
1354
+ ```javascript
1355
+ // 1. 放置一个测试器件(SCH 坐标单位 10mil)
1356
+ const devices = await eda.lib_Device.search('C0402');
1357
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
1358
+ const compId = comp.getState_PrimitiveId();
1359
+
1360
+ // 2. 读取图元类型(器件图元为 'Component')
1361
+ const primitiveType = comp.getState_PrimitiveType();
1362
+
1363
+ // 3. 清理测试器件(查询类需要清理)
1364
+ await eda.sch_PrimitiveComponent.delete([compId]);
1365
+
1366
+ console.log('primitiveType:', primitiveType);
1367
+ ```
1368
+
1369
+ ### getstate_rotation
1370
+
1371
+ # ISCH\_PrimitiveComponent.getState\_Rotation() method
1372
+
1373
+ Get the property state: rotation angle
1374
+
1375
+ ## Signature
1376
+
1377
+ ```typescript
1378
+ function getState_Rotation(): number;
1379
+ ```
1380
+
1381
+ ## Returns
1382
+
1383
+ number
1384
+
1385
+ Rotation angle
1386
+
1387
+ ## Example
1388
+
1389
+ ```javascript
1390
+ // 1. 放置一个测试器件(SCH 坐标单位 10mil)
1391
+ const devices = await eda.lib_Device.search('C0402');
1392
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
1393
+ const compId = comp.getState_PrimitiveId();
1394
+
1395
+ // 2. 读取旋转角度(默认 0)
1396
+ const rotation = comp.getState_Rotation();
1397
+
1398
+ // 3. 清理测试器件(查询类需要清理)
1399
+ await eda.sch_PrimitiveComponent.delete([compId]);
1400
+
1401
+ console.log('rotation:', rotation);
1402
+ ```
1403
+
1404
+ ### getstate_subpartname
1405
+
1406
+ # ISCH\_PrimitiveComponent.getState\_SubPartName() method
1407
+
1408
+ Get the property state: sub-part name
1409
+
1410
+ ## Signature
1411
+
1412
+ ```typescript
1413
+ function getState_SubPartName(): string | undefined;
1414
+ ```
1415
+
1416
+ ## Returns
1417
+
1418
+ string \| undefined
1419
+
1420
+ Sub-part name
1421
+
1422
+ ## Example
1423
+
1424
+ ```javascript
1425
+ // 1. 放置一个测试器件(SCH 坐标单位 10mil)
1426
+ const devices = await eda.lib_Device.search('C0402');
1427
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
1428
+ const compId = comp.getState_PrimitiveId();
1429
+
1430
+ // 2. 读取子部件名称(单子部件器件为 undefined)
1431
+ const subPartName = comp.getState_SubPartName();
1432
+
1433
+ // 3. 清理测试器件(查询类需要清理)
1434
+ await eda.sch_PrimitiveComponent.delete([compId]);
1435
+
1436
+ console.log('subPartName:', subPartName);
1437
+ ```
1438
+
1439
+ ### getstate_supplier
1440
+
1441
+ # ISCH\_PrimitiveComponent.getState\_Supplier() method
1442
+
1443
+ Get the property state: supplier
1444
+
1445
+ ## Signature
1446
+
1447
+ ```typescript
1448
+ function getState_Supplier(): string | undefined;
1449
+ ```
1450
+
1451
+ ## Returns
1452
+
1453
+ string \| undefined
1454
+
1455
+ Supplier
1456
+
1457
+ ## Example
1458
+
1459
+ ```javascript
1460
+ // 1. 放置一个测试器件(SCH 坐标单位 10mil)
1461
+ const devices = await eda.lib_Device.search('C0402');
1462
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
1463
+ const compId = comp.getState_PrimitiveId();
1464
+
1465
+ // 2. 读取供应商(库器件未填写时为 undefined)
1466
+ const supplier = comp.getState_Supplier();
1467
+
1468
+ // 3. 清理测试器件(查询类需要清理)
1469
+ await eda.sch_PrimitiveComponent.delete([compId]);
1470
+
1471
+ console.log('supplier:', supplier);
1472
+ ```
1473
+
1474
+ ### getstate_supplierid
1475
+
1476
+ # ISCH\_PrimitiveComponent.getState\_SupplierId() method
1477
+
1478
+ Get the property state: supplier ID
1479
+
1480
+ ## Signature
1481
+
1482
+ ```typescript
1483
+ function getState_SupplierId(): string | undefined;
1484
+ ```
1485
+
1486
+ ## Returns
1487
+
1488
+ string \| undefined
1489
+
1490
+ Supplier ID
1491
+
1492
+ ## Example
1493
+
1494
+ ```javascript
1495
+ // 1. 放置一个测试器件(SCH 坐标单位 10mil)
1496
+ const devices = await eda.lib_Device.search('C0402');
1497
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
1498
+ const compId = comp.getState_PrimitiveId();
1499
+
1500
+ // 2. 读取供应商编号(库器件未填写时为 undefined)
1501
+ const supplierId = comp.getState_SupplierId();
1502
+
1503
+ // 3. 清理测试器件(查询类需要清理)
1504
+ await eda.sch_PrimitiveComponent.delete([compId]);
1505
+
1506
+ console.log('supplierId:', supplierId);
1507
+ ```
1508
+
1509
+ ### getstate_symbol
1510
+
1511
+ # ISCH\_PrimitiveComponent.getState\_Symbol() method
1512
+
1513
+ Get the property state: associate library symbol
1514
+
1515
+ ## Signature
1516
+
1517
+ ```typescript
1518
+ function getState_Symbol():
1519
+ { libraryUuid: string; uuid: string; name?: undefined | string } | undefined;
1520
+ ```
1521
+
1522
+ ## Returns
1523
+
1524
+ { libraryUuid: string; uuid: string; name?: undefined \| string } \| undefined
1525
+
1526
+ Associate library symbol
1527
+
1528
+ ## Example
1529
+
1530
+ ```javascript
1531
+ // 1. 放置一个测试器件(SCH 坐标单位 10mil)
1532
+ const devices = await eda.lib_Device.search('C0402');
1533
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
1534
+ const compId = comp.getState_PrimitiveId();
1535
+
1536
+ // 2. 读取关联的库符号
1537
+ const symbol = comp.getState_Symbol();
1538
+
1539
+ // 3. 清理测试器件(查询类需要清理)
1540
+ await eda.sch_PrimitiveComponent.delete([compId]);
1541
+
1542
+ console.log('symbol:', JSON.stringify(symbol));
1543
+ ```
1544
+
1545
+ ### getstate_uniqueid
1546
+
1547
+ # ISCH\_PrimitiveComponent.getState\_UniqueId() method
1548
+
1549
+ Get the property state: unique ID
1550
+
1551
+ ## Signature
1552
+
1553
+ ```typescript
1554
+ function getState_UniqueId(): string | undefined;
1555
+ ```
1556
+
1557
+ ## Returns
1558
+
1559
+ string \| undefined
1560
+
1561
+ Unique ID
1562
+
1563
+ ## Example
1564
+
1565
+ ```javascript
1566
+ // 1. 放置一个测试器件(SCH 坐标单位 10mil)
1567
+ const devices = await eda.lib_Device.search('C0402');
1568
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
1569
+ const compId = comp.getState_PrimitiveId();
1570
+
1571
+ // 2. 读取唯一 ID
1572
+ const uniqueId = comp.getState_UniqueId();
1573
+
1574
+ // 3. 清理测试器件(查询类需要清理)
1575
+ await eda.sch_PrimitiveComponent.delete([compId]);
1576
+
1577
+ console.log('uniqueId:', uniqueId);
1578
+ ```
1579
+
1580
+ ### getstate_x
1581
+
1582
+ # ISCH\_PrimitiveComponent.getState\_X() method
1583
+
1584
+ Get the property state: X coordinate
1585
+
1586
+ ## Signature
1587
+
1588
+ ```typescript
1589
+ function getState_X(): number;
1590
+ ```
1591
+
1592
+ ## Returns
1593
+
1594
+ number
1595
+
1596
+ X coordinate
1597
+
1598
+ ## Example
1599
+
1600
+ ```javascript
1601
+ // 1. 放置一个测试器件(SCH 坐标单位 10mil,100 ≈ 25.4mm)
1602
+ const devices = await eda.lib_Device.search('C0402');
1603
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
1604
+ const compId = comp.getState_PrimitiveId();
1605
+
1606
+ // 2. 读取放置位置的 X 坐标
1607
+ const x = comp.getState_X();
1608
+
1609
+ // 3. 清理测试器件(查询类需要清理)
1610
+ await eda.sch_PrimitiveComponent.delete([compId]);
1611
+
1612
+ console.log('x:', x);
1613
+ ```
1614
+
1615
+ ### getstate_y
1616
+
1617
+ # ISCH\_PrimitiveComponent.getState\_Y() method
1618
+
1619
+ Get the property state: Y coordinate
1620
+
1621
+ ## Signature
1622
+
1623
+ ```typescript
1624
+ function getState_Y(): number;
1625
+ ```
1626
+
1627
+ ## Returns
1628
+
1629
+ number
1630
+
1631
+ Y coordinate
1632
+
1633
+ ## Example
1634
+
1635
+ ```javascript
1636
+ // 1. 放置一个测试器件(SCH 坐标单位 10mil,100 ≈ 25.4mm)
1637
+ const devices = await eda.lib_Device.search('C0402');
1638
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
1639
+ const compId = comp.getState_PrimitiveId();
1640
+
1641
+ // 2. 读取放置位置的 Y 坐标(与放置时传入值一致)
1642
+ const y = comp.getState_Y();
1643
+
1644
+ // 3. 清理测试器件(查询类需要清理)
1645
+ await eda.sch_PrimitiveComponent.delete([compId]);
1646
+
1647
+ console.log('y:', y);
1648
+ ```
1649
+
1650
+ ### isasync
1651
+
1652
+ # ISCH\_PrimitiveComponent.isAsync() method
1653
+
1654
+ Query whether the primitive is an async primitive
1655
+
1656
+ ## Signature
1657
+
1658
+ ```typescript
1659
+ function isAsync(): boolean;
1660
+ ```
1661
+
1662
+ ## Returns
1663
+
1664
+ boolean
1665
+
1666
+ Whether Is async primitive
1667
+
1668
+ ## Example
1669
+
1670
+ ```javascript
1671
+ // 1. 放置一个测试器件(SCH 坐标单位 10mil)
1672
+ const devices = await eda.lib_Device.search('C0402');
1673
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], 600, 600);
1674
+ const compId = comp.getState_PrimitiveId();
1675
+
1676
+ // 2. 查询创建后的默认模式(新创建的图元默认为异步)
1677
+ const isAsyncOnCreate = comp.isAsync();
1678
+
1679
+ // 3. 转为同步后再查一次,对比两种模式
1680
+ const syncComp = comp.toSync();
1681
+ const isAsyncAfterToSync = syncComp.isAsync();
1682
+
1683
+ // 4. 清理测试器件(查询类需要清理)
1684
+ await eda.sch_PrimitiveComponent.delete([compId]);
1685
+
1686
+ console.log('isAsync on create:', isAsyncOnCreate);
1687
+ console.log('isAsync after toSync:', isAsyncAfterToSync);
1688
+ ```
1689
+
1690
+ ### reset
1691
+
1692
+ # ISCH\_PrimitiveComponent.reset() method
1693
+
1694
+ > 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.
1695
+
1696
+ Reset the async primitive to the current canvas state
1697
+
1698
+ ## Signature
1699
+
1700
+ ```typescript
1701
+ function reset(): Promise<ISCH_PrimitiveComponent>;
1702
+ ```
1703
+
1704
+ ## Returns
1705
+
1706
+ Promise&lt;[ISCH\_PrimitiveComponent](./ISCH_PrimitiveComponent.md)<!-- -->&gt;
1707
+
1708
+ Device primitive object
1709
+
1710
+ ## Example
1711
+
1712
+ ```javascript
1713
+ // 1. 生成本次运行专用的坐标,避免与之前保留的测试器件重合
1714
+ const x = 2000 + Math.floor(Math.random() * 8000);
1715
+ const y = 2000 + Math.floor(Math.random() * 8000);
1716
+
1717
+ // 2. 放置一个测试器件,记录画布上的位号
1718
+ const devices = await eda.lib_Device.search('C0402');
1719
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], x, y);
1720
+ const compId = comp.getState_PrimitiveId();
1721
+ const before = comp.getState_Designator();
1722
+
1723
+ // 3. 异步模式写入一个错误位号,但不提交,直接重置丢弃
1724
+ const asyncComp = comp.toAsync();
1725
+ asyncComp.setState_Designator('WRONG');
1726
+ await asyncComp.reset();
1727
+
1728
+ // 4. 从画布重新读取,位号仍是重置前的值(保留现场供观察)
1729
+ const refetched = await eda.sch_PrimitiveComponent.get(compId);
1730
+
1731
+ console.log('designator:', before, '→', refetched.getState_Designator());
1732
+ ```
1733
+
1734
+ ### setstate_addintobom
1735
+
1736
+ # ISCH\_PrimitiveComponent.setState\_AddIntoBom() method
1737
+
1738
+ > 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.
1739
+
1740
+ Set the property state: whether to add BOM
1741
+
1742
+ ## Signature
1743
+
1744
+ ```typescript
1745
+ function setState_AddIntoBom(addIntoBom: boolean | undefined): ISCH_PrimitiveComponent;
1746
+ ```
1747
+
1748
+ ## Parameters
1749
+
1750
+ <table><thead><tr><th>
1751
+
1752
+ Parameter
1753
+
1754
+ </th><th>
1755
+
1756
+ Type
1757
+
1758
+ </th><th>
1759
+
1760
+ Description
1761
+
1762
+ </th></tr></thead>
1763
+ <tbody><tr><td>
1764
+
1765
+ addIntoBom
1766
+
1767
+ </td><td>
1768
+
1769
+ boolean \| undefined
1770
+
1771
+ </td><td>
1772
+
1773
+ Whether Add to BOM
1774
+
1775
+ </td></tr>
1776
+ </tbody></table>
1777
+
1778
+ ## Returns
1779
+
1780
+ [ISCH\_PrimitiveComponent](./ISCH_PrimitiveComponent.md)
1781
+
1782
+ Device primitive object
1783
+
1784
+ ## Example
1785
+
1786
+ ```javascript
1787
+ // 1. 生成本次运行专用的坐标,避免与之前保留的测试器件重合
1788
+ const x = 2000 + Math.floor(Math.random() * 8000);
1789
+ const y = 2000 + Math.floor(Math.random() * 8000);
1790
+
1791
+ // 2. 放置一个测试器件(SCH 坐标单位 10mil)
1792
+ const devices = await eda.lib_Device.search('C0402');
1793
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], x, y);
1794
+ const before = comp.getState_AddIntoBom();
1795
+
1796
+ // 3. 切换异步模式,改为不加入 BOM 后提交
1797
+ const asyncComp = comp.toAsync();
1798
+ asyncComp.setState_AddIntoBom(false);
1799
+ await asyncComp.done();
1800
+
1801
+ // 4. 从画布重新读取,确认修改已生效(保留现场供观察)
1802
+ const refetched = await eda.sch_PrimitiveComponent.get(comp.getState_PrimitiveId());
1803
+
1804
+ console.log('addIntoBom:', before, '→', refetched.getState_AddIntoBom());
1805
+ ```
1806
+
1807
+ ### setstate_addintopcb
1808
+
1809
+ # ISCH\_PrimitiveComponent.setState\_AddIntoPcb() method
1810
+
1811
+ > 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.
1812
+
1813
+ Set the property state: whether to switch to PCB
1814
+
1815
+ ## Signature
1816
+
1817
+ ```typescript
1818
+ function setState_AddIntoPcb(addIntoPcb: boolean | undefined): ISCH_PrimitiveComponent;
1819
+ ```
1820
+
1821
+ ## Parameters
1822
+
1823
+ <table><thead><tr><th>
1824
+
1825
+ Parameter
1826
+
1827
+ </th><th>
1828
+
1829
+ Type
1830
+
1831
+ </th><th>
1832
+
1833
+ Description
1834
+
1835
+ </th></tr></thead>
1836
+ <tbody><tr><td>
1837
+
1838
+ addIntoPcb
1839
+
1840
+ </td><td>
1841
+
1842
+ boolean \| undefined
1843
+
1844
+ </td><td>
1845
+
1846
+ Whether Transfer to PCB
1847
+
1848
+ </td></tr>
1849
+ </tbody></table>
1850
+
1851
+ ## Returns
1852
+
1853
+ [ISCH\_PrimitiveComponent](./ISCH_PrimitiveComponent.md)
1854
+
1855
+ Device primitive object
1856
+
1857
+ ## Example
1858
+
1859
+ ```javascript
1860
+ // 1. 生成本次运行专用的坐标,避免与之前保留的测试器件重合
1861
+ const x = 2000 + Math.floor(Math.random() * 8000);
1862
+ const y = 2000 + Math.floor(Math.random() * 8000);
1863
+
1864
+ // 2. 放置一个测试器件(SCH 坐标单位 10mil)
1865
+ const devices = await eda.lib_Device.search('C0402');
1866
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], x, y);
1867
+ const before = comp.getState_AddIntoPcb();
1868
+
1869
+ // 3. 切换异步模式,改为不转 PCB 后提交
1870
+ const asyncComp = comp.toAsync();
1871
+ asyncComp.setState_AddIntoPcb(false);
1872
+ await asyncComp.done();
1873
+
1874
+ // 4. 从画布重新读取,确认修改已生效(保留现场供观察)
1875
+ const refetched = await eda.sch_PrimitiveComponent.get(comp.getState_PrimitiveId());
1876
+
1877
+ console.log('addIntoPcb:', before, '→', refetched.getState_AddIntoPcb());
1878
+ ```
1879
+
1880
+ ### setstate_designator
1881
+
1882
+ # ISCH\_PrimitiveComponent.setState\_Designator() method
1883
+
1884
+ > 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.
1885
+
1886
+ Set the property state: designator
1887
+
1888
+ ## Signature
1889
+
1890
+ ```typescript
1891
+ function setState_Designator(designator: string | undefined): ISCH_PrimitiveComponent;
1892
+ ```
1893
+
1894
+ ## Parameters
1895
+
1896
+ <table><thead><tr><th>
1897
+
1898
+ Parameter
1899
+
1900
+ </th><th>
1901
+
1902
+ Type
1903
+
1904
+ </th><th>
1905
+
1906
+ Description
1907
+
1908
+ </th></tr></thead>
1909
+ <tbody><tr><td>
1910
+
1911
+ designator
1912
+
1913
+ </td><td>
1914
+
1915
+ string \| undefined
1916
+
1917
+ </td><td>
1918
+
1919
+ Designator
1920
+
1921
+ </td></tr>
1922
+ </tbody></table>
1923
+
1924
+ ## Returns
1925
+
1926
+ [ISCH\_PrimitiveComponent](./ISCH_PrimitiveComponent.md)
1927
+
1928
+ Device primitive object
1929
+
1930
+ ## Example
1931
+
1932
+ ```javascript
1933
+ // 1. 生成本次运行专用的坐标,避免与之前保留的测试器件重合
1934
+ const x = 2000 + Math.floor(Math.random() * 8000);
1935
+ const y = 2000 + Math.floor(Math.random() * 8000);
1936
+
1937
+ // 2. 放置一个测试器件,读取自动分配的临时位号(如 C?)
1938
+ const devices = await eda.lib_Device.search('C0402');
1939
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], x, y);
1940
+ const before = comp.getState_Designator();
1941
+
1942
+ // 3. 切换异步模式,写入正式位号后提交
1943
+ const asyncComp = comp.toAsync();
1944
+ asyncComp.setState_Designator('C100');
1945
+ await asyncComp.done();
1946
+
1947
+ // 4. 从画布重新读取,确认修改已生效(保留现场供观察)
1948
+ const refetched = await eda.sch_PrimitiveComponent.get(comp.getState_PrimitiveId());
1949
+
1950
+ console.log('designator:', before, '→', refetched.getState_Designator());
1951
+ ```
1952
+
1953
+ ### setstate_manufacturer
1954
+
1955
+ # ISCH\_PrimitiveComponent.setState\_Manufacturer() method
1956
+
1957
+ > 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.
1958
+
1959
+ Set the property state: manufacturer
1960
+
1961
+ ## Signature
1962
+
1963
+ ```typescript
1964
+ function setState_Manufacturer(manufacturer: string | undefined): ISCH_PrimitiveComponent;
1965
+ ```
1966
+
1967
+ ## Parameters
1968
+
1969
+ <table><thead><tr><th>
1970
+
1971
+ Parameter
1972
+
1973
+ </th><th>
1974
+
1975
+ Type
1976
+
1977
+ </th><th>
1978
+
1979
+ Description
1980
+
1981
+ </th></tr></thead>
1982
+ <tbody><tr><td>
1983
+
1984
+ manufacturer
1985
+
1986
+ </td><td>
1987
+
1988
+ string \| undefined
1989
+
1990
+ </td><td>
1991
+
1992
+ Manufacturer
1993
+
1994
+ </td></tr>
1995
+ </tbody></table>
1996
+
1997
+ ## Returns
1998
+
1999
+ [ISCH\_PrimitiveComponent](./ISCH_PrimitiveComponent.md)
2000
+
2001
+ Device primitive object
2002
+
2003
+ ## Example
2004
+
2005
+ ```javascript
2006
+ // 1. 生成本次运行专用的坐标,避免与之前保留的测试器件重合
2007
+ const x = 2000 + Math.floor(Math.random() * 8000);
2008
+ const y = 2000 + Math.floor(Math.random() * 8000);
2009
+
2010
+ // 2. 放置一个测试器件,读取默认制造商
2011
+ const devices = await eda.lib_Device.search('C0402');
2012
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], x, y);
2013
+ const before = comp.getState_Manufacturer();
2014
+
2015
+ // 3. 切换异步模式,写入制造商后提交
2016
+ const asyncComp = comp.toAsync();
2017
+ asyncComp.setState_Manufacturer('YAGEO');
2018
+ await asyncComp.done();
2019
+
2020
+ // 4. 从画布重新读取,确认修改已生效(保留现场供观察)
2021
+ const refetched = await eda.sch_PrimitiveComponent.get(comp.getState_PrimitiveId());
2022
+
2023
+ console.log('manufacturer:', before, '→', refetched.getState_Manufacturer());
2024
+ ```
2025
+
2026
+ ### setstate_manufacturerid
2027
+
2028
+ # ISCH\_PrimitiveComponent.setState\_ManufacturerId() method
2029
+
2030
+ > 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.
2031
+
2032
+ Set the property state: manufacturer ID
2033
+
2034
+ ## Signature
2035
+
2036
+ ```typescript
2037
+ function setState_ManufacturerId(manufacturerId: string | undefined): ISCH_PrimitiveComponent;
2038
+ ```
2039
+
2040
+ ## Parameters
2041
+
2042
+ <table><thead><tr><th>
2043
+
2044
+ Parameter
2045
+
2046
+ </th><th>
2047
+
2048
+ Type
2049
+
2050
+ </th><th>
2051
+
2052
+ Description
2053
+
2054
+ </th></tr></thead>
2055
+ <tbody><tr><td>
2056
+
2057
+ manufacturerId
2058
+
2059
+ </td><td>
2060
+
2061
+ string \| undefined
2062
+
2063
+ </td><td>
2064
+
2065
+ Manufacturer ID
2066
+
2067
+ </td></tr>
2068
+ </tbody></table>
2069
+
2070
+ ## Returns
2071
+
2072
+ [ISCH\_PrimitiveComponent](./ISCH_PrimitiveComponent.md)
2073
+
2074
+ Device primitive object
2075
+
2076
+ ## Example
2077
+
2078
+ ```javascript
2079
+ // 1. 生成本次运行专用的坐标,避免与之前保留的测试器件重合
2080
+ const x = 2000 + Math.floor(Math.random() * 8000);
2081
+ const y = 2000 + Math.floor(Math.random() * 8000);
2082
+
2083
+ // 2. 放置一个测试器件,读取默认制造商编号
2084
+ const devices = await eda.lib_Device.search('C0402');
2085
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], x, y);
2086
+ const before = comp.getState_ManufacturerId();
2087
+
2088
+ // 3. 切换异步模式,写入 MPN 后提交
2089
+ const asyncComp = comp.toAsync();
2090
+ asyncComp.setState_ManufacturerId('CC0402KRX7R7BB104');
2091
+ await asyncComp.done();
2092
+
2093
+ // 4. 从画布重新读取,确认修改已生效(保留现场供观察)
2094
+ const refetched = await eda.sch_PrimitiveComponent.get(comp.getState_PrimitiveId());
2095
+
2096
+ console.log('manufacturerId:', before, '→', refetched.getState_ManufacturerId());
2097
+ ```
2098
+
2099
+ ### setstate_mirror
2100
+
2101
+ # ISCH\_PrimitiveComponent.setState\_Mirror() method
2102
+
2103
+ > 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.
2104
+
2105
+ Set the property state: whether it is mirrored
2106
+
2107
+ ## Signature
2108
+
2109
+ ```typescript
2110
+ function setState_Mirror(mirror: boolean): ISCH_PrimitiveComponent;
2111
+ ```
2112
+
2113
+ ## Parameters
2114
+
2115
+ <table><thead><tr><th>
2116
+
2117
+ Parameter
2118
+
2119
+ </th><th>
2120
+
2121
+ Type
2122
+
2123
+ </th><th>
2124
+
2125
+ Description
2126
+
2127
+ </th></tr></thead>
2128
+ <tbody><tr><td>
2129
+
2130
+ mirror
2131
+
2132
+ </td><td>
2133
+
2134
+ boolean
2135
+
2136
+ </td><td>
2137
+
2138
+ Whether it is mirrored
2139
+
2140
+ </td></tr>
2141
+ </tbody></table>
2142
+
2143
+ ## Returns
2144
+
2145
+ [ISCH\_PrimitiveComponent](./ISCH_PrimitiveComponent.md)
2146
+
2147
+ Device primitive object
2148
+
2149
+ ## Example
2150
+
2151
+ ```javascript
2152
+ // 1. 生成本次运行专用的坐标,避免与之前保留的测试器件重合
2153
+ const x = 2000 + Math.floor(Math.random() * 8000);
2154
+ const y = 2000 + Math.floor(Math.random() * 8000);
2155
+
2156
+ // 2. 放置一个测试器件,读取默认镜像状态(false)
2157
+ const devices = await eda.lib_Device.search('C0402');
2158
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], x, y);
2159
+ const before = comp.getState_Mirror();
2160
+
2161
+ // 3. 切换异步模式,开启镜像后提交
2162
+ const asyncComp = comp.toAsync();
2163
+ asyncComp.setState_Mirror(true);
2164
+ await asyncComp.done();
2165
+
2166
+ // 4. 从画布重新读取,确认修改已生效(保留现场供观察)
2167
+ const refetched = await eda.sch_PrimitiveComponent.get(comp.getState_PrimitiveId());
2168
+
2169
+ console.log('mirror:', before, '→', refetched.getState_Mirror());
2170
+ ```
2171
+
2172
+ ### setstate_name
2173
+
2174
+ # ISCH\_PrimitiveComponent.setState\_Name() method
2175
+
2176
+ > 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.
2177
+
2178
+ Set the property state: name
2179
+
2180
+ ## Signature
2181
+
2182
+ ```typescript
2183
+ function setState_Name(name: string | undefined): ISCH_PrimitiveComponent;
2184
+ ```
2185
+
2186
+ ## Parameters
2187
+
2188
+ <table><thead><tr><th>
2189
+
2190
+ Parameter
2191
+
2192
+ </th><th>
2193
+
2194
+ Type
2195
+
2196
+ </th><th>
2197
+
2198
+ Description
2199
+
2200
+ </th></tr></thead>
2201
+ <tbody><tr><td>
2202
+
2203
+ name
2204
+
2205
+ </td><td>
2206
+
2207
+ string \| undefined
2208
+
2209
+ </td><td>
2210
+
2211
+ Name
2212
+
2213
+ </td></tr>
2214
+ </tbody></table>
2215
+
2216
+ ## Returns
2217
+
2218
+ [ISCH\_PrimitiveComponent](./ISCH_PrimitiveComponent.md)
2219
+
2220
+ Device primitive object
2221
+
2222
+ ## Example
2223
+
2224
+ ```javascript
2225
+ // 1. 生成本次运行专用的坐标,避免与之前保留的测试器件重合
2226
+ const x = 2000 + Math.floor(Math.random() * 8000);
2227
+ const y = 2000 + Math.floor(Math.random() * 8000);
2228
+
2229
+ // 2. 放置一个测试器件,读取默认名称(继承库器件名)
2230
+ const devices = await eda.lib_Device.search('C0402');
2231
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], x, y);
2232
+ const before = comp.getState_Name();
2233
+
2234
+ // 3. 切换异步模式,写入用途名后提交
2235
+ const asyncComp = comp.toAsync();
2236
+ asyncComp.setState_Name('12V 输入滤波电容');
2237
+ await asyncComp.done();
2238
+
2239
+ // 4. 从画布重新读取,确认修改已生效(保留现场供观察)
2240
+ const refetched = await eda.sch_PrimitiveComponent.get(comp.getState_PrimitiveId());
2241
+
2242
+ console.log('name:', before, '→', refetched.getState_Name());
2243
+ ```
2244
+
2245
+ ### setstate_net
2246
+
2247
+ # ISCH\_PrimitiveComponent.setState\_Net() method
2248
+
2249
+ > 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.
2250
+
2251
+ Set the property state: net name
2252
+
2253
+ ## Signature
2254
+
2255
+ ```typescript
2256
+ function setState_Net(net: string | undefined): ISCH_PrimitiveComponent;
2257
+ ```
2258
+
2259
+ ## Parameters
2260
+
2261
+ <table><thead><tr><th>
2262
+
2263
+ Parameter
2264
+
2265
+ </th><th>
2266
+
2267
+ Type
2268
+
2269
+ </th><th>
2270
+
2271
+ Description
2272
+
2273
+ </th></tr></thead>
2274
+ <tbody><tr><td>
2275
+
2276
+ net
2277
+
2278
+ </td><td>
2279
+
2280
+ string \| undefined
2281
+
2282
+ </td><td>
2283
+
2284
+ Net name
2285
+
2286
+ </td></tr>
2287
+ </tbody></table>
2288
+
2289
+ ## Returns
2290
+
2291
+ [ISCH\_PrimitiveComponent](./ISCH_PrimitiveComponent.md)
2292
+
2293
+ Device primitive object
2294
+
2295
+ ## Example
2296
+
2297
+ ```javascript
2298
+ // 1. 生成本次运行专用的坐标,避免与之前保留的测试器件重合
2299
+ const x = 2000 + Math.floor(Math.random() * 8000);
2300
+ const y = 2000 + Math.floor(Math.random() * 8000);
2301
+
2302
+ // 2. 放置一个测试器件,读取默认网络名
2303
+ const devices = await eda.lib_Device.search('C0402');
2304
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], x, y);
2305
+ const before = comp.getState_Net();
2306
+
2307
+ // 3. 切换异步模式,写入网络名后提交
2308
+ const asyncComp = comp.toAsync();
2309
+ asyncComp.setState_Net('VCC');
2310
+ await asyncComp.done();
2311
+
2312
+ // 4. 从画布重新读取,普通元件读回空串(保留现场供观察)
2313
+ const refetched = await eda.sch_PrimitiveComponent.get(comp.getState_PrimitiveId());
2314
+
2315
+ console.log('net:', before, '→', refetched.getState_Net());
2316
+ ```
2317
+
2318
+ ### setstate_otherproperty
2319
+
2320
+ # ISCH\_PrimitiveComponent.setState\_OtherProperty() method
2321
+
2322
+ > 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.
2323
+
2324
+ Set the property state: other parameters
2325
+
2326
+ ## Signature
2327
+
2328
+ ```typescript
2329
+ function setState_OtherProperty(
2330
+ otherProperty: Record<string, string | number | boolean>,
2331
+ ): ISCH_PrimitiveComponent;
2332
+ ```
2333
+
2334
+ ## Parameters
2335
+
2336
+ <table><thead><tr><th>
2337
+
2338
+ Parameter
2339
+
2340
+ </th><th>
2341
+
2342
+ Type
2343
+
2344
+ </th><th>
2345
+
2346
+ Description
2347
+
2348
+ </th></tr></thead>
2349
+ <tbody><tr><td>
2350
+
2351
+ otherProperty
2352
+
2353
+ </td><td>
2354
+
2355
+ Record&lt;string, string \| number \| boolean&gt;
2356
+
2357
+ </td><td>
2358
+
2359
+ Other parameters
2360
+
2361
+ </td></tr>
2362
+ </tbody></table>
2363
+
2364
+ ## Returns
2365
+
2366
+ [ISCH\_PrimitiveComponent](./ISCH_PrimitiveComponent.md)
2367
+
2368
+ Device primitive object
2369
+
2370
+ ## Example
2371
+
2372
+ ```javascript
2373
+ // 1. 生成本次运行专用的坐标,避免与之前保留的测试器件重合
2374
+ const x = 2000 + Math.floor(Math.random() * 8000);
2375
+ const y = 2000 + Math.floor(Math.random() * 8000);
2376
+
2377
+ // 2. 放置一个测试器件,读取默认参数集
2378
+ const devices = await eda.lib_Device.search('C0402');
2379
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], x, y);
2380
+ const before = comp.getState_OtherProperty();
2381
+
2382
+ // 3. 切换异步模式,写入规格参数组后提交
2383
+ const asyncComp = comp.toAsync();
2384
+ asyncComp.setState_OtherProperty({ Capacitance: '100nF', Voltage: '50V', Tolerance: '±10%' });
2385
+ await asyncComp.done();
2386
+
2387
+ // 4. 从画布重新读取,确认修改已生效(保留现场供观察)
2388
+ const refetched = await eda.sch_PrimitiveComponent.get(comp.getState_PrimitiveId());
2389
+
2390
+ console.log('otherProperty:', JSON.stringify(before), '→', JSON.stringify(refetched.getState_OtherProperty()));
2391
+ ```
2392
+
2393
+ ### setstate_rotation
2394
+
2395
+ # ISCH\_PrimitiveComponent.setState\_Rotation() method
2396
+
2397
+ > 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.
2398
+
2399
+ Set the property state: rotation angle
2400
+
2401
+ ## Signature
2402
+
2403
+ ```typescript
2404
+ function setState_Rotation(rotation: number): ISCH_PrimitiveComponent;
2405
+ ```
2406
+
2407
+ ## Parameters
2408
+
2409
+ <table><thead><tr><th>
2410
+
2411
+ Parameter
2412
+
2413
+ </th><th>
2414
+
2415
+ Type
2416
+
2417
+ </th><th>
2418
+
2419
+ Description
2420
+
2421
+ </th></tr></thead>
2422
+ <tbody><tr><td>
2423
+
2424
+ rotation
2425
+
2426
+ </td><td>
2427
+
2428
+ number
2429
+
2430
+ </td><td>
2431
+
2432
+ Rotation angle
2433
+
2434
+ </td></tr>
2435
+ </tbody></table>
2436
+
2437
+ ## Returns
2438
+
2439
+ [ISCH\_PrimitiveComponent](./ISCH_PrimitiveComponent.md)
2440
+
2441
+ Device primitive object
2442
+
2443
+ ## Example
2444
+
2445
+ ```javascript
2446
+ // 1. 生成本次运行专用的坐标,避免与之前保留的测试器件重合
2447
+ const x = 2000 + Math.floor(Math.random() * 8000);
2448
+ const y = 2000 + Math.floor(Math.random() * 8000);
2449
+
2450
+ // 2. 放置一个测试器件,读取默认角度(0)
2451
+ const devices = await eda.lib_Device.search('C0402');
2452
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], x, y);
2453
+ const before = comp.getState_Rotation();
2454
+
2455
+ // 3. 切换异步模式,旋转 90° 后提交
2456
+ const asyncComp = comp.toAsync();
2457
+ asyncComp.setState_Rotation(90);
2458
+ await asyncComp.done();
2459
+
2460
+ // 4. 从画布重新读取,确认修改已生效(保留现场供观察)
2461
+ const refetched = await eda.sch_PrimitiveComponent.get(comp.getState_PrimitiveId());
2462
+
2463
+ console.log('rotation:', before, '→', refetched.getState_Rotation());
2464
+ ```
2465
+
2466
+ ### setstate_supplier
2467
+
2468
+ # ISCH\_PrimitiveComponent.setState\_Supplier() method
2469
+
2470
+ > 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.
2471
+
2472
+ Set the property state: supplier
2473
+
2474
+ ## Signature
2475
+
2476
+ ```typescript
2477
+ function setState_Supplier(supplier: string | undefined): ISCH_PrimitiveComponent;
2478
+ ```
2479
+
2480
+ ## Parameters
2481
+
2482
+ <table><thead><tr><th>
2483
+
2484
+ Parameter
2485
+
2486
+ </th><th>
2487
+
2488
+ Type
2489
+
2490
+ </th><th>
2491
+
2492
+ Description
2493
+
2494
+ </th></tr></thead>
2495
+ <tbody><tr><td>
2496
+
2497
+ supplier
2498
+
2499
+ </td><td>
2500
+
2501
+ string \| undefined
2502
+
2503
+ </td><td>
2504
+
2505
+ Supplier
2506
+
2507
+ </td></tr>
2508
+ </tbody></table>
2509
+
2510
+ ## Returns
2511
+
2512
+ [ISCH\_PrimitiveComponent](./ISCH_PrimitiveComponent.md)
2513
+
2514
+ Device primitive object
2515
+
2516
+ ## Example
2517
+
2518
+ ```javascript
2519
+ // 1. 生成本次运行专用的坐标,避免与之前保留的测试器件重合
2520
+ const x = 2000 + Math.floor(Math.random() * 8000);
2521
+ const y = 2000 + Math.floor(Math.random() * 8000);
2522
+
2523
+ // 2. 放置一个测试器件,读取默认供应商
2524
+ const devices = await eda.lib_Device.search('C0402');
2525
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], x, y);
2526
+ const before = comp.getState_Supplier();
2527
+
2528
+ // 3. 切换异步模式,写入供应商后提交
2529
+ const asyncComp = comp.toAsync();
2530
+ asyncComp.setState_Supplier('LCSC');
2531
+ await asyncComp.done();
2532
+
2533
+ // 4. 从画布重新读取,确认修改已生效(保留现场供观察)
2534
+ const refetched = await eda.sch_PrimitiveComponent.get(comp.getState_PrimitiveId());
2535
+
2536
+ console.log('supplier:', before, '→', refetched.getState_Supplier());
2537
+ ```
2538
+
2539
+ ### setstate_supplierid
2540
+
2541
+ # ISCH\_PrimitiveComponent.setState\_SupplierId() method
2542
+
2543
+ > 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.
2544
+
2545
+ Set the property state: supplier ID
2546
+
2547
+ ## Signature
2548
+
2549
+ ```typescript
2550
+ function setState_SupplierId(supplierId: string | undefined): ISCH_PrimitiveComponent;
2551
+ ```
2552
+
2553
+ ## Parameters
2554
+
2555
+ <table><thead><tr><th>
2556
+
2557
+ Parameter
2558
+
2559
+ </th><th>
2560
+
2561
+ Type
2562
+
2563
+ </th><th>
2564
+
2565
+ Description
2566
+
2567
+ </th></tr></thead>
2568
+ <tbody><tr><td>
2569
+
2570
+ supplierId
2571
+
2572
+ </td><td>
2573
+
2574
+ string \| undefined
2575
+
2576
+ </td><td>
2577
+
2578
+ Supplier ID
2579
+
2580
+ </td></tr>
2581
+ </tbody></table>
2582
+
2583
+ ## Returns
2584
+
2585
+ [ISCH\_PrimitiveComponent](./ISCH_PrimitiveComponent.md)
2586
+
2587
+ Device primitive object
2588
+
2589
+ ## Example
2590
+
2591
+ ```javascript
2592
+ // 1. 生成本次运行专用的坐标,避免与之前保留的测试器件重合
2593
+ const x = 2000 + Math.floor(Math.random() * 8000);
2594
+ const y = 2000 + Math.floor(Math.random() * 8000);
2595
+
2596
+ // 2. 放置一个测试器件,读取默认供应商编号
2597
+ const devices = await eda.lib_Device.search('C0402');
2598
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], x, y);
2599
+ const before = comp.getState_SupplierId();
2600
+
2601
+ // 3. 切换异步模式,写入编号后提交
2602
+ const asyncComp = comp.toAsync();
2603
+ asyncComp.setState_SupplierId('C1546');
2604
+ await asyncComp.done();
2605
+
2606
+ // 4. 从画布重新读取,确认修改已生效(保留现场供观察)
2607
+ const refetched = await eda.sch_PrimitiveComponent.get(comp.getState_PrimitiveId());
2608
+
2609
+ console.log('supplierId:', before, '→', refetched.getState_SupplierId());
2610
+ ```
2611
+
2612
+ ### setstate_uniqueid
2613
+
2614
+ # ISCH\_PrimitiveComponent.setState\_UniqueId() method
2615
+
2616
+ > 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.
2617
+
2618
+ Set the property state: unique ID
2619
+
2620
+ ## Signature
2621
+
2622
+ ```typescript
2623
+ function setState_UniqueId(uniqueId: string | undefined): ISCH_PrimitiveComponent;
2624
+ ```
2625
+
2626
+ ## Parameters
2627
+
2628
+ <table><thead><tr><th>
2629
+
2630
+ Parameter
2631
+
2632
+ </th><th>
2633
+
2634
+ Type
2635
+
2636
+ </th><th>
2637
+
2638
+ Description
2639
+
2640
+ </th></tr></thead>
2641
+ <tbody><tr><td>
2642
+
2643
+ uniqueId
2644
+
2645
+ </td><td>
2646
+
2647
+ string \| undefined
2648
+
2649
+ </td><td>
2650
+
2651
+ Unique ID
2652
+
2653
+ </td></tr>
2654
+ </tbody></table>
2655
+
2656
+ ## Returns
2657
+
2658
+ [ISCH\_PrimitiveComponent](./ISCH_PrimitiveComponent.md)
2659
+
2660
+ Device primitive object
2661
+
2662
+ ## Example
2663
+
2664
+ ```javascript
2665
+ // 1. 生成本次运行专用的坐标,避免与之前保留的测试器件重合
2666
+ const x = 2000 + Math.floor(Math.random() * 8000);
2667
+ const y = 2000 + Math.floor(Math.random() * 8000);
2668
+
2669
+ // 2. 放置一个测试器件,读取系统分配的唯一 ID
2670
+ const devices = await eda.lib_Device.search('C0402');
2671
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], x, y);
2672
+ const before = comp.getState_UniqueId();
2673
+
2674
+ // 3. 切换异步模式,写入新唯一 ID 后提交
2675
+ const asyncComp = comp.toAsync();
2676
+ asyncComp.setState_UniqueId('example-unique-id-001');
2677
+ await asyncComp.done();
2678
+
2679
+ // 4. 从画布重新读取,观察写入结果(保留现场供观察)
2680
+ const refetched = await eda.sch_PrimitiveComponent.get(comp.getState_PrimitiveId());
2681
+
2682
+ console.log('uniqueId:', before, '→', refetched.getState_UniqueId());
2683
+ ```
2684
+
2685
+ ### setstate_x
2686
+
2687
+ # ISCH\_PrimitiveComponent.setState\_X() method
2688
+
2689
+ > 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.
2690
+
2691
+ Set the property state: X coordinate
2692
+
2693
+ ## Signature
2694
+
2695
+ ```typescript
2696
+ function setState_X(x: number): ISCH_PrimitiveComponent;
2697
+ ```
2698
+
2699
+ ## Parameters
2700
+
2701
+ <table><thead><tr><th>
2702
+
2703
+ Parameter
2704
+
2705
+ </th><th>
2706
+
2707
+ Type
2708
+
2709
+ </th><th>
2710
+
2711
+ Description
2712
+
2713
+ </th></tr></thead>
2714
+ <tbody><tr><td>
2715
+
2716
+ x
2717
+
2718
+ </td><td>
2719
+
2720
+ number
2721
+
2722
+ </td><td>
2723
+
2724
+ X coordinate
2725
+
2726
+ </td></tr>
2727
+ </tbody></table>
2728
+
2729
+ ## Returns
2730
+
2731
+ [ISCH\_PrimitiveComponent](./ISCH_PrimitiveComponent.md)
2732
+
2733
+ Device primitive object
2734
+
2735
+ ## Example
2736
+
2737
+ ```javascript
2738
+ // 1. 生成本次运行专用的坐标,避免与之前保留的测试器件重合
2739
+ const x = 2000 + Math.floor(Math.random() * 8000);
2740
+ const y = 2000 + Math.floor(Math.random() * 8000);
2741
+
2742
+ // 2. 放置一个测试器件,记录初始 X 坐标
2743
+ const devices = await eda.lib_Device.search('C0402');
2744
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], x, y);
2745
+
2746
+ // 3. 切换异步模式,向右移动 200 单位(约 5mm)后提交
2747
+ const asyncComp = comp.toAsync();
2748
+ asyncComp.setState_X(x + 200);
2749
+ await asyncComp.done();
2750
+
2751
+ // 4. 从画布重新读取,确认移动已生效(保留现场供观察)
2752
+ const refetched = await eda.sch_PrimitiveComponent.get(comp.getState_PrimitiveId());
2753
+
2754
+ console.log('x:', x, '→', refetched.getState_X());
2755
+ ```
2756
+
2757
+ ### setstate_y
2758
+
2759
+ # ISCH\_PrimitiveComponent.setState\_Y() method
2760
+
2761
+ > 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.
2762
+
2763
+ Set the property state: Y coordinate
2764
+
2765
+ ## Signature
2766
+
2767
+ ```typescript
2768
+ function setState_Y(y: number): ISCH_PrimitiveComponent;
2769
+ ```
2770
+
2771
+ ## Parameters
2772
+
2773
+ <table><thead><tr><th>
2774
+
2775
+ Parameter
2776
+
2777
+ </th><th>
2778
+
2779
+ Type
2780
+
2781
+ </th><th>
2782
+
2783
+ Description
2784
+
2785
+ </th></tr></thead>
2786
+ <tbody><tr><td>
2787
+
2788
+ y
2789
+
2790
+ </td><td>
2791
+
2792
+ number
2793
+
2794
+ </td><td>
2795
+
2796
+ Y coordinate
2797
+
2798
+ </td></tr>
2799
+ </tbody></table>
2800
+
2801
+ ## Returns
2802
+
2803
+ [ISCH\_PrimitiveComponent](./ISCH_PrimitiveComponent.md)
2804
+
2805
+ Device primitive object
2806
+
2807
+ ## Example
2808
+
2809
+ ```javascript
2810
+ // 1. 生成本次运行专用的坐标,避免与之前保留的测试器件重合
2811
+ const x = 2000 + Math.floor(Math.random() * 8000);
2812
+ const y = 2000 + Math.floor(Math.random() * 8000);
2813
+
2814
+ // 2. 放置一个测试器件,记录初始 Y 坐标
2815
+ const devices = await eda.lib_Device.search('C0402');
2816
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], x, y);
2817
+
2818
+ // 3. 切换异步模式,移动 200 单位(约 5mm)后提交
2819
+ const asyncComp = comp.toAsync();
2820
+ asyncComp.setState_Y(y + 200);
2821
+ await asyncComp.done();
2822
+
2823
+ // 4. 从画布重新读取,确认移动已生效(读回值与设置值同号)
2824
+ const refetched = await eda.sch_PrimitiveComponent.get(comp.getState_PrimitiveId());
2825
+
2826
+ console.log('y:', y, '+200 →', refetched.getState_Y());
2827
+ ```
2828
+
2829
+ ### toasync
2830
+
2831
+ # ISCH\_PrimitiveComponent.toAsync() method
2832
+
2833
+ Convert Primitive to Async primitive
2834
+
2835
+ ## Signature
2836
+
2837
+ ```typescript
2838
+ function toAsync(): ISCH_PrimitiveComponent;
2839
+ ```
2840
+
2841
+ ## Returns
2842
+
2843
+ [ISCH\_PrimitiveComponent](./ISCH_PrimitiveComponent.md)
2844
+
2845
+ Arc line primitive object
2846
+
2847
+ ## Example
2848
+
2849
+ ```javascript
2850
+ // 1. 生成本次运行专用的坐标,避免与之前保留的测试器件重合
2851
+ const x = 2000 + Math.floor(Math.random() * 8000);
2852
+ const y = 2000 + Math.floor(Math.random() * 8000);
2853
+
2854
+ // 2. 放置一个测试器件(创建后默认处于异步模式)
2855
+ const devices = await eda.lib_Device.search('C0402');
2856
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], x, y);
2857
+
2858
+ // 3. 显式转换为异步图元(同步图元由此回到异步模式)
2859
+ const asyncComp = comp.toAsync();
2860
+ asyncComp.setState_Designator('C300');
2861
+
2862
+ // 4. 提交到画布
2863
+ await asyncComp.done();
2864
+
2865
+ // 5. 从画布重新读取,确认修改已生效(保留现场供观察)
2866
+ const refetched = await eda.sch_PrimitiveComponent.get(comp.getState_PrimitiveId());
2867
+
2868
+ console.log('isAsync:', comp.isAsync());
2869
+ console.log('designator: C? →', refetched.getState_Designator());
2870
+ ```
2871
+
2872
+ ### tosync
2873
+
2874
+ # ISCH\_PrimitiveComponent.toSync() method
2875
+
2876
+ Convert Primitive to Sync primitive
2877
+
2878
+ ## Signature
2879
+
2880
+ ```typescript
2881
+ function toSync(): ISCH_PrimitiveComponent;
2882
+ ```
2883
+
2884
+ ## Returns
2885
+
2886
+ [ISCH\_PrimitiveComponent](./ISCH_PrimitiveComponent.md)
2887
+
2888
+ Arc line primitive object
2889
+
2890
+ ## Example
2891
+
2892
+ ```javascript
2893
+ // 1. 生成本次运行专用的坐标,避免与之前保留的测试器件重合
2894
+ const x = 2000 + Math.floor(Math.random() * 8000);
2895
+ const y = 2000 + Math.floor(Math.random() * 8000);
2896
+
2897
+ // 2. 放置一个测试器件(创建后默认处于异步模式)
2898
+ const devices = await eda.lib_Device.search('C0402');
2899
+ const comp = await eda.sch_PrimitiveComponent.create(devices[0], x, y);
2900
+ const compId = comp.getState_PrimitiveId();
2901
+
2902
+ // 3. 转换为同步图元
2903
+ const syncComp = comp.toSync();
2904
+
2905
+ // 4. 同步模式下写位号,立即生效,无需 done()
2906
+ syncComp.setState_Designator('C400');
2907
+
2908
+ // 5. 从画布重新读取,确认修改已生效(保留现场供观察)
2909
+ const refetched = await eda.sch_PrimitiveComponent.get(compId);
2910
+
2911
+ console.log('isAsync after toSync:', syncComp.isAsync());
2912
+ console.log('designator: C? →', refetched.getState_Designator());
2913
+ ```