@windypro-rourou/dsh-eda 0.1.4 → 0.1.6
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/backend.js +49 -0
- package/lib/capabilities.js +6 -2
- package/lib/client.js +33 -0
- package/lib/index.js +197 -3
- 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,754 +1,737 @@
|
|
|
1
|
-
# SCH\_PrimitivePin class
|
|
2
|
-
|
|
3
|
-
Schematic & symbol / pin primitive class
|
|
4
|
-
|
|
5
|
-
## Signature
|
|
6
|
-
|
|
7
|
-
```typescript
|
|
8
|
-
class SCH_PrimitivePin implements ISCH_PrimitiveAPI
|
|
9
|
-
```
|
|
10
|
-
**Implements:** [ISCH\_PrimitiveAPI](../interfaces/ISCH_PrimitiveAPI.md)
|
|
11
|
-
|
|
12
|
-
## Remarks
|
|
13
|
-
|
|
14
|
-
Pin primitives are only available in the symbol editor. In a schematic sheet, the pin associated with a symbol is called [a device pin primitive](./ISCH_PrimitiveComponentPin.md)
|
|
15
|
-
|
|
16
|
-
## Methods
|
|
17
|
-
|
|
18
|
-
<table><thead><tr><th>
|
|
19
|
-
|
|
20
|
-
Method
|
|
21
|
-
|
|
22
|
-
</th><th>
|
|
23
|
-
|
|
24
|
-
Modifiers
|
|
25
|
-
|
|
26
|
-
</th><th>
|
|
27
|
-
|
|
28
|
-
Description
|
|
29
|
-
|
|
30
|
-
</th></tr></thead>
|
|
31
|
-
<tbody><tr><td>
|
|
32
|
-
|
|
33
|
-
[create(x, y, pinNumber, pinName, rotation, pinLength, pinColor, pinShape, pinType)](./SCH_PrimitivePin.md)
|
|
34
|
-
|
|
35
|
-
</td><td>
|
|
36
|
-
|
|
37
|
-
</td><td>
|
|
38
|
-
|
|
39
|
-
**_(BETA)_** Create Pin
|
|
40
|
-
|
|
41
|
-
</td></tr>
|
|
42
|
-
<tr><td>
|
|
43
|
-
|
|
44
|
-
[delete(primitiveIds)](./SCH_PrimitivePin.md)
|
|
45
|
-
|
|
46
|
-
</td><td>
|
|
47
|
-
|
|
48
|
-
</td><td>
|
|
49
|
-
|
|
50
|
-
**_(BETA)_** Delete Pin
|
|
51
|
-
|
|
52
|
-
</td></tr>
|
|
53
|
-
<tr><td>
|
|
54
|
-
|
|
55
|
-
[get(primitiveIds)](./SCH_PrimitivePin.md)
|
|
56
|
-
|
|
57
|
-
</td><td>
|
|
58
|
-
|
|
59
|
-
</td><td>
|
|
60
|
-
|
|
61
|
-
**_(BETA)_** Get Pin
|
|
62
|
-
|
|
63
|
-
</td></tr>
|
|
64
|
-
<tr><td>
|
|
65
|
-
|
|
66
|
-
[get(primitiveIds)](./SCH_PrimitivePin.md)
|
|
67
|
-
|
|
68
|
-
</td><td>
|
|
69
|
-
|
|
70
|
-
</td><td>
|
|
71
|
-
|
|
72
|
-
**_(BETA)_** Get Pin
|
|
73
|
-
|
|
74
|
-
</td></tr>
|
|
75
|
-
<tr><td>
|
|
76
|
-
|
|
77
|
-
[getAll()](./SCH_PrimitivePin.md)
|
|
78
|
-
|
|
79
|
-
</td><td>
|
|
80
|
-
|
|
81
|
-
</td><td>
|
|
82
|
-
|
|
83
|
-
**_(BETA)_** Get all Pin
|
|
84
|
-
|
|
85
|
-
</td></tr>
|
|
86
|
-
<tr><td>
|
|
87
|
-
|
|
88
|
-
[getAllPrimitiveId()](./SCH_PrimitivePin.md)
|
|
89
|
-
|
|
90
|
-
</td><td>
|
|
91
|
-
|
|
92
|
-
</td><td>
|
|
93
|
-
|
|
94
|
-
**_(BETA)_** Get all Pin primitive IDs
|
|
95
|
-
|
|
96
|
-
</td></tr>
|
|
97
|
-
<tr><td>
|
|
98
|
-
|
|
99
|
-
[modify(primitiveId, property)](./SCH_PrimitivePin.md)
|
|
100
|
-
|
|
101
|
-
</td><td>
|
|
102
|
-
|
|
103
|
-
</td><td>
|
|
104
|
-
|
|
105
|
-
**_(BETA)_** Modify Pin
|
|
106
|
-
|
|
107
|
-
</td></tr>
|
|
108
|
-
</tbody></table>
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## 方法详情
|
|
113
|
-
|
|
114
|
-
### create
|
|
115
|
-
|
|
116
|
-
# SCH\_PrimitivePin.create() method
|
|
117
|
-
|
|
118
|
-
> 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.
|
|
119
|
-
|
|
120
|
-
Create Pin
|
|
121
|
-
|
|
122
|
-
## Signature
|
|
123
|
-
|
|
124
|
-
```typescript
|
|
125
|
-
function create(
|
|
126
|
-
x: number,
|
|
127
|
-
y: number,
|
|
128
|
-
pinNumber: string,
|
|
129
|
-
pinName?: string,
|
|
130
|
-
rotation?: number,
|
|
131
|
-
pinLength?: number,
|
|
132
|
-
pinColor?: string | null,
|
|
133
|
-
pinShape?: ESCH_PrimitivePinShape,
|
|
134
|
-
pinType?: ESCH_PrimitivePinType,
|
|
135
|
-
): Promise<ISCH_PrimitivePin | undefined>;
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
## Parameters
|
|
139
|
-
|
|
140
|
-
<table><thead><tr><th>
|
|
141
|
-
|
|
142
|
-
Parameter
|
|
143
|
-
|
|
144
|
-
</th><th>
|
|
145
|
-
|
|
146
|
-
Type
|
|
147
|
-
|
|
148
|
-
</th><th>
|
|
149
|
-
|
|
150
|
-
Description
|
|
151
|
-
|
|
152
|
-
</th></tr></thead>
|
|
153
|
-
<tbody><tr><td>
|
|
154
|
-
|
|
155
|
-
x
|
|
156
|
-
|
|
157
|
-
</td><td>
|
|
158
|
-
|
|
159
|
-
number
|
|
160
|
-
|
|
161
|
-
</td><td>
|
|
162
|
-
|
|
163
|
-
X coordinate
|
|
164
|
-
|
|
165
|
-
</td></tr>
|
|
166
|
-
<tr><td>
|
|
167
|
-
|
|
168
|
-
y
|
|
169
|
-
|
|
170
|
-
</td><td>
|
|
171
|
-
|
|
172
|
-
number
|
|
173
|
-
|
|
174
|
-
</td><td>
|
|
175
|
-
|
|
176
|
-
Y coordinate
|
|
177
|
-
|
|
178
|
-
</td></tr>
|
|
179
|
-
<tr><td>
|
|
180
|
-
|
|
181
|
-
pinNumber
|
|
182
|
-
|
|
183
|
-
</td><td>
|
|
184
|
-
|
|
185
|
-
string
|
|
186
|
-
|
|
187
|
-
</td><td>
|
|
188
|
-
|
|
189
|
-
Pin number
|
|
190
|
-
|
|
191
|
-
</td></tr>
|
|
192
|
-
<tr><td>
|
|
193
|
-
|
|
194
|
-
pinName
|
|
195
|
-
|
|
196
|
-
</td><td>
|
|
197
|
-
|
|
198
|
-
string
|
|
199
|
-
|
|
200
|
-
</td><td>
|
|
201
|
-
|
|
202
|
-
_(Optional)_ Pin name
|
|
203
|
-
|
|
204
|
-
</td></tr>
|
|
205
|
-
<tr><td>
|
|
206
|
-
|
|
207
|
-
rotation
|
|
208
|
-
|
|
209
|
-
</td><td>
|
|
210
|
-
|
|
211
|
-
number
|
|
212
|
-
|
|
213
|
-
</td><td>
|
|
214
|
-
|
|
215
|
-
_(Optional)_ Rotation angle. Options: `0` `90` `180` `270`
|
|
216
|
-
|
|
217
|
-
</td></tr>
|
|
218
|
-
<tr><td>
|
|
219
|
-
|
|
220
|
-
pinLength
|
|
221
|
-
|
|
222
|
-
</td><td>
|
|
223
|
-
|
|
224
|
-
number
|
|
225
|
-
|
|
226
|
-
</td><td>
|
|
227
|
-
|
|
228
|
-
_(Optional)_ Pin length
|
|
229
|
-
|
|
230
|
-
</td></tr>
|
|
231
|
-
<tr><td>
|
|
232
|
-
|
|
233
|
-
pinColor
|
|
234
|
-
|
|
235
|
-
</td><td>
|
|
236
|
-
|
|
237
|
-
string \| null
|
|
238
|
-
|
|
239
|
-
</td><td>
|
|
240
|
-
|
|
241
|
-
_(Optional)_ Pin color, `null` indicates the default
|
|
242
|
-
|
|
243
|
-
</td></tr>
|
|
244
|
-
<tr><td>
|
|
245
|
-
|
|
246
|
-
pinShape
|
|
247
|
-
|
|
248
|
-
</td><td>
|
|
249
|
-
|
|
250
|
-
[ESCH\_PrimitivePinShape](../enums/ESCH_PrimitivePinShape.md)
|
|
251
|
-
|
|
252
|
-
</td><td>
|
|
253
|
-
|
|
254
|
-
_(Optional)_ Pin shape
|
|
255
|
-
|
|
256
|
-
</td></tr>
|
|
257
|
-
<tr><td>
|
|
258
|
-
|
|
259
|
-
pinType
|
|
260
|
-
|
|
261
|
-
</td><td>
|
|
262
|
-
|
|
263
|
-
[ESCH\_PrimitivePinType](../enums/ESCH_PrimitivePinType.md)
|
|
264
|
-
|
|
265
|
-
</td><td>
|
|
266
|
-
|
|
267
|
-
_(Optional)_ Pin type
|
|
268
|
-
|
|
269
|
-
</td></tr>
|
|
270
|
-
</tbody></table>
|
|
271
|
-
|
|
272
|
-
## Returns
|
|
273
|
-
|
|
274
|
-
Promise<[ISCH\_PrimitivePin](./ISCH_PrimitivePin.md) \| undefined>
|
|
275
|
-
|
|
276
|
-
Pin primitive object
|
|
277
|
-
|
|
278
|
-
## Example
|
|
279
|
-
|
|
280
|
-
```javascript
|
|
281
|
-
// 0. 引脚图元仅符号编辑器可用:优先复用测试符号,没有则新建后打开
|
|
282
|
-
// (当前版本非空关键字 search 会抛错,用空关键字列出后按名称过滤)
|
|
283
|
-
const libUuid = await eda.lib_LibrariesList.getPersonalLibraryUuid();
|
|
284
|
-
const found = await eda.lib_Symbol.search('', libUuid, [], undefined, 100, 1);
|
|
285
|
-
const hit = found.find(s => s.name === '嘉立创示例_Pin测试符号');
|
|
286
|
-
const symUuid = hit ? hit.uuid : await eda.lib_Symbol.create(libUuid, '嘉立创示例_Pin测试符号');
|
|
287
|
-
await eda.lib_Symbol.openInEditor(symUuid, libUuid);
|
|
288
|
-
|
|
289
|
-
// 1. 随机放置坐标,避免与符号上已有引脚重合(SCH 坐标单位 10mil)
|
|
290
|
-
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
291
|
-
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
292
|
-
|
|
293
|
-
// 2. 创建编号 1、名为 CLK 的引脚:朝向 90 度、长 20、红色、时钟形状、输入类型
|
|
294
|
-
const pin = await eda.sch_PrimitivePin.create(x, y, '1', 'CLK', 90, 20, '#FF0000', 'Clock', 'IN');
|
|
295
|
-
|
|
296
|
-
// 3. 创建类保留现场,不删除图元
|
|
297
|
-
console.log('primitiveId:', pin.getState_PrimitiveId());
|
|
298
|
-
console.log('primitiveType:', pin.getState_PrimitiveType());
|
|
299
|
-
console.log('pinNumber:', pin.getState_PinNumber(), 'pinName:', pin.getState_PinName());
|
|
300
|
-
console.log('x:', pin.getState_X(), 'y:', pin.getState_Y());
|
|
301
|
-
console.log('pinLength:', pin.getState_PinLength());
|
|
302
|
-
console.log('pinColor:', pin.getState_PinColor());
|
|
303
|
-
console.log('pinShape:', pin.getState_PinShape(), 'pinType:', pin.getState_pinType());
|
|
304
|
-
```
|
|
305
|
-
|
|
306
|
-
### delete
|
|
307
|
-
|
|
308
|
-
# SCH\_PrimitivePin.delete() method
|
|
309
|
-
|
|
310
|
-
> 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.
|
|
311
|
-
|
|
312
|
-
Delete Pin
|
|
313
|
-
|
|
314
|
-
## Signature
|
|
315
|
-
|
|
316
|
-
```typescript
|
|
317
|
-
function delete(primitiveIds: string | ISCH_PrimitivePin | Array<string> | Array<ISCH_PrimitivePin>): Promise<boolean>;
|
|
318
|
-
```
|
|
319
|
-
|
|
320
|
-
## Parameters
|
|
321
|
-
|
|
322
|
-
<table><thead><tr><th>
|
|
323
|
-
|
|
324
|
-
Parameter
|
|
325
|
-
|
|
326
|
-
</th><th>
|
|
327
|
-
|
|
328
|
-
Type
|
|
329
|
-
|
|
330
|
-
</th><th>
|
|
331
|
-
|
|
332
|
-
Description
|
|
333
|
-
|
|
334
|
-
</th></tr></thead>
|
|
335
|
-
<tbody><tr><td>
|
|
336
|
-
|
|
337
|
-
primitiveIds
|
|
338
|
-
|
|
339
|
-
</td><td>
|
|
340
|
-
|
|
341
|
-
string \| [ISCH\_PrimitivePin](./ISCH_PrimitivePin.md) \| Array<string> \| Array<[ISCH\_PrimitivePin](./ISCH_PrimitivePin.md)<!-- -->>
|
|
342
|
-
|
|
343
|
-
</td><td>
|
|
344
|
-
|
|
345
|
-
Pin primitive ID or Pin primitive object
|
|
346
|
-
|
|
347
|
-
</td></tr>
|
|
348
|
-
</tbody></table>
|
|
349
|
-
|
|
350
|
-
## Returns
|
|
351
|
-
|
|
352
|
-
Promise<boolean>
|
|
353
|
-
|
|
354
|
-
Delete Whether the operation is successful
|
|
355
|
-
|
|
356
|
-
## Example
|
|
357
|
-
|
|
358
|
-
```javascript
|
|
359
|
-
// 0. 引脚图元仅符号编辑器可用:优先复用测试符号,没有则新建后打开
|
|
360
|
-
// (当前版本非空关键字 search 会抛错,用空关键字列出后按名称过滤)
|
|
361
|
-
const libUuid = await eda.lib_LibrariesList.getPersonalLibraryUuid();
|
|
362
|
-
const found = await eda.lib_Symbol.search('', libUuid, [], undefined, 100, 1);
|
|
363
|
-
const hit = found.find(s => s.name === '嘉立创示例_Pin测试符号');
|
|
364
|
-
const symUuid = hit ? hit.uuid : await eda.lib_Symbol.create(libUuid, '嘉立创示例_Pin测试符号');
|
|
365
|
-
await eda.lib_Symbol.openInEditor(symUuid, libUuid);
|
|
366
|
-
|
|
367
|
-
// 1. 创建两个待删除的测试引脚(随机坐标避免重合)
|
|
368
|
-
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
369
|
-
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
370
|
-
const pin1 = await eda.sch_PrimitivePin.create(x, y, '1', 'DEL1', 0, 10, null, 'None', 'Passive');
|
|
371
|
-
const pin2 = await eda.sch_PrimitivePin.create(x, y + 200, '2', 'DEL2', 0, 10, null, 'None', 'Passive');
|
|
372
|
-
|
|
373
|
-
// 2. 记录删除前的引脚数量
|
|
374
|
-
const beforeCount = (await eda.sch_PrimitivePin.getAll()).length;
|
|
375
|
-
|
|
376
|
-
// 3. 分别以 ID 字符串和图元对象两种形式删除两个引脚
|
|
377
|
-
const deleted1 = await eda.sch_PrimitivePin.delete(pin1.getState_PrimitiveId());
|
|
378
|
-
const deleted2 = await eda.sch_PrimitivePin.delete(pin2);
|
|
379
|
-
|
|
380
|
-
// 4. 删除类保留现场(图元已删除,不恢复)
|
|
381
|
-
const afterCount = (await eda.sch_PrimitivePin.getAll()).length;
|
|
382
|
-
|
|
383
|
-
console.log('deleted by id:', deleted1);
|
|
384
|
-
console.log('deleted by object:', deleted2);
|
|
385
|
-
console.log('beforeCount:', beforeCount, '→ afterCount:', afterCount);
|
|
386
|
-
```
|
|
387
|
-
|
|
388
|
-
### get
|
|
389
|
-
|
|
390
|
-
# SCH\_PrimitivePin.get() method
|
|
391
|
-
|
|
392
|
-
> 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.
|
|
393
|
-
|
|
394
|
-
Get Pin
|
|
395
|
-
|
|
396
|
-
## Signature
|
|
397
|
-
|
|
398
|
-
```typescript
|
|
399
|
-
function get(
|
|
400
|
-
primitiveIds: string,
|
|
401
|
-
): Promise<ISCH_PrimitivePin | ISCH_PrimitiveComponentPin | undefined>;
|
|
402
|
-
```
|
|
403
|
-
|
|
404
|
-
## Parameters
|
|
405
|
-
|
|
406
|
-
<table><thead><tr><th>
|
|
407
|
-
|
|
408
|
-
Parameter
|
|
409
|
-
|
|
410
|
-
</th><th>
|
|
411
|
-
|
|
412
|
-
Type
|
|
413
|
-
|
|
414
|
-
</th><th>
|
|
415
|
-
|
|
416
|
-
Description
|
|
417
|
-
|
|
418
|
-
</th></tr></thead>
|
|
419
|
-
<tbody><tr><td>
|
|
420
|
-
|
|
421
|
-
primitiveIds
|
|
422
|
-
|
|
423
|
-
</td><td>
|
|
424
|
-
|
|
425
|
-
string
|
|
426
|
-
|
|
427
|
-
</td><td>
|
|
428
|
-
|
|
429
|
-
Pin primitive ID, which can be a string or an array of strings. If it is an array, an array is also returned
|
|
430
|
-
|
|
431
|
-
</td></tr>
|
|
432
|
-
</tbody></table>
|
|
433
|
-
|
|
434
|
-
## Returns
|
|
435
|
-
|
|
436
|
-
Promise<[ISCH\_PrimitivePin](./ISCH_PrimitivePin.md) \| [ISCH\_PrimitiveComponentPin](./ISCH_PrimitiveComponentPin.md) \| undefined>
|
|
437
|
-
|
|
438
|
-
Pin primitive object, `undefined` indicates that the retrieval failed
|
|
439
|
-
|
|
440
|
-
## Example
|
|
441
|
-
|
|
442
|
-
```javascript
|
|
443
|
-
// 0. 引脚图元仅符号编辑器可用:优先复用测试符号,没有则新建后打开
|
|
444
|
-
// (当前版本非空关键字 search 会抛错,用空关键字列出后按名称过滤)
|
|
445
|
-
const libUuid = await eda.lib_LibrariesList.getPersonalLibraryUuid();
|
|
446
|
-
const found = await eda.lib_Symbol.search('', libUuid, [], undefined, 100, 1);
|
|
447
|
-
const hit = found.find(s => s.name === '嘉立创示例_Pin测试符号');
|
|
448
|
-
const symUuid = hit ? hit.uuid : await eda.lib_Symbol.create(libUuid, '嘉立创示例_Pin测试符号');
|
|
449
|
-
await eda.lib_Symbol.openInEditor(symUuid, libUuid);
|
|
450
|
-
|
|
451
|
-
// 1. 在符号画布上创建两个测试引脚(随机坐标避免重合)
|
|
452
|
-
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
453
|
-
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
454
|
-
const pin1 = await eda.sch_PrimitivePin.create(x, y, '1', 'INA', 0, 10, null, 'None', 'IN');
|
|
455
|
-
const pin2 = await eda.sch_PrimitivePin.create(x, y + 200, '2', 'INB', 0, 10, null, 'None', 'OUT');
|
|
456
|
-
const id1 = pin1.getState_PrimitiveId();
|
|
457
|
-
const id2 = pin2.getState_PrimitiveId();
|
|
458
|
-
|
|
459
|
-
// 2. 传单个 ID 字符串,返回单个引脚对象
|
|
460
|
-
const single = await eda.sch_PrimitivePin.get(id1);
|
|
461
|
-
|
|
462
|
-
// 3. 传 ID 数组,返回引脚对象数组(任一 ID 未匹配不影响其它图元的返回)
|
|
463
|
-
const arr = await eda.sch_PrimitivePin.get([id1, id2]);
|
|
464
|
-
|
|
465
|
-
// 4. 清理测试引脚(查询类需要清理)
|
|
466
|
-
await eda.sch_PrimitivePin.delete([id1, id2]);
|
|
467
|
-
|
|
468
|
-
console.log('single pinNumber:', single.getState_PinNumber());
|
|
469
|
-
console.log('array length:', arr.length);
|
|
470
|
-
console.log('pin2 name:', arr[1].getState_PinName());
|
|
471
|
-
console.log('pin2 type:', arr[1].getState_pinType());
|
|
472
|
-
```
|
|
473
|
-
|
|
474
|
-
### get_1
|
|
475
|
-
|
|
476
|
-
# SCH\_PrimitivePin.get() method
|
|
477
|
-
|
|
478
|
-
> 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.
|
|
479
|
-
|
|
480
|
-
Get Pin
|
|
481
|
-
|
|
482
|
-
## Signature
|
|
483
|
-
|
|
484
|
-
```typescript
|
|
485
|
-
function get(
|
|
486
|
-
primitiveIds: Array<string>,
|
|
487
|
-
): Promise<Array<ISCH_PrimitivePin | ISCH_PrimitiveComponentPin>>;
|
|
488
|
-
```
|
|
489
|
-
|
|
490
|
-
## Parameters
|
|
491
|
-
|
|
492
|
-
<table><thead><tr><th>
|
|
493
|
-
|
|
494
|
-
Parameter
|
|
495
|
-
|
|
496
|
-
</th><th>
|
|
497
|
-
|
|
498
|
-
Type
|
|
499
|
-
|
|
500
|
-
</th><th>
|
|
501
|
-
|
|
502
|
-
Description
|
|
503
|
-
|
|
504
|
-
</th></tr></thead>
|
|
505
|
-
<tbody><tr><td>
|
|
506
|
-
|
|
507
|
-
primitiveIds
|
|
508
|
-
|
|
509
|
-
</td><td>
|
|
510
|
-
|
|
511
|
-
Array<string>
|
|
512
|
-
|
|
513
|
-
</td><td>
|
|
514
|
-
|
|
515
|
-
Pin primitive ID, which can be a string or an array of strings. If it is an array, an array is also returned
|
|
516
|
-
|
|
517
|
-
</td></tr>
|
|
518
|
-
</tbody></table>
|
|
519
|
-
|
|
520
|
-
## Returns
|
|
521
|
-
|
|
522
|
-
Promise<Array<[ISCH\_PrimitivePin](./ISCH_PrimitivePin.md) \| [ISCH\_PrimitiveComponentPin](./ISCH_PrimitiveComponentPin.md)<!-- -->>>
|
|
523
|
-
|
|
524
|
-
Pin primitive object; an empty array indicates that the retrieval failed
|
|
525
|
-
|
|
526
|
-
## Remarks
|
|
527
|
-
|
|
528
|
-
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.
|
|
529
|
-
|
|
530
|
-
### getall
|
|
531
|
-
|
|
532
|
-
# SCH\_PrimitivePin.getAll() method
|
|
533
|
-
|
|
534
|
-
> This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
|
|
535
|
-
|
|
536
|
-
Get all Pin
|
|
537
|
-
|
|
538
|
-
## Signature
|
|
539
|
-
|
|
540
|
-
```typescript
|
|
541
|
-
function getAll(): Promise<Array<ISCH_PrimitivePin>>;
|
|
542
|
-
```
|
|
543
|
-
|
|
544
|
-
## Returns
|
|
545
|
-
|
|
546
|
-
Promise<Array<[ISCH\_PrimitivePin](./ISCH_PrimitivePin.md)<!-- -->>>
|
|
547
|
-
|
|
548
|
-
Array of Pin primitive objects
|
|
549
|
-
|
|
550
|
-
## Example
|
|
551
|
-
|
|
552
|
-
```javascript
|
|
553
|
-
// 0. 引脚图元仅符号编辑器可用:优先复用测试符号,没有则新建后打开
|
|
554
|
-
// (当前版本非空关键字 search 会抛错,用空关键字列出后按名称过滤)
|
|
555
|
-
const libUuid = await eda.lib_LibrariesList.getPersonalLibraryUuid();
|
|
556
|
-
const found = await eda.lib_Symbol.search('', libUuid, [], undefined, 100, 1);
|
|
557
|
-
const hit = found.find(s => s.name === '嘉立创示例_Pin测试符号');
|
|
558
|
-
const symUuid = hit ? hit.uuid : await eda.lib_Symbol.create(libUuid, '嘉立创示例_Pin测试符号');
|
|
559
|
-
await eda.lib_Symbol.openInEditor(symUuid, libUuid);
|
|
560
|
-
|
|
561
|
-
// 1. 创建一个测试引脚作为查找目标(随机坐标避免重合)
|
|
562
|
-
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
563
|
-
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
564
|
-
const pin = await eda.sch_PrimitivePin.create(x, y, '9', 'MARK', 0, 10, null, 'None', 'Passive');
|
|
565
|
-
const pinId = pin.getState_PrimitiveId();
|
|
566
|
-
|
|
567
|
-
// 2. 获取当前符号上的全部引脚
|
|
568
|
-
const all = await eda.sch_PrimitivePin.getAll();
|
|
569
|
-
|
|
570
|
-
// 3. 清理测试引脚(查询类需要清理)
|
|
571
|
-
await eda.sch_PrimitivePin.delete([pinId]);
|
|
572
|
-
|
|
573
|
-
console.log('total pins:', all.length);
|
|
574
|
-
console.log('marker pin found:', all.some(p => p.getState_PrimitiveId() === pinId));
|
|
575
|
-
console.log('marker pinName:', all.find(p => p.getState_PrimitiveId() === pinId).getState_PinName());
|
|
576
|
-
```
|
|
577
|
-
|
|
578
|
-
### getallprimitiveid
|
|
579
|
-
|
|
580
|
-
# SCH\_PrimitivePin.getAllPrimitiveId() method
|
|
581
|
-
|
|
582
|
-
> 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.
|
|
583
|
-
|
|
584
|
-
Get all Pin primitive IDs
|
|
585
|
-
|
|
586
|
-
## Signature
|
|
587
|
-
|
|
588
|
-
```typescript
|
|
589
|
-
function getAllPrimitiveId(): Promise<Array<string>>;
|
|
590
|
-
```
|
|
591
|
-
|
|
592
|
-
## Returns
|
|
593
|
-
|
|
594
|
-
Promise<Array<string>>
|
|
595
|
-
|
|
596
|
-
Array of Pin primitive IDs
|
|
597
|
-
|
|
598
|
-
## Example
|
|
599
|
-
|
|
600
|
-
```javascript
|
|
601
|
-
// 0. 引脚图元仅符号编辑器可用:优先复用测试符号,没有则新建后打开
|
|
602
|
-
// (当前版本非空关键字 search 会抛错,用空关键字列出后按名称过滤)
|
|
603
|
-
const libUuid = await eda.lib_LibrariesList.getPersonalLibraryUuid();
|
|
604
|
-
const found = await eda.lib_Symbol.search('', libUuid, [], undefined, 100, 1);
|
|
605
|
-
const hit = found.find(s => s.name === '嘉立创示例_Pin测试符号');
|
|
606
|
-
const symUuid = hit ? hit.uuid : await eda.lib_Symbol.create(libUuid, '嘉立创示例_Pin测试符号');
|
|
607
|
-
await eda.lib_Symbol.openInEditor(symUuid, libUuid);
|
|
608
|
-
|
|
609
|
-
// 1. 创建一个测试引脚作为查找目标(随机坐标避免重合)
|
|
610
|
-
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
611
|
-
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
612
|
-
const pin = await eda.sch_PrimitivePin.create(x, y, '8', 'IDS', 0, 10, null, 'None', 'Passive');
|
|
613
|
-
const pinId = pin.getState_PrimitiveId();
|
|
614
|
-
|
|
615
|
-
// 2. 获取全部引脚的图元 ID
|
|
616
|
-
const allIds = await eda.sch_PrimitivePin.getAllPrimitiveId();
|
|
617
|
-
|
|
618
|
-
// 3. 清理测试引脚(查询类需要清理)
|
|
619
|
-
await eda.sch_PrimitivePin.delete([pinId]);
|
|
620
|
-
|
|
621
|
-
console.log('total pin ids:', allIds.length);
|
|
622
|
-
console.log('marker id in list:', allIds.includes(pinId));
|
|
623
|
-
```
|
|
624
|
-
|
|
625
|
-
### modify
|
|
626
|
-
|
|
627
|
-
# SCH\_PrimitivePin.modify() method
|
|
628
|
-
|
|
629
|
-
> 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.
|
|
630
|
-
|
|
631
|
-
Modify Pin
|
|
632
|
-
|
|
633
|
-
## Signature
|
|
634
|
-
|
|
635
|
-
```typescript
|
|
636
|
-
function modify(
|
|
637
|
-
primitiveId: string | ISCH_PrimitivePin | ISCH_PrimitiveComponentPin,
|
|
638
|
-
property: {
|
|
639
|
-
x?:
|
|
640
|
-
y?:
|
|
641
|
-
pinNumber?:
|
|
642
|
-
pinName?:
|
|
643
|
-
rotation?:
|
|
644
|
-
pinLength?:
|
|
645
|
-
pinColor?:
|
|
646
|
-
pinShape?:
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
</
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
</
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
</td><td>
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
</td
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
await eda.
|
|
730
|
-
|
|
731
|
-
//
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
const beforeNumber = pin.getState_PinNumber();
|
|
739
|
-
const beforeName = pin.getState_PinName();
|
|
740
|
-
const beforeLength = pin.getState_PinLength();
|
|
741
|
-
|
|
742
|
-
// 3. 批量修改:编号 1 → 7、名称 CLK → XTAL、长度 10 → 20、朝向 0 → 90 度
|
|
743
|
-
await eda.sch_PrimitivePin.modify(pinId, { pinNumber: '7', pinName: 'XTAL', pinLength: 20, rotation: 90 });
|
|
744
|
-
|
|
745
|
-
// 4. modify 返回后需要重新 get() 才能读到画布上的最新值
|
|
746
|
-
const refreshed = await eda.sch_PrimitivePin.get(pinId);
|
|
747
|
-
|
|
748
|
-
// 5. 修改类保留现场,供观察修改结果
|
|
749
|
-
console.log('primitiveId:', pinId);
|
|
750
|
-
console.log('pinNumber:', beforeNumber, '→', refreshed.getState_PinNumber());
|
|
751
|
-
console.log('pinName:', beforeName, '→', refreshed.getState_PinName());
|
|
752
|
-
console.log('pinLength:', beforeLength, '→', refreshed.getState_PinLength());
|
|
753
|
-
console.log('rotation:', pin.getState_Rotation(), '→', refreshed.getState_Rotation());
|
|
754
|
-
```
|
|
1
|
+
# SCH\_PrimitivePin class
|
|
2
|
+
|
|
3
|
+
Schematic & symbol / pin primitive class
|
|
4
|
+
|
|
5
|
+
## Signature
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
class SCH_PrimitivePin implements ISCH_PrimitiveAPI
|
|
9
|
+
```
|
|
10
|
+
**Implements:** [ISCH\_PrimitiveAPI](../interfaces/ISCH_PrimitiveAPI.md)
|
|
11
|
+
|
|
12
|
+
## Remarks
|
|
13
|
+
|
|
14
|
+
Pin primitives are only available in the symbol editor. In a schematic sheet, the pin associated with a symbol is called [a device pin primitive](./ISCH_PrimitiveComponentPin.md)
|
|
15
|
+
|
|
16
|
+
## Methods
|
|
17
|
+
|
|
18
|
+
<table><thead><tr><th>
|
|
19
|
+
|
|
20
|
+
Method
|
|
21
|
+
|
|
22
|
+
</th><th>
|
|
23
|
+
|
|
24
|
+
Modifiers
|
|
25
|
+
|
|
26
|
+
</th><th>
|
|
27
|
+
|
|
28
|
+
Description
|
|
29
|
+
|
|
30
|
+
</th></tr></thead>
|
|
31
|
+
<tbody><tr><td>
|
|
32
|
+
|
|
33
|
+
[create(x, y, pinNumber, pinName, rotation, pinLength, pinColor, pinShape, pinType)](./SCH_PrimitivePin.md)
|
|
34
|
+
|
|
35
|
+
</td><td>
|
|
36
|
+
|
|
37
|
+
</td><td>
|
|
38
|
+
|
|
39
|
+
**_(BETA)_** Create Pin
|
|
40
|
+
|
|
41
|
+
</td></tr>
|
|
42
|
+
<tr><td>
|
|
43
|
+
|
|
44
|
+
[delete(primitiveIds)](./SCH_PrimitivePin.md)
|
|
45
|
+
|
|
46
|
+
</td><td>
|
|
47
|
+
|
|
48
|
+
</td><td>
|
|
49
|
+
|
|
50
|
+
**_(BETA)_** Delete Pin
|
|
51
|
+
|
|
52
|
+
</td></tr>
|
|
53
|
+
<tr><td>
|
|
54
|
+
|
|
55
|
+
[get(primitiveIds)](./SCH_PrimitivePin.md)
|
|
56
|
+
|
|
57
|
+
</td><td>
|
|
58
|
+
|
|
59
|
+
</td><td>
|
|
60
|
+
|
|
61
|
+
**_(BETA)_** Get Pin
|
|
62
|
+
|
|
63
|
+
</td></tr>
|
|
64
|
+
<tr><td>
|
|
65
|
+
|
|
66
|
+
[get(primitiveIds)](./SCH_PrimitivePin.md)
|
|
67
|
+
|
|
68
|
+
</td><td>
|
|
69
|
+
|
|
70
|
+
</td><td>
|
|
71
|
+
|
|
72
|
+
**_(BETA)_** Get Pin
|
|
73
|
+
|
|
74
|
+
</td></tr>
|
|
75
|
+
<tr><td>
|
|
76
|
+
|
|
77
|
+
[getAll()](./SCH_PrimitivePin.md)
|
|
78
|
+
|
|
79
|
+
</td><td>
|
|
80
|
+
|
|
81
|
+
</td><td>
|
|
82
|
+
|
|
83
|
+
**_(BETA)_** Get all Pin
|
|
84
|
+
|
|
85
|
+
</td></tr>
|
|
86
|
+
<tr><td>
|
|
87
|
+
|
|
88
|
+
[getAllPrimitiveId()](./SCH_PrimitivePin.md)
|
|
89
|
+
|
|
90
|
+
</td><td>
|
|
91
|
+
|
|
92
|
+
</td><td>
|
|
93
|
+
|
|
94
|
+
**_(BETA)_** Get all Pin primitive IDs
|
|
95
|
+
|
|
96
|
+
</td></tr>
|
|
97
|
+
<tr><td>
|
|
98
|
+
|
|
99
|
+
[modify(primitiveId, property)](./SCH_PrimitivePin.md)
|
|
100
|
+
|
|
101
|
+
</td><td>
|
|
102
|
+
|
|
103
|
+
</td><td>
|
|
104
|
+
|
|
105
|
+
**_(BETA)_** Modify Pin
|
|
106
|
+
|
|
107
|
+
</td></tr>
|
|
108
|
+
</tbody></table>
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## 方法详情
|
|
113
|
+
|
|
114
|
+
### create
|
|
115
|
+
|
|
116
|
+
# SCH\_PrimitivePin.create() method
|
|
117
|
+
|
|
118
|
+
> 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.
|
|
119
|
+
|
|
120
|
+
Create Pin
|
|
121
|
+
|
|
122
|
+
## Signature
|
|
123
|
+
|
|
124
|
+
```typescript
|
|
125
|
+
function create(
|
|
126
|
+
x: number,
|
|
127
|
+
y: number,
|
|
128
|
+
pinNumber: string,
|
|
129
|
+
pinName?: string,
|
|
130
|
+
rotation?: number,
|
|
131
|
+
pinLength?: number,
|
|
132
|
+
pinColor?: string | null,
|
|
133
|
+
pinShape?: ESCH_PrimitivePinShape,
|
|
134
|
+
pinType?: ESCH_PrimitivePinType,
|
|
135
|
+
): Promise<ISCH_PrimitivePin | undefined>;
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Parameters
|
|
139
|
+
|
|
140
|
+
<table><thead><tr><th>
|
|
141
|
+
|
|
142
|
+
Parameter
|
|
143
|
+
|
|
144
|
+
</th><th>
|
|
145
|
+
|
|
146
|
+
Type
|
|
147
|
+
|
|
148
|
+
</th><th>
|
|
149
|
+
|
|
150
|
+
Description
|
|
151
|
+
|
|
152
|
+
</th></tr></thead>
|
|
153
|
+
<tbody><tr><td>
|
|
154
|
+
|
|
155
|
+
x
|
|
156
|
+
|
|
157
|
+
</td><td>
|
|
158
|
+
|
|
159
|
+
number
|
|
160
|
+
|
|
161
|
+
</td><td>
|
|
162
|
+
|
|
163
|
+
X coordinate
|
|
164
|
+
|
|
165
|
+
</td></tr>
|
|
166
|
+
<tr><td>
|
|
167
|
+
|
|
168
|
+
y
|
|
169
|
+
|
|
170
|
+
</td><td>
|
|
171
|
+
|
|
172
|
+
number
|
|
173
|
+
|
|
174
|
+
</td><td>
|
|
175
|
+
|
|
176
|
+
Y coordinate
|
|
177
|
+
|
|
178
|
+
</td></tr>
|
|
179
|
+
<tr><td>
|
|
180
|
+
|
|
181
|
+
pinNumber
|
|
182
|
+
|
|
183
|
+
</td><td>
|
|
184
|
+
|
|
185
|
+
string
|
|
186
|
+
|
|
187
|
+
</td><td>
|
|
188
|
+
|
|
189
|
+
Pin number
|
|
190
|
+
|
|
191
|
+
</td></tr>
|
|
192
|
+
<tr><td>
|
|
193
|
+
|
|
194
|
+
pinName
|
|
195
|
+
|
|
196
|
+
</td><td>
|
|
197
|
+
|
|
198
|
+
string
|
|
199
|
+
|
|
200
|
+
</td><td>
|
|
201
|
+
|
|
202
|
+
_(Optional)_ Pin name
|
|
203
|
+
|
|
204
|
+
</td></tr>
|
|
205
|
+
<tr><td>
|
|
206
|
+
|
|
207
|
+
rotation
|
|
208
|
+
|
|
209
|
+
</td><td>
|
|
210
|
+
|
|
211
|
+
number
|
|
212
|
+
|
|
213
|
+
</td><td>
|
|
214
|
+
|
|
215
|
+
_(Optional)_ Rotation angle. Options: `0` `90` `180` `270`
|
|
216
|
+
|
|
217
|
+
</td></tr>
|
|
218
|
+
<tr><td>
|
|
219
|
+
|
|
220
|
+
pinLength
|
|
221
|
+
|
|
222
|
+
</td><td>
|
|
223
|
+
|
|
224
|
+
number
|
|
225
|
+
|
|
226
|
+
</td><td>
|
|
227
|
+
|
|
228
|
+
_(Optional)_ Pin length
|
|
229
|
+
|
|
230
|
+
</td></tr>
|
|
231
|
+
<tr><td>
|
|
232
|
+
|
|
233
|
+
pinColor
|
|
234
|
+
|
|
235
|
+
</td><td>
|
|
236
|
+
|
|
237
|
+
string \| null
|
|
238
|
+
|
|
239
|
+
</td><td>
|
|
240
|
+
|
|
241
|
+
_(Optional)_ Pin color, `null` indicates the default
|
|
242
|
+
|
|
243
|
+
</td></tr>
|
|
244
|
+
<tr><td>
|
|
245
|
+
|
|
246
|
+
pinShape
|
|
247
|
+
|
|
248
|
+
</td><td>
|
|
249
|
+
|
|
250
|
+
[ESCH\_PrimitivePinShape](../enums/ESCH_PrimitivePinShape.md)
|
|
251
|
+
|
|
252
|
+
</td><td>
|
|
253
|
+
|
|
254
|
+
_(Optional)_ Pin shape
|
|
255
|
+
|
|
256
|
+
</td></tr>
|
|
257
|
+
<tr><td>
|
|
258
|
+
|
|
259
|
+
pinType
|
|
260
|
+
|
|
261
|
+
</td><td>
|
|
262
|
+
|
|
263
|
+
[ESCH\_PrimitivePinType](../enums/ESCH_PrimitivePinType.md)
|
|
264
|
+
|
|
265
|
+
</td><td>
|
|
266
|
+
|
|
267
|
+
_(Optional)_ Pin type
|
|
268
|
+
|
|
269
|
+
</td></tr>
|
|
270
|
+
</tbody></table>
|
|
271
|
+
|
|
272
|
+
## Returns
|
|
273
|
+
|
|
274
|
+
Promise<[ISCH\_PrimitivePin](./ISCH_PrimitivePin.md) \| undefined>
|
|
275
|
+
|
|
276
|
+
Pin primitive object
|
|
277
|
+
|
|
278
|
+
## Example
|
|
279
|
+
|
|
280
|
+
```javascript
|
|
281
|
+
// 0. 引脚图元仅符号编辑器可用:优先复用测试符号,没有则新建后打开
|
|
282
|
+
// (当前版本非空关键字 search 会抛错,用空关键字列出后按名称过滤)
|
|
283
|
+
const libUuid = await eda.lib_LibrariesList.getPersonalLibraryUuid();
|
|
284
|
+
const found = await eda.lib_Symbol.search('', libUuid, [], undefined, 100, 1);
|
|
285
|
+
const hit = found.find(s => s.name === '嘉立创示例_Pin测试符号');
|
|
286
|
+
const symUuid = hit ? hit.uuid : await eda.lib_Symbol.create(libUuid, '嘉立创示例_Pin测试符号');
|
|
287
|
+
await eda.lib_Symbol.openInEditor(symUuid, libUuid);
|
|
288
|
+
|
|
289
|
+
// 1. 随机放置坐标,避免与符号上已有引脚重合(SCH 坐标单位 10mil)
|
|
290
|
+
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
291
|
+
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
292
|
+
|
|
293
|
+
// 2. 创建编号 1、名为 CLK 的引脚:朝向 90 度、长 20、红色、时钟形状、输入类型
|
|
294
|
+
const pin = await eda.sch_PrimitivePin.create(x, y, '1', 'CLK', 90, 20, '#FF0000', 'Clock', 'IN');
|
|
295
|
+
|
|
296
|
+
// 3. 创建类保留现场,不删除图元
|
|
297
|
+
console.log('primitiveId:', pin.getState_PrimitiveId());
|
|
298
|
+
console.log('primitiveType:', pin.getState_PrimitiveType());
|
|
299
|
+
console.log('pinNumber:', pin.getState_PinNumber(), 'pinName:', pin.getState_PinName());
|
|
300
|
+
console.log('x:', pin.getState_X(), 'y:', pin.getState_Y());
|
|
301
|
+
console.log('pinLength:', pin.getState_PinLength());
|
|
302
|
+
console.log('pinColor:', pin.getState_PinColor());
|
|
303
|
+
console.log('pinShape:', pin.getState_PinShape(), 'pinType:', pin.getState_pinType());
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
### delete
|
|
307
|
+
|
|
308
|
+
# SCH\_PrimitivePin.delete() method
|
|
309
|
+
|
|
310
|
+
> 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.
|
|
311
|
+
|
|
312
|
+
Delete Pin
|
|
313
|
+
|
|
314
|
+
## Signature
|
|
315
|
+
|
|
316
|
+
```typescript
|
|
317
|
+
function delete(primitiveIds: string | ISCH_PrimitivePin | Array<string> | Array<ISCH_PrimitivePin>): Promise<boolean>;
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
## Parameters
|
|
321
|
+
|
|
322
|
+
<table><thead><tr><th>
|
|
323
|
+
|
|
324
|
+
Parameter
|
|
325
|
+
|
|
326
|
+
</th><th>
|
|
327
|
+
|
|
328
|
+
Type
|
|
329
|
+
|
|
330
|
+
</th><th>
|
|
331
|
+
|
|
332
|
+
Description
|
|
333
|
+
|
|
334
|
+
</th></tr></thead>
|
|
335
|
+
<tbody><tr><td>
|
|
336
|
+
|
|
337
|
+
primitiveIds
|
|
338
|
+
|
|
339
|
+
</td><td>
|
|
340
|
+
|
|
341
|
+
string \| [ISCH\_PrimitivePin](./ISCH_PrimitivePin.md) \| Array<string> \| Array<[ISCH\_PrimitivePin](./ISCH_PrimitivePin.md)<!-- -->>
|
|
342
|
+
|
|
343
|
+
</td><td>
|
|
344
|
+
|
|
345
|
+
Pin primitive ID or Pin primitive object
|
|
346
|
+
|
|
347
|
+
</td></tr>
|
|
348
|
+
</tbody></table>
|
|
349
|
+
|
|
350
|
+
## Returns
|
|
351
|
+
|
|
352
|
+
Promise<boolean>
|
|
353
|
+
|
|
354
|
+
Delete Whether the operation is successful
|
|
355
|
+
|
|
356
|
+
## Example
|
|
357
|
+
|
|
358
|
+
```javascript
|
|
359
|
+
// 0. 引脚图元仅符号编辑器可用:优先复用测试符号,没有则新建后打开
|
|
360
|
+
// (当前版本非空关键字 search 会抛错,用空关键字列出后按名称过滤)
|
|
361
|
+
const libUuid = await eda.lib_LibrariesList.getPersonalLibraryUuid();
|
|
362
|
+
const found = await eda.lib_Symbol.search('', libUuid, [], undefined, 100, 1);
|
|
363
|
+
const hit = found.find(s => s.name === '嘉立创示例_Pin测试符号');
|
|
364
|
+
const symUuid = hit ? hit.uuid : await eda.lib_Symbol.create(libUuid, '嘉立创示例_Pin测试符号');
|
|
365
|
+
await eda.lib_Symbol.openInEditor(symUuid, libUuid);
|
|
366
|
+
|
|
367
|
+
// 1. 创建两个待删除的测试引脚(随机坐标避免重合)
|
|
368
|
+
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
369
|
+
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
370
|
+
const pin1 = await eda.sch_PrimitivePin.create(x, y, '1', 'DEL1', 0, 10, null, 'None', 'Passive');
|
|
371
|
+
const pin2 = await eda.sch_PrimitivePin.create(x, y + 200, '2', 'DEL2', 0, 10, null, 'None', 'Passive');
|
|
372
|
+
|
|
373
|
+
// 2. 记录删除前的引脚数量
|
|
374
|
+
const beforeCount = (await eda.sch_PrimitivePin.getAll()).length;
|
|
375
|
+
|
|
376
|
+
// 3. 分别以 ID 字符串和图元对象两种形式删除两个引脚
|
|
377
|
+
const deleted1 = await eda.sch_PrimitivePin.delete(pin1.getState_PrimitiveId());
|
|
378
|
+
const deleted2 = await eda.sch_PrimitivePin.delete(pin2);
|
|
379
|
+
|
|
380
|
+
// 4. 删除类保留现场(图元已删除,不恢复)
|
|
381
|
+
const afterCount = (await eda.sch_PrimitivePin.getAll()).length;
|
|
382
|
+
|
|
383
|
+
console.log('deleted by id:', deleted1);
|
|
384
|
+
console.log('deleted by object:', deleted2);
|
|
385
|
+
console.log('beforeCount:', beforeCount, '→ afterCount:', afterCount);
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
### get
|
|
389
|
+
|
|
390
|
+
# SCH\_PrimitivePin.get() method
|
|
391
|
+
|
|
392
|
+
> 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.
|
|
393
|
+
|
|
394
|
+
Get Pin
|
|
395
|
+
|
|
396
|
+
## Signature
|
|
397
|
+
|
|
398
|
+
```typescript
|
|
399
|
+
function get(
|
|
400
|
+
primitiveIds: string,
|
|
401
|
+
): Promise<ISCH_PrimitivePin | ISCH_PrimitiveComponentPin | undefined>;
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
## Parameters
|
|
405
|
+
|
|
406
|
+
<table><thead><tr><th>
|
|
407
|
+
|
|
408
|
+
Parameter
|
|
409
|
+
|
|
410
|
+
</th><th>
|
|
411
|
+
|
|
412
|
+
Type
|
|
413
|
+
|
|
414
|
+
</th><th>
|
|
415
|
+
|
|
416
|
+
Description
|
|
417
|
+
|
|
418
|
+
</th></tr></thead>
|
|
419
|
+
<tbody><tr><td>
|
|
420
|
+
|
|
421
|
+
primitiveIds
|
|
422
|
+
|
|
423
|
+
</td><td>
|
|
424
|
+
|
|
425
|
+
string
|
|
426
|
+
|
|
427
|
+
</td><td>
|
|
428
|
+
|
|
429
|
+
Pin primitive ID, which can be a string or an array of strings. If it is an array, an array is also returned
|
|
430
|
+
|
|
431
|
+
</td></tr>
|
|
432
|
+
</tbody></table>
|
|
433
|
+
|
|
434
|
+
## Returns
|
|
435
|
+
|
|
436
|
+
Promise<[ISCH\_PrimitivePin](./ISCH_PrimitivePin.md) \| [ISCH\_PrimitiveComponentPin](./ISCH_PrimitiveComponentPin.md) \| undefined>
|
|
437
|
+
|
|
438
|
+
Pin primitive object, `undefined` indicates that the retrieval failed
|
|
439
|
+
|
|
440
|
+
## Example
|
|
441
|
+
|
|
442
|
+
```javascript
|
|
443
|
+
// 0. 引脚图元仅符号编辑器可用:优先复用测试符号,没有则新建后打开
|
|
444
|
+
// (当前版本非空关键字 search 会抛错,用空关键字列出后按名称过滤)
|
|
445
|
+
const libUuid = await eda.lib_LibrariesList.getPersonalLibraryUuid();
|
|
446
|
+
const found = await eda.lib_Symbol.search('', libUuid, [], undefined, 100, 1);
|
|
447
|
+
const hit = found.find(s => s.name === '嘉立创示例_Pin测试符号');
|
|
448
|
+
const symUuid = hit ? hit.uuid : await eda.lib_Symbol.create(libUuid, '嘉立创示例_Pin测试符号');
|
|
449
|
+
await eda.lib_Symbol.openInEditor(symUuid, libUuid);
|
|
450
|
+
|
|
451
|
+
// 1. 在符号画布上创建两个测试引脚(随机坐标避免重合)
|
|
452
|
+
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
453
|
+
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
454
|
+
const pin1 = await eda.sch_PrimitivePin.create(x, y, '1', 'INA', 0, 10, null, 'None', 'IN');
|
|
455
|
+
const pin2 = await eda.sch_PrimitivePin.create(x, y + 200, '2', 'INB', 0, 10, null, 'None', 'OUT');
|
|
456
|
+
const id1 = pin1.getState_PrimitiveId();
|
|
457
|
+
const id2 = pin2.getState_PrimitiveId();
|
|
458
|
+
|
|
459
|
+
// 2. 传单个 ID 字符串,返回单个引脚对象
|
|
460
|
+
const single = await eda.sch_PrimitivePin.get(id1);
|
|
461
|
+
|
|
462
|
+
// 3. 传 ID 数组,返回引脚对象数组(任一 ID 未匹配不影响其它图元的返回)
|
|
463
|
+
const arr = await eda.sch_PrimitivePin.get([id1, id2]);
|
|
464
|
+
|
|
465
|
+
// 4. 清理测试引脚(查询类需要清理)
|
|
466
|
+
await eda.sch_PrimitivePin.delete([id1, id2]);
|
|
467
|
+
|
|
468
|
+
console.log('single pinNumber:', single.getState_PinNumber());
|
|
469
|
+
console.log('array length:', arr.length);
|
|
470
|
+
console.log('pin2 name:', arr[1].getState_PinName());
|
|
471
|
+
console.log('pin2 type:', arr[1].getState_pinType());
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
### get_1
|
|
475
|
+
|
|
476
|
+
# SCH\_PrimitivePin.get() method
|
|
477
|
+
|
|
478
|
+
> 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.
|
|
479
|
+
|
|
480
|
+
Get Pin
|
|
481
|
+
|
|
482
|
+
## Signature
|
|
483
|
+
|
|
484
|
+
```typescript
|
|
485
|
+
function get(
|
|
486
|
+
primitiveIds: Array<string>,
|
|
487
|
+
): Promise<Array<ISCH_PrimitivePin | ISCH_PrimitiveComponentPin>>;
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
## Parameters
|
|
491
|
+
|
|
492
|
+
<table><thead><tr><th>
|
|
493
|
+
|
|
494
|
+
Parameter
|
|
495
|
+
|
|
496
|
+
</th><th>
|
|
497
|
+
|
|
498
|
+
Type
|
|
499
|
+
|
|
500
|
+
</th><th>
|
|
501
|
+
|
|
502
|
+
Description
|
|
503
|
+
|
|
504
|
+
</th></tr></thead>
|
|
505
|
+
<tbody><tr><td>
|
|
506
|
+
|
|
507
|
+
primitiveIds
|
|
508
|
+
|
|
509
|
+
</td><td>
|
|
510
|
+
|
|
511
|
+
Array<string>
|
|
512
|
+
|
|
513
|
+
</td><td>
|
|
514
|
+
|
|
515
|
+
Pin primitive ID, which can be a string or an array of strings. If it is an array, an array is also returned
|
|
516
|
+
|
|
517
|
+
</td></tr>
|
|
518
|
+
</tbody></table>
|
|
519
|
+
|
|
520
|
+
## Returns
|
|
521
|
+
|
|
522
|
+
Promise<Array<[ISCH\_PrimitivePin](./ISCH_PrimitivePin.md) \| [ISCH\_PrimitiveComponentPin](./ISCH_PrimitiveComponentPin.md)<!-- -->>>
|
|
523
|
+
|
|
524
|
+
Pin primitive object; an empty array indicates that the retrieval failed
|
|
525
|
+
|
|
526
|
+
## Remarks
|
|
527
|
+
|
|
528
|
+
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.
|
|
529
|
+
|
|
530
|
+
### getall
|
|
531
|
+
|
|
532
|
+
# SCH\_PrimitivePin.getAll() method
|
|
533
|
+
|
|
534
|
+
> This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
|
|
535
|
+
|
|
536
|
+
Get all Pin
|
|
537
|
+
|
|
538
|
+
## Signature
|
|
539
|
+
|
|
540
|
+
```typescript
|
|
541
|
+
function getAll(): Promise<Array<ISCH_PrimitivePin>>;
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
## Returns
|
|
545
|
+
|
|
546
|
+
Promise<Array<[ISCH\_PrimitivePin](./ISCH_PrimitivePin.md)<!-- -->>>
|
|
547
|
+
|
|
548
|
+
Array of Pin primitive objects
|
|
549
|
+
|
|
550
|
+
## Example
|
|
551
|
+
|
|
552
|
+
```javascript
|
|
553
|
+
// 0. 引脚图元仅符号编辑器可用:优先复用测试符号,没有则新建后打开
|
|
554
|
+
// (当前版本非空关键字 search 会抛错,用空关键字列出后按名称过滤)
|
|
555
|
+
const libUuid = await eda.lib_LibrariesList.getPersonalLibraryUuid();
|
|
556
|
+
const found = await eda.lib_Symbol.search('', libUuid, [], undefined, 100, 1);
|
|
557
|
+
const hit = found.find(s => s.name === '嘉立创示例_Pin测试符号');
|
|
558
|
+
const symUuid = hit ? hit.uuid : await eda.lib_Symbol.create(libUuid, '嘉立创示例_Pin测试符号');
|
|
559
|
+
await eda.lib_Symbol.openInEditor(symUuid, libUuid);
|
|
560
|
+
|
|
561
|
+
// 1. 创建一个测试引脚作为查找目标(随机坐标避免重合)
|
|
562
|
+
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
563
|
+
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
564
|
+
const pin = await eda.sch_PrimitivePin.create(x, y, '9', 'MARK', 0, 10, null, 'None', 'Passive');
|
|
565
|
+
const pinId = pin.getState_PrimitiveId();
|
|
566
|
+
|
|
567
|
+
// 2. 获取当前符号上的全部引脚
|
|
568
|
+
const all = await eda.sch_PrimitivePin.getAll();
|
|
569
|
+
|
|
570
|
+
// 3. 清理测试引脚(查询类需要清理)
|
|
571
|
+
await eda.sch_PrimitivePin.delete([pinId]);
|
|
572
|
+
|
|
573
|
+
console.log('total pins:', all.length);
|
|
574
|
+
console.log('marker pin found:', all.some(p => p.getState_PrimitiveId() === pinId));
|
|
575
|
+
console.log('marker pinName:', all.find(p => p.getState_PrimitiveId() === pinId).getState_PinName());
|
|
576
|
+
```
|
|
577
|
+
|
|
578
|
+
### getallprimitiveid
|
|
579
|
+
|
|
580
|
+
# SCH\_PrimitivePin.getAllPrimitiveId() method
|
|
581
|
+
|
|
582
|
+
> 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.
|
|
583
|
+
|
|
584
|
+
Get all Pin primitive IDs
|
|
585
|
+
|
|
586
|
+
## Signature
|
|
587
|
+
|
|
588
|
+
```typescript
|
|
589
|
+
function getAllPrimitiveId(): Promise<Array<string>>;
|
|
590
|
+
```
|
|
591
|
+
|
|
592
|
+
## Returns
|
|
593
|
+
|
|
594
|
+
Promise<Array<string>>
|
|
595
|
+
|
|
596
|
+
Array of Pin primitive IDs
|
|
597
|
+
|
|
598
|
+
## Example
|
|
599
|
+
|
|
600
|
+
```javascript
|
|
601
|
+
// 0. 引脚图元仅符号编辑器可用:优先复用测试符号,没有则新建后打开
|
|
602
|
+
// (当前版本非空关键字 search 会抛错,用空关键字列出后按名称过滤)
|
|
603
|
+
const libUuid = await eda.lib_LibrariesList.getPersonalLibraryUuid();
|
|
604
|
+
const found = await eda.lib_Symbol.search('', libUuid, [], undefined, 100, 1);
|
|
605
|
+
const hit = found.find(s => s.name === '嘉立创示例_Pin测试符号');
|
|
606
|
+
const symUuid = hit ? hit.uuid : await eda.lib_Symbol.create(libUuid, '嘉立创示例_Pin测试符号');
|
|
607
|
+
await eda.lib_Symbol.openInEditor(symUuid, libUuid);
|
|
608
|
+
|
|
609
|
+
// 1. 创建一个测试引脚作为查找目标(随机坐标避免重合)
|
|
610
|
+
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
611
|
+
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
612
|
+
const pin = await eda.sch_PrimitivePin.create(x, y, '8', 'IDS', 0, 10, null, 'None', 'Passive');
|
|
613
|
+
const pinId = pin.getState_PrimitiveId();
|
|
614
|
+
|
|
615
|
+
// 2. 获取全部引脚的图元 ID
|
|
616
|
+
const allIds = await eda.sch_PrimitivePin.getAllPrimitiveId();
|
|
617
|
+
|
|
618
|
+
// 3. 清理测试引脚(查询类需要清理)
|
|
619
|
+
await eda.sch_PrimitivePin.delete([pinId]);
|
|
620
|
+
|
|
621
|
+
console.log('total pin ids:', allIds.length);
|
|
622
|
+
console.log('marker id in list:', allIds.includes(pinId));
|
|
623
|
+
```
|
|
624
|
+
|
|
625
|
+
### modify
|
|
626
|
+
|
|
627
|
+
# SCH\_PrimitivePin.modify() method
|
|
628
|
+
|
|
629
|
+
> 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.
|
|
630
|
+
|
|
631
|
+
Modify Pin
|
|
632
|
+
|
|
633
|
+
## Signature
|
|
634
|
+
|
|
635
|
+
```typescript
|
|
636
|
+
function modify(
|
|
637
|
+
primitiveId: string | ISCH_PrimitivePin | ISCH_PrimitiveComponentPin,
|
|
638
|
+
property: {
|
|
639
|
+
x?: number;
|
|
640
|
+
y?: number;
|
|
641
|
+
pinNumber?: string;
|
|
642
|
+
pinName?: string;
|
|
643
|
+
rotation?: number;
|
|
644
|
+
pinLength?: number;
|
|
645
|
+
pinColor?: string | null;
|
|
646
|
+
pinShape?: ESCH_PrimitivePinShape;
|
|
647
|
+
pinType?: ESCH_PrimitivePinType;
|
|
648
|
+
noConnected?: boolean;
|
|
649
|
+
otherProperty?: Record<string, string | number | boolean>;
|
|
650
|
+
},
|
|
651
|
+
): Promise<ISCH_PrimitivePin | ISCH_PrimitiveComponentPin | undefined>;
|
|
652
|
+
```
|
|
653
|
+
|
|
654
|
+
## Parameters
|
|
655
|
+
|
|
656
|
+
<table><thead><tr><th>
|
|
657
|
+
|
|
658
|
+
Parameter
|
|
659
|
+
|
|
660
|
+
</th><th>
|
|
661
|
+
|
|
662
|
+
Type
|
|
663
|
+
|
|
664
|
+
</th><th>
|
|
665
|
+
|
|
666
|
+
Description
|
|
667
|
+
|
|
668
|
+
</th></tr></thead>
|
|
669
|
+
<tbody><tr><td>
|
|
670
|
+
|
|
671
|
+
primitiveId
|
|
672
|
+
|
|
673
|
+
</td><td>
|
|
674
|
+
|
|
675
|
+
string \| [ISCH\_PrimitivePin](./ISCH_PrimitivePin.md) \| [ISCH\_PrimitiveComponentPin](./ISCH_PrimitiveComponentPin.md)
|
|
676
|
+
|
|
677
|
+
</td><td>
|
|
678
|
+
|
|
679
|
+
Primitive ID
|
|
680
|
+
|
|
681
|
+
</td></tr>
|
|
682
|
+
<tr><td>
|
|
683
|
+
|
|
684
|
+
property
|
|
685
|
+
|
|
686
|
+
</td><td>
|
|
687
|
+
|
|
688
|
+
{ x?: number; y?: number; pinNumber?: string; pinName?: string; rotation?: number; pinLength?: number; pinColor?: string \| null; pinShape?: [ESCH\_PrimitivePinShape](../enums/ESCH_PrimitivePinShape.md)<!-- -->; pinType?: [ESCH\_PrimitivePinType](../enums/ESCH_PrimitivePinType.md)<!-- -->; noConnected?: boolean; otherProperty?: Record<string, string \| number \| boolean> }
|
|
689
|
+
|
|
690
|
+
</td><td>
|
|
691
|
+
|
|
692
|
+
Modify Parameter
|
|
693
|
+
|
|
694
|
+
</td></tr>
|
|
695
|
+
</tbody></table>
|
|
696
|
+
|
|
697
|
+
## Returns
|
|
698
|
+
|
|
699
|
+
Promise<[ISCH\_PrimitivePin](./ISCH_PrimitivePin.md) \| [ISCH\_PrimitiveComponentPin](./ISCH_PrimitiveComponentPin.md) \| undefined>
|
|
700
|
+
|
|
701
|
+
Pin primitive object
|
|
702
|
+
|
|
703
|
+
## Example
|
|
704
|
+
|
|
705
|
+
```javascript
|
|
706
|
+
// 0. 引脚图元仅符号编辑器可用:优先复用测试符号,没有则新建后打开
|
|
707
|
+
// (当前版本非空关键字 search 会抛错,用空关键字列出后按名称过滤)
|
|
708
|
+
const libUuid = await eda.lib_LibrariesList.getPersonalLibraryUuid();
|
|
709
|
+
const found = await eda.lib_Symbol.search('', libUuid, [], undefined, 100, 1);
|
|
710
|
+
const hit = found.find(s => s.name === '嘉立创示例_Pin测试符号');
|
|
711
|
+
const symUuid = hit ? hit.uuid : await eda.lib_Symbol.create(libUuid, '嘉立创示例_Pin测试符号');
|
|
712
|
+
await eda.lib_Symbol.openInEditor(symUuid, libUuid);
|
|
713
|
+
|
|
714
|
+
// 1. 创建待修改的测试引脚(随机坐标避免重合)
|
|
715
|
+
const x = 2000 + Math.floor(Math.random() * 8000);
|
|
716
|
+
const y = 2000 + Math.floor(Math.random() * 8000);
|
|
717
|
+
const pin = await eda.sch_PrimitivePin.create(x, y, '1', 'CLK', 0, 10, null, 'None', 'IN');
|
|
718
|
+
const pinId = pin.getState_PrimitiveId();
|
|
719
|
+
|
|
720
|
+
// 2. 记录修改前的编号、名称与长度
|
|
721
|
+
const beforeNumber = pin.getState_PinNumber();
|
|
722
|
+
const beforeName = pin.getState_PinName();
|
|
723
|
+
const beforeLength = pin.getState_PinLength();
|
|
724
|
+
|
|
725
|
+
// 3. 批量修改:编号 1 → 7、名称 CLK → XTAL、长度 10 → 20、朝向 0 → 90 度
|
|
726
|
+
await eda.sch_PrimitivePin.modify(pinId, { pinNumber: '7', pinName: 'XTAL', pinLength: 20, rotation: 90 });
|
|
727
|
+
|
|
728
|
+
// 4. modify 返回后需要重新 get() 才能读到画布上的最新值
|
|
729
|
+
const refreshed = await eda.sch_PrimitivePin.get(pinId);
|
|
730
|
+
|
|
731
|
+
// 5. 修改类保留现场,供观察修改结果
|
|
732
|
+
console.log('primitiveId:', pinId);
|
|
733
|
+
console.log('pinNumber:', beforeNumber, '→', refreshed.getState_PinNumber());
|
|
734
|
+
console.log('pinName:', beforeName, '→', refreshed.getState_PinName());
|
|
735
|
+
console.log('pinLength:', beforeLength, '→', refreshed.getState_PinLength());
|
|
736
|
+
console.log('rotation:', pin.getState_Rotation(), '→', refreshed.getState_Rotation());
|
|
737
|
+
```
|