@windypro-rourou/dsh-eda 0.1.4 → 0.1.5
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.
- package/README.md +1 -1
- package/lib/capabilities.js +3 -2
- package/lib/client.js +33 -0
- package/lib/index.js +89 -2
- package/package.json +10 -1
- package/skill/INDEX.md +10 -8
- package/skill/README.md +125 -0
- package/skill/README.zh-Hans.md +125 -0
- package/skill/SKILL.md +746 -746
- package/skill/format/index.md +152 -152
- package/skill/format/pcb/3d.md +166 -166
- package/skill/format/pcb/attr.md +63 -63
- package/skill/format/pcb/common.md +306 -306
- package/skill/format/pcb/component.md +132 -132
- package/skill/format/pcb/dimension.md +58 -58
- package/skill/format/pcb/index.md +17 -17
- package/skill/format/pcb/obj.md +43 -43
- package/skill/format/pcb/pad_via.md +151 -151
- package/skill/format/pcb/panel.md +64 -64
- package/skill/format/pcb/partition.md +43 -43
- package/skill/format/pcb/primitive.md +196 -196
- package/skill/format/pcb/rule.md +71 -71
- package/skill/format/pcb/shape.md +441 -441
- package/skill/format/pcb/text.md +62 -62
- package/skill/format/project/blob.md +30 -30
- package/skill/format/project/common.md +42 -42
- package/skill/format/project/group.md +62 -62
- package/skill/format/project/index.md +12 -12
- package/skill/format/project/instance.md +32 -32
- package/skill/format/project/meta.md +189 -189
- package/skill/format/project/variant.md +30 -30
- package/skill/format/schematic/attr.md +41 -41
- package/skill/format/schematic/common.md +47 -47
- package/skill/format/schematic/component.md +91 -91
- package/skill/format/schematic/index.md +14 -14
- package/skill/format/schematic/obj.md +41 -41
- package/skill/format/schematic/pin.md +59 -59
- package/skill/format/schematic/shape.md +231 -231
- package/skill/format/schematic/structure.md +53 -53
- package/skill/format/schematic/table.md +109 -109
- package/skill/format/schematic/text.md +47 -47
- package/skill/format/schematic/wire.md +132 -132
- package/skill/guide/ancillary-projects/easyeda-api-sdk.md +1 -0
- package/skill/guide/ancillary-projects/pro-api-types.md +5 -5
- package/skill/guide/ancillary-projects.md +10 -10
- package/skill/guide/cli.md +1510 -0
- package/skill/guide/error-handling.md +38 -38
- package/skill/guide/extension-json.md +135 -135
- package/skill/guide/extensions-marketplace.md +61 -61
- package/skill/guide/how-to-start.md +316 -301
- package/skill/guide/i18n.md +57 -57
- package/skill/guide/index.md +7 -7
- package/skill/guide/inline-frame.md +20 -20
- package/skill/guide/invoke-apis.md +81 -81
- package/skill/guide/stability.md +37 -37
- package/skill/references/_index.md +471 -398
- package/skill/references/_quick-reference.md +3103 -3028
- package/skill/references/classes/DMT_Board.md +537 -533
- package/skill/references/classes/DMT_EditorControl.md +1736 -1736
- package/skill/references/classes/DMT_Event.md +356 -356
- package/skill/references/classes/DMT_Folder.md +775 -775
- package/skill/references/classes/DMT_Panel.md +531 -531
- package/skill/references/classes/DMT_Pcb.md +579 -575
- package/skill/references/classes/DMT_Project.md +734 -573
- package/skill/references/classes/DMT_Schematic.md +1482 -1477
- package/skill/references/classes/DMT_SelectControl.md +96 -96
- package/skill/references/classes/DMT_Team.md +172 -172
- package/skill/references/classes/DMT_Workspace.md +198 -198
- package/skill/references/classes/EDA.md +1001 -961
- package/skill/references/classes/IPCB_ComplexPolygon.md +299 -299
- package/skill/references/classes/IPCB_Polygon.md +175 -175
- package/skill/references/classes/IPCB_PrimitiveArc.md +1901 -1901
- package/skill/references/classes/IPCB_PrimitiveAttribute.md +2993 -2993
- package/skill/references/classes/IPCB_PrimitiveComponent.md +2624 -2627
- package/skill/references/classes/IPCB_PrimitiveComponentPad.md +410 -410
- package/skill/references/classes/IPCB_PrimitiveDimension.md +1419 -1419
- package/skill/references/classes/IPCB_PrimitiveFill.md +1325 -1325
- package/skill/references/classes/IPCB_PrimitiveImage.md +1461 -1461
- package/skill/references/classes/IPCB_PrimitiveLine.md +1639 -1639
- package/skill/references/classes/IPCB_PrimitiveObject.md +1700 -1700
- package/skill/references/classes/IPCB_PrimitivePad.md +3155 -3155
- package/skill/references/classes/IPCB_PrimitivePolyline.md +1193 -1193
- package/skill/references/classes/IPCB_PrimitivePour.md +1858 -1858
- package/skill/references/classes/IPCB_PrimitivePoured.md +556 -556
- package/skill/references/classes/IPCB_PrimitiveRegion.md +1332 -1332
- package/skill/references/classes/IPCB_PrimitiveString.md +2315 -2315
- package/skill/references/classes/IPCB_PrimitiveVia.md +1588 -1588
- package/skill/references/classes/ISCH_PrimitiveArc.md +1676 -1676
- package/skill/references/classes/ISCH_PrimitiveAttribute.md +2541 -2541
- package/skill/references/classes/ISCH_PrimitiveBus.md +973 -973
- package/skill/references/classes/ISCH_PrimitiveCbbSymbolComponent.md +260 -260
- package/skill/references/classes/ISCH_PrimitiveCircle.md +1392 -1392
- package/skill/references/classes/ISCH_PrimitiveComponent.md +2910 -2913
- package/skill/references/classes/ISCH_PrimitiveComponentPin.md +155 -155
- package/skill/references/classes/ISCH_PrimitiveObject.md +960 -960
- package/skill/references/classes/ISCH_PrimitivePin.md +2402 -2402
- package/skill/references/classes/ISCH_PrimitivePolygon.md +1028 -1028
- package/skill/references/classes/ISCH_PrimitiveRectangle.md +1777 -1777
- package/skill/references/classes/ISCH_PrimitiveText.md +1771 -1771
- package/skill/references/classes/ISCH_PrimitiveWire.md +973 -973
- package/skill/references/classes/LIB_3DModel.md +782 -780
- package/skill/references/classes/LIB_Cbb.md +957 -957
- package/skill/references/classes/LIB_Classification.md +969 -965
- package/skill/references/classes/LIB_Device.md +1222 -1221
- package/skill/references/classes/LIB_Footprint.md +1298 -1153
- package/skill/references/classes/LIB_LibrariesList.md +361 -329
- package/skill/references/classes/LIB_PanelLibrary.md +855 -855
- package/skill/references/classes/LIB_SelectControl.md +89 -89
- package/skill/references/classes/LIB_SimulationModel.md +807 -821
- package/skill/references/classes/LIB_Symbol.md +1341 -1195
- package/skill/references/classes/PCB_Document.md +1770 -1754
- package/skill/references/classes/PCB_Drc.md +3379 -3375
- package/skill/references/classes/PCB_Event.md +1166 -1081
- package/skill/references/classes/PCB_ImageTool.md +363 -0
- package/skill/references/classes/PCB_Layer.md +1915 -1911
- package/skill/references/classes/PCB_ManufactureData.md +2968 -2968
- package/skill/references/classes/PCB_MathPolygon.md +916 -785
- package/skill/references/classes/PCB_Net.md +1128 -1128
- package/skill/references/classes/PCB_Primitive.md +217 -217
- package/skill/references/classes/PCB_PrimitiveArc.md +820 -894
- package/skill/references/classes/PCB_PrimitiveAttribute.md +635 -717
- package/skill/references/classes/PCB_PrimitiveComponent.md +1050 -1050
- package/skill/references/classes/PCB_PrimitiveDimension.md +789 -833
- package/skill/references/classes/PCB_PrimitiveFill.md +783 -861
- package/skill/references/classes/PCB_PrimitiveImage.md +803 -875
- package/skill/references/classes/PCB_PrimitiveLine.md +787 -858
- package/skill/references/classes/PCB_PrimitiveObject.md +796 -800
- package/skill/references/classes/PCB_PrimitivePad.md +947 -944
- package/skill/references/classes/PCB_PrimitivePolyline.md +744 -819
- package/skill/references/classes/PCB_PrimitivePour.md +808 -845
- package/skill/references/classes/PCB_PrimitivePoured.md +363 -363
- package/skill/references/classes/PCB_PrimitiveRegion.md +765 -799
- package/skill/references/classes/PCB_PrimitiveString.md +828 -910
- package/skill/references/classes/PCB_PrimitiveVia.md +761 -765
- package/skill/references/classes/PCB_RayTracerEngine.md +603 -263
- package/skill/references/classes/PCB_SelectControl.md +495 -495
- package/skill/references/classes/PCB_Tool.md +9 -0
- package/skill/references/classes/PNL_Document.md +83 -83
- package/skill/references/classes/SCH_Document.md +797 -809
- package/skill/references/classes/SCH_Drc.md +246 -242
- package/skill/references/classes/SCH_Event.md +583 -583
- package/skill/references/classes/SCH_ManufactureData.md +1209 -1205
- package/skill/references/classes/SCH_Net.md +200 -200
- package/skill/references/classes/SCH_Netlist.md +191 -191
- package/skill/references/classes/SCH_Primitive.md +337 -337
- package/skill/references/classes/SCH_PrimitiveArc.md +686 -692
- package/skill/references/classes/SCH_PrimitiveAttribute.md +579 -590
- package/skill/references/classes/SCH_PrimitiveBus.md +618 -624
- package/skill/references/classes/SCH_PrimitiveCircle.md +667 -683
- package/skill/references/classes/SCH_PrimitiveComponent.md +2256 -2240
- package/skill/references/classes/SCH_PrimitiveObject.md +666 -666
- package/skill/references/classes/SCH_PrimitivePin.md +737 -754
- package/skill/references/classes/SCH_PrimitivePolygon.md +621 -627
- package/skill/references/classes/SCH_PrimitiveRectangle.md +715 -731
- package/skill/references/classes/SCH_PrimitiveText.md +736 -746
- package/skill/references/classes/SCH_PrimitiveWire.md +701 -703
- package/skill/references/classes/SCH_SelectControl.md +520 -520
- package/skill/references/classes/SCH_SimulationEngine.md +133 -133
- package/skill/references/classes/SCH_Utils.md +121 -121
- package/skill/references/classes/SYS_ClientUrl.md +173 -173
- package/skill/references/classes/SYS_Dialog.md +825 -825
- package/skill/references/classes/SYS_Environment.md +640 -502
- package/skill/references/classes/SYS_ExternalApi.md +246 -0
- package/skill/references/classes/SYS_FileManager.md +1664 -1686
- package/skill/references/classes/SYS_FileSystem.md +1366 -1171
- package/skill/references/classes/SYS_FontManager.md +224 -224
- package/skill/references/classes/SYS_FormatConversion.md +349 -349
- package/skill/references/classes/SYS_HeaderMenu.md +480 -479
- package/skill/references/classes/SYS_Help.md +141 -0
- package/skill/references/classes/SYS_I18n.md +861 -861
- package/skill/references/classes/SYS_IFrame.md +541 -535
- package/skill/references/classes/SYS_LoadingAndProgressBar.md +246 -246
- package/skill/references/classes/SYS_Log.md +422 -424
- package/skill/references/classes/SYS_Math.md +1565 -1565
- package/skill/references/classes/SYS_Message.md +363 -363
- package/skill/references/classes/SYS_MessageBox.md +285 -285
- package/skill/references/classes/SYS_MessageBus.md +1618 -1618
- package/skill/references/classes/SYS_PanelControl.md +696 -696
- package/skill/references/classes/SYS_RightClickMenu.md +175 -175
- package/skill/references/classes/SYS_Setting.md +134 -85
- package/skill/references/classes/SYS_ShortcutKey.md +623 -623
- package/skill/references/classes/SYS_Storage.md +484 -484
- package/skill/references/classes/SYS_Timer.md +447 -447
- package/skill/references/classes/SYS_ToastMessage.md +194 -194
- package/skill/references/classes/SYS_Tool.md +317 -241
- package/skill/references/classes/SYS_Unit.md +594 -594
- package/skill/references/classes/SYS_WebSocket.md +401 -401
- package/skill/references/classes/SYS_Window.md +849 -850
- package/skill/references/enums/EDMT_EditorDocumentType.md +324 -278
- package/skill/references/enums/EDMT_EditorSplitScreenDirection.md +51 -47
- package/skill/references/enums/EDMT_EditorTabEventType.md +68 -62
- package/skill/references/enums/EDMT_IndicatorMarkerType.md +90 -80
- package/skill/references/enums/EDMT_ItemType.md +181 -157
- package/skill/references/enums/EDMT_ProjectCollaborationMode.md +51 -47
- package/skill/references/enums/EDMT_ProjectFileFormat.md +60 -0
- package/skill/references/enums/EDMT_ProjectReadyState.md +82 -0
- package/skill/references/enums/ELIB_DeviceJlcLibraryCategory.md +51 -47
- package/skill/references/enums/ELIB_LibraryType.md +129 -113
- package/skill/references/enums/ELIB_PreviewType.md +77 -69
- package/skill/references/enums/ELIB_SimulationModelType.md +51 -47
- package/skill/references/enums/ELIB_SymbolType.md +142 -124
- package/skill/references/enums/EPCB_AutoRoutingCornerStyle.md +51 -47
- package/skill/references/enums/EPCB_AutoRoutingExistingPrimitiveMode.md +51 -47
- package/skill/references/enums/EPCB_AutoRoutingOptimization.md +51 -47
- package/skill/references/enums/EPCB_DocumentCanvasUpdateCalculationActiveStatus.md +51 -47
- package/skill/references/enums/EPCB_DocumentRatlineCalculatingActiveStatus.md +55 -51
- package/skill/references/enums/EPCB_InactiveLayerDisplayMode.md +64 -58
- package/skill/references/enums/EPCB_LayerColorConfiguration.md +90 -80
- package/skill/references/enums/EPCB_LayerId.md +1169 -881
- package/skill/references/enums/EPCB_LayerStatus.md +64 -58
- package/skill/references/enums/EPCB_LayerType.md +129 -113
- package/skill/references/enums/EPCB_MouseEventType.md +64 -58
- package/skill/references/enums/EPCB_NetEventType.md +64 -58
- package/skill/references/enums/EPCB_PcbPlateType.md +51 -47
- package/skill/references/enums/EPCB_PdfOutputMethod.md +64 -58
- package/skill/references/enums/EPCB_PrimitiveArcInteractiveMode.md +51 -47
- package/skill/references/enums/EPCB_PrimitiveDimensionType.md +64 -58
- package/skill/references/enums/EPCB_PrimitiveEventType.md +64 -58
- package/skill/references/enums/EPCB_PrimitiveFillMode.md +68 -62
- package/skill/references/enums/EPCB_PrimitivePadHeatWeldingConnectionMethod.md +64 -58
- package/skill/references/enums/EPCB_PrimitivePadHoleType.md +64 -58
- package/skill/references/enums/EPCB_PrimitivePadShapeType.md +90 -80
- package/skill/references/enums/EPCB_PrimitivePadType.md +64 -58
- package/skill/references/enums/EPCB_PrimitivePourFillMethod.md +64 -58
- package/skill/references/enums/EPCB_PrimitiveRegionRuleType.md +107 -95
- package/skill/references/enums/EPCB_PrimitiveStringAlignMode.md +142 -124
- package/skill/references/enums/EPCB_PrimitiveType.md +233 -201
- package/skill/references/enums/EPCB_PrimitiveViaType.md +64 -58
- package/skill/references/enums/ESCH_DynamicSimulationEnginePullEventType.md +116 -102
- package/skill/references/enums/ESCH_DynamicSimulationEnginePushEventType.md +90 -80
- package/skill/references/enums/ESCH_ExportDocumentFileType.md +64 -58
- package/skill/references/enums/ESCH_MouseEventType.md +51 -47
- package/skill/references/enums/ESCH_PrimitiveComponentType.md +142 -124
- package/skill/references/enums/ESCH_PrimitiveEventType.md +77 -69
- package/skill/references/enums/ESCH_PrimitiveFillStyle.md +129 -113
- package/skill/references/enums/ESCH_PrimitiveLineType.md +77 -69
- package/skill/references/enums/ESCH_PrimitivePinShape.md +77 -69
- package/skill/references/enums/ESCH_PrimitivePinType.md +168 -146
- package/skill/references/enums/ESCH_PrimitiveTextAlignMode.md +142 -124
- package/skill/references/enums/ESCH_PrimitiveType.md +207 -179
- package/skill/references/enums/ESCH_SimulationNetlistType.md +38 -36
- package/skill/references/enums/ESCH_SpiceSimulationEnginePullEventType.md +51 -47
- package/skill/references/enums/ESCH_SpiceSimulationEnginePushEventType.md +77 -69
- package/skill/references/enums/ESYS_BottomPanelTab.md +94 -80
- package/skill/references/enums/ESYS_HeaderMenuEnvironment.md +181 -157
- package/skill/references/enums/ESYS_ImportProjectBoardOutlineSource.md +55 -51
- package/skill/references/enums/ESYS_ImportProjectImportOption.md +64 -58
- package/skill/references/enums/ESYS_ImportProjectSchematicObjectStyle.md +51 -47
- package/skill/references/enums/ESYS_ImportProjectViaSolderMaskExpansion.md +55 -51
- package/skill/references/enums/ESYS_JobState.md +95 -0
- package/skill/references/enums/ESYS_LeftPanelTab.md +94 -80
- package/skill/references/enums/ESYS_LogType.md +77 -102
- package/skill/references/enums/ESYS_NetlistType.md +129 -113
- package/skill/references/enums/ESYS_PanelPosition.md +69 -0
- package/skill/references/enums/ESYS_PanelTab.md +368 -0
- package/skill/references/enums/ESYS_RightPanelTab.md +237 -201
- package/skill/references/enums/ESYS_ShortcutKeyEffectiveEditorRange.md +220 -190
- package/skill/references/enums/ESYS_ShortcutKeyEffectiveEditorScene.md +103 -91
- package/skill/references/enums/ESYS_StartPageQuickStartItem.md +237 -205
- package/skill/references/enums/ESYS_Theme.md +51 -47
- package/skill/references/enums/ESYS_ToastMessageType.md +90 -80
- package/skill/references/enums/ESYS_Unit.md +116 -102
- package/skill/references/enums/ESYS_WindowEventType.md +64 -47
- package/skill/references/enums/ESYS_WindowOpenTarget.md +51 -47
- package/skill/references/enums/NetportDeviceName.md +146 -146
- package/skill/references/enums/SchToolBarDeviceName.md +278 -278
- package/skill/references/interfaces/BoardProps.md +169 -169
- package/skill/references/interfaces/BorderConfig.md +109 -0
- package/skill/references/interfaces/ButtonProps.md +196 -169
- package/skill/references/interfaces/CellClickInfo.md +142 -0
- package/skill/references/interfaces/CellCoord.md +88 -0
- package/skill/references/interfaces/CheckBoxProps.md +223 -196
- package/skill/references/interfaces/CheckChangeDetail.md +88 -0
- package/skill/references/interfaces/CheckboxEditConfig.md +159 -0
- package/skill/references/interfaces/ClipboardCellData.md +142 -0
- package/skill/references/interfaces/ClipboardConfig.md +115 -0
- package/skill/references/interfaces/ColorPickerProps.md +169 -0
- package/skill/references/interfaces/ColumnDef.md +605 -0
- package/skill/references/interfaces/ColumnEditTrigger.md +57 -0
- package/skill/references/interfaces/ColumnGroupDef.md +192 -0
- package/skill/references/interfaces/ColumnResizeConfig.md +142 -0
- package/skill/references/interfaces/ComponentPropsMap.md +517 -448
- package/skill/references/interfaces/CustomHeaderConfig.md +169 -0
- package/skill/references/interfaces/DialogProps.md +385 -385
- package/skill/references/interfaces/DragSortConfig.md +115 -0
- package/skill/references/interfaces/EditingConfig.md +196 -0
- package/skill/references/interfaces/FilteringConfig.md +250 -0
- package/skill/references/interfaces/FixedColumnConfig.md +88 -0
- package/skill/references/interfaces/FlexItemProps.md +116 -116
- package/skill/references/interfaces/FlexProps.md +224 -224
- package/skill/references/interfaces/GridItemProps.md +143 -143
- package/skill/references/interfaces/GridProps.md +143 -143
- package/skill/references/interfaces/IDMT_BoardItem.md +171 -171
- package/skill/references/interfaces/IDMT_BriefProjectItem.md +171 -171
- package/skill/references/interfaces/IDMT_EditorDocumentItem.md +169 -169
- package/skill/references/interfaces/IDMT_EditorSplitScreenItem.md +173 -173
- package/skill/references/interfaces/IDMT_EditorTabItem.md +169 -169
- package/skill/references/interfaces/IDMT_FolderItem.md +225 -225
- package/skill/references/interfaces/IDMT_IndicatorMarkerShape.md +393 -393
- package/skill/references/interfaces/IDMT_PanelItem.md +144 -144
- package/skill/references/interfaces/IDMT_PcbItem.md +171 -171
- package/skill/references/interfaces/IDMT_ProjectItem.md +143 -143
- package/skill/references/interfaces/IDMT_SchematicItem.md +225 -225
- package/skill/references/interfaces/IDMT_SchematicPageItem.md +198 -198
- package/skill/references/interfaces/IDMT_TeamItem.md +144 -144
- package/skill/references/interfaces/IDMT_WorkspaceItem.md +117 -117
- package/skill/references/interfaces/IDesignPortal.md +103 -103
- package/skill/references/interfaces/ILIB_3DModelItem.md +198 -198
- package/skill/references/interfaces/ILIB_3DModelSearchItem.md +277 -277
- package/skill/references/interfaces/ILIB_CbbItem.md +225 -225
- package/skill/references/interfaces/ILIB_CbbSearchItem.md +277 -277
- package/skill/references/interfaces/ILIB_ClassificationIndex.md +150 -150
- package/skill/references/interfaces/ILIB_ClassificationNode.md +98 -0
- package/skill/references/interfaces/ILIB_DeviceAssociationItem.md +210 -210
- package/skill/references/interfaces/ILIB_DeviceExtendPropertyItem.md +304 -304
- package/skill/references/interfaces/ILIB_DeviceItem.md +279 -279
- package/skill/references/interfaces/ILIB_DevicePropertiesForSearch.md +250 -250
- package/skill/references/interfaces/ILIB_DeviceSearchItem.md +521 -521
- package/skill/references/interfaces/ILIB_ExtendLibrary3DModelFunctions.md +64 -64
- package/skill/references/interfaces/ILIB_ExtendLibraryCbbFunctions.md +93 -99
- package/skill/references/interfaces/ILIB_ExtendLibraryClassificationIndex.md +150 -150
- package/skill/references/interfaces/ILIB_ExtendLibraryDeviceFunctions.md +143 -157
- package/skill/references/interfaces/ILIB_ExtendLibraryFootprintFunctions.md +63 -63
- package/skill/references/interfaces/ILIB_ExtendLibraryFunctions.md +123 -123
- package/skill/references/interfaces/ILIB_ExtendLibraryItem.md +97 -97
- package/skill/references/interfaces/ILIB_ExtendLibraryItemIndex.md +98 -98
- package/skill/references/interfaces/ILIB_ExtendLibrarySearchProperty.md +115 -115
- package/skill/references/interfaces/ILIB_ExtendLibrarySearchResult.md +169 -169
- package/skill/references/interfaces/ILIB_ExtendLibrarySearchResultDataLine.md +234 -234
- package/skill/references/interfaces/ILIB_ExtendLibrarySymbolFunctions.md +91 -105
- package/skill/references/interfaces/ILIB_ExtendLibraryUserIndex.md +96 -96
- package/skill/references/interfaces/ILIB_FootprintItem.md +256 -198
- package/skill/references/interfaces/ILIB_FootprintPropertiesForSearch.md +61 -61
- package/skill/references/interfaces/ILIB_FootprintSearchItem.md +277 -277
- package/skill/references/interfaces/ILIB_LibraryInfo.md +92 -92
- package/skill/references/interfaces/ILIB_LibraryItem.md +115 -115
- package/skill/references/interfaces/ILIB_PanelLibraryItem.md +198 -198
- package/skill/references/interfaces/ILIB_PanelLibrarySearchItem.md +277 -277
- package/skill/references/interfaces/ILIB_RegisterExtendLibraryProps.md +71 -0
- package/skill/references/interfaces/ILIB_SimulationModelItem.md +306 -306
- package/skill/references/interfaces/ILIB_SimulationModelSearchItem.md +304 -304
- package/skill/references/interfaces/ILIB_SymbolItem.md +306 -279
- package/skill/references/interfaces/ILIB_SymbolPropertiesForSearch.md +61 -61
- package/skill/references/interfaces/ILIB_SymbolSearchItem.md +304 -304
- package/skill/references/interfaces/IPCB_AutoLayoutResult.md +169 -169
- package/skill/references/interfaces/IPCB_AutoRoutingProps.md +220 -220
- package/skill/references/interfaces/IPCB_AutoRoutingResult.md +169 -169
- package/skill/references/interfaces/IPCB_BomPropertiesTableColumns.md +169 -169
- package/skill/references/interfaces/IPCB_DifferentialPairItem.md +115 -115
- package/skill/references/interfaces/IPCB_DiscretizeOptions.md +65 -65
- package/skill/references/interfaces/IPCB_DiscretizedPoint.md +88 -88
- package/skill/references/interfaces/IPCB_EqualLengthNetGroupItem.md +115 -115
- package/skill/references/interfaces/IPCB_LayerItem.md +277 -277
- package/skill/references/interfaces/IPCB_NetClassItem.md +115 -115
- package/skill/references/interfaces/IPCB_NetInfo.md +115 -115
- package/skill/references/interfaces/IPCB_PadPairGroupItem.md +88 -88
- package/skill/references/interfaces/IPCB_PadPairMinWireLengthItem.md +88 -88
- package/skill/references/interfaces/IPCB_PhysicalStackingConfiguration.md +115 -115
- package/skill/references/interfaces/IPCB_Primitive.md +218 -218
- package/skill/references/interfaces/IPCB_PrimitiveAPI.md +174 -175
- package/skill/references/interfaces/IPCB_PrimitivePadHeatWelding.md +151 -151
- package/skill/references/interfaces/IPCB_PrimitivePouredPourFill.md +142 -142
- package/skill/references/interfaces/IPCB_PrimitiveSolderMaskAndPasteMaskExpansion.md +154 -154
- package/skill/references/interfaces/IPCB_RayTracerBackgroundConfig.md +223 -0
- package/skill/references/interfaces/IPCB_RayTracerLightConfig.md +412 -0
- package/skill/references/interfaces/IPCB_RayTracerMaterialConfig.md +547 -0
- package/skill/references/interfaces/IPCB_RayTracerPcbMaterialConfig.md +196 -0
- package/skill/references/interfaces/IPCB_RayTracerRenderConfigurations.md +200 -0
- package/skill/references/interfaces/IPCB_RayTracerRendererConfig.md +196 -0
- package/skill/references/interfaces/IPCB_RayTracerSceneElement.md +115 -0
- package/skill/references/interfaces/IPCB_RayTracerSceneElementTransform.md +123 -0
- package/skill/references/interfaces/IPCB_RayTracerTexture.md +88 -0
- package/skill/references/interfaces/IPCB_SubstratePhysicalProperties.md +88 -88
- package/skill/references/interfaces/IRawNet.md +103 -103
- package/skill/references/interfaces/IRawPureSchematic.md +80 -80
- package/skill/references/interfaces/IRawSchematic.md +103 -103
- package/skill/references/interfaces/IRawWire.md +149 -149
- package/skill/references/interfaces/ISCH_DrcError.md +142 -142
- package/skill/references/interfaces/ISCH_DrcErrorPrimitive.md +142 -142
- package/skill/references/interfaces/ISCH_ExportPngResolution.md +94 -94
- package/skill/references/interfaces/ISCH_NetInfo.md +88 -88
- package/skill/references/interfaces/ISCH_Primitive.md +218 -219
- package/skill/references/interfaces/ISCH_PrimitiveAPI.md +174 -175
- package/skill/references/interfaces/ISCH_ProjectNetInfo.md +142 -142
- package/skill/references/interfaces/ISCH_WireInfo.md +169 -169
- package/skill/references/interfaces/ISYS_ComparisonResponse.md +115 -0
- package/skill/references/interfaces/ISYS_ExtensionExternalApiIndex.md +13 -0
- package/skill/references/interfaces/ISYS_ExtensionRegisteredExternalApis.md +13 -0
- package/skill/references/interfaces/ISYS_ExternalApiHelp.md +173 -0
- package/skill/references/interfaces/ISYS_ExternalApiRegistration.md +146 -0
- package/skill/references/interfaces/ISYS_FileSystemFileList.md +169 -169
- package/skill/references/interfaces/ISYS_HeaderMenuSub1MenuItem.md +205 -174
- package/skill/references/interfaces/ISYS_HeaderMenuSub2MenuItem.md +178 -147
- package/skill/references/interfaces/ISYS_HeaderMenuTopMenuItem.md +115 -115
- package/skill/references/interfaces/ISYS_HeaderMenus.md +408 -408
- package/skill/references/interfaces/ISYS_HelpAudienceEntry.md +92 -0
- package/skill/references/interfaces/ISYS_HelpClassSummary.md +205 -0
- package/skill/references/interfaces/ISYS_HelpData.md +92 -0
- package/skill/references/interfaces/ISYS_HelpMethodDetail.md +310 -0
- package/skill/references/interfaces/ISYS_JobHandle.md +65 -0
- package/skill/references/interfaces/ISYS_JobLogEntry.md +142 -0
- package/skill/references/interfaces/ISYS_JobStatus.md +176 -0
- package/skill/references/interfaces/ISYS_LogLine.md +115 -115
- package/skill/references/interfaces/ISYS_MathBBox.md +142 -142
- package/skill/references/interfaces/ISYS_MathPoint.md +88 -88
- package/skill/references/interfaces/ISYS_MathPolygonWithHoles.md +92 -92
- package/skill/references/interfaces/ISYS_MessageBusTask.md +115 -115
- package/skill/references/interfaces/ISYS_MultilingualLanguagesData.md +12 -12
- package/skill/references/interfaces/ISYS_RightClickMenuItem.md +174 -174
- package/skill/references/interfaces/ISYS_ShortcutKeyData.md +169 -169
- package/skill/references/interfaces/ISYS_ShortcutKeyDataWithCallFn.md +62 -62
- package/skill/references/interfaces/ISYS_ShortcutKeyDataWithUserDefinedShortcutKey.md +62 -62
- package/skill/references/interfaces/ISYS_WindowEventListenerRemovableObject.md +109 -109
- package/skill/references/interfaces/IconProps.md +88 -88
- package/skill/references/interfaces/ImageProps.md +115 -115
- package/skill/references/interfaces/InputEditConfig.md +182 -0
- package/skill/references/interfaces/InputProps.md +547 -520
- package/skill/references/interfaces/KeyboardConfig.md +61 -0
- package/skill/references/interfaces/ListChildren.md +223 -223
- package/skill/references/interfaces/ListProps.md +250 -223
- package/skill/references/interfaces/ModalProps.md +358 -358
- package/skill/references/interfaces/NumberEditConfig.md +234 -0
- package/skill/references/interfaces/RadioGroupProps.md +196 -196
- package/skill/references/interfaces/RadioItem.md +115 -115
- package/skill/references/interfaces/RichTableProps.md +1357 -0
- package/skill/references/interfaces/RowMetaConfig.md +142 -0
- package/skill/references/interfaces/ScrollerProps.md +169 -169
- package/skill/references/interfaces/SelectEditConfig.md +211 -0
- package/skill/references/interfaces/SelectListItem.md +142 -142
- package/skill/references/interfaces/SelectOption.md +142 -0
- package/skill/references/interfaces/SelectProps.md +169 -169
- package/skill/references/interfaces/SelectionConfig.md +358 -0
- package/skill/references/interfaces/SliderProps.md +142 -0
- package/skill/references/interfaces/SlotProps.md +88 -88
- package/skill/references/interfaces/SortState.md +88 -0
- package/skill/references/interfaces/SortingConfig.md +169 -0
- package/skill/references/interfaces/StyleProps.md +439 -385
- package/skill/references/interfaces/TextAreaProps.md +196 -196
- package/skill/references/interfaces/TextProps.md +169 -169
- package/skill/references/interfaces/TextareaEditConfig.md +182 -0
- package/skill/references/interfaces/ValidationRule.md +223 -0
- package/skill/references/interfaces/VirtualScrollConfig.md +115 -0
- package/skill/references/types/Align.md +9 -0
- package/skill/references/types/CellContentType.md +9 -0
- package/skill/references/types/ColumnDefOrGroup.md +12 -0
- package/skill/references/types/ColumnEditConfig.md +13 -0
- package/skill/references/types/ColumnType.md +9 -0
- package/skill/references/types/DataChangeType.md +9 -0
- package/skill/references/types/FilterMatchMode.md +9 -0
- package/skill/references/types/RichTableRow.md +12 -0
- package/skill/references/types/Serializable.md +10 -0
- package/skill/references/types/SerializablePrimitive.md +9 -0
- package/skill/references/types/SortOrder.md +9 -0
- package/skill/references/types/TPCB_LayerTypesOfInnerLayer.md +11 -11
- package/skill/references/types/TPCB_LayersInTheSelectable.md +42 -42
- package/skill/references/types/TPCB_LayersOfComponent.md +11 -11
- package/skill/references/types/TPCB_LayersOfCopper.md +15 -15
- package/skill/references/types/TPCB_LayersOfCustom.md +41 -41
- package/skill/references/types/TPCB_LayersOfDimension.md +16 -16
- package/skill/references/types/TPCB_LayersOfFill.md +28 -28
- package/skill/references/types/TPCB_LayersOfImage.md +22 -22
- package/skill/references/types/TPCB_LayersOfInner.md +41 -41
- package/skill/references/types/TPCB_LayersOfLine.md +25 -25
- package/skill/references/types/TPCB_LayersOfObject.md +12 -12
- package/skill/references/types/TPCB_LayersOfPad.md +11 -11
- package/skill/references/types/TPCB_LayersOfRegion.md +11 -11
- package/skill/references/types/TPCB_NumberOfCopperLayers.md +9 -9
- package/skill/references/types/TPCB_PolygonSourceArray.md +85 -83
- package/skill/references/types/TPCB_PrimitiveDimensionCoordinateSet.md +66 -66
- package/skill/references/types/TPCB_PrimitivePadHole.md +30 -30
- package/skill/references/types/TPCB_PrimitivePadShape.md +61 -61
- package/skill/references/types/TPCB_PrimitiveSpecialPadShape.md +19 -19
- package/skill/references/types/TSYS_ComparisonErrorCode.md +15 -0
- package/skill/references/types/TSYS_LanguageKeyValuePairs.md +13 -0
- package/skill/references/types/TSYS_MathPolygonGroup.md +15 -15
- package/skill/references/types/TSYS_MathPolygonInput.md +20 -20
- package/skill/references/types/TSYS_ShortcutKeys.md +96 -96
- package/skill/user-guide/using-extension.md +47 -47
- package/src/json-gen.test.js +430 -0
- package/skill/guide/ancillary-projects/pro-api-sdk.md +0 -1
- package/skill/references/interfaces/ISYS_PcbComparisonResponse.md +0 -115
- package/skill/references/types/ISYS_LanguageKeyValuePairs.md +0 -13
- package/skill/references/types/TSYS_PcbComparisonErrorCode.md +0 -10
|
@@ -1,1050 +1,1050 @@
|
|
|
1
|
-
# PCB\_PrimitiveComponent class
|
|
2
|
-
|
|
3
|
-
PCB & footprint / device primitive class
|
|
4
|
-
|
|
5
|
-
## Signature
|
|
6
|
-
|
|
7
|
-
```typescript
|
|
8
|
-
class PCB_PrimitiveComponent implements IPCB_PrimitiveAPI
|
|
9
|
-
```
|
|
10
|
-
**Implements:** [IPCB\_PrimitiveAPI](../interfaces/IPCB_PrimitiveAPI.md)
|
|
11
|
-
|
|
12
|
-
## Methods
|
|
13
|
-
|
|
14
|
-
<table><thead><tr><th>
|
|
15
|
-
|
|
16
|
-
Method
|
|
17
|
-
|
|
18
|
-
</th><th>
|
|
19
|
-
|
|
20
|
-
Modifiers
|
|
21
|
-
|
|
22
|
-
</th><th>
|
|
23
|
-
|
|
24
|
-
Description
|
|
25
|
-
|
|
26
|
-
</th></tr></thead>
|
|
27
|
-
<tbody><tr><td>
|
|
28
|
-
|
|
29
|
-
[create(component, layer, x, y, rotation, primitiveLock)](./PCB_PrimitiveComponent.md)
|
|
30
|
-
|
|
31
|
-
</td><td>
|
|
32
|
-
|
|
33
|
-
</td><td>
|
|
34
|
-
|
|
35
|
-
**_(BETA)_** Create Device
|
|
36
|
-
|
|
37
|
-
</td></tr>
|
|
38
|
-
<tr><td>
|
|
39
|
-
|
|
40
|
-
[delete(primitiveIds)](./PCB_PrimitiveComponent.md)
|
|
41
|
-
|
|
42
|
-
</td><td>
|
|
43
|
-
|
|
44
|
-
</td><td>
|
|
45
|
-
|
|
46
|
-
**_(BETA)_** Delete Device
|
|
47
|
-
|
|
48
|
-
</td></tr>
|
|
49
|
-
<tr><td>
|
|
50
|
-
|
|
51
|
-
[get(primitiveIds)](./PCB_PrimitiveComponent.md)
|
|
52
|
-
|
|
53
|
-
</td><td>
|
|
54
|
-
|
|
55
|
-
</td><td>
|
|
56
|
-
|
|
57
|
-
**_(BETA)_** Get Device
|
|
58
|
-
|
|
59
|
-
</td></tr>
|
|
60
|
-
<tr><td>
|
|
61
|
-
|
|
62
|
-
[get(primitiveIds)](./PCB_PrimitiveComponent.md)
|
|
63
|
-
|
|
64
|
-
</td><td>
|
|
65
|
-
|
|
66
|
-
</td><td>
|
|
67
|
-
|
|
68
|
-
**_(BETA)_** Get Device
|
|
69
|
-
|
|
70
|
-
</td></tr>
|
|
71
|
-
<tr><td>
|
|
72
|
-
|
|
73
|
-
[getAll(layer, primitiveLock)](./PCB_PrimitiveComponent.md)
|
|
74
|
-
|
|
75
|
-
</td><td>
|
|
76
|
-
|
|
77
|
-
</td><td>
|
|
78
|
-
|
|
79
|
-
**_(BETA)_** Get all Device
|
|
80
|
-
|
|
81
|
-
</td></tr>
|
|
82
|
-
<tr><td>
|
|
83
|
-
|
|
84
|
-
[getAllPinsByPrimitiveId(primitiveId)](./PCB_PrimitiveComponent.md)
|
|
85
|
-
|
|
86
|
-
</td><td>
|
|
87
|
-
|
|
88
|
-
</td><td>
|
|
89
|
-
|
|
90
|
-
**_(BETA)_** Get all pads associated with the device
|
|
91
|
-
|
|
92
|
-
</td></tr>
|
|
93
|
-
<tr><td>
|
|
94
|
-
|
|
95
|
-
[getAllPrimitiveId(layer, primitiveLock)](./PCB_PrimitiveComponent.md)
|
|
96
|
-
|
|
97
|
-
</td><td>
|
|
98
|
-
|
|
99
|
-
</td><td>
|
|
100
|
-
|
|
101
|
-
**_(BETA)_** Get all Device primitive IDs
|
|
102
|
-
|
|
103
|
-
</td></tr>
|
|
104
|
-
<tr><td>
|
|
105
|
-
|
|
106
|
-
[getAllPropertyNames()](./PCB_PrimitiveComponent.md)
|
|
107
|
-
|
|
108
|
-
</td><td>
|
|
109
|
-
|
|
110
|
-
</td><td>
|
|
111
|
-
|
|
112
|
-
**_(BETA)_** Get The set of all property names of all devices
|
|
113
|
-
|
|
114
|
-
</td></tr>
|
|
115
|
-
<tr><td>
|
|
116
|
-
|
|
117
|
-
[modify(primitiveId, property)](./PCB_PrimitiveComponent.md)
|
|
118
|
-
|
|
119
|
-
</td><td>
|
|
120
|
-
|
|
121
|
-
</td><td>
|
|
122
|
-
|
|
123
|
-
**_(BETA)_** Modify Device
|
|
124
|
-
|
|
125
|
-
</td></tr>
|
|
126
|
-
<tr><td>
|
|
127
|
-
|
|
128
|
-
[placeComponentWithMouse(component)](./PCB_PrimitiveComponent.md)
|
|
129
|
-
|
|
130
|
-
</td><td>
|
|
131
|
-
|
|
132
|
-
</td><td>
|
|
133
|
-
|
|
134
|
-
**_(BETA)_** Place with the mouse device
|
|
135
|
-
|
|
136
|
-
</td></tr>
|
|
137
|
-
<tr><td>
|
|
138
|
-
|
|
139
|
-
[placeFootprintWithMouse(footprint, properties)](./PCB_PrimitiveComponent.md)
|
|
140
|
-
|
|
141
|
-
</td><td>
|
|
142
|
-
|
|
143
|
-
</td><td>
|
|
144
|
-
|
|
145
|
-
**_(BETA)_** Place with the mouse footprint
|
|
146
|
-
|
|
147
|
-
</td></tr>
|
|
148
|
-
</tbody></table>
|
|
149
|
-
|
|
150
|
-
---
|
|
151
|
-
|
|
152
|
-
## 方法详情
|
|
153
|
-
|
|
154
|
-
### create
|
|
155
|
-
|
|
156
|
-
# PCB\_PrimitiveComponent.create() method
|
|
157
|
-
|
|
158
|
-
> 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.
|
|
159
|
-
|
|
160
|
-
Create Device
|
|
161
|
-
|
|
162
|
-
## Signature
|
|
163
|
-
|
|
164
|
-
```typescript
|
|
165
|
-
function create(
|
|
166
|
-
component:
|
|
167
|
-
| { libraryUuid: string; uuid: string }
|
|
168
|
-
| ILIB_DeviceItem
|
|
169
|
-
| ILIB_DeviceSearchItem
|
|
170
|
-
| { libraryType: ELIB_LibraryType.FOOTPRINT; libraryUuid: string; uuid: string }
|
|
171
|
-
| ILIB_FootprintItem
|
|
172
|
-
| ILIB_FootprintSearchItem,
|
|
173
|
-
layer: TPCB_LayersOfComponent,
|
|
174
|
-
x: number,
|
|
175
|
-
y: number,
|
|
176
|
-
rotation?: number,
|
|
177
|
-
primitiveLock?: boolean,
|
|
178
|
-
): Promise<IPCB_PrimitiveComponent | undefined>;
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
## Parameters
|
|
182
|
-
|
|
183
|
-
<table><thead><tr><th>
|
|
184
|
-
|
|
185
|
-
Parameter
|
|
186
|
-
|
|
187
|
-
</th><th>
|
|
188
|
-
|
|
189
|
-
Type
|
|
190
|
-
|
|
191
|
-
</th><th>
|
|
192
|
-
|
|
193
|
-
Description
|
|
194
|
-
|
|
195
|
-
</th></tr></thead>
|
|
196
|
-
<tbody><tr><td>
|
|
197
|
-
|
|
198
|
-
component
|
|
199
|
-
|
|
200
|
-
</td><td>
|
|
201
|
-
|
|
202
|
-
{ libraryUuid: string; uuid: string } \| [ILIB\_DeviceItem](../interfaces/ILIB_DeviceItem.md) \| [ILIB\_DeviceSearchItem](../interfaces/ILIB_DeviceSearchItem.md) \| { libraryType: [ELIB\_LibraryType.FOOTPRINT](../enums/ELIB_LibraryType.md)<!-- -->; libraryUuid: string; uuid: string } \| [ILIB\_FootprintItem](../interfaces/ILIB_FootprintItem.md) \| [ILIB\_FootprintSearchItem](../interfaces/ILIB_FootprintSearchItem.md)
|
|
203
|
-
|
|
204
|
-
</td><td>
|
|
205
|
-
|
|
206
|
-
Associate library device
|
|
207
|
-
|
|
208
|
-
</td></tr>
|
|
209
|
-
<tr><td>
|
|
210
|
-
|
|
211
|
-
layer
|
|
212
|
-
|
|
213
|
-
</td><td>
|
|
214
|
-
|
|
215
|
-
[TPCB\_LayersOfComponent](../types/TPCB_LayersOfComponent.md)
|
|
216
|
-
|
|
217
|
-
</td><td>
|
|
218
|
-
|
|
219
|
-
Layer
|
|
220
|
-
|
|
221
|
-
</td></tr>
|
|
222
|
-
<tr><td>
|
|
223
|
-
|
|
224
|
-
x
|
|
225
|
-
|
|
226
|
-
</td><td>
|
|
227
|
-
|
|
228
|
-
number
|
|
229
|
-
|
|
230
|
-
</td><td>
|
|
231
|
-
|
|
232
|
-
X coordinate
|
|
233
|
-
|
|
234
|
-
</td></tr>
|
|
235
|
-
<tr><td>
|
|
236
|
-
|
|
237
|
-
y
|
|
238
|
-
|
|
239
|
-
</td><td>
|
|
240
|
-
|
|
241
|
-
number
|
|
242
|
-
|
|
243
|
-
</td><td>
|
|
244
|
-
|
|
245
|
-
Y coordinate
|
|
246
|
-
|
|
247
|
-
</td></tr>
|
|
248
|
-
<tr><td>
|
|
249
|
-
|
|
250
|
-
rotation
|
|
251
|
-
|
|
252
|
-
</td><td>
|
|
253
|
-
|
|
254
|
-
number
|
|
255
|
-
|
|
256
|
-
</td><td>
|
|
257
|
-
|
|
258
|
-
_(Optional)_ Rotation angle
|
|
259
|
-
|
|
260
|
-
</td></tr>
|
|
261
|
-
<tr><td>
|
|
262
|
-
|
|
263
|
-
primitiveLock
|
|
264
|
-
|
|
265
|
-
</td><td>
|
|
266
|
-
|
|
267
|
-
boolean
|
|
268
|
-
|
|
269
|
-
</td><td>
|
|
270
|
-
|
|
271
|
-
_(Optional)_ Whether it is locked
|
|
272
|
-
|
|
273
|
-
</td></tr>
|
|
274
|
-
</tbody></table>
|
|
275
|
-
|
|
276
|
-
## Returns
|
|
277
|
-
|
|
278
|
-
Promise<[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md) \| undefined>
|
|
279
|
-
|
|
280
|
-
Device primitive object
|
|
281
|
-
|
|
282
|
-
## Example
|
|
283
|
-
|
|
284
|
-
```javascript
|
|
285
|
-
// 1. 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
286
|
-
// 坐标取随机值,避免与画布上已有的器件重合
|
|
287
|
-
const x = 20000 + Math.floor(Math.random() * 80000);
|
|
288
|
-
const y = 20000 + Math.floor(Math.random() * 80000);
|
|
289
|
-
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
290
|
-
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
291
|
-
|
|
292
|
-
// 2. 放置到顶层(1),旋转 90°,不锁定
|
|
293
|
-
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, x, y, 90, false);
|
|
294
|
-
|
|
295
|
-
// 3. 创建类保留现场,不删除器件
|
|
296
|
-
console.log('primitiveId:', comp.getState_PrimitiveId());
|
|
297
|
-
console.log('designator:', comp.getState_Designator());
|
|
298
|
-
console.log('name:', comp.getState_Name());
|
|
299
|
-
console.log('footprint:', comp.getState_Footprint());
|
|
300
|
-
console.log('layer:', comp.getState_Layer());
|
|
301
|
-
console.log('x:', comp.getState_X(), 'y:', comp.getState_Y());
|
|
302
|
-
console.log('rotation:', comp.getState_Rotation());
|
|
303
|
-
```
|
|
304
|
-
|
|
305
|
-
### delete
|
|
306
|
-
|
|
307
|
-
# PCB\_PrimitiveComponent.delete() method
|
|
308
|
-
|
|
309
|
-
> 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.
|
|
310
|
-
|
|
311
|
-
Delete Device
|
|
312
|
-
|
|
313
|
-
## Signature
|
|
314
|
-
|
|
315
|
-
```typescript
|
|
316
|
-
function delete(primitiveIds: string | IPCB_PrimitiveComponent | Array<string> | Array<IPCB_PrimitiveComponent>): Promise<boolean>;
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
## Parameters
|
|
320
|
-
|
|
321
|
-
<table><thead><tr><th>
|
|
322
|
-
|
|
323
|
-
Parameter
|
|
324
|
-
|
|
325
|
-
</th><th>
|
|
326
|
-
|
|
327
|
-
Type
|
|
328
|
-
|
|
329
|
-
</th><th>
|
|
330
|
-
|
|
331
|
-
Description
|
|
332
|
-
|
|
333
|
-
</th></tr></thead>
|
|
334
|
-
<tbody><tr><td>
|
|
335
|
-
|
|
336
|
-
primitiveIds
|
|
337
|
-
|
|
338
|
-
</td><td>
|
|
339
|
-
|
|
340
|
-
string \| [IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md) \| Array<string> \| Array<[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)<!-- -->>
|
|
341
|
-
|
|
342
|
-
</td><td>
|
|
343
|
-
|
|
344
|
-
Device primitive ID or Device primitive object
|
|
345
|
-
|
|
346
|
-
</td></tr>
|
|
347
|
-
</tbody></table>
|
|
348
|
-
|
|
349
|
-
## Returns
|
|
350
|
-
|
|
351
|
-
Promise<boolean>
|
|
352
|
-
|
|
353
|
-
Delete Whether the operation is successful
|
|
354
|
-
|
|
355
|
-
## Example
|
|
356
|
-
|
|
357
|
-
```javascript
|
|
358
|
-
// 1. 放置一个待删除的测试器件(随机坐标避免与画布已有器件重合):
|
|
359
|
-
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
360
|
-
const x = 20000 + Math.floor(Math.random() * 80000);
|
|
361
|
-
const y = 20000 + Math.floor(Math.random() * 80000);
|
|
362
|
-
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
363
|
-
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
364
|
-
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, x, y);
|
|
365
|
-
const compId = comp.getState_PrimitiveId();
|
|
366
|
-
|
|
367
|
-
// 2. 记录删除前的器件图元 ID 列表
|
|
368
|
-
const beforeIds = await eda.pcb_PrimitiveComponent.getAllPrimitiveId();
|
|
369
|
-
const beforeContains = beforeIds.includes(compId);
|
|
370
|
-
|
|
371
|
-
// 3. 以 ID 数组形式删除该器件
|
|
372
|
-
const deleted = await eda.pcb_PrimitiveComponent.delete([compId]);
|
|
373
|
-
|
|
374
|
-
// 4. 验证删除后 ID 列表不再包含该器件
|
|
375
|
-
const afterIds = await eda.pcb_PrimitiveComponent.getAllPrimitiveId();
|
|
376
|
-
|
|
377
|
-
console.log('deleted:', deleted);
|
|
378
|
-
console.log('beforeContains:', beforeContains);
|
|
379
|
-
console.log('afterContains:', afterIds.includes(compId));
|
|
380
|
-
console.log('component count:', beforeIds.length, '→', afterIds.length);
|
|
381
|
-
```
|
|
382
|
-
|
|
383
|
-
### get
|
|
384
|
-
|
|
385
|
-
# PCB\_PrimitiveComponent.get() method
|
|
386
|
-
|
|
387
|
-
> 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.
|
|
388
|
-
|
|
389
|
-
Get Device
|
|
390
|
-
|
|
391
|
-
## Signature
|
|
392
|
-
|
|
393
|
-
```typescript
|
|
394
|
-
function get(primitiveIds: string): Promise<IPCB_PrimitiveComponent | undefined>;
|
|
395
|
-
```
|
|
396
|
-
|
|
397
|
-
## Parameters
|
|
398
|
-
|
|
399
|
-
<table><thead><tr><th>
|
|
400
|
-
|
|
401
|
-
Parameter
|
|
402
|
-
|
|
403
|
-
</th><th>
|
|
404
|
-
|
|
405
|
-
Type
|
|
406
|
-
|
|
407
|
-
</th><th>
|
|
408
|
-
|
|
409
|
-
Description
|
|
410
|
-
|
|
411
|
-
</th></tr></thead>
|
|
412
|
-
<tbody><tr><td>
|
|
413
|
-
|
|
414
|
-
primitiveIds
|
|
415
|
-
|
|
416
|
-
</td><td>
|
|
417
|
-
|
|
418
|
-
string
|
|
419
|
-
|
|
420
|
-
</td><td>
|
|
421
|
-
|
|
422
|
-
Device primitive ID, which can be a string or an array of strings. If it is an array, an array is also returned
|
|
423
|
-
|
|
424
|
-
</td></tr>
|
|
425
|
-
</tbody></table>
|
|
426
|
-
|
|
427
|
-
## Returns
|
|
428
|
-
|
|
429
|
-
Promise<[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md) \| undefined>
|
|
430
|
-
|
|
431
|
-
Device primitive object, `undefined` indicates that the retrieval failed
|
|
432
|
-
|
|
433
|
-
## Example
|
|
434
|
-
|
|
435
|
-
```javascript
|
|
436
|
-
// 1. 放置一个测试器件:
|
|
437
|
-
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
438
|
-
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
439
|
-
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
440
|
-
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, 5000, 5000);
|
|
441
|
-
const compId = comp.getState_PrimitiveId();
|
|
442
|
-
|
|
443
|
-
// 2. 传单个 ID 字符串,返回单个器件对象
|
|
444
|
-
const single = await eda.pcb_PrimitiveComponent.get(compId);
|
|
445
|
-
|
|
446
|
-
// 3. 传 ID 数组,返回器件对象数组
|
|
447
|
-
const arr = await eda.pcb_PrimitiveComponent.get([compId]);
|
|
448
|
-
|
|
449
|
-
// 4. 清理测试器件
|
|
450
|
-
await eda.pcb_PrimitiveComponent.delete([compId]);
|
|
451
|
-
|
|
452
|
-
console.log('designator:', single.getState_Designator());
|
|
453
|
-
console.log('footprint:', single.getState_Footprint());
|
|
454
|
-
console.log('x:', single.getState_X(), 'y:', single.getState_Y());
|
|
455
|
-
console.log('array length:', arr.length);
|
|
456
|
-
console.log('sameId:', arr[0].getState_PrimitiveId() === compId);
|
|
457
|
-
```
|
|
458
|
-
|
|
459
|
-
### get_1
|
|
460
|
-
|
|
461
|
-
# PCB\_PrimitiveComponent.get() method
|
|
462
|
-
|
|
463
|
-
> 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.
|
|
464
|
-
|
|
465
|
-
Get Device
|
|
466
|
-
|
|
467
|
-
## Signature
|
|
468
|
-
|
|
469
|
-
```typescript
|
|
470
|
-
function get(primitiveIds: Array<string>): Promise<Array<IPCB_PrimitiveComponent>>;
|
|
471
|
-
```
|
|
472
|
-
|
|
473
|
-
## Parameters
|
|
474
|
-
|
|
475
|
-
<table><thead><tr><th>
|
|
476
|
-
|
|
477
|
-
Parameter
|
|
478
|
-
|
|
479
|
-
</th><th>
|
|
480
|
-
|
|
481
|
-
Type
|
|
482
|
-
|
|
483
|
-
</th><th>
|
|
484
|
-
|
|
485
|
-
Description
|
|
486
|
-
|
|
487
|
-
</th></tr></thead>
|
|
488
|
-
<tbody><tr><td>
|
|
489
|
-
|
|
490
|
-
primitiveIds
|
|
491
|
-
|
|
492
|
-
</td><td>
|
|
493
|
-
|
|
494
|
-
Array<string>
|
|
495
|
-
|
|
496
|
-
</td><td>
|
|
497
|
-
|
|
498
|
-
Device primitive ID, which can be a string or an array of strings. If it is an array, an array is also returned
|
|
499
|
-
|
|
500
|
-
</td></tr>
|
|
501
|
-
</tbody></table>
|
|
502
|
-
|
|
503
|
-
## Returns
|
|
504
|
-
|
|
505
|
-
Promise<Array<[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)<!-- -->>>
|
|
506
|
-
|
|
507
|
-
Device primitive object; an empty array indicates that the retrieval failed
|
|
508
|
-
|
|
509
|
-
## Remarks
|
|
510
|
-
|
|
511
|
-
If multiple primitive IDs are passed in, a primitive ID that is not matched will not affect the return of other primitives; that is, fewer primitive objects than the number of primitive IDs passed in may be returned.
|
|
512
|
-
|
|
513
|
-
### getall
|
|
514
|
-
|
|
515
|
-
# PCB\_PrimitiveComponent.getAll() method
|
|
516
|
-
|
|
517
|
-
> 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.
|
|
518
|
-
|
|
519
|
-
Get all Device
|
|
520
|
-
|
|
521
|
-
## Signature
|
|
522
|
-
|
|
523
|
-
```typescript
|
|
524
|
-
function getAll(
|
|
525
|
-
layer?: TPCB_LayersOfComponent,
|
|
526
|
-
primitiveLock?: boolean,
|
|
527
|
-
): Promise<Array<IPCB_PrimitiveComponent>>;
|
|
528
|
-
```
|
|
529
|
-
|
|
530
|
-
## Parameters
|
|
531
|
-
|
|
532
|
-
<table><thead><tr><th>
|
|
533
|
-
|
|
534
|
-
Parameter
|
|
535
|
-
|
|
536
|
-
</th><th>
|
|
537
|
-
|
|
538
|
-
Type
|
|
539
|
-
|
|
540
|
-
</th><th>
|
|
541
|
-
|
|
542
|
-
Description
|
|
543
|
-
|
|
544
|
-
</th></tr></thead>
|
|
545
|
-
<tbody><tr><td>
|
|
546
|
-
|
|
547
|
-
layer
|
|
548
|
-
|
|
549
|
-
</td><td>
|
|
550
|
-
|
|
551
|
-
[TPCB\_LayersOfComponent](../types/TPCB_LayersOfComponent.md)
|
|
552
|
-
|
|
553
|
-
</td><td>
|
|
554
|
-
|
|
555
|
-
_(Optional)_ Layer
|
|
556
|
-
|
|
557
|
-
</td></tr>
|
|
558
|
-
<tr><td>
|
|
559
|
-
|
|
560
|
-
primitiveLock
|
|
561
|
-
|
|
562
|
-
</td><td>
|
|
563
|
-
|
|
564
|
-
boolean
|
|
565
|
-
|
|
566
|
-
</td><td>
|
|
567
|
-
|
|
568
|
-
_(Optional)_ Whether it is locked
|
|
569
|
-
|
|
570
|
-
</td></tr>
|
|
571
|
-
</tbody></table>
|
|
572
|
-
|
|
573
|
-
## Returns
|
|
574
|
-
|
|
575
|
-
Promise<Array<[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)<!-- -->>>
|
|
576
|
-
|
|
577
|
-
Array of Device primitive objects
|
|
578
|
-
|
|
579
|
-
## Example
|
|
580
|
-
|
|
581
|
-
```javascript
|
|
582
|
-
// 1. 放置一个测试器件作为过滤参照:
|
|
583
|
-
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
584
|
-
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
585
|
-
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
586
|
-
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, 5000, 5000);
|
|
587
|
-
const compId = comp.getState_PrimitiveId();
|
|
588
|
-
|
|
589
|
-
// 2. 不带参数:获取 PCB 上全部器件
|
|
590
|
-
const all = await eda.pcb_PrimitiveComponent.getAll();
|
|
591
|
-
|
|
592
|
-
// 3. 按层过滤:只取顶层(1)器件
|
|
593
|
-
const topComps = await eda.pcb_PrimitiveComponent.getAll(1);
|
|
594
|
-
|
|
595
|
-
// 4. 清理测试器件
|
|
596
|
-
await eda.pcb_PrimitiveComponent.delete([compId]);
|
|
597
|
-
|
|
598
|
-
console.log('total components:', all.length);
|
|
599
|
-
console.log('top layer components:', topComps.length);
|
|
600
|
-
console.log('fixture included:', all.some(c => c.getState_PrimitiveId() === compId));
|
|
601
|
-
console.log('designators:', all.map(c => c.getState_Designator()).join(', '));
|
|
602
|
-
```
|
|
603
|
-
|
|
604
|
-
### getallpinsbyprimitiveid
|
|
605
|
-
|
|
606
|
-
# PCB\_PrimitiveComponent.getAllPinsByPrimitiveId() method
|
|
607
|
-
|
|
608
|
-
> 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.
|
|
609
|
-
|
|
610
|
-
Get all pads associated with the device
|
|
611
|
-
|
|
612
|
-
## Signature
|
|
613
|
-
|
|
614
|
-
```typescript
|
|
615
|
-
function getAllPinsByPrimitiveId(
|
|
616
|
-
primitiveId: string,
|
|
617
|
-
): Promise<Array<IPCB_PrimitiveComponentPad> | undefined>;
|
|
618
|
-
```
|
|
619
|
-
|
|
620
|
-
## Parameters
|
|
621
|
-
|
|
622
|
-
<table><thead><tr><th>
|
|
623
|
-
|
|
624
|
-
Parameter
|
|
625
|
-
|
|
626
|
-
</th><th>
|
|
627
|
-
|
|
628
|
-
Type
|
|
629
|
-
|
|
630
|
-
</th><th>
|
|
631
|
-
|
|
632
|
-
Description
|
|
633
|
-
|
|
634
|
-
</th></tr></thead>
|
|
635
|
-
<tbody><tr><td>
|
|
636
|
-
|
|
637
|
-
primitiveId
|
|
638
|
-
|
|
639
|
-
</td><td>
|
|
640
|
-
|
|
641
|
-
string
|
|
642
|
-
|
|
643
|
-
</td><td>
|
|
644
|
-
|
|
645
|
-
Device primitive ID
|
|
646
|
-
|
|
647
|
-
</td></tr>
|
|
648
|
-
</tbody></table>
|
|
649
|
-
|
|
650
|
-
## Returns
|
|
651
|
-
|
|
652
|
-
Promise<Array<[IPCB\_PrimitiveComponentPad](./IPCB_PrimitiveComponentPad.md)<!-- -->> \| undefined>
|
|
653
|
-
|
|
654
|
-
Device pad primitive array
|
|
655
|
-
|
|
656
|
-
## Example
|
|
657
|
-
|
|
658
|
-
```javascript
|
|
659
|
-
// 1. 放置一个测试器件:
|
|
660
|
-
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
661
|
-
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
662
|
-
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
663
|
-
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, 5000, 5000);
|
|
664
|
-
const compId = comp.getState_PrimitiveId();
|
|
665
|
-
|
|
666
|
-
// 2. 取出该器件的全部焊盘图元对象
|
|
667
|
-
const pins = await eda.pcb_PrimitiveComponent.getAllPinsByPrimitiveId(compId);
|
|
668
|
-
|
|
669
|
-
// 3. 读取每个焊盘的归属与坐标,确认都属于该器件
|
|
670
|
-
const parentIds = pins.map(pin => pin.getState_ParentComponentPrimitiveId());
|
|
671
|
-
|
|
672
|
-
// 4. 清理测试器件(焊盘随器件一起删除)
|
|
673
|
-
await eda.pcb_PrimitiveComponent.delete([compId]);
|
|
674
|
-
|
|
675
|
-
console.log('pinCount:', pins.length);
|
|
676
|
-
console.log('allBelongToComponent:', parentIds.every(id => id === compId));
|
|
677
|
-
console.log('firstPin:', 'x:', pins[0].getState_X(), 'y:', pins[0].getState_Y());
|
|
678
|
-
console.log('firstPinParentId:', parentIds[0]);
|
|
679
|
-
```
|
|
680
|
-
|
|
681
|
-
### getallprimitiveid
|
|
682
|
-
|
|
683
|
-
# PCB\_PrimitiveComponent.getAllPrimitiveId() method
|
|
684
|
-
|
|
685
|
-
> 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.
|
|
686
|
-
|
|
687
|
-
Get all Device primitive IDs
|
|
688
|
-
|
|
689
|
-
## Signature
|
|
690
|
-
|
|
691
|
-
```typescript
|
|
692
|
-
function getAllPrimitiveId(
|
|
693
|
-
layer?: TPCB_LayersOfComponent,
|
|
694
|
-
primitiveLock?: boolean,
|
|
695
|
-
): Promise<Array<string>>;
|
|
696
|
-
```
|
|
697
|
-
|
|
698
|
-
## Parameters
|
|
699
|
-
|
|
700
|
-
<table><thead><tr><th>
|
|
701
|
-
|
|
702
|
-
Parameter
|
|
703
|
-
|
|
704
|
-
</th><th>
|
|
705
|
-
|
|
706
|
-
Type
|
|
707
|
-
|
|
708
|
-
</th><th>
|
|
709
|
-
|
|
710
|
-
Description
|
|
711
|
-
|
|
712
|
-
</th></tr></thead>
|
|
713
|
-
<tbody><tr><td>
|
|
714
|
-
|
|
715
|
-
layer
|
|
716
|
-
|
|
717
|
-
</td><td>
|
|
718
|
-
|
|
719
|
-
[TPCB\_LayersOfComponent](../types/TPCB_LayersOfComponent.md)
|
|
720
|
-
|
|
721
|
-
</td><td>
|
|
722
|
-
|
|
723
|
-
_(Optional)_ Layer
|
|
724
|
-
|
|
725
|
-
</td></tr>
|
|
726
|
-
<tr><td>
|
|
727
|
-
|
|
728
|
-
primitiveLock
|
|
729
|
-
|
|
730
|
-
</td><td>
|
|
731
|
-
|
|
732
|
-
boolean
|
|
733
|
-
|
|
734
|
-
</td><td>
|
|
735
|
-
|
|
736
|
-
_(Optional)_ Whether it is locked
|
|
737
|
-
|
|
738
|
-
</td></tr>
|
|
739
|
-
</tbody></table>
|
|
740
|
-
|
|
741
|
-
## Returns
|
|
742
|
-
|
|
743
|
-
Promise<Array<string>>
|
|
744
|
-
|
|
745
|
-
Array of Device primitive IDs
|
|
746
|
-
|
|
747
|
-
## Example
|
|
748
|
-
|
|
749
|
-
```javascript
|
|
750
|
-
// 1. 放置一个测试器件作为过滤参照:
|
|
751
|
-
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
752
|
-
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
753
|
-
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
754
|
-
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, 5000, 5000);
|
|
755
|
-
const compId = comp.getState_PrimitiveId();
|
|
756
|
-
|
|
757
|
-
// 2. 不带参数:获取全部器件的图元 ID
|
|
758
|
-
const allIds = await eda.pcb_PrimitiveComponent.getAllPrimitiveId();
|
|
759
|
-
|
|
760
|
-
// 3. 按层过滤:只取顶层(1)器件的图元 ID
|
|
761
|
-
const topIds = await eda.pcb_PrimitiveComponent.getAllPrimitiveId(1);
|
|
762
|
-
|
|
763
|
-
// 4. 清理测试器件
|
|
764
|
-
await eda.pcb_PrimitiveComponent.delete([compId]);
|
|
765
|
-
|
|
766
|
-
console.log('total ids:', allIds.length);
|
|
767
|
-
console.log('top layer ids:', topIds.length);
|
|
768
|
-
console.log('fixture included:', allIds.includes(compId));
|
|
769
|
-
console.log('firstId:', allIds[0]);
|
|
770
|
-
```
|
|
771
|
-
|
|
772
|
-
### getallpropertynames
|
|
773
|
-
|
|
774
|
-
# PCB\_PrimitiveComponent.getAllPropertyNames() method
|
|
775
|
-
|
|
776
|
-
> 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.
|
|
777
|
-
|
|
778
|
-
Get The set of all property names of all devices
|
|
779
|
-
|
|
780
|
-
## Signature
|
|
781
|
-
|
|
782
|
-
```typescript
|
|
783
|
-
function getAllPropertyNames(): Promise<Array<string>>;
|
|
784
|
-
```
|
|
785
|
-
|
|
786
|
-
## Returns
|
|
787
|
-
|
|
788
|
-
Promise<Array<string>>
|
|
789
|
-
|
|
790
|
-
The set of all property names of all devices
|
|
791
|
-
|
|
792
|
-
## Example
|
|
793
|
-
|
|
794
|
-
```javascript
|
|
795
|
-
// 1. 放置一个测试器件:
|
|
796
|
-
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
797
|
-
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
798
|
-
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
799
|
-
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, 5000, 5000);
|
|
800
|
-
const compId = comp.getState_PrimitiveId();
|
|
801
|
-
|
|
802
|
-
// 2. 获取 PCB 上所有器件的属性名称集合(无参数)
|
|
803
|
-
const names = await eda.pcb_PrimitiveComponent.getAllPropertyNames();
|
|
804
|
-
|
|
805
|
-
// 3. 清理测试器件
|
|
806
|
-
await eda.pcb_PrimitiveComponent.delete([compId]);
|
|
807
|
-
|
|
808
|
-
console.log('property name count:', names.length);
|
|
809
|
-
console.log('names:', names.join(', '));
|
|
810
|
-
```
|
|
811
|
-
|
|
812
|
-
### modify
|
|
813
|
-
|
|
814
|
-
# PCB\_PrimitiveComponent.modify() method
|
|
815
|
-
|
|
816
|
-
> 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.
|
|
817
|
-
|
|
818
|
-
Modify Device
|
|
819
|
-
|
|
820
|
-
## Signature
|
|
821
|
-
|
|
822
|
-
```typescript
|
|
823
|
-
function modify(
|
|
824
|
-
primitiveId: string | IPCB_PrimitiveComponent,
|
|
825
|
-
property: {
|
|
826
|
-
layer?:
|
|
827
|
-
x?:
|
|
828
|
-
y?:
|
|
829
|
-
rotation?:
|
|
830
|
-
primitiveLock?:
|
|
831
|
-
addIntoBom?:
|
|
832
|
-
designator?:
|
|
833
|
-
name?:
|
|
834
|
-
uniqueId?:
|
|
835
|
-
manufacturer?:
|
|
836
|
-
manufacturerId?:
|
|
837
|
-
supplier?:
|
|
838
|
-
supplierId?:
|
|
839
|
-
otherProperty?:
|
|
840
|
-
},
|
|
841
|
-
): Promise<IPCB_PrimitiveComponent | undefined>;
|
|
842
|
-
```
|
|
843
|
-
|
|
844
|
-
## Parameters
|
|
845
|
-
|
|
846
|
-
<table><thead><tr><th>
|
|
847
|
-
|
|
848
|
-
Parameter
|
|
849
|
-
|
|
850
|
-
</th><th>
|
|
851
|
-
|
|
852
|
-
Type
|
|
853
|
-
|
|
854
|
-
</th><th>
|
|
855
|
-
|
|
856
|
-
Description
|
|
857
|
-
|
|
858
|
-
</th></tr></thead>
|
|
859
|
-
<tbody><tr><td>
|
|
860
|
-
|
|
861
|
-
primitiveId
|
|
862
|
-
|
|
863
|
-
</td><td>
|
|
864
|
-
|
|
865
|
-
string \| [IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)
|
|
866
|
-
|
|
867
|
-
</td><td>
|
|
868
|
-
|
|
869
|
-
Primitive ID
|
|
870
|
-
|
|
871
|
-
</td></tr>
|
|
872
|
-
<tr><td>
|
|
873
|
-
|
|
874
|
-
property
|
|
875
|
-
|
|
876
|
-
</td><td>
|
|
877
|
-
|
|
878
|
-
{ layer?:
|
|
879
|
-
|
|
880
|
-
</td><td>
|
|
881
|
-
|
|
882
|
-
</td></tr>
|
|
883
|
-
</tbody></table>
|
|
884
|
-
|
|
885
|
-
## Returns
|
|
886
|
-
|
|
887
|
-
Promise<[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md) \| undefined>
|
|
888
|
-
|
|
889
|
-
Device primitive object
|
|
890
|
-
|
|
891
|
-
## Example
|
|
892
|
-
|
|
893
|
-
```javascript
|
|
894
|
-
// 1. 放置待修改的测试器件(随机坐标避免与画布已有器件重合):
|
|
895
|
-
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
896
|
-
const x = 20000 + Math.floor(Math.random() * 80000);
|
|
897
|
-
const y = 20000 + Math.floor(Math.random() * 80000);
|
|
898
|
-
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
899
|
-
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
900
|
-
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, x, y);
|
|
901
|
-
const compId = comp.getState_PrimitiveId();
|
|
902
|
-
|
|
903
|
-
// 2. 读取修改前的位置与旋转角度
|
|
904
|
-
const beforeX = comp.getState_X();
|
|
905
|
-
const beforeY = comp.getState_Y();
|
|
906
|
-
const beforeRotation = comp.getState_Rotation();
|
|
907
|
-
|
|
908
|
-
// 3. 批量修改:平移 500mil,旋转 0° → 90°
|
|
909
|
-
await eda.pcb_PrimitiveComponent.modify(compId, { x: beforeX + 500, y: beforeY + 500, rotation: 90 });
|
|
910
|
-
|
|
911
|
-
// 4. modify 返回后需要重新 get() 才能读到画布上的最新值
|
|
912
|
-
const refreshed = await eda.pcb_PrimitiveComponent.get(compId);
|
|
913
|
-
|
|
914
|
-
// 5. 修改类保留现场,供观察修改结果
|
|
915
|
-
console.log('primitiveId:', compId);
|
|
916
|
-
console.log('x:', beforeX, '→', refreshed.getState_X());
|
|
917
|
-
console.log('y:', beforeY, '→', refreshed.getState_Y());
|
|
918
|
-
console.log('rotation:', beforeRotation, '→', refreshed.getState_Rotation());
|
|
919
|
-
```
|
|
920
|
-
|
|
921
|
-
### placecomponentwithmouse
|
|
922
|
-
|
|
923
|
-
# PCB\_PrimitiveComponent.placeComponentWithMouse() method
|
|
924
|
-
|
|
925
|
-
> 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.
|
|
926
|
-
|
|
927
|
-
Place with the mouse device
|
|
928
|
-
|
|
929
|
-
## Signature
|
|
930
|
-
|
|
931
|
-
```typescript
|
|
932
|
-
function placeComponentWithMouse(
|
|
933
|
-
component: { libraryUuid: string; uuid: string } | ILIB_DeviceItem | ILIB_DeviceSearchItem,
|
|
934
|
-
): Promise<boolean>;
|
|
935
|
-
```
|
|
936
|
-
|
|
937
|
-
## Parameters
|
|
938
|
-
|
|
939
|
-
<table><thead><tr><th>
|
|
940
|
-
|
|
941
|
-
Parameter
|
|
942
|
-
|
|
943
|
-
</th><th>
|
|
944
|
-
|
|
945
|
-
Type
|
|
946
|
-
|
|
947
|
-
</th><th>
|
|
948
|
-
|
|
949
|
-
Description
|
|
950
|
-
|
|
951
|
-
</th></tr></thead>
|
|
952
|
-
<tbody><tr><td>
|
|
953
|
-
|
|
954
|
-
component
|
|
955
|
-
|
|
956
|
-
</td><td>
|
|
957
|
-
|
|
958
|
-
{ libraryUuid: string; uuid: string } \| [ILIB\_DeviceItem](../interfaces/ILIB_DeviceItem.md) \| [ILIB\_DeviceSearchItem](../interfaces/ILIB_DeviceSearchItem.md)
|
|
959
|
-
|
|
960
|
-
</td><td>
|
|
961
|
-
|
|
962
|
-
Associate library device
|
|
963
|
-
|
|
964
|
-
</td></tr>
|
|
965
|
-
</tbody></table>
|
|
966
|
-
|
|
967
|
-
## Returns
|
|
968
|
-
|
|
969
|
-
Promise<boolean>
|
|
970
|
-
|
|
971
|
-
Whether the device was found
|
|
972
|
-
|
|
973
|
-
## Remarks
|
|
974
|
-
|
|
975
|
-
This API simulates clicking the placement button on the front end. The specified device will be bound to the current mouse and placed on the canvas when the user clicks subsequently
|
|
976
|
-
|
|
977
|
-
The return timing of this API does not wait for the user's placement operation. Once the device is bound to the mouse, this API will immediately return `true`
|
|
978
|
-
|
|
979
|
-
### placefootprintwithmouse
|
|
980
|
-
|
|
981
|
-
# PCB\_PrimitiveComponent.placeFootprintWithMouse() method
|
|
982
|
-
|
|
983
|
-
> 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.
|
|
984
|
-
|
|
985
|
-
Place with the mouse footprint
|
|
986
|
-
|
|
987
|
-
## Signature
|
|
988
|
-
|
|
989
|
-
```typescript
|
|
990
|
-
function placeFootprintWithMouse(
|
|
991
|
-
footprint:
|
|
992
|
-
{ libraryUuid: string; uuid: string } | ILIB_FootprintItem | ILIB_FootprintSearchItem,
|
|
993
|
-
properties?: Record<string, boolean | number | string | undefined>,
|
|
994
|
-
): Promise<boolean>;
|
|
995
|
-
```
|
|
996
|
-
|
|
997
|
-
## Parameters
|
|
998
|
-
|
|
999
|
-
<table><thead><tr><th>
|
|
1000
|
-
|
|
1001
|
-
Parameter
|
|
1002
|
-
|
|
1003
|
-
</th><th>
|
|
1004
|
-
|
|
1005
|
-
Type
|
|
1006
|
-
|
|
1007
|
-
</th><th>
|
|
1008
|
-
|
|
1009
|
-
Description
|
|
1010
|
-
|
|
1011
|
-
</th></tr></thead>
|
|
1012
|
-
<tbody><tr><td>
|
|
1013
|
-
|
|
1014
|
-
footprint
|
|
1015
|
-
|
|
1016
|
-
</td><td>
|
|
1017
|
-
|
|
1018
|
-
{ libraryUuid: string; uuid: string } \| [ILIB\_FootprintItem](../interfaces/ILIB_FootprintItem.md) \| [ILIB\_FootprintSearchItem](../interfaces/ILIB_FootprintSearchItem.md)
|
|
1019
|
-
|
|
1020
|
-
</td><td>
|
|
1021
|
-
|
|
1022
|
-
Associate library footprint
|
|
1023
|
-
|
|
1024
|
-
</td></tr>
|
|
1025
|
-
<tr><td>
|
|
1026
|
-
|
|
1027
|
-
properties
|
|
1028
|
-
|
|
1029
|
-
</td><td>
|
|
1030
|
-
|
|
1031
|
-
Record<string, boolean \| number \| string \| undefined>
|
|
1032
|
-
|
|
1033
|
-
</td><td>
|
|
1034
|
-
|
|
1035
|
-
_(Optional)_ Device property
|
|
1036
|
-
|
|
1037
|
-
</td></tr>
|
|
1038
|
-
</tbody></table>
|
|
1039
|
-
|
|
1040
|
-
## Returns
|
|
1041
|
-
|
|
1042
|
-
Promise<boolean>
|
|
1043
|
-
|
|
1044
|
-
Whether the footprint was found
|
|
1045
|
-
|
|
1046
|
-
## Remarks
|
|
1047
|
-
|
|
1048
|
-
This API simulates clicking the placement button on the front end. The specified footprint will be bound to the current mouse and placed on the canvas when the user clicks subsequently
|
|
1049
|
-
|
|
1050
|
-
The return timing of this API does not wait for the user's placement operation. Once the footprint is bound to the mouse, this API will immediately return `true` ADD since API v0.2.26
|
|
1
|
+
# PCB\_PrimitiveComponent class
|
|
2
|
+
|
|
3
|
+
PCB & footprint / device primitive class
|
|
4
|
+
|
|
5
|
+
## Signature
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
class PCB_PrimitiveComponent implements IPCB_PrimitiveAPI
|
|
9
|
+
```
|
|
10
|
+
**Implements:** [IPCB\_PrimitiveAPI](../interfaces/IPCB_PrimitiveAPI.md)
|
|
11
|
+
|
|
12
|
+
## Methods
|
|
13
|
+
|
|
14
|
+
<table><thead><tr><th>
|
|
15
|
+
|
|
16
|
+
Method
|
|
17
|
+
|
|
18
|
+
</th><th>
|
|
19
|
+
|
|
20
|
+
Modifiers
|
|
21
|
+
|
|
22
|
+
</th><th>
|
|
23
|
+
|
|
24
|
+
Description
|
|
25
|
+
|
|
26
|
+
</th></tr></thead>
|
|
27
|
+
<tbody><tr><td>
|
|
28
|
+
|
|
29
|
+
[create(component, layer, x, y, rotation, primitiveLock)](./PCB_PrimitiveComponent.md)
|
|
30
|
+
|
|
31
|
+
</td><td>
|
|
32
|
+
|
|
33
|
+
</td><td>
|
|
34
|
+
|
|
35
|
+
**_(BETA)_** Create Device
|
|
36
|
+
|
|
37
|
+
</td></tr>
|
|
38
|
+
<tr><td>
|
|
39
|
+
|
|
40
|
+
[delete(primitiveIds)](./PCB_PrimitiveComponent.md)
|
|
41
|
+
|
|
42
|
+
</td><td>
|
|
43
|
+
|
|
44
|
+
</td><td>
|
|
45
|
+
|
|
46
|
+
**_(BETA)_** Delete Device
|
|
47
|
+
|
|
48
|
+
</td></tr>
|
|
49
|
+
<tr><td>
|
|
50
|
+
|
|
51
|
+
[get(primitiveIds)](./PCB_PrimitiveComponent.md)
|
|
52
|
+
|
|
53
|
+
</td><td>
|
|
54
|
+
|
|
55
|
+
</td><td>
|
|
56
|
+
|
|
57
|
+
**_(BETA)_** Get Device
|
|
58
|
+
|
|
59
|
+
</td></tr>
|
|
60
|
+
<tr><td>
|
|
61
|
+
|
|
62
|
+
[get(primitiveIds)](./PCB_PrimitiveComponent.md)
|
|
63
|
+
|
|
64
|
+
</td><td>
|
|
65
|
+
|
|
66
|
+
</td><td>
|
|
67
|
+
|
|
68
|
+
**_(BETA)_** Get Device
|
|
69
|
+
|
|
70
|
+
</td></tr>
|
|
71
|
+
<tr><td>
|
|
72
|
+
|
|
73
|
+
[getAll(layer, primitiveLock)](./PCB_PrimitiveComponent.md)
|
|
74
|
+
|
|
75
|
+
</td><td>
|
|
76
|
+
|
|
77
|
+
</td><td>
|
|
78
|
+
|
|
79
|
+
**_(BETA)_** Get all Device
|
|
80
|
+
|
|
81
|
+
</td></tr>
|
|
82
|
+
<tr><td>
|
|
83
|
+
|
|
84
|
+
[getAllPinsByPrimitiveId(primitiveId)](./PCB_PrimitiveComponent.md)
|
|
85
|
+
|
|
86
|
+
</td><td>
|
|
87
|
+
|
|
88
|
+
</td><td>
|
|
89
|
+
|
|
90
|
+
**_(BETA)_** Get all pads associated with the device
|
|
91
|
+
|
|
92
|
+
</td></tr>
|
|
93
|
+
<tr><td>
|
|
94
|
+
|
|
95
|
+
[getAllPrimitiveId(layer, primitiveLock)](./PCB_PrimitiveComponent.md)
|
|
96
|
+
|
|
97
|
+
</td><td>
|
|
98
|
+
|
|
99
|
+
</td><td>
|
|
100
|
+
|
|
101
|
+
**_(BETA)_** Get all Device primitive IDs
|
|
102
|
+
|
|
103
|
+
</td></tr>
|
|
104
|
+
<tr><td>
|
|
105
|
+
|
|
106
|
+
[getAllPropertyNames()](./PCB_PrimitiveComponent.md)
|
|
107
|
+
|
|
108
|
+
</td><td>
|
|
109
|
+
|
|
110
|
+
</td><td>
|
|
111
|
+
|
|
112
|
+
**_(BETA)_** Get The set of all property names of all devices
|
|
113
|
+
|
|
114
|
+
</td></tr>
|
|
115
|
+
<tr><td>
|
|
116
|
+
|
|
117
|
+
[modify(primitiveId, property)](./PCB_PrimitiveComponent.md)
|
|
118
|
+
|
|
119
|
+
</td><td>
|
|
120
|
+
|
|
121
|
+
</td><td>
|
|
122
|
+
|
|
123
|
+
**_(BETA)_** Modify Device
|
|
124
|
+
|
|
125
|
+
</td></tr>
|
|
126
|
+
<tr><td>
|
|
127
|
+
|
|
128
|
+
[placeComponentWithMouse(component)](./PCB_PrimitiveComponent.md)
|
|
129
|
+
|
|
130
|
+
</td><td>
|
|
131
|
+
|
|
132
|
+
</td><td>
|
|
133
|
+
|
|
134
|
+
**_(BETA)_** Place with the mouse device
|
|
135
|
+
|
|
136
|
+
</td></tr>
|
|
137
|
+
<tr><td>
|
|
138
|
+
|
|
139
|
+
[placeFootprintWithMouse(footprint, properties)](./PCB_PrimitiveComponent.md)
|
|
140
|
+
|
|
141
|
+
</td><td>
|
|
142
|
+
|
|
143
|
+
</td><td>
|
|
144
|
+
|
|
145
|
+
**_(BETA)_** Place with the mouse footprint
|
|
146
|
+
|
|
147
|
+
</td></tr>
|
|
148
|
+
</tbody></table>
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## 方法详情
|
|
153
|
+
|
|
154
|
+
### create
|
|
155
|
+
|
|
156
|
+
# PCB\_PrimitiveComponent.create() method
|
|
157
|
+
|
|
158
|
+
> 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.
|
|
159
|
+
|
|
160
|
+
Create Device
|
|
161
|
+
|
|
162
|
+
## Signature
|
|
163
|
+
|
|
164
|
+
```typescript
|
|
165
|
+
function create(
|
|
166
|
+
component:
|
|
167
|
+
| { libraryUuid: string; uuid: string }
|
|
168
|
+
| ILIB_DeviceItem
|
|
169
|
+
| ILIB_DeviceSearchItem
|
|
170
|
+
| { libraryType: ELIB_LibraryType.FOOTPRINT; libraryUuid: string; uuid: string }
|
|
171
|
+
| ILIB_FootprintItem
|
|
172
|
+
| ILIB_FootprintSearchItem,
|
|
173
|
+
layer: TPCB_LayersOfComponent,
|
|
174
|
+
x: number,
|
|
175
|
+
y: number,
|
|
176
|
+
rotation?: number,
|
|
177
|
+
primitiveLock?: boolean,
|
|
178
|
+
): Promise<IPCB_PrimitiveComponent | undefined>;
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Parameters
|
|
182
|
+
|
|
183
|
+
<table><thead><tr><th>
|
|
184
|
+
|
|
185
|
+
Parameter
|
|
186
|
+
|
|
187
|
+
</th><th>
|
|
188
|
+
|
|
189
|
+
Type
|
|
190
|
+
|
|
191
|
+
</th><th>
|
|
192
|
+
|
|
193
|
+
Description
|
|
194
|
+
|
|
195
|
+
</th></tr></thead>
|
|
196
|
+
<tbody><tr><td>
|
|
197
|
+
|
|
198
|
+
component
|
|
199
|
+
|
|
200
|
+
</td><td>
|
|
201
|
+
|
|
202
|
+
{ libraryUuid: string; uuid: string } \| [ILIB\_DeviceItem](../interfaces/ILIB_DeviceItem.md) \| [ILIB\_DeviceSearchItem](../interfaces/ILIB_DeviceSearchItem.md) \| { libraryType: [ELIB\_LibraryType.FOOTPRINT](../enums/ELIB_LibraryType.md)<!-- -->; libraryUuid: string; uuid: string } \| [ILIB\_FootprintItem](../interfaces/ILIB_FootprintItem.md) \| [ILIB\_FootprintSearchItem](../interfaces/ILIB_FootprintSearchItem.md)
|
|
203
|
+
|
|
204
|
+
</td><td>
|
|
205
|
+
|
|
206
|
+
Associate library device
|
|
207
|
+
|
|
208
|
+
</td></tr>
|
|
209
|
+
<tr><td>
|
|
210
|
+
|
|
211
|
+
layer
|
|
212
|
+
|
|
213
|
+
</td><td>
|
|
214
|
+
|
|
215
|
+
[TPCB\_LayersOfComponent](../types/TPCB_LayersOfComponent.md)
|
|
216
|
+
|
|
217
|
+
</td><td>
|
|
218
|
+
|
|
219
|
+
Layer
|
|
220
|
+
|
|
221
|
+
</td></tr>
|
|
222
|
+
<tr><td>
|
|
223
|
+
|
|
224
|
+
x
|
|
225
|
+
|
|
226
|
+
</td><td>
|
|
227
|
+
|
|
228
|
+
number
|
|
229
|
+
|
|
230
|
+
</td><td>
|
|
231
|
+
|
|
232
|
+
X coordinate
|
|
233
|
+
|
|
234
|
+
</td></tr>
|
|
235
|
+
<tr><td>
|
|
236
|
+
|
|
237
|
+
y
|
|
238
|
+
|
|
239
|
+
</td><td>
|
|
240
|
+
|
|
241
|
+
number
|
|
242
|
+
|
|
243
|
+
</td><td>
|
|
244
|
+
|
|
245
|
+
Y coordinate
|
|
246
|
+
|
|
247
|
+
</td></tr>
|
|
248
|
+
<tr><td>
|
|
249
|
+
|
|
250
|
+
rotation
|
|
251
|
+
|
|
252
|
+
</td><td>
|
|
253
|
+
|
|
254
|
+
number
|
|
255
|
+
|
|
256
|
+
</td><td>
|
|
257
|
+
|
|
258
|
+
_(Optional)_ Rotation angle
|
|
259
|
+
|
|
260
|
+
</td></tr>
|
|
261
|
+
<tr><td>
|
|
262
|
+
|
|
263
|
+
primitiveLock
|
|
264
|
+
|
|
265
|
+
</td><td>
|
|
266
|
+
|
|
267
|
+
boolean
|
|
268
|
+
|
|
269
|
+
</td><td>
|
|
270
|
+
|
|
271
|
+
_(Optional)_ Whether it is locked
|
|
272
|
+
|
|
273
|
+
</td></tr>
|
|
274
|
+
</tbody></table>
|
|
275
|
+
|
|
276
|
+
## Returns
|
|
277
|
+
|
|
278
|
+
Promise<[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md) \| undefined>
|
|
279
|
+
|
|
280
|
+
Device primitive object
|
|
281
|
+
|
|
282
|
+
## Example
|
|
283
|
+
|
|
284
|
+
```javascript
|
|
285
|
+
// 1. 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
286
|
+
// 坐标取随机值,避免与画布上已有的器件重合
|
|
287
|
+
const x = 20000 + Math.floor(Math.random() * 80000);
|
|
288
|
+
const y = 20000 + Math.floor(Math.random() * 80000);
|
|
289
|
+
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
290
|
+
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
291
|
+
|
|
292
|
+
// 2. 放置到顶层(1),旋转 90°,不锁定
|
|
293
|
+
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, x, y, 90, false);
|
|
294
|
+
|
|
295
|
+
// 3. 创建类保留现场,不删除器件
|
|
296
|
+
console.log('primitiveId:', comp.getState_PrimitiveId());
|
|
297
|
+
console.log('designator:', comp.getState_Designator());
|
|
298
|
+
console.log('name:', comp.getState_Name());
|
|
299
|
+
console.log('footprint:', comp.getState_Footprint());
|
|
300
|
+
console.log('layer:', comp.getState_Layer());
|
|
301
|
+
console.log('x:', comp.getState_X(), 'y:', comp.getState_Y());
|
|
302
|
+
console.log('rotation:', comp.getState_Rotation());
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
### delete
|
|
306
|
+
|
|
307
|
+
# PCB\_PrimitiveComponent.delete() method
|
|
308
|
+
|
|
309
|
+
> 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.
|
|
310
|
+
|
|
311
|
+
Delete Device
|
|
312
|
+
|
|
313
|
+
## Signature
|
|
314
|
+
|
|
315
|
+
```typescript
|
|
316
|
+
function delete(primitiveIds: string | IPCB_PrimitiveComponent | Array<string> | Array<IPCB_PrimitiveComponent>): Promise<boolean>;
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
## Parameters
|
|
320
|
+
|
|
321
|
+
<table><thead><tr><th>
|
|
322
|
+
|
|
323
|
+
Parameter
|
|
324
|
+
|
|
325
|
+
</th><th>
|
|
326
|
+
|
|
327
|
+
Type
|
|
328
|
+
|
|
329
|
+
</th><th>
|
|
330
|
+
|
|
331
|
+
Description
|
|
332
|
+
|
|
333
|
+
</th></tr></thead>
|
|
334
|
+
<tbody><tr><td>
|
|
335
|
+
|
|
336
|
+
primitiveIds
|
|
337
|
+
|
|
338
|
+
</td><td>
|
|
339
|
+
|
|
340
|
+
string \| [IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md) \| Array<string> \| Array<[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)<!-- -->>
|
|
341
|
+
|
|
342
|
+
</td><td>
|
|
343
|
+
|
|
344
|
+
Device primitive ID or Device primitive object
|
|
345
|
+
|
|
346
|
+
</td></tr>
|
|
347
|
+
</tbody></table>
|
|
348
|
+
|
|
349
|
+
## Returns
|
|
350
|
+
|
|
351
|
+
Promise<boolean>
|
|
352
|
+
|
|
353
|
+
Delete Whether the operation is successful
|
|
354
|
+
|
|
355
|
+
## Example
|
|
356
|
+
|
|
357
|
+
```javascript
|
|
358
|
+
// 1. 放置一个待删除的测试器件(随机坐标避免与画布已有器件重合):
|
|
359
|
+
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
360
|
+
const x = 20000 + Math.floor(Math.random() * 80000);
|
|
361
|
+
const y = 20000 + Math.floor(Math.random() * 80000);
|
|
362
|
+
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
363
|
+
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
364
|
+
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, x, y);
|
|
365
|
+
const compId = comp.getState_PrimitiveId();
|
|
366
|
+
|
|
367
|
+
// 2. 记录删除前的器件图元 ID 列表
|
|
368
|
+
const beforeIds = await eda.pcb_PrimitiveComponent.getAllPrimitiveId();
|
|
369
|
+
const beforeContains = beforeIds.includes(compId);
|
|
370
|
+
|
|
371
|
+
// 3. 以 ID 数组形式删除该器件
|
|
372
|
+
const deleted = await eda.pcb_PrimitiveComponent.delete([compId]);
|
|
373
|
+
|
|
374
|
+
// 4. 验证删除后 ID 列表不再包含该器件
|
|
375
|
+
const afterIds = await eda.pcb_PrimitiveComponent.getAllPrimitiveId();
|
|
376
|
+
|
|
377
|
+
console.log('deleted:', deleted);
|
|
378
|
+
console.log('beforeContains:', beforeContains);
|
|
379
|
+
console.log('afterContains:', afterIds.includes(compId));
|
|
380
|
+
console.log('component count:', beforeIds.length, '→', afterIds.length);
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
### get
|
|
384
|
+
|
|
385
|
+
# PCB\_PrimitiveComponent.get() method
|
|
386
|
+
|
|
387
|
+
> 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.
|
|
388
|
+
|
|
389
|
+
Get Device
|
|
390
|
+
|
|
391
|
+
## Signature
|
|
392
|
+
|
|
393
|
+
```typescript
|
|
394
|
+
function get(primitiveIds: string): Promise<IPCB_PrimitiveComponent | undefined>;
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
## Parameters
|
|
398
|
+
|
|
399
|
+
<table><thead><tr><th>
|
|
400
|
+
|
|
401
|
+
Parameter
|
|
402
|
+
|
|
403
|
+
</th><th>
|
|
404
|
+
|
|
405
|
+
Type
|
|
406
|
+
|
|
407
|
+
</th><th>
|
|
408
|
+
|
|
409
|
+
Description
|
|
410
|
+
|
|
411
|
+
</th></tr></thead>
|
|
412
|
+
<tbody><tr><td>
|
|
413
|
+
|
|
414
|
+
primitiveIds
|
|
415
|
+
|
|
416
|
+
</td><td>
|
|
417
|
+
|
|
418
|
+
string
|
|
419
|
+
|
|
420
|
+
</td><td>
|
|
421
|
+
|
|
422
|
+
Device primitive ID, which can be a string or an array of strings. If it is an array, an array is also returned
|
|
423
|
+
|
|
424
|
+
</td></tr>
|
|
425
|
+
</tbody></table>
|
|
426
|
+
|
|
427
|
+
## Returns
|
|
428
|
+
|
|
429
|
+
Promise<[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md) \| undefined>
|
|
430
|
+
|
|
431
|
+
Device primitive object, `undefined` indicates that the retrieval failed
|
|
432
|
+
|
|
433
|
+
## Example
|
|
434
|
+
|
|
435
|
+
```javascript
|
|
436
|
+
// 1. 放置一个测试器件:
|
|
437
|
+
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
438
|
+
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
439
|
+
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
440
|
+
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, 5000, 5000);
|
|
441
|
+
const compId = comp.getState_PrimitiveId();
|
|
442
|
+
|
|
443
|
+
// 2. 传单个 ID 字符串,返回单个器件对象
|
|
444
|
+
const single = await eda.pcb_PrimitiveComponent.get(compId);
|
|
445
|
+
|
|
446
|
+
// 3. 传 ID 数组,返回器件对象数组
|
|
447
|
+
const arr = await eda.pcb_PrimitiveComponent.get([compId]);
|
|
448
|
+
|
|
449
|
+
// 4. 清理测试器件
|
|
450
|
+
await eda.pcb_PrimitiveComponent.delete([compId]);
|
|
451
|
+
|
|
452
|
+
console.log('designator:', single.getState_Designator());
|
|
453
|
+
console.log('footprint:', single.getState_Footprint());
|
|
454
|
+
console.log('x:', single.getState_X(), 'y:', single.getState_Y());
|
|
455
|
+
console.log('array length:', arr.length);
|
|
456
|
+
console.log('sameId:', arr[0].getState_PrimitiveId() === compId);
|
|
457
|
+
```
|
|
458
|
+
|
|
459
|
+
### get_1
|
|
460
|
+
|
|
461
|
+
# PCB\_PrimitiveComponent.get() method
|
|
462
|
+
|
|
463
|
+
> 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.
|
|
464
|
+
|
|
465
|
+
Get Device
|
|
466
|
+
|
|
467
|
+
## Signature
|
|
468
|
+
|
|
469
|
+
```typescript
|
|
470
|
+
function get(primitiveIds: Array<string>): Promise<Array<IPCB_PrimitiveComponent>>;
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
## Parameters
|
|
474
|
+
|
|
475
|
+
<table><thead><tr><th>
|
|
476
|
+
|
|
477
|
+
Parameter
|
|
478
|
+
|
|
479
|
+
</th><th>
|
|
480
|
+
|
|
481
|
+
Type
|
|
482
|
+
|
|
483
|
+
</th><th>
|
|
484
|
+
|
|
485
|
+
Description
|
|
486
|
+
|
|
487
|
+
</th></tr></thead>
|
|
488
|
+
<tbody><tr><td>
|
|
489
|
+
|
|
490
|
+
primitiveIds
|
|
491
|
+
|
|
492
|
+
</td><td>
|
|
493
|
+
|
|
494
|
+
Array<string>
|
|
495
|
+
|
|
496
|
+
</td><td>
|
|
497
|
+
|
|
498
|
+
Device primitive ID, which can be a string or an array of strings. If it is an array, an array is also returned
|
|
499
|
+
|
|
500
|
+
</td></tr>
|
|
501
|
+
</tbody></table>
|
|
502
|
+
|
|
503
|
+
## Returns
|
|
504
|
+
|
|
505
|
+
Promise<Array<[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)<!-- -->>>
|
|
506
|
+
|
|
507
|
+
Device primitive object; an empty array indicates that the retrieval failed
|
|
508
|
+
|
|
509
|
+
## Remarks
|
|
510
|
+
|
|
511
|
+
If multiple primitive IDs are passed in, a primitive ID that is not matched will not affect the return of other primitives; that is, fewer primitive objects than the number of primitive IDs passed in may be returned.
|
|
512
|
+
|
|
513
|
+
### getall
|
|
514
|
+
|
|
515
|
+
# PCB\_PrimitiveComponent.getAll() method
|
|
516
|
+
|
|
517
|
+
> 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.
|
|
518
|
+
|
|
519
|
+
Get all Device
|
|
520
|
+
|
|
521
|
+
## Signature
|
|
522
|
+
|
|
523
|
+
```typescript
|
|
524
|
+
function getAll(
|
|
525
|
+
layer?: TPCB_LayersOfComponent,
|
|
526
|
+
primitiveLock?: boolean,
|
|
527
|
+
): Promise<Array<IPCB_PrimitiveComponent>>;
|
|
528
|
+
```
|
|
529
|
+
|
|
530
|
+
## Parameters
|
|
531
|
+
|
|
532
|
+
<table><thead><tr><th>
|
|
533
|
+
|
|
534
|
+
Parameter
|
|
535
|
+
|
|
536
|
+
</th><th>
|
|
537
|
+
|
|
538
|
+
Type
|
|
539
|
+
|
|
540
|
+
</th><th>
|
|
541
|
+
|
|
542
|
+
Description
|
|
543
|
+
|
|
544
|
+
</th></tr></thead>
|
|
545
|
+
<tbody><tr><td>
|
|
546
|
+
|
|
547
|
+
layer
|
|
548
|
+
|
|
549
|
+
</td><td>
|
|
550
|
+
|
|
551
|
+
[TPCB\_LayersOfComponent](../types/TPCB_LayersOfComponent.md)
|
|
552
|
+
|
|
553
|
+
</td><td>
|
|
554
|
+
|
|
555
|
+
_(Optional)_ Layer
|
|
556
|
+
|
|
557
|
+
</td></tr>
|
|
558
|
+
<tr><td>
|
|
559
|
+
|
|
560
|
+
primitiveLock
|
|
561
|
+
|
|
562
|
+
</td><td>
|
|
563
|
+
|
|
564
|
+
boolean
|
|
565
|
+
|
|
566
|
+
</td><td>
|
|
567
|
+
|
|
568
|
+
_(Optional)_ Whether it is locked
|
|
569
|
+
|
|
570
|
+
</td></tr>
|
|
571
|
+
</tbody></table>
|
|
572
|
+
|
|
573
|
+
## Returns
|
|
574
|
+
|
|
575
|
+
Promise<Array<[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)<!-- -->>>
|
|
576
|
+
|
|
577
|
+
Array of Device primitive objects
|
|
578
|
+
|
|
579
|
+
## Example
|
|
580
|
+
|
|
581
|
+
```javascript
|
|
582
|
+
// 1. 放置一个测试器件作为过滤参照:
|
|
583
|
+
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
584
|
+
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
585
|
+
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
586
|
+
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, 5000, 5000);
|
|
587
|
+
const compId = comp.getState_PrimitiveId();
|
|
588
|
+
|
|
589
|
+
// 2. 不带参数:获取 PCB 上全部器件
|
|
590
|
+
const all = await eda.pcb_PrimitiveComponent.getAll();
|
|
591
|
+
|
|
592
|
+
// 3. 按层过滤:只取顶层(1)器件
|
|
593
|
+
const topComps = await eda.pcb_PrimitiveComponent.getAll(1);
|
|
594
|
+
|
|
595
|
+
// 4. 清理测试器件
|
|
596
|
+
await eda.pcb_PrimitiveComponent.delete([compId]);
|
|
597
|
+
|
|
598
|
+
console.log('total components:', all.length);
|
|
599
|
+
console.log('top layer components:', topComps.length);
|
|
600
|
+
console.log('fixture included:', all.some(c => c.getState_PrimitiveId() === compId));
|
|
601
|
+
console.log('designators:', all.map(c => c.getState_Designator()).join(', '));
|
|
602
|
+
```
|
|
603
|
+
|
|
604
|
+
### getallpinsbyprimitiveid
|
|
605
|
+
|
|
606
|
+
# PCB\_PrimitiveComponent.getAllPinsByPrimitiveId() method
|
|
607
|
+
|
|
608
|
+
> 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.
|
|
609
|
+
|
|
610
|
+
Get all pads associated with the device
|
|
611
|
+
|
|
612
|
+
## Signature
|
|
613
|
+
|
|
614
|
+
```typescript
|
|
615
|
+
function getAllPinsByPrimitiveId(
|
|
616
|
+
primitiveId: string,
|
|
617
|
+
): Promise<Array<IPCB_PrimitiveComponentPad> | undefined>;
|
|
618
|
+
```
|
|
619
|
+
|
|
620
|
+
## Parameters
|
|
621
|
+
|
|
622
|
+
<table><thead><tr><th>
|
|
623
|
+
|
|
624
|
+
Parameter
|
|
625
|
+
|
|
626
|
+
</th><th>
|
|
627
|
+
|
|
628
|
+
Type
|
|
629
|
+
|
|
630
|
+
</th><th>
|
|
631
|
+
|
|
632
|
+
Description
|
|
633
|
+
|
|
634
|
+
</th></tr></thead>
|
|
635
|
+
<tbody><tr><td>
|
|
636
|
+
|
|
637
|
+
primitiveId
|
|
638
|
+
|
|
639
|
+
</td><td>
|
|
640
|
+
|
|
641
|
+
string
|
|
642
|
+
|
|
643
|
+
</td><td>
|
|
644
|
+
|
|
645
|
+
Device primitive ID
|
|
646
|
+
|
|
647
|
+
</td></tr>
|
|
648
|
+
</tbody></table>
|
|
649
|
+
|
|
650
|
+
## Returns
|
|
651
|
+
|
|
652
|
+
Promise<Array<[IPCB\_PrimitiveComponentPad](./IPCB_PrimitiveComponentPad.md)<!-- -->> \| undefined>
|
|
653
|
+
|
|
654
|
+
Device pad primitive array
|
|
655
|
+
|
|
656
|
+
## Example
|
|
657
|
+
|
|
658
|
+
```javascript
|
|
659
|
+
// 1. 放置一个测试器件:
|
|
660
|
+
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
661
|
+
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
662
|
+
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
663
|
+
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, 5000, 5000);
|
|
664
|
+
const compId = comp.getState_PrimitiveId();
|
|
665
|
+
|
|
666
|
+
// 2. 取出该器件的全部焊盘图元对象
|
|
667
|
+
const pins = await eda.pcb_PrimitiveComponent.getAllPinsByPrimitiveId(compId);
|
|
668
|
+
|
|
669
|
+
// 3. 读取每个焊盘的归属与坐标,确认都属于该器件
|
|
670
|
+
const parentIds = pins.map(pin => pin.getState_ParentComponentPrimitiveId());
|
|
671
|
+
|
|
672
|
+
// 4. 清理测试器件(焊盘随器件一起删除)
|
|
673
|
+
await eda.pcb_PrimitiveComponent.delete([compId]);
|
|
674
|
+
|
|
675
|
+
console.log('pinCount:', pins.length);
|
|
676
|
+
console.log('allBelongToComponent:', parentIds.every(id => id === compId));
|
|
677
|
+
console.log('firstPin:', 'x:', pins[0].getState_X(), 'y:', pins[0].getState_Y());
|
|
678
|
+
console.log('firstPinParentId:', parentIds[0]);
|
|
679
|
+
```
|
|
680
|
+
|
|
681
|
+
### getallprimitiveid
|
|
682
|
+
|
|
683
|
+
# PCB\_PrimitiveComponent.getAllPrimitiveId() method
|
|
684
|
+
|
|
685
|
+
> 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.
|
|
686
|
+
|
|
687
|
+
Get all Device primitive IDs
|
|
688
|
+
|
|
689
|
+
## Signature
|
|
690
|
+
|
|
691
|
+
```typescript
|
|
692
|
+
function getAllPrimitiveId(
|
|
693
|
+
layer?: TPCB_LayersOfComponent,
|
|
694
|
+
primitiveLock?: boolean,
|
|
695
|
+
): Promise<Array<string>>;
|
|
696
|
+
```
|
|
697
|
+
|
|
698
|
+
## Parameters
|
|
699
|
+
|
|
700
|
+
<table><thead><tr><th>
|
|
701
|
+
|
|
702
|
+
Parameter
|
|
703
|
+
|
|
704
|
+
</th><th>
|
|
705
|
+
|
|
706
|
+
Type
|
|
707
|
+
|
|
708
|
+
</th><th>
|
|
709
|
+
|
|
710
|
+
Description
|
|
711
|
+
|
|
712
|
+
</th></tr></thead>
|
|
713
|
+
<tbody><tr><td>
|
|
714
|
+
|
|
715
|
+
layer
|
|
716
|
+
|
|
717
|
+
</td><td>
|
|
718
|
+
|
|
719
|
+
[TPCB\_LayersOfComponent](../types/TPCB_LayersOfComponent.md)
|
|
720
|
+
|
|
721
|
+
</td><td>
|
|
722
|
+
|
|
723
|
+
_(Optional)_ Layer
|
|
724
|
+
|
|
725
|
+
</td></tr>
|
|
726
|
+
<tr><td>
|
|
727
|
+
|
|
728
|
+
primitiveLock
|
|
729
|
+
|
|
730
|
+
</td><td>
|
|
731
|
+
|
|
732
|
+
boolean
|
|
733
|
+
|
|
734
|
+
</td><td>
|
|
735
|
+
|
|
736
|
+
_(Optional)_ Whether it is locked
|
|
737
|
+
|
|
738
|
+
</td></tr>
|
|
739
|
+
</tbody></table>
|
|
740
|
+
|
|
741
|
+
## Returns
|
|
742
|
+
|
|
743
|
+
Promise<Array<string>>
|
|
744
|
+
|
|
745
|
+
Array of Device primitive IDs
|
|
746
|
+
|
|
747
|
+
## Example
|
|
748
|
+
|
|
749
|
+
```javascript
|
|
750
|
+
// 1. 放置一个测试器件作为过滤参照:
|
|
751
|
+
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
752
|
+
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
753
|
+
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
754
|
+
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, 5000, 5000);
|
|
755
|
+
const compId = comp.getState_PrimitiveId();
|
|
756
|
+
|
|
757
|
+
// 2. 不带参数:获取全部器件的图元 ID
|
|
758
|
+
const allIds = await eda.pcb_PrimitiveComponent.getAllPrimitiveId();
|
|
759
|
+
|
|
760
|
+
// 3. 按层过滤:只取顶层(1)器件的图元 ID
|
|
761
|
+
const topIds = await eda.pcb_PrimitiveComponent.getAllPrimitiveId(1);
|
|
762
|
+
|
|
763
|
+
// 4. 清理测试器件
|
|
764
|
+
await eda.pcb_PrimitiveComponent.delete([compId]);
|
|
765
|
+
|
|
766
|
+
console.log('total ids:', allIds.length);
|
|
767
|
+
console.log('top layer ids:', topIds.length);
|
|
768
|
+
console.log('fixture included:', allIds.includes(compId));
|
|
769
|
+
console.log('firstId:', allIds[0]);
|
|
770
|
+
```
|
|
771
|
+
|
|
772
|
+
### getallpropertynames
|
|
773
|
+
|
|
774
|
+
# PCB\_PrimitiveComponent.getAllPropertyNames() method
|
|
775
|
+
|
|
776
|
+
> 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.
|
|
777
|
+
|
|
778
|
+
Get The set of all property names of all devices
|
|
779
|
+
|
|
780
|
+
## Signature
|
|
781
|
+
|
|
782
|
+
```typescript
|
|
783
|
+
function getAllPropertyNames(): Promise<Array<string>>;
|
|
784
|
+
```
|
|
785
|
+
|
|
786
|
+
## Returns
|
|
787
|
+
|
|
788
|
+
Promise<Array<string>>
|
|
789
|
+
|
|
790
|
+
The set of all property names of all devices
|
|
791
|
+
|
|
792
|
+
## Example
|
|
793
|
+
|
|
794
|
+
```javascript
|
|
795
|
+
// 1. 放置一个测试器件:
|
|
796
|
+
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
797
|
+
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
798
|
+
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
799
|
+
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, 5000, 5000);
|
|
800
|
+
const compId = comp.getState_PrimitiveId();
|
|
801
|
+
|
|
802
|
+
// 2. 获取 PCB 上所有器件的属性名称集合(无参数)
|
|
803
|
+
const names = await eda.pcb_PrimitiveComponent.getAllPropertyNames();
|
|
804
|
+
|
|
805
|
+
// 3. 清理测试器件
|
|
806
|
+
await eda.pcb_PrimitiveComponent.delete([compId]);
|
|
807
|
+
|
|
808
|
+
console.log('property name count:', names.length);
|
|
809
|
+
console.log('names:', names.join(', '));
|
|
810
|
+
```
|
|
811
|
+
|
|
812
|
+
### modify
|
|
813
|
+
|
|
814
|
+
# PCB\_PrimitiveComponent.modify() method
|
|
815
|
+
|
|
816
|
+
> 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.
|
|
817
|
+
|
|
818
|
+
Modify Device
|
|
819
|
+
|
|
820
|
+
## Signature
|
|
821
|
+
|
|
822
|
+
```typescript
|
|
823
|
+
function modify(
|
|
824
|
+
primitiveId: string | IPCB_PrimitiveComponent,
|
|
825
|
+
property: {
|
|
826
|
+
layer?: TPCB_LayersOfComponent;
|
|
827
|
+
x?: number;
|
|
828
|
+
y?: number;
|
|
829
|
+
rotation?: number;
|
|
830
|
+
primitiveLock?: boolean;
|
|
831
|
+
addIntoBom?: boolean;
|
|
832
|
+
designator?: string | null;
|
|
833
|
+
name?: string | null;
|
|
834
|
+
uniqueId?: string | null;
|
|
835
|
+
manufacturer?: string | null;
|
|
836
|
+
manufacturerId?: string | null;
|
|
837
|
+
supplier?: string | null;
|
|
838
|
+
supplierId?: string | null;
|
|
839
|
+
otherProperty?: Record<string, any>;
|
|
840
|
+
},
|
|
841
|
+
): Promise<IPCB_PrimitiveComponent | undefined>;
|
|
842
|
+
```
|
|
843
|
+
|
|
844
|
+
## Parameters
|
|
845
|
+
|
|
846
|
+
<table><thead><tr><th>
|
|
847
|
+
|
|
848
|
+
Parameter
|
|
849
|
+
|
|
850
|
+
</th><th>
|
|
851
|
+
|
|
852
|
+
Type
|
|
853
|
+
|
|
854
|
+
</th><th>
|
|
855
|
+
|
|
856
|
+
Description
|
|
857
|
+
|
|
858
|
+
</th></tr></thead>
|
|
859
|
+
<tbody><tr><td>
|
|
860
|
+
|
|
861
|
+
primitiveId
|
|
862
|
+
|
|
863
|
+
</td><td>
|
|
864
|
+
|
|
865
|
+
string \| [IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md)
|
|
866
|
+
|
|
867
|
+
</td><td>
|
|
868
|
+
|
|
869
|
+
Primitive ID
|
|
870
|
+
|
|
871
|
+
</td></tr>
|
|
872
|
+
<tr><td>
|
|
873
|
+
|
|
874
|
+
property
|
|
875
|
+
|
|
876
|
+
</td><td>
|
|
877
|
+
|
|
878
|
+
{ layer?: [TPCB\_LayersOfComponent](../types/TPCB_LayersOfComponent.md)<!-- -->; x?: number; y?: number; rotation?: number; primitiveLock?: boolean; addIntoBom?: boolean; designator?: string \| null; name?: string \| null; uniqueId?: string \| null; manufacturer?: string \| null; manufacturerId?: string \| null; supplier?: string \| null; supplierId?: string \| null; otherProperty?: Record<string, any> }
|
|
879
|
+
|
|
880
|
+
</td><td>
|
|
881
|
+
|
|
882
|
+
</td></tr>
|
|
883
|
+
</tbody></table>
|
|
884
|
+
|
|
885
|
+
## Returns
|
|
886
|
+
|
|
887
|
+
Promise<[IPCB\_PrimitiveComponent](./IPCB_PrimitiveComponent.md) \| undefined>
|
|
888
|
+
|
|
889
|
+
Device primitive object
|
|
890
|
+
|
|
891
|
+
## Example
|
|
892
|
+
|
|
893
|
+
```javascript
|
|
894
|
+
// 1. 放置待修改的测试器件(随机坐标避免与画布已有器件重合):
|
|
895
|
+
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
896
|
+
const x = 20000 + Math.floor(Math.random() * 80000);
|
|
897
|
+
const y = 20000 + Math.floor(Math.random() * 80000);
|
|
898
|
+
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
899
|
+
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
900
|
+
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, x, y);
|
|
901
|
+
const compId = comp.getState_PrimitiveId();
|
|
902
|
+
|
|
903
|
+
// 2. 读取修改前的位置与旋转角度
|
|
904
|
+
const beforeX = comp.getState_X();
|
|
905
|
+
const beforeY = comp.getState_Y();
|
|
906
|
+
const beforeRotation = comp.getState_Rotation();
|
|
907
|
+
|
|
908
|
+
// 3. 批量修改:平移 500mil,旋转 0° → 90°
|
|
909
|
+
await eda.pcb_PrimitiveComponent.modify(compId, { x: beforeX + 500, y: beforeY + 500, rotation: 90 });
|
|
910
|
+
|
|
911
|
+
// 4. modify 返回后需要重新 get() 才能读到画布上的最新值
|
|
912
|
+
const refreshed = await eda.pcb_PrimitiveComponent.get(compId);
|
|
913
|
+
|
|
914
|
+
// 5. 修改类保留现场,供观察修改结果
|
|
915
|
+
console.log('primitiveId:', compId);
|
|
916
|
+
console.log('x:', beforeX, '→', refreshed.getState_X());
|
|
917
|
+
console.log('y:', beforeY, '→', refreshed.getState_Y());
|
|
918
|
+
console.log('rotation:', beforeRotation, '→', refreshed.getState_Rotation());
|
|
919
|
+
```
|
|
920
|
+
|
|
921
|
+
### placecomponentwithmouse
|
|
922
|
+
|
|
923
|
+
# PCB\_PrimitiveComponent.placeComponentWithMouse() method
|
|
924
|
+
|
|
925
|
+
> 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.
|
|
926
|
+
|
|
927
|
+
Place with the mouse device
|
|
928
|
+
|
|
929
|
+
## Signature
|
|
930
|
+
|
|
931
|
+
```typescript
|
|
932
|
+
function placeComponentWithMouse(
|
|
933
|
+
component: { libraryUuid: string; uuid: string } | ILIB_DeviceItem | ILIB_DeviceSearchItem,
|
|
934
|
+
): Promise<boolean>;
|
|
935
|
+
```
|
|
936
|
+
|
|
937
|
+
## Parameters
|
|
938
|
+
|
|
939
|
+
<table><thead><tr><th>
|
|
940
|
+
|
|
941
|
+
Parameter
|
|
942
|
+
|
|
943
|
+
</th><th>
|
|
944
|
+
|
|
945
|
+
Type
|
|
946
|
+
|
|
947
|
+
</th><th>
|
|
948
|
+
|
|
949
|
+
Description
|
|
950
|
+
|
|
951
|
+
</th></tr></thead>
|
|
952
|
+
<tbody><tr><td>
|
|
953
|
+
|
|
954
|
+
component
|
|
955
|
+
|
|
956
|
+
</td><td>
|
|
957
|
+
|
|
958
|
+
{ libraryUuid: string; uuid: string } \| [ILIB\_DeviceItem](../interfaces/ILIB_DeviceItem.md) \| [ILIB\_DeviceSearchItem](../interfaces/ILIB_DeviceSearchItem.md)
|
|
959
|
+
|
|
960
|
+
</td><td>
|
|
961
|
+
|
|
962
|
+
Associate library device
|
|
963
|
+
|
|
964
|
+
</td></tr>
|
|
965
|
+
</tbody></table>
|
|
966
|
+
|
|
967
|
+
## Returns
|
|
968
|
+
|
|
969
|
+
Promise<boolean>
|
|
970
|
+
|
|
971
|
+
Whether the device was found
|
|
972
|
+
|
|
973
|
+
## Remarks
|
|
974
|
+
|
|
975
|
+
This API simulates clicking the placement button on the front end. The specified device will be bound to the current mouse and placed on the canvas when the user clicks subsequently
|
|
976
|
+
|
|
977
|
+
The return timing of this API does not wait for the user's placement operation. Once the device is bound to the mouse, this API will immediately return `true`
|
|
978
|
+
|
|
979
|
+
### placefootprintwithmouse
|
|
980
|
+
|
|
981
|
+
# PCB\_PrimitiveComponent.placeFootprintWithMouse() method
|
|
982
|
+
|
|
983
|
+
> 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.
|
|
984
|
+
|
|
985
|
+
Place with the mouse footprint
|
|
986
|
+
|
|
987
|
+
## Signature
|
|
988
|
+
|
|
989
|
+
```typescript
|
|
990
|
+
function placeFootprintWithMouse(
|
|
991
|
+
footprint:
|
|
992
|
+
{ libraryUuid: string; uuid: string } | ILIB_FootprintItem | ILIB_FootprintSearchItem,
|
|
993
|
+
properties?: Record<string, boolean | number | string | undefined>,
|
|
994
|
+
): Promise<boolean>;
|
|
995
|
+
```
|
|
996
|
+
|
|
997
|
+
## Parameters
|
|
998
|
+
|
|
999
|
+
<table><thead><tr><th>
|
|
1000
|
+
|
|
1001
|
+
Parameter
|
|
1002
|
+
|
|
1003
|
+
</th><th>
|
|
1004
|
+
|
|
1005
|
+
Type
|
|
1006
|
+
|
|
1007
|
+
</th><th>
|
|
1008
|
+
|
|
1009
|
+
Description
|
|
1010
|
+
|
|
1011
|
+
</th></tr></thead>
|
|
1012
|
+
<tbody><tr><td>
|
|
1013
|
+
|
|
1014
|
+
footprint
|
|
1015
|
+
|
|
1016
|
+
</td><td>
|
|
1017
|
+
|
|
1018
|
+
{ libraryUuid: string; uuid: string } \| [ILIB\_FootprintItem](../interfaces/ILIB_FootprintItem.md) \| [ILIB\_FootprintSearchItem](../interfaces/ILIB_FootprintSearchItem.md)
|
|
1019
|
+
|
|
1020
|
+
</td><td>
|
|
1021
|
+
|
|
1022
|
+
Associate library footprint
|
|
1023
|
+
|
|
1024
|
+
</td></tr>
|
|
1025
|
+
<tr><td>
|
|
1026
|
+
|
|
1027
|
+
properties
|
|
1028
|
+
|
|
1029
|
+
</td><td>
|
|
1030
|
+
|
|
1031
|
+
Record<string, boolean \| number \| string \| undefined>
|
|
1032
|
+
|
|
1033
|
+
</td><td>
|
|
1034
|
+
|
|
1035
|
+
_(Optional)_ Device property
|
|
1036
|
+
|
|
1037
|
+
</td></tr>
|
|
1038
|
+
</tbody></table>
|
|
1039
|
+
|
|
1040
|
+
## Returns
|
|
1041
|
+
|
|
1042
|
+
Promise<boolean>
|
|
1043
|
+
|
|
1044
|
+
Whether the footprint was found
|
|
1045
|
+
|
|
1046
|
+
## Remarks
|
|
1047
|
+
|
|
1048
|
+
This API simulates clicking the placement button on the front end. The specified footprint will be bound to the current mouse and placed on the canvas when the user clicks subsequently
|
|
1049
|
+
|
|
1050
|
+
The return timing of this API does not wait for the user's placement operation. Once the footprint is bound to the mouse, this API will immediately return `true` ADD since API v0.2.26
|