@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,495 +1,495 @@
|
|
|
1
|
-
# PCB\_SelectControl class
|
|
2
|
-
|
|
3
|
-
PCB & footprint / selection control class
|
|
4
|
-
|
|
5
|
-
## Signature
|
|
6
|
-
|
|
7
|
-
```typescript
|
|
8
|
-
class PCB_SelectControl
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Remarks
|
|
12
|
-
|
|
13
|
-
Get or operate the selected elements
|
|
14
|
-
|
|
15
|
-
## Methods
|
|
16
|
-
|
|
17
|
-
<table><thead><tr><th>
|
|
18
|
-
|
|
19
|
-
Method
|
|
20
|
-
|
|
21
|
-
</th><th>
|
|
22
|
-
|
|
23
|
-
Modifiers
|
|
24
|
-
|
|
25
|
-
</th><th>
|
|
26
|
-
|
|
27
|
-
Description
|
|
28
|
-
|
|
29
|
-
</th></tr></thead>
|
|
30
|
-
<tbody><tr><td>
|
|
31
|
-
|
|
32
|
-
[clearSelected()](./PCB_SelectControl.md)
|
|
33
|
-
|
|
34
|
-
</td><td>
|
|
35
|
-
|
|
36
|
-
</td><td>
|
|
37
|
-
|
|
38
|
-
**_(BETA)_** Clear the selection
|
|
39
|
-
|
|
40
|
-
</td></tr>
|
|
41
|
-
<tr><td>
|
|
42
|
-
|
|
43
|
-
[doCrossProbeSelect(components, pins, nets, highlight, select)](./PCB_SelectControl.md)
|
|
44
|
-
|
|
45
|
-
</td><td>
|
|
46
|
-
|
|
47
|
-
</td><td>
|
|
48
|
-
|
|
49
|
-
**_(BETA)_** Perform cross-probe selection
|
|
50
|
-
|
|
51
|
-
</td></tr>
|
|
52
|
-
<tr><td>
|
|
53
|
-
|
|
54
|
-
[doSelectPrimitives(primitiveIds)](./PCB_SelectControl.md)
|
|
55
|
-
|
|
56
|
-
</td><td>
|
|
57
|
-
|
|
58
|
-
</td><td>
|
|
59
|
-
|
|
60
|
-
**_(BETA)_** Select primitives using primitive IDs
|
|
61
|
-
|
|
62
|
-
</td></tr>
|
|
63
|
-
<tr><td>
|
|
64
|
-
|
|
65
|
-
[getAllSelectedPrimitives\_PrimitiveId()](./PCB_SelectControl.md)
|
|
66
|
-
|
|
67
|
-
</td><td>
|
|
68
|
-
|
|
69
|
-
</td><td>
|
|
70
|
-
|
|
71
|
-
**_(BETA)_** Query the primitive IDs of all selected primitives
|
|
72
|
-
|
|
73
|
-
</td></tr>
|
|
74
|
-
<tr><td>
|
|
75
|
-
|
|
76
|
-
[getAllSelectedPrimitives()](./PCB_SelectControl.md)
|
|
77
|
-
|
|
78
|
-
</td><td>
|
|
79
|
-
|
|
80
|
-
</td><td>
|
|
81
|
-
|
|
82
|
-
**_(BETA)_** Query the primitive objects of all selected primitives
|
|
83
|
-
|
|
84
|
-
</td></tr>
|
|
85
|
-
<tr><td>
|
|
86
|
-
|
|
87
|
-
[getCurrentMousePosition()](./PCB_SelectControl.md)
|
|
88
|
-
|
|
89
|
-
</td><td>
|
|
90
|
-
|
|
91
|
-
</td><td>
|
|
92
|
-
|
|
93
|
-
**_(BETA)_** Get Current the mouse position on the canvas
|
|
94
|
-
|
|
95
|
-
</td></tr>
|
|
96
|
-
<tr><td>
|
|
97
|
-
|
|
98
|
-
[getSelectedPrimitives()](./PCB_SelectControl.md)
|
|
99
|
-
|
|
100
|
-
</td><td>
|
|
101
|
-
|
|
102
|
-
</td><td>
|
|
103
|
-
|
|
104
|
-
**_(BETA)_** Query all parameters of the selected primitives
|
|
105
|
-
|
|
106
|
-
</td></tr>
|
|
107
|
-
</tbody></table>
|
|
108
|
-
|
|
109
|
-
---
|
|
110
|
-
|
|
111
|
-
## 方法详情
|
|
112
|
-
|
|
113
|
-
### clearselected
|
|
114
|
-
|
|
115
|
-
# PCB\_SelectControl.clearSelected() method
|
|
116
|
-
|
|
117
|
-
> 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.
|
|
118
|
-
|
|
119
|
-
Clear the selection
|
|
120
|
-
|
|
121
|
-
## Signature
|
|
122
|
-
|
|
123
|
-
```typescript
|
|
124
|
-
function clearSelected(): Promise<boolean>;
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
## Returns
|
|
128
|
-
|
|
129
|
-
Promise<boolean>
|
|
130
|
-
|
|
131
|
-
Whether the operation is successful
|
|
132
|
-
|
|
133
|
-
## Example
|
|
134
|
-
|
|
135
|
-
```javascript
|
|
136
|
-
// 1. 创建测试焊盘并选中它
|
|
137
|
-
const pad = await eda.pcb_PrimitivePad.create(1, '1', 2000, 2000, 0, ['ELLIPSE', 60, 60], '', null, 0, 0, 0, false, 0);
|
|
138
|
-
const padId = pad.getState_PrimitiveId();
|
|
139
|
-
await eda.pcb_SelectControl.doSelectPrimitives([padId]);
|
|
140
|
-
|
|
141
|
-
// 2. 确认清除前有选中图元
|
|
142
|
-
const beforeIds = await eda.pcb_SelectControl.getAllSelectedPrimitives_PrimitiveId();
|
|
143
|
-
console.log('清除前选中数量:', beforeIds.length);
|
|
144
|
-
|
|
145
|
-
// 3. 清除选中
|
|
146
|
-
const cleared = await eda.pcb_SelectControl.clearSelected();
|
|
147
|
-
console.log('cleared:', cleared);
|
|
148
|
-
|
|
149
|
-
// 4. 确认选中集已清空
|
|
150
|
-
const afterIds = await eda.pcb_SelectControl.getAllSelectedPrimitives_PrimitiveId();
|
|
151
|
-
console.log('清除后选中数量:', afterIds.length);
|
|
152
|
-
|
|
153
|
-
// 5. 清理测试图元
|
|
154
|
-
await eda.pcb_PrimitivePad.delete([padId]);
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
### docrossprobeselect
|
|
158
|
-
|
|
159
|
-
# PCB\_SelectControl.doCrossProbeSelect() method
|
|
160
|
-
|
|
161
|
-
> 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.
|
|
162
|
-
|
|
163
|
-
Perform cross-probe selection
|
|
164
|
-
|
|
165
|
-
## Signature
|
|
166
|
-
|
|
167
|
-
```typescript
|
|
168
|
-
function doCrossProbeSelect(
|
|
169
|
-
components?: Array<string>,
|
|
170
|
-
pins?: Array<string>,
|
|
171
|
-
nets?: Array<string>,
|
|
172
|
-
highlight?: boolean,
|
|
173
|
-
select?: boolean,
|
|
174
|
-
): Promise<boolean>;
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
## Parameters
|
|
178
|
-
|
|
179
|
-
<table><thead><tr><th>
|
|
180
|
-
|
|
181
|
-
Parameter
|
|
182
|
-
|
|
183
|
-
</th><th>
|
|
184
|
-
|
|
185
|
-
Type
|
|
186
|
-
|
|
187
|
-
</th><th>
|
|
188
|
-
|
|
189
|
-
Description
|
|
190
|
-
|
|
191
|
-
</th></tr></thead>
|
|
192
|
-
<tbody><tr><td>
|
|
193
|
-
|
|
194
|
-
components
|
|
195
|
-
|
|
196
|
-
</td><td>
|
|
197
|
-
|
|
198
|
-
Array<string>
|
|
199
|
-
|
|
200
|
-
</td><td>
|
|
201
|
-
|
|
202
|
-
_(Optional)_ Device designator
|
|
203
|
-
|
|
204
|
-
</td></tr>
|
|
205
|
-
<tr><td>
|
|
206
|
-
|
|
207
|
-
pins
|
|
208
|
-
|
|
209
|
-
</td><td>
|
|
210
|
-
|
|
211
|
-
Array<string>
|
|
212
|
-
|
|
213
|
-
</td><td>
|
|
214
|
-
|
|
215
|
-
_(Optional)_ Device designator \_ pin number, format is \['U1\_1', 'U1\_2'\]
|
|
216
|
-
|
|
217
|
-
</td></tr>
|
|
218
|
-
<tr><td>
|
|
219
|
-
|
|
220
|
-
nets
|
|
221
|
-
|
|
222
|
-
</td><td>
|
|
223
|
-
|
|
224
|
-
Array<string>
|
|
225
|
-
|
|
226
|
-
</td><td>
|
|
227
|
-
|
|
228
|
-
_(Optional)_ Net name
|
|
229
|
-
|
|
230
|
-
</td></tr>
|
|
231
|
-
<tr><td>
|
|
232
|
-
|
|
233
|
-
highlight
|
|
234
|
-
|
|
235
|
-
</td><td>
|
|
236
|
-
|
|
237
|
-
boolean
|
|
238
|
-
|
|
239
|
-
</td><td>
|
|
240
|
-
|
|
241
|
-
_(Optional)_ Whether to highlight
|
|
242
|
-
|
|
243
|
-
</td></tr>
|
|
244
|
-
<tr><td>
|
|
245
|
-
|
|
246
|
-
select
|
|
247
|
-
|
|
248
|
-
</td><td>
|
|
249
|
-
|
|
250
|
-
boolean
|
|
251
|
-
|
|
252
|
-
</td><td>
|
|
253
|
-
|
|
254
|
-
_(Optional)_ Whether the operation is successful
|
|
255
|
-
|
|
256
|
-
</td></tr>
|
|
257
|
-
</tbody></table>
|
|
258
|
-
|
|
259
|
-
## Returns
|
|
260
|
-
|
|
261
|
-
Promise<boolean>
|
|
262
|
-
|
|
263
|
-
## Example
|
|
264
|
-
|
|
265
|
-
```javascript
|
|
266
|
-
// 1. 创建 2 个挂同一网络的测试焊盘,作为交叉选择的目标
|
|
267
|
-
const netName = '嘉立创示例_NET';
|
|
268
|
-
const pad1 = await eda.pcb_PrimitivePad.create(1, '1', 2000, 2000, 0, ['ELLIPSE', 60, 60], netName, null, 0, 0, 0, false, 0);
|
|
269
|
-
const pad2 = await eda.pcb_PrimitivePad.create(1, '2', 3000, 2000, 0, ['ELLIPSE', 60, 60], netName, null, 0, 0, 0, false, 0);
|
|
270
|
-
const padIds = [pad1.getState_PrimitiveId(), pad2.getState_PrimitiveId()];
|
|
271
|
-
|
|
272
|
-
// 2. 按网络名交叉选择(highlight=true 高亮,select=true 选中)
|
|
273
|
-
const crossProbed = await eda.pcb_SelectControl.doCrossProbeSelect(undefined, undefined, [netName], true, true);
|
|
274
|
-
console.log('crossProbed:', crossProbed);
|
|
275
|
-
|
|
276
|
-
// 3. 确认该网络上的焊盘已进入选中集
|
|
277
|
-
const selectedIds = await eda.pcb_SelectControl.getAllSelectedPrimitives_PrimitiveId();
|
|
278
|
-
console.log('选中图元数量:', selectedIds.length);
|
|
279
|
-
|
|
280
|
-
// 4. 清理选中状态和测试图元
|
|
281
|
-
await eda.pcb_SelectControl.clearSelected();
|
|
282
|
-
await eda.pcb_PrimitivePad.delete(padIds);
|
|
283
|
-
```
|
|
284
|
-
|
|
285
|
-
### doselectprimitives
|
|
286
|
-
|
|
287
|
-
# PCB\_SelectControl.doSelectPrimitives() method
|
|
288
|
-
|
|
289
|
-
> 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.
|
|
290
|
-
|
|
291
|
-
Select primitives using primitive IDs
|
|
292
|
-
|
|
293
|
-
## Signature
|
|
294
|
-
|
|
295
|
-
```typescript
|
|
296
|
-
function doSelectPrimitives(primitiveIds: string | Array<string>): Promise<boolean>;
|
|
297
|
-
```
|
|
298
|
-
|
|
299
|
-
## Parameters
|
|
300
|
-
|
|
301
|
-
<table><thead><tr><th>
|
|
302
|
-
|
|
303
|
-
Parameter
|
|
304
|
-
|
|
305
|
-
</th><th>
|
|
306
|
-
|
|
307
|
-
Type
|
|
308
|
-
|
|
309
|
-
</th><th>
|
|
310
|
-
|
|
311
|
-
Description
|
|
312
|
-
|
|
313
|
-
</th></tr></thead>
|
|
314
|
-
<tbody><tr><td>
|
|
315
|
-
|
|
316
|
-
primitiveIds
|
|
317
|
-
|
|
318
|
-
</td><td>
|
|
319
|
-
|
|
320
|
-
string \| Array<string>
|
|
321
|
-
|
|
322
|
-
</td><td>
|
|
323
|
-
|
|
324
|
-
Primitive ID
|
|
325
|
-
|
|
326
|
-
</td></tr>
|
|
327
|
-
</tbody></table>
|
|
328
|
-
|
|
329
|
-
## Returns
|
|
330
|
-
|
|
331
|
-
Promise<boolean>
|
|
332
|
-
|
|
333
|
-
Whether the operation is successful
|
|
334
|
-
|
|
335
|
-
## Example
|
|
336
|
-
|
|
337
|
-
```javascript
|
|
338
|
-
// 1. 创建测试焊盘
|
|
339
|
-
const pad = await eda.pcb_PrimitivePad.create(1, '1', 2000, 2000, 0, ['ELLIPSE', 60, 60], '', null, 0, 0, 0, false, 0);
|
|
340
|
-
const padId = pad.getState_PrimitiveId();
|
|
341
|
-
|
|
342
|
-
// 2. 用图元 ID 选中焊盘
|
|
343
|
-
const selected = await eda.pcb_SelectControl.doSelectPrimitives([padId]);
|
|
344
|
-
console.log('selected:', selected);
|
|
345
|
-
|
|
346
|
-
// 3. 确认焊盘已在选中集里
|
|
347
|
-
const selectedIds = await eda.pcb_SelectControl.getAllSelectedPrimitives_PrimitiveId();
|
|
348
|
-
console.log('选中数量:', selectedIds.length);
|
|
349
|
-
console.log('包含测试焊盘:', selectedIds.includes(padId));
|
|
350
|
-
|
|
351
|
-
// 4. 清理:清除选中并删除测试图元
|
|
352
|
-
await eda.pcb_SelectControl.clearSelected();
|
|
353
|
-
await eda.pcb_PrimitivePad.delete([padId]);
|
|
354
|
-
```
|
|
355
|
-
|
|
356
|
-
### getallselectedprimitives
|
|
357
|
-
|
|
358
|
-
# PCB\_SelectControl.getAllSelectedPrimitives() method
|
|
359
|
-
|
|
360
|
-
> 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.
|
|
361
|
-
|
|
362
|
-
Query the primitive objects of all selected primitives
|
|
363
|
-
|
|
364
|
-
## Signature
|
|
365
|
-
|
|
366
|
-
```typescript
|
|
367
|
-
function getAllSelectedPrimitives(): Promise<Array<IPCB_Primitive>>;
|
|
368
|
-
```
|
|
369
|
-
|
|
370
|
-
## Returns
|
|
371
|
-
|
|
372
|
-
Promise<Array<[IPCB\_Primitive](../interfaces/IPCB_Primitive.md)<!-- -->>>
|
|
373
|
-
|
|
374
|
-
Primitive objects of all selected primitives
|
|
375
|
-
|
|
376
|
-
## Example
|
|
377
|
-
|
|
378
|
-
```javascript
|
|
379
|
-
// 1. 创建测试焊盘并选中
|
|
380
|
-
const pad = await eda.pcb_PrimitivePad.create(1, '1', 2000, 2000, 0, ['ELLIPSE', 60, 60], '', null, 0, 0, 0, false, 0);
|
|
381
|
-
const padId = pad.getState_PrimitiveId();
|
|
382
|
-
await eda.pcb_SelectControl.doSelectPrimitives([padId]);
|
|
383
|
-
|
|
384
|
-
// 2. 获取所有已选中图元的图元对象
|
|
385
|
-
const primitives = await eda.pcb_SelectControl.getAllSelectedPrimitives();
|
|
386
|
-
console.log('选中图元数量:', primitives.length);
|
|
387
|
-
|
|
388
|
-
// 3. 图元对象可直接调用图元方法读取属性
|
|
389
|
-
const first = primitives[0];
|
|
390
|
-
console.log('primitiveId:', first.getState_PrimitiveId());
|
|
391
|
-
console.log('layer:', first.getState_Layer());
|
|
392
|
-
|
|
393
|
-
// 4. 清理:清除选中并删除测试图元
|
|
394
|
-
await eda.pcb_SelectControl.clearSelected();
|
|
395
|
-
await eda.pcb_PrimitivePad.delete([padId]);
|
|
396
|
-
```
|
|
397
|
-
|
|
398
|
-
### getallselectedprimitives_primitiveid
|
|
399
|
-
|
|
400
|
-
# PCB\_SelectControl.getAllSelectedPrimitives\_PrimitiveId() method
|
|
401
|
-
|
|
402
|
-
> 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.
|
|
403
|
-
|
|
404
|
-
Query the primitive IDs of all selected primitives
|
|
405
|
-
|
|
406
|
-
## Signature
|
|
407
|
-
|
|
408
|
-
```typescript
|
|
409
|
-
function getAllSelectedPrimitives_PrimitiveId(): Promise<Array<string>>;
|
|
410
|
-
```
|
|
411
|
-
|
|
412
|
-
## Returns
|
|
413
|
-
|
|
414
|
-
Promise<Array<string>>
|
|
415
|
-
|
|
416
|
-
Primitive IDs of all selected primitives
|
|
417
|
-
|
|
418
|
-
## Example
|
|
419
|
-
|
|
420
|
-
```javascript
|
|
421
|
-
// 1. 创建 2 个测试焊盘并选中
|
|
422
|
-
const pad1 = await eda.pcb_PrimitivePad.create(1, '1', 2000, 2000, 0, ['ELLIPSE', 60, 60], '', null, 0, 0, 0, false, 0);
|
|
423
|
-
const pad2 = await eda.pcb_PrimitivePad.create(1, '2', 3000, 2000, 0, ['ELLIPSE', 60, 60], '', null, 0, 0, 0, false, 0);
|
|
424
|
-
const padIds = [pad1.getState_PrimitiveId(), pad2.getState_PrimitiveId()];
|
|
425
|
-
await eda.pcb_SelectControl.doSelectPrimitives(padIds);
|
|
426
|
-
|
|
427
|
-
// 2. 查询所有已选中图元的图元 ID
|
|
428
|
-
const selectedIds = await eda.pcb_SelectControl.getAllSelectedPrimitives_PrimitiveId();
|
|
429
|
-
console.log('选中图元数量:', selectedIds.length);
|
|
430
|
-
console.log('包含全部测试焊盘:', padIds.every(id => selectedIds.includes(id)));
|
|
431
|
-
|
|
432
|
-
// 3. 清理:清除选中并删除测试图元
|
|
433
|
-
await eda.pcb_SelectControl.clearSelected();
|
|
434
|
-
await eda.pcb_PrimitivePad.delete(padIds);
|
|
435
|
-
```
|
|
436
|
-
|
|
437
|
-
### getcurrentmouseposition
|
|
438
|
-
|
|
439
|
-
# PCB\_SelectControl.getCurrentMousePosition() method
|
|
440
|
-
|
|
441
|
-
> 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.
|
|
442
|
-
|
|
443
|
-
Get Current the mouse position on the canvas
|
|
444
|
-
|
|
445
|
-
## Signature
|
|
446
|
-
|
|
447
|
-
```typescript
|
|
448
|
-
function getCurrentMousePosition(): Promise<{ x: number; y: number } | undefined>;
|
|
449
|
-
```
|
|
450
|
-
|
|
451
|
-
## Returns
|
|
452
|
-
|
|
453
|
-
Promise<{ x: number; y: number } \| undefined>
|
|
454
|
-
|
|
455
|
-
The mouse position on the canvas. `undefined` means the current mouse is not on the canvas
|
|
456
|
-
|
|
457
|
-
## Example
|
|
458
|
-
|
|
459
|
-
```javascript
|
|
460
|
-
// 1. 查询鼠标当前位置
|
|
461
|
-
const position = await eda.pcb_SelectControl.getCurrentMousePosition();
|
|
462
|
-
|
|
463
|
-
// 2. 鼠标在画布上时输出坐标,不在画布上时返回 undefined
|
|
464
|
-
if (position) {
|
|
465
|
-
console.log('x:', position.x);
|
|
466
|
-
console.log('y:', position.y);
|
|
467
|
-
}
|
|
468
|
-
else {
|
|
469
|
-
console.log('鼠标当前不在画布上');
|
|
470
|
-
}
|
|
471
|
-
```
|
|
472
|
-
|
|
473
|
-
### getselectedprimitives
|
|
474
|
-
|
|
475
|
-
# PCB\_SelectControl.getSelectedPrimitives() method
|
|
476
|
-
|
|
477
|
-
> 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.
|
|
478
|
-
|
|
479
|
-
> Warning: This API is now obsolete.
|
|
480
|
-
>
|
|
481
|
-
> Please use [getAllSelectedPrimitives](./PCB_SelectControl.md) instead
|
|
482
|
-
|
|
483
|
-
Query all parameters of the selected primitives
|
|
484
|
-
|
|
485
|
-
## Signature
|
|
486
|
-
|
|
487
|
-
```typescript
|
|
488
|
-
function getSelectedPrimitives(): Promise<Array<object>>;
|
|
489
|
-
```
|
|
490
|
-
|
|
491
|
-
## Returns
|
|
492
|
-
|
|
493
|
-
Promise<Array<object>>
|
|
494
|
-
|
|
495
|
-
All parameters of the selected primitives
|
|
1
|
+
# PCB\_SelectControl class
|
|
2
|
+
|
|
3
|
+
PCB & footprint / selection control class
|
|
4
|
+
|
|
5
|
+
## Signature
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
class PCB_SelectControl
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Remarks
|
|
12
|
+
|
|
13
|
+
Get or operate the selected elements
|
|
14
|
+
|
|
15
|
+
## Methods
|
|
16
|
+
|
|
17
|
+
<table><thead><tr><th>
|
|
18
|
+
|
|
19
|
+
Method
|
|
20
|
+
|
|
21
|
+
</th><th>
|
|
22
|
+
|
|
23
|
+
Modifiers
|
|
24
|
+
|
|
25
|
+
</th><th>
|
|
26
|
+
|
|
27
|
+
Description
|
|
28
|
+
|
|
29
|
+
</th></tr></thead>
|
|
30
|
+
<tbody><tr><td>
|
|
31
|
+
|
|
32
|
+
[clearSelected()](./PCB_SelectControl.md)
|
|
33
|
+
|
|
34
|
+
</td><td>
|
|
35
|
+
|
|
36
|
+
</td><td>
|
|
37
|
+
|
|
38
|
+
**_(BETA)_** Clear the selection
|
|
39
|
+
|
|
40
|
+
</td></tr>
|
|
41
|
+
<tr><td>
|
|
42
|
+
|
|
43
|
+
[doCrossProbeSelect(components, pins, nets, highlight, select)](./PCB_SelectControl.md)
|
|
44
|
+
|
|
45
|
+
</td><td>
|
|
46
|
+
|
|
47
|
+
</td><td>
|
|
48
|
+
|
|
49
|
+
**_(BETA)_** Perform cross-probe selection
|
|
50
|
+
|
|
51
|
+
</td></tr>
|
|
52
|
+
<tr><td>
|
|
53
|
+
|
|
54
|
+
[doSelectPrimitives(primitiveIds)](./PCB_SelectControl.md)
|
|
55
|
+
|
|
56
|
+
</td><td>
|
|
57
|
+
|
|
58
|
+
</td><td>
|
|
59
|
+
|
|
60
|
+
**_(BETA)_** Select primitives using primitive IDs
|
|
61
|
+
|
|
62
|
+
</td></tr>
|
|
63
|
+
<tr><td>
|
|
64
|
+
|
|
65
|
+
[getAllSelectedPrimitives\_PrimitiveId()](./PCB_SelectControl.md)
|
|
66
|
+
|
|
67
|
+
</td><td>
|
|
68
|
+
|
|
69
|
+
</td><td>
|
|
70
|
+
|
|
71
|
+
**_(BETA)_** Query the primitive IDs of all selected primitives
|
|
72
|
+
|
|
73
|
+
</td></tr>
|
|
74
|
+
<tr><td>
|
|
75
|
+
|
|
76
|
+
[getAllSelectedPrimitives()](./PCB_SelectControl.md)
|
|
77
|
+
|
|
78
|
+
</td><td>
|
|
79
|
+
|
|
80
|
+
</td><td>
|
|
81
|
+
|
|
82
|
+
**_(BETA)_** Query the primitive objects of all selected primitives
|
|
83
|
+
|
|
84
|
+
</td></tr>
|
|
85
|
+
<tr><td>
|
|
86
|
+
|
|
87
|
+
[getCurrentMousePosition()](./PCB_SelectControl.md)
|
|
88
|
+
|
|
89
|
+
</td><td>
|
|
90
|
+
|
|
91
|
+
</td><td>
|
|
92
|
+
|
|
93
|
+
**_(BETA)_** Get Current the mouse position on the canvas
|
|
94
|
+
|
|
95
|
+
</td></tr>
|
|
96
|
+
<tr><td>
|
|
97
|
+
|
|
98
|
+
[getSelectedPrimitives()](./PCB_SelectControl.md)
|
|
99
|
+
|
|
100
|
+
</td><td>
|
|
101
|
+
|
|
102
|
+
</td><td>
|
|
103
|
+
|
|
104
|
+
**_(BETA)_** Query all parameters of the selected primitives
|
|
105
|
+
|
|
106
|
+
</td></tr>
|
|
107
|
+
</tbody></table>
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## 方法详情
|
|
112
|
+
|
|
113
|
+
### clearselected
|
|
114
|
+
|
|
115
|
+
# PCB\_SelectControl.clearSelected() method
|
|
116
|
+
|
|
117
|
+
> 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.
|
|
118
|
+
|
|
119
|
+
Clear the selection
|
|
120
|
+
|
|
121
|
+
## Signature
|
|
122
|
+
|
|
123
|
+
```typescript
|
|
124
|
+
function clearSelected(): Promise<boolean>;
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Returns
|
|
128
|
+
|
|
129
|
+
Promise<boolean>
|
|
130
|
+
|
|
131
|
+
Whether the operation is successful
|
|
132
|
+
|
|
133
|
+
## Example
|
|
134
|
+
|
|
135
|
+
```javascript
|
|
136
|
+
// 1. 创建测试焊盘并选中它
|
|
137
|
+
const pad = await eda.pcb_PrimitivePad.create(1, '1', 2000, 2000, 0, ['ELLIPSE', 60, 60], '', null, 0, 0, 0, false, 0);
|
|
138
|
+
const padId = pad.getState_PrimitiveId();
|
|
139
|
+
await eda.pcb_SelectControl.doSelectPrimitives([padId]);
|
|
140
|
+
|
|
141
|
+
// 2. 确认清除前有选中图元
|
|
142
|
+
const beforeIds = await eda.pcb_SelectControl.getAllSelectedPrimitives_PrimitiveId();
|
|
143
|
+
console.log('清除前选中数量:', beforeIds.length);
|
|
144
|
+
|
|
145
|
+
// 3. 清除选中
|
|
146
|
+
const cleared = await eda.pcb_SelectControl.clearSelected();
|
|
147
|
+
console.log('cleared:', cleared);
|
|
148
|
+
|
|
149
|
+
// 4. 确认选中集已清空
|
|
150
|
+
const afterIds = await eda.pcb_SelectControl.getAllSelectedPrimitives_PrimitiveId();
|
|
151
|
+
console.log('清除后选中数量:', afterIds.length);
|
|
152
|
+
|
|
153
|
+
// 5. 清理测试图元
|
|
154
|
+
await eda.pcb_PrimitivePad.delete([padId]);
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### docrossprobeselect
|
|
158
|
+
|
|
159
|
+
# PCB\_SelectControl.doCrossProbeSelect() method
|
|
160
|
+
|
|
161
|
+
> 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.
|
|
162
|
+
|
|
163
|
+
Perform cross-probe selection
|
|
164
|
+
|
|
165
|
+
## Signature
|
|
166
|
+
|
|
167
|
+
```typescript
|
|
168
|
+
function doCrossProbeSelect(
|
|
169
|
+
components?: Array<string>,
|
|
170
|
+
pins?: Array<string>,
|
|
171
|
+
nets?: Array<string>,
|
|
172
|
+
highlight?: boolean,
|
|
173
|
+
select?: boolean,
|
|
174
|
+
): Promise<boolean>;
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
## Parameters
|
|
178
|
+
|
|
179
|
+
<table><thead><tr><th>
|
|
180
|
+
|
|
181
|
+
Parameter
|
|
182
|
+
|
|
183
|
+
</th><th>
|
|
184
|
+
|
|
185
|
+
Type
|
|
186
|
+
|
|
187
|
+
</th><th>
|
|
188
|
+
|
|
189
|
+
Description
|
|
190
|
+
|
|
191
|
+
</th></tr></thead>
|
|
192
|
+
<tbody><tr><td>
|
|
193
|
+
|
|
194
|
+
components
|
|
195
|
+
|
|
196
|
+
</td><td>
|
|
197
|
+
|
|
198
|
+
Array<string>
|
|
199
|
+
|
|
200
|
+
</td><td>
|
|
201
|
+
|
|
202
|
+
_(Optional)_ Device designator
|
|
203
|
+
|
|
204
|
+
</td></tr>
|
|
205
|
+
<tr><td>
|
|
206
|
+
|
|
207
|
+
pins
|
|
208
|
+
|
|
209
|
+
</td><td>
|
|
210
|
+
|
|
211
|
+
Array<string>
|
|
212
|
+
|
|
213
|
+
</td><td>
|
|
214
|
+
|
|
215
|
+
_(Optional)_ Device designator \_ pin number, format is \['U1\_1', 'U1\_2'\]
|
|
216
|
+
|
|
217
|
+
</td></tr>
|
|
218
|
+
<tr><td>
|
|
219
|
+
|
|
220
|
+
nets
|
|
221
|
+
|
|
222
|
+
</td><td>
|
|
223
|
+
|
|
224
|
+
Array<string>
|
|
225
|
+
|
|
226
|
+
</td><td>
|
|
227
|
+
|
|
228
|
+
_(Optional)_ Net name
|
|
229
|
+
|
|
230
|
+
</td></tr>
|
|
231
|
+
<tr><td>
|
|
232
|
+
|
|
233
|
+
highlight
|
|
234
|
+
|
|
235
|
+
</td><td>
|
|
236
|
+
|
|
237
|
+
boolean
|
|
238
|
+
|
|
239
|
+
</td><td>
|
|
240
|
+
|
|
241
|
+
_(Optional)_ Whether to highlight
|
|
242
|
+
|
|
243
|
+
</td></tr>
|
|
244
|
+
<tr><td>
|
|
245
|
+
|
|
246
|
+
select
|
|
247
|
+
|
|
248
|
+
</td><td>
|
|
249
|
+
|
|
250
|
+
boolean
|
|
251
|
+
|
|
252
|
+
</td><td>
|
|
253
|
+
|
|
254
|
+
_(Optional)_ Whether the operation is successful
|
|
255
|
+
|
|
256
|
+
</td></tr>
|
|
257
|
+
</tbody></table>
|
|
258
|
+
|
|
259
|
+
## Returns
|
|
260
|
+
|
|
261
|
+
Promise<boolean>
|
|
262
|
+
|
|
263
|
+
## Example
|
|
264
|
+
|
|
265
|
+
```javascript
|
|
266
|
+
// 1. 创建 2 个挂同一网络的测试焊盘,作为交叉选择的目标
|
|
267
|
+
const netName = '嘉立创示例_NET';
|
|
268
|
+
const pad1 = await eda.pcb_PrimitivePad.create(1, '1', 2000, 2000, 0, ['ELLIPSE', 60, 60], netName, null, 0, 0, 0, false, 0);
|
|
269
|
+
const pad2 = await eda.pcb_PrimitivePad.create(1, '2', 3000, 2000, 0, ['ELLIPSE', 60, 60], netName, null, 0, 0, 0, false, 0);
|
|
270
|
+
const padIds = [pad1.getState_PrimitiveId(), pad2.getState_PrimitiveId()];
|
|
271
|
+
|
|
272
|
+
// 2. 按网络名交叉选择(highlight=true 高亮,select=true 选中)
|
|
273
|
+
const crossProbed = await eda.pcb_SelectControl.doCrossProbeSelect(undefined, undefined, [netName], true, true);
|
|
274
|
+
console.log('crossProbed:', crossProbed);
|
|
275
|
+
|
|
276
|
+
// 3. 确认该网络上的焊盘已进入选中集
|
|
277
|
+
const selectedIds = await eda.pcb_SelectControl.getAllSelectedPrimitives_PrimitiveId();
|
|
278
|
+
console.log('选中图元数量:', selectedIds.length);
|
|
279
|
+
|
|
280
|
+
// 4. 清理选中状态和测试图元
|
|
281
|
+
await eda.pcb_SelectControl.clearSelected();
|
|
282
|
+
await eda.pcb_PrimitivePad.delete(padIds);
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
### doselectprimitives
|
|
286
|
+
|
|
287
|
+
# PCB\_SelectControl.doSelectPrimitives() method
|
|
288
|
+
|
|
289
|
+
> 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.
|
|
290
|
+
|
|
291
|
+
Select primitives using primitive IDs
|
|
292
|
+
|
|
293
|
+
## Signature
|
|
294
|
+
|
|
295
|
+
```typescript
|
|
296
|
+
function doSelectPrimitives(primitiveIds: string | Array<string>): Promise<boolean>;
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
## Parameters
|
|
300
|
+
|
|
301
|
+
<table><thead><tr><th>
|
|
302
|
+
|
|
303
|
+
Parameter
|
|
304
|
+
|
|
305
|
+
</th><th>
|
|
306
|
+
|
|
307
|
+
Type
|
|
308
|
+
|
|
309
|
+
</th><th>
|
|
310
|
+
|
|
311
|
+
Description
|
|
312
|
+
|
|
313
|
+
</th></tr></thead>
|
|
314
|
+
<tbody><tr><td>
|
|
315
|
+
|
|
316
|
+
primitiveIds
|
|
317
|
+
|
|
318
|
+
</td><td>
|
|
319
|
+
|
|
320
|
+
string \| Array<string>
|
|
321
|
+
|
|
322
|
+
</td><td>
|
|
323
|
+
|
|
324
|
+
Primitive ID
|
|
325
|
+
|
|
326
|
+
</td></tr>
|
|
327
|
+
</tbody></table>
|
|
328
|
+
|
|
329
|
+
## Returns
|
|
330
|
+
|
|
331
|
+
Promise<boolean>
|
|
332
|
+
|
|
333
|
+
Whether the operation is successful
|
|
334
|
+
|
|
335
|
+
## Example
|
|
336
|
+
|
|
337
|
+
```javascript
|
|
338
|
+
// 1. 创建测试焊盘
|
|
339
|
+
const pad = await eda.pcb_PrimitivePad.create(1, '1', 2000, 2000, 0, ['ELLIPSE', 60, 60], '', null, 0, 0, 0, false, 0);
|
|
340
|
+
const padId = pad.getState_PrimitiveId();
|
|
341
|
+
|
|
342
|
+
// 2. 用图元 ID 选中焊盘
|
|
343
|
+
const selected = await eda.pcb_SelectControl.doSelectPrimitives([padId]);
|
|
344
|
+
console.log('selected:', selected);
|
|
345
|
+
|
|
346
|
+
// 3. 确认焊盘已在选中集里
|
|
347
|
+
const selectedIds = await eda.pcb_SelectControl.getAllSelectedPrimitives_PrimitiveId();
|
|
348
|
+
console.log('选中数量:', selectedIds.length);
|
|
349
|
+
console.log('包含测试焊盘:', selectedIds.includes(padId));
|
|
350
|
+
|
|
351
|
+
// 4. 清理:清除选中并删除测试图元
|
|
352
|
+
await eda.pcb_SelectControl.clearSelected();
|
|
353
|
+
await eda.pcb_PrimitivePad.delete([padId]);
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
### getallselectedprimitives
|
|
357
|
+
|
|
358
|
+
# PCB\_SelectControl.getAllSelectedPrimitives() method
|
|
359
|
+
|
|
360
|
+
> 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.
|
|
361
|
+
|
|
362
|
+
Query the primitive objects of all selected primitives
|
|
363
|
+
|
|
364
|
+
## Signature
|
|
365
|
+
|
|
366
|
+
```typescript
|
|
367
|
+
function getAllSelectedPrimitives(): Promise<Array<IPCB_Primitive>>;
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
## Returns
|
|
371
|
+
|
|
372
|
+
Promise<Array<[IPCB\_Primitive](../interfaces/IPCB_Primitive.md)<!-- -->>>
|
|
373
|
+
|
|
374
|
+
Primitive objects of all selected primitives
|
|
375
|
+
|
|
376
|
+
## Example
|
|
377
|
+
|
|
378
|
+
```javascript
|
|
379
|
+
// 1. 创建测试焊盘并选中
|
|
380
|
+
const pad = await eda.pcb_PrimitivePad.create(1, '1', 2000, 2000, 0, ['ELLIPSE', 60, 60], '', null, 0, 0, 0, false, 0);
|
|
381
|
+
const padId = pad.getState_PrimitiveId();
|
|
382
|
+
await eda.pcb_SelectControl.doSelectPrimitives([padId]);
|
|
383
|
+
|
|
384
|
+
// 2. 获取所有已选中图元的图元对象
|
|
385
|
+
const primitives = await eda.pcb_SelectControl.getAllSelectedPrimitives();
|
|
386
|
+
console.log('选中图元数量:', primitives.length);
|
|
387
|
+
|
|
388
|
+
// 3. 图元对象可直接调用图元方法读取属性
|
|
389
|
+
const first = primitives[0];
|
|
390
|
+
console.log('primitiveId:', first.getState_PrimitiveId());
|
|
391
|
+
console.log('layer:', first.getState_Layer());
|
|
392
|
+
|
|
393
|
+
// 4. 清理:清除选中并删除测试图元
|
|
394
|
+
await eda.pcb_SelectControl.clearSelected();
|
|
395
|
+
await eda.pcb_PrimitivePad.delete([padId]);
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
### getallselectedprimitives_primitiveid
|
|
399
|
+
|
|
400
|
+
# PCB\_SelectControl.getAllSelectedPrimitives\_PrimitiveId() method
|
|
401
|
+
|
|
402
|
+
> 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.
|
|
403
|
+
|
|
404
|
+
Query the primitive IDs of all selected primitives
|
|
405
|
+
|
|
406
|
+
## Signature
|
|
407
|
+
|
|
408
|
+
```typescript
|
|
409
|
+
function getAllSelectedPrimitives_PrimitiveId(): Promise<Array<string>>;
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
## Returns
|
|
413
|
+
|
|
414
|
+
Promise<Array<string>>
|
|
415
|
+
|
|
416
|
+
Primitive IDs of all selected primitives
|
|
417
|
+
|
|
418
|
+
## Example
|
|
419
|
+
|
|
420
|
+
```javascript
|
|
421
|
+
// 1. 创建 2 个测试焊盘并选中
|
|
422
|
+
const pad1 = await eda.pcb_PrimitivePad.create(1, '1', 2000, 2000, 0, ['ELLIPSE', 60, 60], '', null, 0, 0, 0, false, 0);
|
|
423
|
+
const pad2 = await eda.pcb_PrimitivePad.create(1, '2', 3000, 2000, 0, ['ELLIPSE', 60, 60], '', null, 0, 0, 0, false, 0);
|
|
424
|
+
const padIds = [pad1.getState_PrimitiveId(), pad2.getState_PrimitiveId()];
|
|
425
|
+
await eda.pcb_SelectControl.doSelectPrimitives(padIds);
|
|
426
|
+
|
|
427
|
+
// 2. 查询所有已选中图元的图元 ID
|
|
428
|
+
const selectedIds = await eda.pcb_SelectControl.getAllSelectedPrimitives_PrimitiveId();
|
|
429
|
+
console.log('选中图元数量:', selectedIds.length);
|
|
430
|
+
console.log('包含全部测试焊盘:', padIds.every(id => selectedIds.includes(id)));
|
|
431
|
+
|
|
432
|
+
// 3. 清理:清除选中并删除测试图元
|
|
433
|
+
await eda.pcb_SelectControl.clearSelected();
|
|
434
|
+
await eda.pcb_PrimitivePad.delete(padIds);
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
### getcurrentmouseposition
|
|
438
|
+
|
|
439
|
+
# PCB\_SelectControl.getCurrentMousePosition() method
|
|
440
|
+
|
|
441
|
+
> 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.
|
|
442
|
+
|
|
443
|
+
Get Current the mouse position on the canvas
|
|
444
|
+
|
|
445
|
+
## Signature
|
|
446
|
+
|
|
447
|
+
```typescript
|
|
448
|
+
function getCurrentMousePosition(): Promise<{ x: number; y: number } | undefined>;
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
## Returns
|
|
452
|
+
|
|
453
|
+
Promise<{ x: number; y: number } \| undefined>
|
|
454
|
+
|
|
455
|
+
The mouse position on the canvas. `undefined` means the current mouse is not on the canvas
|
|
456
|
+
|
|
457
|
+
## Example
|
|
458
|
+
|
|
459
|
+
```javascript
|
|
460
|
+
// 1. 查询鼠标当前位置
|
|
461
|
+
const position = await eda.pcb_SelectControl.getCurrentMousePosition();
|
|
462
|
+
|
|
463
|
+
// 2. 鼠标在画布上时输出坐标,不在画布上时返回 undefined
|
|
464
|
+
if (position) {
|
|
465
|
+
console.log('x:', position.x);
|
|
466
|
+
console.log('y:', position.y);
|
|
467
|
+
}
|
|
468
|
+
else {
|
|
469
|
+
console.log('鼠标当前不在画布上');
|
|
470
|
+
}
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
### getselectedprimitives
|
|
474
|
+
|
|
475
|
+
# PCB\_SelectControl.getSelectedPrimitives() method
|
|
476
|
+
|
|
477
|
+
> 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.
|
|
478
|
+
|
|
479
|
+
> Warning: This API is now obsolete.
|
|
480
|
+
>
|
|
481
|
+
> Please use [getAllSelectedPrimitives](./PCB_SelectControl.md) instead
|
|
482
|
+
|
|
483
|
+
Query all parameters of the selected primitives
|
|
484
|
+
|
|
485
|
+
## Signature
|
|
486
|
+
|
|
487
|
+
```typescript
|
|
488
|
+
function getSelectedPrimitives(): Promise<Array<object>>;
|
|
489
|
+
```
|
|
490
|
+
|
|
491
|
+
## Returns
|
|
492
|
+
|
|
493
|
+
Promise<Array<object>>
|
|
494
|
+
|
|
495
|
+
All parameters of the selected primitives
|