@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,717 +1,635 @@
|
|
|
1
|
-
# PCB\_PrimitiveAttribute class
|
|
2
|
-
|
|
3
|
-
PCB & footprint / property primitive class
|
|
4
|
-
|
|
5
|
-
## Signature
|
|
6
|
-
|
|
7
|
-
```typescript
|
|
8
|
-
class PCB_PrimitiveAttribute implements IPCB_PrimitiveAPI
|
|
9
|
-
```
|
|
10
|
-
**Implements:** [IPCB\_PrimitiveAPI](../interfaces/IPCB_PrimitiveAPI.md)
|
|
11
|
-
|
|
12
|
-
## Methods
|
|
13
|
-
|
|
14
|
-
<table><thead><tr><th>
|
|
15
|
-
|
|
16
|
-
Method
|
|
17
|
-
|
|
18
|
-
</th><th>
|
|
19
|
-
|
|
20
|
-
Modifiers
|
|
21
|
-
|
|
22
|
-
</th><th>
|
|
23
|
-
|
|
24
|
-
Description
|
|
25
|
-
|
|
26
|
-
</th></tr></thead>
|
|
27
|
-
<tbody><tr><td>
|
|
28
|
-
|
|
29
|
-
[delete(primitiveIds)](./PCB_PrimitiveAttribute.md)
|
|
30
|
-
|
|
31
|
-
</td><td>
|
|
32
|
-
|
|
33
|
-
</td><td>
|
|
34
|
-
|
|
35
|
-
**_(BETA)_** Delete Property
|
|
36
|
-
|
|
37
|
-
</td></tr>
|
|
38
|
-
<tr><td>
|
|
39
|
-
|
|
40
|
-
[get(primitiveIds)](./PCB_PrimitiveAttribute.md)
|
|
41
|
-
|
|
42
|
-
</td><td>
|
|
43
|
-
|
|
44
|
-
</td><td>
|
|
45
|
-
|
|
46
|
-
**_(BETA)_** Get Property
|
|
47
|
-
|
|
48
|
-
</td></tr>
|
|
49
|
-
<tr><td>
|
|
50
|
-
|
|
51
|
-
[get(primitiveIds)](./PCB_PrimitiveAttribute.md)
|
|
52
|
-
|
|
53
|
-
</td><td>
|
|
54
|
-
|
|
55
|
-
</td><td>
|
|
56
|
-
|
|
57
|
-
**_(BETA)_** Get Property
|
|
58
|
-
|
|
59
|
-
</td></tr>
|
|
60
|
-
<tr><td>
|
|
61
|
-
|
|
62
|
-
[getAll(parentPrimitiveId, layer, primitiveLock)](./PCB_PrimitiveAttribute.md)
|
|
63
|
-
|
|
64
|
-
</td><td>
|
|
65
|
-
|
|
66
|
-
</td><td>
|
|
67
|
-
|
|
68
|
-
**_(BETA)_** Get all Property
|
|
69
|
-
|
|
70
|
-
</td></tr>
|
|
71
|
-
<tr><td>
|
|
72
|
-
|
|
73
|
-
[getAllPrimitiveId(parentPrimitiveId, layer, primitiveLock)](./PCB_PrimitiveAttribute.md)
|
|
74
|
-
|
|
75
|
-
</td><td>
|
|
76
|
-
|
|
77
|
-
</td><td>
|
|
78
|
-
|
|
79
|
-
**_(BETA)_** Get all Property primitive IDs
|
|
80
|
-
|
|
81
|
-
</td></tr>
|
|
82
|
-
<tr><td>
|
|
83
|
-
|
|
84
|
-
[modify(primitiveId, property)](./PCB_PrimitiveAttribute.md)
|
|
85
|
-
|
|
86
|
-
</td><td>
|
|
87
|
-
|
|
88
|
-
</td><td>
|
|
89
|
-
|
|
90
|
-
**_(BETA)_** Modify Text
|
|
91
|
-
|
|
92
|
-
</td></tr>
|
|
93
|
-
</tbody></table>
|
|
94
|
-
|
|
95
|
-
---
|
|
96
|
-
|
|
97
|
-
## 方法详情
|
|
98
|
-
|
|
99
|
-
### delete
|
|
100
|
-
|
|
101
|
-
# PCB\_PrimitiveAttribute.delete() method
|
|
102
|
-
|
|
103
|
-
> 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.
|
|
104
|
-
|
|
105
|
-
Delete Property
|
|
106
|
-
|
|
107
|
-
## Signature
|
|
108
|
-
|
|
109
|
-
```typescript
|
|
110
|
-
function delete(primitiveIds: string | IPCB_PrimitiveAttribute | Array<string> | Array<IPCB_PrimitiveAttribute>): Promise<boolean>;
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
## Parameters
|
|
114
|
-
|
|
115
|
-
<table><thead><tr><th>
|
|
116
|
-
|
|
117
|
-
Parameter
|
|
118
|
-
|
|
119
|
-
</th><th>
|
|
120
|
-
|
|
121
|
-
Type
|
|
122
|
-
|
|
123
|
-
</th><th>
|
|
124
|
-
|
|
125
|
-
Description
|
|
126
|
-
|
|
127
|
-
</th></tr></thead>
|
|
128
|
-
<tbody><tr><td>
|
|
129
|
-
|
|
130
|
-
primitiveIds
|
|
131
|
-
|
|
132
|
-
</td><td>
|
|
133
|
-
|
|
134
|
-
string \| [IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md) \| Array<string> \| Array<[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)<!-- -->>
|
|
135
|
-
|
|
136
|
-
</td><td>
|
|
137
|
-
|
|
138
|
-
Property primitive ID or Text primitive object
|
|
139
|
-
|
|
140
|
-
</td></tr>
|
|
141
|
-
</tbody></table>
|
|
142
|
-
|
|
143
|
-
## Returns
|
|
144
|
-
|
|
145
|
-
Promise<boolean>
|
|
146
|
-
|
|
147
|
-
Delete Whether the operation is successful
|
|
148
|
-
|
|
149
|
-
## Example
|
|
150
|
-
|
|
151
|
-
```javascript
|
|
152
|
-
// 1. 放置测试器件(随机坐标避免与画布已有器件重合):
|
|
153
|
-
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
154
|
-
const x = 20000 + Math.floor(Math.random() * 80000);
|
|
155
|
-
const y = 20000 + Math.floor(Math.random() * 80000);
|
|
156
|
-
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
157
|
-
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
158
|
-
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, x, y);
|
|
159
|
-
const compId = comp.getState_PrimitiveId();
|
|
160
|
-
|
|
161
|
-
// 2. 给器件添加一条自定义属性作为删除目标
|
|
162
|
-
await comp.setAttribute('嘉立创示例_Tolerance', '1%', true, true);
|
|
163
|
-
|
|
164
|
-
// 3. 找到自定义属性的图元并记录删除前的属性数量
|
|
165
|
-
const attrIds = await eda.pcb_PrimitiveAttribute.getAllPrimitiveId(compId);
|
|
166
|
-
const attrs = await eda.pcb_PrimitiveAttribute.get(attrIds);
|
|
167
|
-
const target = attrs.find(a => a.getState_Key() === '嘉立创示例_Tolerance');
|
|
168
|
-
const beforeCount = attrs.length;
|
|
169
|
-
|
|
170
|
-
// 4. 以 ID 字符串形式删除该属性
|
|
171
|
-
const deleted = await eda.pcb_PrimitiveAttribute.delete(target.getState_PrimitiveId());
|
|
172
|
-
|
|
173
|
-
// 5. 删除类保留现场(器件留在画布上,属性已删除)
|
|
174
|
-
const afterCount = (await eda.pcb_PrimitiveAttribute.getAllPrimitiveId(compId)).length;
|
|
175
|
-
|
|
176
|
-
console.log('deleted:', deleted);
|
|
177
|
-
console.log('attribute count:', beforeCount, '→', afterCount);
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
### get
|
|
181
|
-
|
|
182
|
-
# PCB\_PrimitiveAttribute.get() method
|
|
183
|
-
|
|
184
|
-
> 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.
|
|
185
|
-
|
|
186
|
-
Get Property
|
|
187
|
-
|
|
188
|
-
## Signature
|
|
189
|
-
|
|
190
|
-
```typescript
|
|
191
|
-
function get(primitiveIds: string): Promise<IPCB_PrimitiveAttribute | undefined>;
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
## Parameters
|
|
195
|
-
|
|
196
|
-
<table><thead><tr><th>
|
|
197
|
-
|
|
198
|
-
Parameter
|
|
199
|
-
|
|
200
|
-
</th><th>
|
|
201
|
-
|
|
202
|
-
Type
|
|
203
|
-
|
|
204
|
-
</th><th>
|
|
205
|
-
|
|
206
|
-
Description
|
|
207
|
-
|
|
208
|
-
</th></tr></thead>
|
|
209
|
-
<tbody><tr><td>
|
|
210
|
-
|
|
211
|
-
primitiveIds
|
|
212
|
-
|
|
213
|
-
</td><td>
|
|
214
|
-
|
|
215
|
-
string
|
|
216
|
-
|
|
217
|
-
</td><td>
|
|
218
|
-
|
|
219
|
-
Property primitive ID, which can be a string or an array of strings. If it is an array, an array is also returned
|
|
220
|
-
|
|
221
|
-
</td></tr>
|
|
222
|
-
</tbody></table>
|
|
223
|
-
|
|
224
|
-
## Returns
|
|
225
|
-
|
|
226
|
-
Promise<[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md) \| undefined>
|
|
227
|
-
|
|
228
|
-
Attribute primitive object, `undefined` indicates that the retrieval failed
|
|
229
|
-
|
|
230
|
-
## Example
|
|
231
|
-
|
|
232
|
-
```javascript
|
|
233
|
-
// 1. 放置一个测试器件(属性图元随器件生成,无法单独创建):
|
|
234
|
-
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
235
|
-
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
236
|
-
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
237
|
-
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, 5000, 5000);
|
|
238
|
-
const compId = comp.getState_PrimitiveId();
|
|
239
|
-
|
|
240
|
-
// 2. 取出器件的全部属性图元 ID
|
|
241
|
-
const attrIds = await eda.pcb_PrimitiveAttribute.getAllPrimitiveId(compId);
|
|
242
|
-
|
|
243
|
-
// 3. 传 ID 数组,返回属性对象数组
|
|
244
|
-
const arr = await eda.pcb_PrimitiveAttribute.get(attrIds);
|
|
245
|
-
|
|
246
|
-
// 4. 传单个 ID 字符串,返回单个属性对象
|
|
247
|
-
const single = await eda.pcb_PrimitiveAttribute.get(attrIds[0]);
|
|
248
|
-
|
|
249
|
-
// 5. 清理测试器件(属性图元随器件一起删除)
|
|
250
|
-
await eda.pcb_PrimitiveComponent.delete([compId]);
|
|
251
|
-
|
|
252
|
-
console.log('array length:', arr.length);
|
|
253
|
-
console.log('keys:', arr.map(a => a.getState_Key()).join(', '));
|
|
254
|
-
console.log('single value:', single.getState_Value());
|
|
255
|
-
```
|
|
256
|
-
|
|
257
|
-
### get_1
|
|
258
|
-
|
|
259
|
-
# PCB\_PrimitiveAttribute.get() method
|
|
260
|
-
|
|
261
|
-
> 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.
|
|
262
|
-
|
|
263
|
-
Get Property
|
|
264
|
-
|
|
265
|
-
## Signature
|
|
266
|
-
|
|
267
|
-
```typescript
|
|
268
|
-
function get(primitiveIds: Array<string>): Promise<Array<IPCB_PrimitiveAttribute>>;
|
|
269
|
-
```
|
|
270
|
-
|
|
271
|
-
## Parameters
|
|
272
|
-
|
|
273
|
-
<table><thead><tr><th>
|
|
274
|
-
|
|
275
|
-
Parameter
|
|
276
|
-
|
|
277
|
-
</th><th>
|
|
278
|
-
|
|
279
|
-
Type
|
|
280
|
-
|
|
281
|
-
</th><th>
|
|
282
|
-
|
|
283
|
-
Description
|
|
284
|
-
|
|
285
|
-
</th></tr></thead>
|
|
286
|
-
<tbody><tr><td>
|
|
287
|
-
|
|
288
|
-
primitiveIds
|
|
289
|
-
|
|
290
|
-
</td><td>
|
|
291
|
-
|
|
292
|
-
Array<string>
|
|
293
|
-
|
|
294
|
-
</td><td>
|
|
295
|
-
|
|
296
|
-
Property primitive ID, which can be a string or an array of strings. If it is an array, an array is also returned
|
|
297
|
-
|
|
298
|
-
</td></tr>
|
|
299
|
-
</tbody></table>
|
|
300
|
-
|
|
301
|
-
## Returns
|
|
302
|
-
|
|
303
|
-
Promise<Array<[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)<!-- -->>>
|
|
304
|
-
|
|
305
|
-
Property primitive object; an empty array indicates that the retrieval failed
|
|
306
|
-
|
|
307
|
-
## Remarks
|
|
308
|
-
|
|
309
|
-
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.
|
|
310
|
-
|
|
311
|
-
### getall
|
|
312
|
-
|
|
313
|
-
# PCB\_PrimitiveAttribute.getAll() method
|
|
314
|
-
|
|
315
|
-
> 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.
|
|
316
|
-
|
|
317
|
-
Get all Property
|
|
318
|
-
|
|
319
|
-
## Signature
|
|
320
|
-
|
|
321
|
-
```typescript
|
|
322
|
-
function getAll(
|
|
323
|
-
parentPrimitiveId?: string,
|
|
324
|
-
layer?: TPCB_LayersOfImage,
|
|
325
|
-
primitiveLock?: boolean,
|
|
326
|
-
): Promise<Array<IPCB_PrimitiveAttribute>>;
|
|
327
|
-
```
|
|
328
|
-
|
|
329
|
-
## Parameters
|
|
330
|
-
|
|
331
|
-
<table><thead><tr><th>
|
|
332
|
-
|
|
333
|
-
Parameter
|
|
334
|
-
|
|
335
|
-
</th><th>
|
|
336
|
-
|
|
337
|
-
Type
|
|
338
|
-
|
|
339
|
-
</th><th>
|
|
340
|
-
|
|
341
|
-
Description
|
|
342
|
-
|
|
343
|
-
</th></tr></thead>
|
|
344
|
-
<tbody><tr><td>
|
|
345
|
-
|
|
346
|
-
parentPrimitiveId
|
|
347
|
-
|
|
348
|
-
</td><td>
|
|
349
|
-
|
|
350
|
-
string
|
|
351
|
-
|
|
352
|
-
</td><td>
|
|
353
|
-
|
|
354
|
-
_(Optional)_ Associated parent primitive ID
|
|
355
|
-
|
|
356
|
-
</td></tr>
|
|
357
|
-
<tr><td>
|
|
358
|
-
|
|
359
|
-
layer
|
|
360
|
-
|
|
361
|
-
</td><td>
|
|
362
|
-
|
|
363
|
-
[TPCB\_LayersOfImage](../types/TPCB_LayersOfImage.md)
|
|
364
|
-
|
|
365
|
-
</td><td>
|
|
366
|
-
|
|
367
|
-
_(Optional)_ Layer
|
|
368
|
-
|
|
369
|
-
</td></tr>
|
|
370
|
-
<tr><td>
|
|
371
|
-
|
|
372
|
-
primitiveLock
|
|
373
|
-
|
|
374
|
-
</td><td>
|
|
375
|
-
|
|
376
|
-
boolean
|
|
377
|
-
|
|
378
|
-
</td><td>
|
|
379
|
-
|
|
380
|
-
_(Optional)_ Whether it is locked
|
|
381
|
-
|
|
382
|
-
</td></tr>
|
|
383
|
-
</tbody></table>
|
|
384
|
-
|
|
385
|
-
## Returns
|
|
386
|
-
|
|
387
|
-
Promise<Array<[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)<!-- -->>>
|
|
388
|
-
|
|
389
|
-
Array of Property primitive objects
|
|
390
|
-
|
|
391
|
-
## Example
|
|
392
|
-
|
|
393
|
-
```javascript
|
|
394
|
-
// 1. 放置一个测试器件(属性图元随器件生成,无法单独创建):
|
|
395
|
-
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
396
|
-
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
397
|
-
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
398
|
-
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, 5000, 5000);
|
|
399
|
-
const compId = comp.getState_PrimitiveId();
|
|
400
|
-
|
|
401
|
-
// 2. 不带参数:获取 PCB 上全部属性
|
|
402
|
-
const all = await eda.pcb_PrimitiveAttribute.getAll();
|
|
403
|
-
|
|
404
|
-
// 3. 按父图元过滤:只取该器件的属性
|
|
405
|
-
const own = await eda.pcb_PrimitiveAttribute.getAll(compId);
|
|
406
|
-
|
|
407
|
-
// 4. 叠加层过滤:属性默认在顶层丝印(3)
|
|
408
|
-
const silkscreen = await eda.pcb_PrimitiveAttribute.getAll(compId, 3);
|
|
409
|
-
|
|
410
|
-
// 5. 清理测试器件(属性图元随器件一起删除)
|
|
411
|
-
await eda.pcb_PrimitiveComponent.delete([compId]);
|
|
412
|
-
|
|
413
|
-
console.log('total attributes:', all.length);
|
|
414
|
-
console.log('component attributes:', own.length);
|
|
415
|
-
console.log('top silkscreen attributes:', silkscreen.length);
|
|
416
|
-
console.log('keys:', own.map(a => a.getState_Key()).join(', '));
|
|
417
|
-
```
|
|
418
|
-
|
|
419
|
-
### getallprimitiveid
|
|
420
|
-
|
|
421
|
-
# PCB\_PrimitiveAttribute.getAllPrimitiveId() method
|
|
422
|
-
|
|
423
|
-
> 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.
|
|
424
|
-
|
|
425
|
-
Get all Property primitive IDs
|
|
426
|
-
|
|
427
|
-
## Signature
|
|
428
|
-
|
|
429
|
-
```typescript
|
|
430
|
-
function getAllPrimitiveId(
|
|
431
|
-
parentPrimitiveId?: string,
|
|
432
|
-
layer?: TPCB_LayersOfImage,
|
|
433
|
-
primitiveLock?: boolean,
|
|
434
|
-
): Promise<Array<string>>;
|
|
435
|
-
```
|
|
436
|
-
|
|
437
|
-
## Parameters
|
|
438
|
-
|
|
439
|
-
<table><thead><tr><th>
|
|
440
|
-
|
|
441
|
-
Parameter
|
|
442
|
-
|
|
443
|
-
</th><th>
|
|
444
|
-
|
|
445
|
-
Type
|
|
446
|
-
|
|
447
|
-
</th><th>
|
|
448
|
-
|
|
449
|
-
Description
|
|
450
|
-
|
|
451
|
-
</th></tr></thead>
|
|
452
|
-
<tbody><tr><td>
|
|
453
|
-
|
|
454
|
-
parentPrimitiveId
|
|
455
|
-
|
|
456
|
-
</td><td>
|
|
457
|
-
|
|
458
|
-
string
|
|
459
|
-
|
|
460
|
-
</td><td>
|
|
461
|
-
|
|
462
|
-
_(Optional)_ Associated parent primitive ID
|
|
463
|
-
|
|
464
|
-
</td></tr>
|
|
465
|
-
<tr><td>
|
|
466
|
-
|
|
467
|
-
layer
|
|
468
|
-
|
|
469
|
-
</td><td>
|
|
470
|
-
|
|
471
|
-
[TPCB\_LayersOfImage](../types/TPCB_LayersOfImage.md)
|
|
472
|
-
|
|
473
|
-
</td><td>
|
|
474
|
-
|
|
475
|
-
_(Optional)_ Layer
|
|
476
|
-
|
|
477
|
-
</td></tr>
|
|
478
|
-
<tr><td>
|
|
479
|
-
|
|
480
|
-
primitiveLock
|
|
481
|
-
|
|
482
|
-
</td><td>
|
|
483
|
-
|
|
484
|
-
boolean
|
|
485
|
-
|
|
486
|
-
</td><td>
|
|
487
|
-
|
|
488
|
-
_(Optional)_ Whether it is locked
|
|
489
|
-
|
|
490
|
-
</td></tr>
|
|
491
|
-
</tbody></table>
|
|
492
|
-
|
|
493
|
-
## Returns
|
|
494
|
-
|
|
495
|
-
Promise<Array<string>>
|
|
496
|
-
|
|
497
|
-
Array of Property primitive IDs
|
|
498
|
-
|
|
499
|
-
## Example
|
|
500
|
-
|
|
501
|
-
```javascript
|
|
502
|
-
// 1. 放置一个测试器件(属性图元随器件生成,无法单独创建):
|
|
503
|
-
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
504
|
-
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
505
|
-
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
506
|
-
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, 5000, 5000);
|
|
507
|
-
const compId = comp.getState_PrimitiveId();
|
|
508
|
-
|
|
509
|
-
// 2. 获取 PCB 上全部属性的图元 ID
|
|
510
|
-
const allIds = await eda.pcb_PrimitiveAttribute.getAllPrimitiveId();
|
|
511
|
-
|
|
512
|
-
// 3. 按父图元过滤:只取该器件的属性图元 ID
|
|
513
|
-
const ownIds = await eda.pcb_PrimitiveAttribute.getAllPrimitiveId(compId);
|
|
514
|
-
|
|
515
|
-
// 4. 清理测试器件(属性图元随器件一起删除)
|
|
516
|
-
await eda.pcb_PrimitiveComponent.delete([compId]);
|
|
517
|
-
|
|
518
|
-
console.log('total attribute ids:', allIds.length);
|
|
519
|
-
console.log('component attribute ids:', ownIds.length);
|
|
520
|
-
console.log('component ids all in total list:', ownIds.every(id => allIds.includes(id)));
|
|
521
|
-
```
|
|
522
|
-
|
|
523
|
-
### modify
|
|
524
|
-
|
|
525
|
-
# PCB\_PrimitiveAttribute.modify() method
|
|
526
|
-
|
|
527
|
-
> 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.
|
|
528
|
-
|
|
529
|
-
Modify Text
|
|
530
|
-
|
|
531
|
-
## Signature
|
|
532
|
-
|
|
533
|
-
```typescript
|
|
534
|
-
function modify(
|
|
535
|
-
primitiveId: string | IPCB_PrimitiveAttribute,
|
|
536
|
-
property: {
|
|
537
|
-
layer?:
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
): Promise<IPCB_PrimitiveAttribute | undefined>;
|
|
637
|
-
```
|
|
638
|
-
|
|
639
|
-
## Parameters
|
|
640
|
-
|
|
641
|
-
<table><thead><tr><th>
|
|
642
|
-
|
|
643
|
-
Parameter
|
|
644
|
-
|
|
645
|
-
</th><th>
|
|
646
|
-
|
|
647
|
-
Type
|
|
648
|
-
|
|
649
|
-
</th><th>
|
|
650
|
-
|
|
651
|
-
Description
|
|
652
|
-
|
|
653
|
-
</th></tr></thead>
|
|
654
|
-
<tbody><tr><td>
|
|
655
|
-
|
|
656
|
-
primitiveId
|
|
657
|
-
|
|
658
|
-
</td><td>
|
|
659
|
-
|
|
660
|
-
string \| [IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)
|
|
661
|
-
|
|
662
|
-
</td><td>
|
|
663
|
-
|
|
664
|
-
Primitive ID
|
|
665
|
-
|
|
666
|
-
</td></tr>
|
|
667
|
-
<tr><td>
|
|
668
|
-
|
|
669
|
-
property
|
|
670
|
-
|
|
671
|
-
</td><td>
|
|
672
|
-
|
|
673
|
-
{ layer?: undefined \| [EPCB\_LayerId.TOP](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.TOP\_SILKSCREEN](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.TOP\_SOLDER\_MASK](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.TOP\_ASSEMBLY](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.BOTTOM](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.BOTTOM\_SILKSCREEN](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.BOTTOM\_SOLDER\_MASK](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.BOTTOM\_ASSEMBLY](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.DOCUMENT](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.MECHANICAL](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_1](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_2](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_3](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_4](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_5](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_6](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_7](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_8](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_9](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_10](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_11](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_12](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_13](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_14](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_15](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_16](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_17](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_18](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_19](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_20](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_21](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_22](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_23](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_24](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_25](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_26](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_27](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_28](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_29](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.INNER\_30](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_1](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_2](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_3](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_4](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_5](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_6](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_7](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_8](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_9](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_10](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_11](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_12](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_13](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_14](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_15](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_16](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_17](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_18](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_19](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_20](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_21](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_22](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_23](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_24](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_25](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_26](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_27](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_28](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_29](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.CUSTOM\_30](../enums/EPCB_LayerId.md) \| [EPCB\_LayerId.DRILL\_DRAWING](../enums/EPCB_LayerId.md)<!-- -->; x?: undefined \| number; y?: undefined \| number; key?: undefined \| string; value?: undefined \| string; keyVisible?: undefined \| false \| true; valueVisible?: undefined \| false \| true; fontFamily?: undefined \| string; fontSize?: undefined \| number; lineWidth?: undefined \| number; alignMode?: undefined \| [EPCB\_PrimitiveStringAlignMode.LEFT\_TOP](../enums/EPCB_PrimitiveStringAlignMode.md) \| [EPCB\_PrimitiveStringAlignMode.LEFT\_MIDDLE](../enums/EPCB_PrimitiveStringAlignMode.md) \| [EPCB\_PrimitiveStringAlignMode.LEFT\_BOTTOM](../enums/EPCB_PrimitiveStringAlignMode.md) \| [EPCB\_PrimitiveStringAlignMode.CENTER\_TOP](../enums/EPCB_PrimitiveStringAlignMode.md) \| [EPCB\_PrimitiveStringAlignMode.CENTER](../enums/EPCB_PrimitiveStringAlignMode.md) \| [EPCB\_PrimitiveStringAlignMode.CENTER\_BOTTOM](../enums/EPCB_PrimitiveStringAlignMode.md) \| [EPCB\_PrimitiveStringAlignMode.RIGHT\_TOP](../enums/EPCB_PrimitiveStringAlignMode.md) \| [EPCB\_PrimitiveStringAlignMode.RIGHT\_MIDDLE](../enums/EPCB_PrimitiveStringAlignMode.md) \| [EPCB\_PrimitiveStringAlignMode.RIGHT\_BOTTOM](../enums/EPCB_PrimitiveStringAlignMode.md)<!-- -->; rotation?: undefined \| number; reverse?: undefined \| false \| true; expansion?: undefined \| number; mirror?: undefined \| false \| true; primitiveLock?: undefined \| false \| true }
|
|
674
|
-
|
|
675
|
-
</td><td>
|
|
676
|
-
|
|
677
|
-
Modify Parameter
|
|
678
|
-
|
|
679
|
-
</td></tr>
|
|
680
|
-
</tbody></table>
|
|
681
|
-
|
|
682
|
-
## Returns
|
|
683
|
-
|
|
684
|
-
Promise<[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md) \| undefined>
|
|
685
|
-
|
|
686
|
-
Text primitive object
|
|
687
|
-
|
|
688
|
-
## Example
|
|
689
|
-
|
|
690
|
-
```javascript
|
|
691
|
-
// 1. 放置测试器件并添加自定义属性(随机坐标避免与画布已有器件重合):
|
|
692
|
-
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
693
|
-
const x = 20000 + Math.floor(Math.random() * 80000);
|
|
694
|
-
const y = 20000 + Math.floor(Math.random() * 80000);
|
|
695
|
-
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
696
|
-
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
697
|
-
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, x, y);
|
|
698
|
-
const compId = comp.getState_PrimitiveId();
|
|
699
|
-
await comp.setAttribute('嘉立创示例_Tolerance', '1%', true, true);
|
|
700
|
-
|
|
701
|
-
// 2. 找到自定义属性的图元并读取修改前的值
|
|
702
|
-
const attrIds = await eda.pcb_PrimitiveAttribute.getAllPrimitiveId(compId);
|
|
703
|
-
const attrs = await eda.pcb_PrimitiveAttribute.get(attrIds);
|
|
704
|
-
const target = attrs.find(a => a.getState_Key() === '嘉立创示例_Tolerance');
|
|
705
|
-
const beforeValue = target.getState_Value();
|
|
706
|
-
const beforeFontSize = target.getState_FontSize();
|
|
707
|
-
|
|
708
|
-
// 3. 批量修改:属性值 1% → 5%,字号 45 → 60
|
|
709
|
-
await eda.pcb_PrimitiveAttribute.modify(target.getState_PrimitiveId(), { value: '5%', fontSize: 60 });
|
|
710
|
-
|
|
711
|
-
// 4. modify 返回后需要重新 get() 才能读到画布上的最新值
|
|
712
|
-
const refreshed = await eda.pcb_PrimitiveAttribute.get(target.getState_PrimitiveId());
|
|
713
|
-
|
|
714
|
-
// 5. 修改类保留现场,供观察修改结果
|
|
715
|
-
console.log('value:', beforeValue, '→', refreshed.getState_Value());
|
|
716
|
-
console.log('fontSize:', beforeFontSize, '→', refreshed.getState_FontSize());
|
|
717
|
-
```
|
|
1
|
+
# PCB\_PrimitiveAttribute class
|
|
2
|
+
|
|
3
|
+
PCB & footprint / property primitive class
|
|
4
|
+
|
|
5
|
+
## Signature
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
class PCB_PrimitiveAttribute implements IPCB_PrimitiveAPI
|
|
9
|
+
```
|
|
10
|
+
**Implements:** [IPCB\_PrimitiveAPI](../interfaces/IPCB_PrimitiveAPI.md)
|
|
11
|
+
|
|
12
|
+
## Methods
|
|
13
|
+
|
|
14
|
+
<table><thead><tr><th>
|
|
15
|
+
|
|
16
|
+
Method
|
|
17
|
+
|
|
18
|
+
</th><th>
|
|
19
|
+
|
|
20
|
+
Modifiers
|
|
21
|
+
|
|
22
|
+
</th><th>
|
|
23
|
+
|
|
24
|
+
Description
|
|
25
|
+
|
|
26
|
+
</th></tr></thead>
|
|
27
|
+
<tbody><tr><td>
|
|
28
|
+
|
|
29
|
+
[delete(primitiveIds)](./PCB_PrimitiveAttribute.md)
|
|
30
|
+
|
|
31
|
+
</td><td>
|
|
32
|
+
|
|
33
|
+
</td><td>
|
|
34
|
+
|
|
35
|
+
**_(BETA)_** Delete Property
|
|
36
|
+
|
|
37
|
+
</td></tr>
|
|
38
|
+
<tr><td>
|
|
39
|
+
|
|
40
|
+
[get(primitiveIds)](./PCB_PrimitiveAttribute.md)
|
|
41
|
+
|
|
42
|
+
</td><td>
|
|
43
|
+
|
|
44
|
+
</td><td>
|
|
45
|
+
|
|
46
|
+
**_(BETA)_** Get Property
|
|
47
|
+
|
|
48
|
+
</td></tr>
|
|
49
|
+
<tr><td>
|
|
50
|
+
|
|
51
|
+
[get(primitiveIds)](./PCB_PrimitiveAttribute.md)
|
|
52
|
+
|
|
53
|
+
</td><td>
|
|
54
|
+
|
|
55
|
+
</td><td>
|
|
56
|
+
|
|
57
|
+
**_(BETA)_** Get Property
|
|
58
|
+
|
|
59
|
+
</td></tr>
|
|
60
|
+
<tr><td>
|
|
61
|
+
|
|
62
|
+
[getAll(parentPrimitiveId, layer, primitiveLock)](./PCB_PrimitiveAttribute.md)
|
|
63
|
+
|
|
64
|
+
</td><td>
|
|
65
|
+
|
|
66
|
+
</td><td>
|
|
67
|
+
|
|
68
|
+
**_(BETA)_** Get all Property
|
|
69
|
+
|
|
70
|
+
</td></tr>
|
|
71
|
+
<tr><td>
|
|
72
|
+
|
|
73
|
+
[getAllPrimitiveId(parentPrimitiveId, layer, primitiveLock)](./PCB_PrimitiveAttribute.md)
|
|
74
|
+
|
|
75
|
+
</td><td>
|
|
76
|
+
|
|
77
|
+
</td><td>
|
|
78
|
+
|
|
79
|
+
**_(BETA)_** Get all Property primitive IDs
|
|
80
|
+
|
|
81
|
+
</td></tr>
|
|
82
|
+
<tr><td>
|
|
83
|
+
|
|
84
|
+
[modify(primitiveId, property)](./PCB_PrimitiveAttribute.md)
|
|
85
|
+
|
|
86
|
+
</td><td>
|
|
87
|
+
|
|
88
|
+
</td><td>
|
|
89
|
+
|
|
90
|
+
**_(BETA)_** Modify Text
|
|
91
|
+
|
|
92
|
+
</td></tr>
|
|
93
|
+
</tbody></table>
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## 方法详情
|
|
98
|
+
|
|
99
|
+
### delete
|
|
100
|
+
|
|
101
|
+
# PCB\_PrimitiveAttribute.delete() method
|
|
102
|
+
|
|
103
|
+
> 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.
|
|
104
|
+
|
|
105
|
+
Delete Property
|
|
106
|
+
|
|
107
|
+
## Signature
|
|
108
|
+
|
|
109
|
+
```typescript
|
|
110
|
+
function delete(primitiveIds: string | IPCB_PrimitiveAttribute | Array<string> | Array<IPCB_PrimitiveAttribute>): Promise<boolean>;
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Parameters
|
|
114
|
+
|
|
115
|
+
<table><thead><tr><th>
|
|
116
|
+
|
|
117
|
+
Parameter
|
|
118
|
+
|
|
119
|
+
</th><th>
|
|
120
|
+
|
|
121
|
+
Type
|
|
122
|
+
|
|
123
|
+
</th><th>
|
|
124
|
+
|
|
125
|
+
Description
|
|
126
|
+
|
|
127
|
+
</th></tr></thead>
|
|
128
|
+
<tbody><tr><td>
|
|
129
|
+
|
|
130
|
+
primitiveIds
|
|
131
|
+
|
|
132
|
+
</td><td>
|
|
133
|
+
|
|
134
|
+
string \| [IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md) \| Array<string> \| Array<[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)<!-- -->>
|
|
135
|
+
|
|
136
|
+
</td><td>
|
|
137
|
+
|
|
138
|
+
Property primitive ID or Text primitive object
|
|
139
|
+
|
|
140
|
+
</td></tr>
|
|
141
|
+
</tbody></table>
|
|
142
|
+
|
|
143
|
+
## Returns
|
|
144
|
+
|
|
145
|
+
Promise<boolean>
|
|
146
|
+
|
|
147
|
+
Delete Whether the operation is successful
|
|
148
|
+
|
|
149
|
+
## Example
|
|
150
|
+
|
|
151
|
+
```javascript
|
|
152
|
+
// 1. 放置测试器件(随机坐标避免与画布已有器件重合):
|
|
153
|
+
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
154
|
+
const x = 20000 + Math.floor(Math.random() * 80000);
|
|
155
|
+
const y = 20000 + Math.floor(Math.random() * 80000);
|
|
156
|
+
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
157
|
+
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
158
|
+
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, x, y);
|
|
159
|
+
const compId = comp.getState_PrimitiveId();
|
|
160
|
+
|
|
161
|
+
// 2. 给器件添加一条自定义属性作为删除目标
|
|
162
|
+
await comp.setAttribute('嘉立创示例_Tolerance', '1%', true, true);
|
|
163
|
+
|
|
164
|
+
// 3. 找到自定义属性的图元并记录删除前的属性数量
|
|
165
|
+
const attrIds = await eda.pcb_PrimitiveAttribute.getAllPrimitiveId(compId);
|
|
166
|
+
const attrs = await eda.pcb_PrimitiveAttribute.get(attrIds);
|
|
167
|
+
const target = attrs.find(a => a.getState_Key() === '嘉立创示例_Tolerance');
|
|
168
|
+
const beforeCount = attrs.length;
|
|
169
|
+
|
|
170
|
+
// 4. 以 ID 字符串形式删除该属性
|
|
171
|
+
const deleted = await eda.pcb_PrimitiveAttribute.delete(target.getState_PrimitiveId());
|
|
172
|
+
|
|
173
|
+
// 5. 删除类保留现场(器件留在画布上,属性已删除)
|
|
174
|
+
const afterCount = (await eda.pcb_PrimitiveAttribute.getAllPrimitiveId(compId)).length;
|
|
175
|
+
|
|
176
|
+
console.log('deleted:', deleted);
|
|
177
|
+
console.log('attribute count:', beforeCount, '→', afterCount);
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### get
|
|
181
|
+
|
|
182
|
+
# PCB\_PrimitiveAttribute.get() method
|
|
183
|
+
|
|
184
|
+
> 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.
|
|
185
|
+
|
|
186
|
+
Get Property
|
|
187
|
+
|
|
188
|
+
## Signature
|
|
189
|
+
|
|
190
|
+
```typescript
|
|
191
|
+
function get(primitiveIds: string): Promise<IPCB_PrimitiveAttribute | undefined>;
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Parameters
|
|
195
|
+
|
|
196
|
+
<table><thead><tr><th>
|
|
197
|
+
|
|
198
|
+
Parameter
|
|
199
|
+
|
|
200
|
+
</th><th>
|
|
201
|
+
|
|
202
|
+
Type
|
|
203
|
+
|
|
204
|
+
</th><th>
|
|
205
|
+
|
|
206
|
+
Description
|
|
207
|
+
|
|
208
|
+
</th></tr></thead>
|
|
209
|
+
<tbody><tr><td>
|
|
210
|
+
|
|
211
|
+
primitiveIds
|
|
212
|
+
|
|
213
|
+
</td><td>
|
|
214
|
+
|
|
215
|
+
string
|
|
216
|
+
|
|
217
|
+
</td><td>
|
|
218
|
+
|
|
219
|
+
Property primitive ID, which can be a string or an array of strings. If it is an array, an array is also returned
|
|
220
|
+
|
|
221
|
+
</td></tr>
|
|
222
|
+
</tbody></table>
|
|
223
|
+
|
|
224
|
+
## Returns
|
|
225
|
+
|
|
226
|
+
Promise<[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md) \| undefined>
|
|
227
|
+
|
|
228
|
+
Attribute primitive object, `undefined` indicates that the retrieval failed
|
|
229
|
+
|
|
230
|
+
## Example
|
|
231
|
+
|
|
232
|
+
```javascript
|
|
233
|
+
// 1. 放置一个测试器件(属性图元随器件生成,无法单独创建):
|
|
234
|
+
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
235
|
+
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
236
|
+
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
237
|
+
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, 5000, 5000);
|
|
238
|
+
const compId = comp.getState_PrimitiveId();
|
|
239
|
+
|
|
240
|
+
// 2. 取出器件的全部属性图元 ID
|
|
241
|
+
const attrIds = await eda.pcb_PrimitiveAttribute.getAllPrimitiveId(compId);
|
|
242
|
+
|
|
243
|
+
// 3. 传 ID 数组,返回属性对象数组
|
|
244
|
+
const arr = await eda.pcb_PrimitiveAttribute.get(attrIds);
|
|
245
|
+
|
|
246
|
+
// 4. 传单个 ID 字符串,返回单个属性对象
|
|
247
|
+
const single = await eda.pcb_PrimitiveAttribute.get(attrIds[0]);
|
|
248
|
+
|
|
249
|
+
// 5. 清理测试器件(属性图元随器件一起删除)
|
|
250
|
+
await eda.pcb_PrimitiveComponent.delete([compId]);
|
|
251
|
+
|
|
252
|
+
console.log('array length:', arr.length);
|
|
253
|
+
console.log('keys:', arr.map(a => a.getState_Key()).join(', '));
|
|
254
|
+
console.log('single value:', single.getState_Value());
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
### get_1
|
|
258
|
+
|
|
259
|
+
# PCB\_PrimitiveAttribute.get() method
|
|
260
|
+
|
|
261
|
+
> 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.
|
|
262
|
+
|
|
263
|
+
Get Property
|
|
264
|
+
|
|
265
|
+
## Signature
|
|
266
|
+
|
|
267
|
+
```typescript
|
|
268
|
+
function get(primitiveIds: Array<string>): Promise<Array<IPCB_PrimitiveAttribute>>;
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
## Parameters
|
|
272
|
+
|
|
273
|
+
<table><thead><tr><th>
|
|
274
|
+
|
|
275
|
+
Parameter
|
|
276
|
+
|
|
277
|
+
</th><th>
|
|
278
|
+
|
|
279
|
+
Type
|
|
280
|
+
|
|
281
|
+
</th><th>
|
|
282
|
+
|
|
283
|
+
Description
|
|
284
|
+
|
|
285
|
+
</th></tr></thead>
|
|
286
|
+
<tbody><tr><td>
|
|
287
|
+
|
|
288
|
+
primitiveIds
|
|
289
|
+
|
|
290
|
+
</td><td>
|
|
291
|
+
|
|
292
|
+
Array<string>
|
|
293
|
+
|
|
294
|
+
</td><td>
|
|
295
|
+
|
|
296
|
+
Property primitive ID, which can be a string or an array of strings. If it is an array, an array is also returned
|
|
297
|
+
|
|
298
|
+
</td></tr>
|
|
299
|
+
</tbody></table>
|
|
300
|
+
|
|
301
|
+
## Returns
|
|
302
|
+
|
|
303
|
+
Promise<Array<[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)<!-- -->>>
|
|
304
|
+
|
|
305
|
+
Property primitive object; an empty array indicates that the retrieval failed
|
|
306
|
+
|
|
307
|
+
## Remarks
|
|
308
|
+
|
|
309
|
+
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.
|
|
310
|
+
|
|
311
|
+
### getall
|
|
312
|
+
|
|
313
|
+
# PCB\_PrimitiveAttribute.getAll() method
|
|
314
|
+
|
|
315
|
+
> 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.
|
|
316
|
+
|
|
317
|
+
Get all Property
|
|
318
|
+
|
|
319
|
+
## Signature
|
|
320
|
+
|
|
321
|
+
```typescript
|
|
322
|
+
function getAll(
|
|
323
|
+
parentPrimitiveId?: string,
|
|
324
|
+
layer?: TPCB_LayersOfImage,
|
|
325
|
+
primitiveLock?: boolean,
|
|
326
|
+
): Promise<Array<IPCB_PrimitiveAttribute>>;
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
## Parameters
|
|
330
|
+
|
|
331
|
+
<table><thead><tr><th>
|
|
332
|
+
|
|
333
|
+
Parameter
|
|
334
|
+
|
|
335
|
+
</th><th>
|
|
336
|
+
|
|
337
|
+
Type
|
|
338
|
+
|
|
339
|
+
</th><th>
|
|
340
|
+
|
|
341
|
+
Description
|
|
342
|
+
|
|
343
|
+
</th></tr></thead>
|
|
344
|
+
<tbody><tr><td>
|
|
345
|
+
|
|
346
|
+
parentPrimitiveId
|
|
347
|
+
|
|
348
|
+
</td><td>
|
|
349
|
+
|
|
350
|
+
string
|
|
351
|
+
|
|
352
|
+
</td><td>
|
|
353
|
+
|
|
354
|
+
_(Optional)_ Associated parent primitive ID
|
|
355
|
+
|
|
356
|
+
</td></tr>
|
|
357
|
+
<tr><td>
|
|
358
|
+
|
|
359
|
+
layer
|
|
360
|
+
|
|
361
|
+
</td><td>
|
|
362
|
+
|
|
363
|
+
[TPCB\_LayersOfImage](../types/TPCB_LayersOfImage.md)
|
|
364
|
+
|
|
365
|
+
</td><td>
|
|
366
|
+
|
|
367
|
+
_(Optional)_ Layer
|
|
368
|
+
|
|
369
|
+
</td></tr>
|
|
370
|
+
<tr><td>
|
|
371
|
+
|
|
372
|
+
primitiveLock
|
|
373
|
+
|
|
374
|
+
</td><td>
|
|
375
|
+
|
|
376
|
+
boolean
|
|
377
|
+
|
|
378
|
+
</td><td>
|
|
379
|
+
|
|
380
|
+
_(Optional)_ Whether it is locked
|
|
381
|
+
|
|
382
|
+
</td></tr>
|
|
383
|
+
</tbody></table>
|
|
384
|
+
|
|
385
|
+
## Returns
|
|
386
|
+
|
|
387
|
+
Promise<Array<[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)<!-- -->>>
|
|
388
|
+
|
|
389
|
+
Array of Property primitive objects
|
|
390
|
+
|
|
391
|
+
## Example
|
|
392
|
+
|
|
393
|
+
```javascript
|
|
394
|
+
// 1. 放置一个测试器件(属性图元随器件生成,无法单独创建):
|
|
395
|
+
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
396
|
+
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
397
|
+
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
398
|
+
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, 5000, 5000);
|
|
399
|
+
const compId = comp.getState_PrimitiveId();
|
|
400
|
+
|
|
401
|
+
// 2. 不带参数:获取 PCB 上全部属性
|
|
402
|
+
const all = await eda.pcb_PrimitiveAttribute.getAll();
|
|
403
|
+
|
|
404
|
+
// 3. 按父图元过滤:只取该器件的属性
|
|
405
|
+
const own = await eda.pcb_PrimitiveAttribute.getAll(compId);
|
|
406
|
+
|
|
407
|
+
// 4. 叠加层过滤:属性默认在顶层丝印(3)
|
|
408
|
+
const silkscreen = await eda.pcb_PrimitiveAttribute.getAll(compId, 3);
|
|
409
|
+
|
|
410
|
+
// 5. 清理测试器件(属性图元随器件一起删除)
|
|
411
|
+
await eda.pcb_PrimitiveComponent.delete([compId]);
|
|
412
|
+
|
|
413
|
+
console.log('total attributes:', all.length);
|
|
414
|
+
console.log('component attributes:', own.length);
|
|
415
|
+
console.log('top silkscreen attributes:', silkscreen.length);
|
|
416
|
+
console.log('keys:', own.map(a => a.getState_Key()).join(', '));
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
### getallprimitiveid
|
|
420
|
+
|
|
421
|
+
# PCB\_PrimitiveAttribute.getAllPrimitiveId() method
|
|
422
|
+
|
|
423
|
+
> 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.
|
|
424
|
+
|
|
425
|
+
Get all Property primitive IDs
|
|
426
|
+
|
|
427
|
+
## Signature
|
|
428
|
+
|
|
429
|
+
```typescript
|
|
430
|
+
function getAllPrimitiveId(
|
|
431
|
+
parentPrimitiveId?: string,
|
|
432
|
+
layer?: TPCB_LayersOfImage,
|
|
433
|
+
primitiveLock?: boolean,
|
|
434
|
+
): Promise<Array<string>>;
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
## Parameters
|
|
438
|
+
|
|
439
|
+
<table><thead><tr><th>
|
|
440
|
+
|
|
441
|
+
Parameter
|
|
442
|
+
|
|
443
|
+
</th><th>
|
|
444
|
+
|
|
445
|
+
Type
|
|
446
|
+
|
|
447
|
+
</th><th>
|
|
448
|
+
|
|
449
|
+
Description
|
|
450
|
+
|
|
451
|
+
</th></tr></thead>
|
|
452
|
+
<tbody><tr><td>
|
|
453
|
+
|
|
454
|
+
parentPrimitiveId
|
|
455
|
+
|
|
456
|
+
</td><td>
|
|
457
|
+
|
|
458
|
+
string
|
|
459
|
+
|
|
460
|
+
</td><td>
|
|
461
|
+
|
|
462
|
+
_(Optional)_ Associated parent primitive ID
|
|
463
|
+
|
|
464
|
+
</td></tr>
|
|
465
|
+
<tr><td>
|
|
466
|
+
|
|
467
|
+
layer
|
|
468
|
+
|
|
469
|
+
</td><td>
|
|
470
|
+
|
|
471
|
+
[TPCB\_LayersOfImage](../types/TPCB_LayersOfImage.md)
|
|
472
|
+
|
|
473
|
+
</td><td>
|
|
474
|
+
|
|
475
|
+
_(Optional)_ Layer
|
|
476
|
+
|
|
477
|
+
</td></tr>
|
|
478
|
+
<tr><td>
|
|
479
|
+
|
|
480
|
+
primitiveLock
|
|
481
|
+
|
|
482
|
+
</td><td>
|
|
483
|
+
|
|
484
|
+
boolean
|
|
485
|
+
|
|
486
|
+
</td><td>
|
|
487
|
+
|
|
488
|
+
_(Optional)_ Whether it is locked
|
|
489
|
+
|
|
490
|
+
</td></tr>
|
|
491
|
+
</tbody></table>
|
|
492
|
+
|
|
493
|
+
## Returns
|
|
494
|
+
|
|
495
|
+
Promise<Array<string>>
|
|
496
|
+
|
|
497
|
+
Array of Property primitive IDs
|
|
498
|
+
|
|
499
|
+
## Example
|
|
500
|
+
|
|
501
|
+
```javascript
|
|
502
|
+
// 1. 放置一个测试器件(属性图元随器件生成,无法单独创建):
|
|
503
|
+
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
504
|
+
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
505
|
+
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
506
|
+
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, 5000, 5000);
|
|
507
|
+
const compId = comp.getState_PrimitiveId();
|
|
508
|
+
|
|
509
|
+
// 2. 获取 PCB 上全部属性的图元 ID
|
|
510
|
+
const allIds = await eda.pcb_PrimitiveAttribute.getAllPrimitiveId();
|
|
511
|
+
|
|
512
|
+
// 3. 按父图元过滤:只取该器件的属性图元 ID
|
|
513
|
+
const ownIds = await eda.pcb_PrimitiveAttribute.getAllPrimitiveId(compId);
|
|
514
|
+
|
|
515
|
+
// 4. 清理测试器件(属性图元随器件一起删除)
|
|
516
|
+
await eda.pcb_PrimitiveComponent.delete([compId]);
|
|
517
|
+
|
|
518
|
+
console.log('total attribute ids:', allIds.length);
|
|
519
|
+
console.log('component attribute ids:', ownIds.length);
|
|
520
|
+
console.log('component ids all in total list:', ownIds.every(id => allIds.includes(id)));
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
### modify
|
|
524
|
+
|
|
525
|
+
# PCB\_PrimitiveAttribute.modify() method
|
|
526
|
+
|
|
527
|
+
> 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.
|
|
528
|
+
|
|
529
|
+
Modify Text
|
|
530
|
+
|
|
531
|
+
## Signature
|
|
532
|
+
|
|
533
|
+
```typescript
|
|
534
|
+
function modify(
|
|
535
|
+
primitiveId: string | IPCB_PrimitiveAttribute,
|
|
536
|
+
property: {
|
|
537
|
+
layer?: TPCB_LayersOfImage;
|
|
538
|
+
x?: number;
|
|
539
|
+
y?: number;
|
|
540
|
+
key?: string;
|
|
541
|
+
value?: string;
|
|
542
|
+
keyVisible?: boolean;
|
|
543
|
+
valueVisible?: boolean;
|
|
544
|
+
fontFamily?: string;
|
|
545
|
+
fontSize?: number;
|
|
546
|
+
lineWidth?: number;
|
|
547
|
+
alignMode?: EPCB_PrimitiveStringAlignMode;
|
|
548
|
+
rotation?: number;
|
|
549
|
+
reverse?: boolean;
|
|
550
|
+
expansion?: number;
|
|
551
|
+
mirror?: boolean;
|
|
552
|
+
primitiveLock?: boolean;
|
|
553
|
+
},
|
|
554
|
+
): Promise<IPCB_PrimitiveAttribute | undefined>;
|
|
555
|
+
```
|
|
556
|
+
|
|
557
|
+
## Parameters
|
|
558
|
+
|
|
559
|
+
<table><thead><tr><th>
|
|
560
|
+
|
|
561
|
+
Parameter
|
|
562
|
+
|
|
563
|
+
</th><th>
|
|
564
|
+
|
|
565
|
+
Type
|
|
566
|
+
|
|
567
|
+
</th><th>
|
|
568
|
+
|
|
569
|
+
Description
|
|
570
|
+
|
|
571
|
+
</th></tr></thead>
|
|
572
|
+
<tbody><tr><td>
|
|
573
|
+
|
|
574
|
+
primitiveId
|
|
575
|
+
|
|
576
|
+
</td><td>
|
|
577
|
+
|
|
578
|
+
string \| [IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md)
|
|
579
|
+
|
|
580
|
+
</td><td>
|
|
581
|
+
|
|
582
|
+
Primitive ID
|
|
583
|
+
|
|
584
|
+
</td></tr>
|
|
585
|
+
<tr><td>
|
|
586
|
+
|
|
587
|
+
property
|
|
588
|
+
|
|
589
|
+
</td><td>
|
|
590
|
+
|
|
591
|
+
{ layer?: [TPCB\_LayersOfImage](../types/TPCB_LayersOfImage.md)<!-- -->; x?: number; y?: number; key?: string; value?: string; keyVisible?: boolean; valueVisible?: boolean; fontFamily?: string; fontSize?: number; lineWidth?: number; alignMode?: [EPCB\_PrimitiveStringAlignMode](../enums/EPCB_PrimitiveStringAlignMode.md)<!-- -->; rotation?: number; reverse?: boolean; expansion?: number; mirror?: boolean; primitiveLock?: boolean }
|
|
592
|
+
|
|
593
|
+
</td><td>
|
|
594
|
+
|
|
595
|
+
Modify Parameter
|
|
596
|
+
|
|
597
|
+
</td></tr>
|
|
598
|
+
</tbody></table>
|
|
599
|
+
|
|
600
|
+
## Returns
|
|
601
|
+
|
|
602
|
+
Promise<[IPCB\_PrimitiveAttribute](./IPCB_PrimitiveAttribute.md) \| undefined>
|
|
603
|
+
|
|
604
|
+
Text primitive object
|
|
605
|
+
|
|
606
|
+
## Example
|
|
607
|
+
|
|
608
|
+
```javascript
|
|
609
|
+
// 1. 放置测试器件并添加自定义属性(随机坐标避免与画布已有器件重合):
|
|
610
|
+
// 按立创编号从系统库精确反查器件,返回项不含 libraryUuid,需补上才能用于 create
|
|
611
|
+
const x = 20000 + Math.floor(Math.random() * 80000);
|
|
612
|
+
const y = 20000 + Math.floor(Math.random() * 80000);
|
|
613
|
+
const devices = await eda.lib_Device.searchByProperties({ supplierId: 'C1523' }, undefined, undefined, undefined, 5, 1);
|
|
614
|
+
const sysLibUuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
|
|
615
|
+
const comp = await eda.pcb_PrimitiveComponent.create({ libraryUuid: sysLibUuid, uuid: devices[0].uuid }, 1, x, y);
|
|
616
|
+
const compId = comp.getState_PrimitiveId();
|
|
617
|
+
await comp.setAttribute('嘉立创示例_Tolerance', '1%', true, true);
|
|
618
|
+
|
|
619
|
+
// 2. 找到自定义属性的图元并读取修改前的值
|
|
620
|
+
const attrIds = await eda.pcb_PrimitiveAttribute.getAllPrimitiveId(compId);
|
|
621
|
+
const attrs = await eda.pcb_PrimitiveAttribute.get(attrIds);
|
|
622
|
+
const target = attrs.find(a => a.getState_Key() === '嘉立创示例_Tolerance');
|
|
623
|
+
const beforeValue = target.getState_Value();
|
|
624
|
+
const beforeFontSize = target.getState_FontSize();
|
|
625
|
+
|
|
626
|
+
// 3. 批量修改:属性值 1% → 5%,字号 45 → 60
|
|
627
|
+
await eda.pcb_PrimitiveAttribute.modify(target.getState_PrimitiveId(), { value: '5%', fontSize: 60 });
|
|
628
|
+
|
|
629
|
+
// 4. modify 返回后需要重新 get() 才能读到画布上的最新值
|
|
630
|
+
const refreshed = await eda.pcb_PrimitiveAttribute.get(target.getState_PrimitiveId());
|
|
631
|
+
|
|
632
|
+
// 5. 修改类保留现场,供观察修改结果
|
|
633
|
+
console.log('value:', beforeValue, '→', refreshed.getState_Value());
|
|
634
|
+
console.log('fontSize:', beforeFontSize, '→', refreshed.getState_FontSize());
|
|
635
|
+
```
|