@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,1754 +1,1770 @@
|
|
|
1
|
-
# PCB\_Document class
|
|
2
|
-
|
|
3
|
-
PCB & footprint / document operation class
|
|
4
|
-
|
|
5
|
-
## Signature
|
|
6
|
-
|
|
7
|
-
```typescript
|
|
8
|
-
class PCB_Document
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Remarks
|
|
12
|
-
|
|
13
|
-
Operations performed on the design document as a whole
|
|
14
|
-
|
|
15
|
-
## Methods
|
|
16
|
-
|
|
17
|
-
<table><thead><tr><th>
|
|
18
|
-
|
|
19
|
-
Method
|
|
20
|
-
|
|
21
|
-
</th><th>
|
|
22
|
-
|
|
23
|
-
Modifiers
|
|
24
|
-
|
|
25
|
-
</th><th>
|
|
26
|
-
|
|
27
|
-
Description
|
|
28
|
-
|
|
29
|
-
</th></tr></thead>
|
|
30
|
-
<tbody><tr><td>
|
|
31
|
-
|
|
32
|
-
[autoLayout()](./PCB_Document.md)
|
|
33
|
-
|
|
34
|
-
</td><td>
|
|
35
|
-
|
|
36
|
-
</td><td>
|
|
37
|
-
|
|
38
|
-
**_(BETA)_** Auto layout
|
|
39
|
-
|
|
40
|
-
</td></tr>
|
|
41
|
-
<tr><td>
|
|
42
|
-
|
|
43
|
-
[autoRouting(props)](./PCB_Document.md)
|
|
44
|
-
|
|
45
|
-
</td><td>
|
|
46
|
-
|
|
47
|
-
</td><td>
|
|
48
|
-
|
|
49
|
-
**_(BETA)_** Auto routing
|
|
50
|
-
|
|
51
|
-
</td></tr>
|
|
52
|
-
<tr><td>
|
|
53
|
-
|
|
54
|
-
[clearRouting(type)](./PCB_Document.md)
|
|
55
|
-
|
|
56
|
-
</td><td>
|
|
57
|
-
|
|
58
|
-
</td><td>
|
|
59
|
-
|
|
60
|
-
**_(BETA)_** Clear routing
|
|
61
|
-
|
|
62
|
-
</td></tr>
|
|
63
|
-
<tr><td>
|
|
64
|
-
|
|
65
|
-
[convertCanvasOriginToDataOrigin(x, y)](./PCB_Document.md)
|
|
66
|
-
|
|
67
|
-
</td><td>
|
|
68
|
-
|
|
69
|
-
</td><td>
|
|
70
|
-
|
|
71
|
-
Input a canvas coordinate and return the data coordinate corresponding to that coordinate
|
|
72
|
-
|
|
73
|
-
</td></tr>
|
|
74
|
-
<tr><td>
|
|
75
|
-
|
|
76
|
-
[convertDataOriginToCanvasOrigin(x, y)](./PCB_Document.md)
|
|
77
|
-
|
|
78
|
-
</td><td>
|
|
79
|
-
|
|
80
|
-
</td><td>
|
|
81
|
-
|
|
82
|
-
Input a data coordinate and return the canvas coordinate corresponding to that coordinate
|
|
83
|
-
|
|
84
|
-
</td></tr>
|
|
85
|
-
<tr><td>
|
|
86
|
-
|
|
87
|
-
[getCalculatingRatlineStatus()](./PCB_Document.md)
|
|
88
|
-
|
|
89
|
-
</td><td>
|
|
90
|
-
|
|
91
|
-
</td><td>
|
|
92
|
-
|
|
93
|
-
Get the current ratline calculation function status
|
|
94
|
-
|
|
95
|
-
</td></tr>
|
|
96
|
-
<tr><td>
|
|
97
|
-
|
|
98
|
-
[getCanvasOrigin()](./PCB_Document.md)
|
|
99
|
-
|
|
100
|
-
</td><td>
|
|
101
|
-
|
|
102
|
-
</td><td>
|
|
103
|
-
|
|
104
|
-
Get the offset coordinate of the canvas origin relative to the data origin
|
|
105
|
-
|
|
106
|
-
</td></tr>
|
|
107
|
-
<tr><td>
|
|
108
|
-
|
|
109
|
-
[getCanvasUpdateCalculationStatus()](./PCB_Document.md)
|
|
110
|
-
|
|
111
|
-
</td><td>
|
|
112
|
-
|
|
113
|
-
</td><td>
|
|
114
|
-
|
|
115
|
-
**_(BETA)_**
|
|
116
|
-
|
|
117
|
-
</td></tr>
|
|
118
|
-
<tr><td>
|
|
119
|
-
|
|
120
|
-
[getCurrentFilterConfiguration()](./PCB_Document.md)
|
|
121
|
-
|
|
122
|
-
</td><td>
|
|
123
|
-
|
|
124
|
-
</td><td>
|
|
125
|
-
|
|
126
|
-
**_(BETA)_** Get Current canvas filter configuration
|
|
127
|
-
|
|
128
|
-
</td></tr>
|
|
129
|
-
<tr><td>
|
|
130
|
-
|
|
131
|
-
[getPrimitiveAtPoint(x, y)](./PCB_Document.md)
|
|
132
|
-
|
|
133
|
-
</td><td>
|
|
134
|
-
|
|
135
|
-
</td><td>
|
|
136
|
-
|
|
137
|
-
**_(BETA)_** Get The primitive at the coordinate point
|
|
138
|
-
|
|
139
|
-
</td></tr>
|
|
140
|
-
<tr><td>
|
|
141
|
-
|
|
142
|
-
[getPrimitivesInRegion(left, right, top, bottom, leftToRight)](./PCB_Document.md)
|
|
143
|
-
|
|
144
|
-
</td><td>
|
|
145
|
-
|
|
146
|
-
</td><td>
|
|
147
|
-
|
|
148
|
-
**_(BETA)_** Get All primitives in the region
|
|
149
|
-
|
|
150
|
-
</td></tr>
|
|
151
|
-
<tr><td>
|
|
152
|
-
|
|
153
|
-
[importAutoLayoutJsonFile(autoLayoutFile)](./PCB_Document.md)
|
|
154
|
-
|
|
155
|
-
</td><td>
|
|
156
|
-
|
|
157
|
-
</td><td>
|
|
158
|
-
|
|
159
|
-
**_(BETA)_** Import auto layout file (JSON)
|
|
160
|
-
|
|
161
|
-
</td></tr>
|
|
162
|
-
<tr><td>
|
|
163
|
-
|
|
164
|
-
[importAutoRouteJsonFile(autoRouteFile)](./PCB_Document.md)
|
|
165
|
-
|
|
166
|
-
</td><td>
|
|
167
|
-
|
|
168
|
-
</td><td>
|
|
169
|
-
|
|
170
|
-
**_(BETA)_** Import auto routing file (JSON)
|
|
171
|
-
|
|
172
|
-
</td></tr>
|
|
173
|
-
<tr><td>
|
|
174
|
-
|
|
175
|
-
[importAutoRouteSesFile(autoRouteFile)](./PCB_Document.md)
|
|
176
|
-
|
|
177
|
-
</td><td>
|
|
178
|
-
|
|
179
|
-
</td><td>
|
|
180
|
-
|
|
181
|
-
**_(BETA)_** Import auto routing file (SES)
|
|
182
|
-
|
|
183
|
-
</td></tr>
|
|
184
|
-
<tr><td>
|
|
185
|
-
|
|
186
|
-
[importChanges(uuid)](./PCB_Document.md)
|
|
187
|
-
|
|
188
|
-
</td><td>
|
|
189
|
-
|
|
190
|
-
</td><td>
|
|
191
|
-
|
|
192
|
-
Import changes from the schematic
|
|
193
|
-
|
|
194
|
-
</td></tr>
|
|
195
|
-
<tr><td>
|
|
196
|
-
|
|
197
|
-
[navigateToCoordinates(x, y)](./PCB_Document.md)
|
|
198
|
-
|
|
199
|
-
</td><td>
|
|
200
|
-
|
|
201
|
-
</td><td>
|
|
202
|
-
|
|
203
|
-
Locate to canvas coordinate
|
|
204
|
-
|
|
205
|
-
</td></tr>
|
|
206
|
-
<tr><td>
|
|
207
|
-
|
|
208
|
-
[navigateToRegion(left, right, top, bottom)](./PCB_Document.md)
|
|
209
|
-
|
|
210
|
-
</td><td>
|
|
211
|
-
|
|
212
|
-
</td><td>
|
|
213
|
-
|
|
214
|
-
**_(BETA)_** Locate to canvas region
|
|
215
|
-
|
|
216
|
-
</td></tr>
|
|
217
|
-
<tr><td>
|
|
218
|
-
|
|
219
|
-
[save()](./PCB_Document.md)
|
|
220
|
-
|
|
221
|
-
</td><td>
|
|
222
|
-
|
|
223
|
-
</td><td>
|
|
224
|
-
|
|
225
|
-
Save Document
|
|
226
|
-
|
|
227
|
-
</td></tr>
|
|
228
|
-
<tr><td>
|
|
229
|
-
|
|
230
|
-
[setCanvasOrigin(offsetX, offsetY)](./PCB_Document.md)
|
|
231
|
-
|
|
232
|
-
</td><td>
|
|
233
|
-
|
|
234
|
-
</td><td>
|
|
235
|
-
|
|
236
|
-
Set the offset coordinate of the canvas origin relative to the data origin
|
|
237
|
-
|
|
238
|
-
</td></tr>
|
|
239
|
-
<tr><td>
|
|
240
|
-
|
|
241
|
-
[startCalculatingRatline()](./PCB_Document.md)
|
|
242
|
-
|
|
243
|
-
</td><td>
|
|
244
|
-
|
|
245
|
-
</td><td>
|
|
246
|
-
|
|
247
|
-
Start the ratline calculation function
|
|
248
|
-
|
|
249
|
-
</td></tr>
|
|
250
|
-
<tr><td>
|
|
251
|
-
|
|
252
|
-
[startCanvasUpdateCalculation()](./PCB_Document.md)
|
|
253
|
-
|
|
254
|
-
</td><td>
|
|
255
|
-
|
|
256
|
-
</td><td>
|
|
257
|
-
|
|
258
|
-
**_(BETA)_**
|
|
259
|
-
|
|
260
|
-
</td></tr>
|
|
261
|
-
<tr><td>
|
|
262
|
-
|
|
263
|
-
[stopCalculatingRatline()](./PCB_Document.md)
|
|
264
|
-
|
|
265
|
-
</td><td>
|
|
266
|
-
|
|
267
|
-
</td><td>
|
|
268
|
-
|
|
269
|
-
Stop the ratline calculation function
|
|
270
|
-
|
|
271
|
-
</td></tr>
|
|
272
|
-
<tr><td>
|
|
273
|
-
|
|
274
|
-
[stopCanvasUpdateCalculation()](./PCB_Document.md)
|
|
275
|
-
|
|
276
|
-
</td><td>
|
|
277
|
-
|
|
278
|
-
</td><td>
|
|
279
|
-
|
|
280
|
-
**_(BETA)_**
|
|
281
|
-
|
|
282
|
-
</td></tr>
|
|
283
|
-
<tr><td>
|
|
284
|
-
|
|
285
|
-
[triggerCanvasUpdateCalculation()](./PCB_Document.md)
|
|
286
|
-
|
|
287
|
-
</td><td>
|
|
288
|
-
|
|
289
|
-
</td><td>
|
|
290
|
-
|
|
291
|
-
**_(BETA)_**
|
|
292
|
-
|
|
293
|
-
</td></tr>
|
|
294
|
-
<tr><td>
|
|
295
|
-
|
|
296
|
-
[zoomToBoardOutline()](./PCB_Document.md)
|
|
297
|
-
|
|
298
|
-
</td><td>
|
|
299
|
-
|
|
300
|
-
</td><td>
|
|
301
|
-
|
|
302
|
-
**_(BETA)_** Zoom to the board outline (fit the board outline)
|
|
303
|
-
|
|
304
|
-
</td></tr>
|
|
305
|
-
</tbody></table>
|
|
306
|
-
|
|
307
|
-
---
|
|
308
|
-
|
|
309
|
-
## 方法详情
|
|
310
|
-
|
|
311
|
-
### autolayout
|
|
312
|
-
|
|
313
|
-
# PCB\_Document.autoLayout() 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
|
-
Auto layout
|
|
318
|
-
|
|
319
|
-
## Signature
|
|
320
|
-
|
|
321
|
-
```typescript
|
|
322
|
-
function autoLayout(): Promise<IPCB_AutoLayoutResult>;
|
|
323
|
-
```
|
|
324
|
-
|
|
325
|
-
## Returns
|
|
326
|
-
|
|
327
|
-
Promise<[IPCB\_AutoLayoutResult](../interfaces/IPCB_AutoLayoutResult.md)<!-- -->>
|
|
328
|
-
|
|
329
|
-
Auto layout result
|
|
330
|
-
|
|
331
|
-
## Remarks
|
|
332
|
-
|
|
333
|
-
ADD since EDA v3.2.
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
```
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
});
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
</th
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
</td
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
</th
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
await eda.
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
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
|
-
</th
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
</td
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
</td
|
|
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
|
-
await eda.
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
##
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
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
|
-
|
|
691
|
-
##
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
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
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
</th
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
</td
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
</td
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
//
|
|
806
|
-
const
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
//
|
|
810
|
-
await eda.
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
```
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
</th
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
</td
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
</td
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
</td
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
</td
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
</td
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
//
|
|
940
|
-
const
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
//
|
|
944
|
-
await eda.
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
</th
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
</td
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
</th
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
</td
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
</th
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
</td
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
</th
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
</td
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
await
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
```
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
```
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
```
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
##
|
|
1451
|
-
|
|
1452
|
-
```
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
##
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
```
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
##
|
|
1586
|
-
|
|
1587
|
-
```
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
##
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1
|
+
# PCB\_Document class
|
|
2
|
+
|
|
3
|
+
PCB & footprint / document operation class
|
|
4
|
+
|
|
5
|
+
## Signature
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
class PCB_Document
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Remarks
|
|
12
|
+
|
|
13
|
+
Operations performed on the design document as a whole
|
|
14
|
+
|
|
15
|
+
## Methods
|
|
16
|
+
|
|
17
|
+
<table><thead><tr><th>
|
|
18
|
+
|
|
19
|
+
Method
|
|
20
|
+
|
|
21
|
+
</th><th>
|
|
22
|
+
|
|
23
|
+
Modifiers
|
|
24
|
+
|
|
25
|
+
</th><th>
|
|
26
|
+
|
|
27
|
+
Description
|
|
28
|
+
|
|
29
|
+
</th></tr></thead>
|
|
30
|
+
<tbody><tr><td>
|
|
31
|
+
|
|
32
|
+
[autoLayout()](./PCB_Document.md)
|
|
33
|
+
|
|
34
|
+
</td><td>
|
|
35
|
+
|
|
36
|
+
</td><td>
|
|
37
|
+
|
|
38
|
+
**_(BETA)_** Auto layout
|
|
39
|
+
|
|
40
|
+
</td></tr>
|
|
41
|
+
<tr><td>
|
|
42
|
+
|
|
43
|
+
[autoRouting(props)](./PCB_Document.md)
|
|
44
|
+
|
|
45
|
+
</td><td>
|
|
46
|
+
|
|
47
|
+
</td><td>
|
|
48
|
+
|
|
49
|
+
**_(BETA)_** Auto routing
|
|
50
|
+
|
|
51
|
+
</td></tr>
|
|
52
|
+
<tr><td>
|
|
53
|
+
|
|
54
|
+
[clearRouting(type)](./PCB_Document.md)
|
|
55
|
+
|
|
56
|
+
</td><td>
|
|
57
|
+
|
|
58
|
+
</td><td>
|
|
59
|
+
|
|
60
|
+
**_(BETA)_** Clear routing
|
|
61
|
+
|
|
62
|
+
</td></tr>
|
|
63
|
+
<tr><td>
|
|
64
|
+
|
|
65
|
+
[convertCanvasOriginToDataOrigin(x, y)](./PCB_Document.md)
|
|
66
|
+
|
|
67
|
+
</td><td>
|
|
68
|
+
|
|
69
|
+
</td><td>
|
|
70
|
+
|
|
71
|
+
Input a canvas coordinate and return the data coordinate corresponding to that coordinate
|
|
72
|
+
|
|
73
|
+
</td></tr>
|
|
74
|
+
<tr><td>
|
|
75
|
+
|
|
76
|
+
[convertDataOriginToCanvasOrigin(x, y)](./PCB_Document.md)
|
|
77
|
+
|
|
78
|
+
</td><td>
|
|
79
|
+
|
|
80
|
+
</td><td>
|
|
81
|
+
|
|
82
|
+
Input a data coordinate and return the canvas coordinate corresponding to that coordinate
|
|
83
|
+
|
|
84
|
+
</td></tr>
|
|
85
|
+
<tr><td>
|
|
86
|
+
|
|
87
|
+
[getCalculatingRatlineStatus()](./PCB_Document.md)
|
|
88
|
+
|
|
89
|
+
</td><td>
|
|
90
|
+
|
|
91
|
+
</td><td>
|
|
92
|
+
|
|
93
|
+
Get the current ratline calculation function status
|
|
94
|
+
|
|
95
|
+
</td></tr>
|
|
96
|
+
<tr><td>
|
|
97
|
+
|
|
98
|
+
[getCanvasOrigin()](./PCB_Document.md)
|
|
99
|
+
|
|
100
|
+
</td><td>
|
|
101
|
+
|
|
102
|
+
</td><td>
|
|
103
|
+
|
|
104
|
+
Get the offset coordinate of the canvas origin relative to the data origin
|
|
105
|
+
|
|
106
|
+
</td></tr>
|
|
107
|
+
<tr><td>
|
|
108
|
+
|
|
109
|
+
[getCanvasUpdateCalculationStatus()](./PCB_Document.md)
|
|
110
|
+
|
|
111
|
+
</td><td>
|
|
112
|
+
|
|
113
|
+
</td><td>
|
|
114
|
+
|
|
115
|
+
**_(BETA)_** 查询当前画布更新计算状态
|
|
116
|
+
|
|
117
|
+
</td></tr>
|
|
118
|
+
<tr><td>
|
|
119
|
+
|
|
120
|
+
[getCurrentFilterConfiguration()](./PCB_Document.md)
|
|
121
|
+
|
|
122
|
+
</td><td>
|
|
123
|
+
|
|
124
|
+
</td><td>
|
|
125
|
+
|
|
126
|
+
**_(BETA)_** Get Current canvas filter configuration
|
|
127
|
+
|
|
128
|
+
</td></tr>
|
|
129
|
+
<tr><td>
|
|
130
|
+
|
|
131
|
+
[getPrimitiveAtPoint(x, y)](./PCB_Document.md)
|
|
132
|
+
|
|
133
|
+
</td><td>
|
|
134
|
+
|
|
135
|
+
</td><td>
|
|
136
|
+
|
|
137
|
+
**_(BETA)_** Get The primitive at the coordinate point
|
|
138
|
+
|
|
139
|
+
</td></tr>
|
|
140
|
+
<tr><td>
|
|
141
|
+
|
|
142
|
+
[getPrimitivesInRegion(left, right, top, bottom, leftToRight)](./PCB_Document.md)
|
|
143
|
+
|
|
144
|
+
</td><td>
|
|
145
|
+
|
|
146
|
+
</td><td>
|
|
147
|
+
|
|
148
|
+
**_(BETA)_** Get All primitives in the region
|
|
149
|
+
|
|
150
|
+
</td></tr>
|
|
151
|
+
<tr><td>
|
|
152
|
+
|
|
153
|
+
[importAutoLayoutJsonFile(autoLayoutFile)](./PCB_Document.md)
|
|
154
|
+
|
|
155
|
+
</td><td>
|
|
156
|
+
|
|
157
|
+
</td><td>
|
|
158
|
+
|
|
159
|
+
**_(BETA)_** Import auto layout file (JSON)
|
|
160
|
+
|
|
161
|
+
</td></tr>
|
|
162
|
+
<tr><td>
|
|
163
|
+
|
|
164
|
+
[importAutoRouteJsonFile(autoRouteFile)](./PCB_Document.md)
|
|
165
|
+
|
|
166
|
+
</td><td>
|
|
167
|
+
|
|
168
|
+
</td><td>
|
|
169
|
+
|
|
170
|
+
**_(BETA)_** Import auto routing file (JSON)
|
|
171
|
+
|
|
172
|
+
</td></tr>
|
|
173
|
+
<tr><td>
|
|
174
|
+
|
|
175
|
+
[importAutoRouteSesFile(autoRouteFile)](./PCB_Document.md)
|
|
176
|
+
|
|
177
|
+
</td><td>
|
|
178
|
+
|
|
179
|
+
</td><td>
|
|
180
|
+
|
|
181
|
+
**_(BETA)_** Import auto routing file (SES)
|
|
182
|
+
|
|
183
|
+
</td></tr>
|
|
184
|
+
<tr><td>
|
|
185
|
+
|
|
186
|
+
[importChanges(uuid)](./PCB_Document.md)
|
|
187
|
+
|
|
188
|
+
</td><td>
|
|
189
|
+
|
|
190
|
+
</td><td>
|
|
191
|
+
|
|
192
|
+
Import changes from the schematic
|
|
193
|
+
|
|
194
|
+
</td></tr>
|
|
195
|
+
<tr><td>
|
|
196
|
+
|
|
197
|
+
[navigateToCoordinates(x, y)](./PCB_Document.md)
|
|
198
|
+
|
|
199
|
+
</td><td>
|
|
200
|
+
|
|
201
|
+
</td><td>
|
|
202
|
+
|
|
203
|
+
Locate to canvas coordinate
|
|
204
|
+
|
|
205
|
+
</td></tr>
|
|
206
|
+
<tr><td>
|
|
207
|
+
|
|
208
|
+
[navigateToRegion(left, right, top, bottom)](./PCB_Document.md)
|
|
209
|
+
|
|
210
|
+
</td><td>
|
|
211
|
+
|
|
212
|
+
</td><td>
|
|
213
|
+
|
|
214
|
+
**_(BETA)_** Locate to canvas region
|
|
215
|
+
|
|
216
|
+
</td></tr>
|
|
217
|
+
<tr><td>
|
|
218
|
+
|
|
219
|
+
[save()](./PCB_Document.md)
|
|
220
|
+
|
|
221
|
+
</td><td>
|
|
222
|
+
|
|
223
|
+
</td><td>
|
|
224
|
+
|
|
225
|
+
Save Document
|
|
226
|
+
|
|
227
|
+
</td></tr>
|
|
228
|
+
<tr><td>
|
|
229
|
+
|
|
230
|
+
[setCanvasOrigin(offsetX, offsetY)](./PCB_Document.md)
|
|
231
|
+
|
|
232
|
+
</td><td>
|
|
233
|
+
|
|
234
|
+
</td><td>
|
|
235
|
+
|
|
236
|
+
Set the offset coordinate of the canvas origin relative to the data origin
|
|
237
|
+
|
|
238
|
+
</td></tr>
|
|
239
|
+
<tr><td>
|
|
240
|
+
|
|
241
|
+
[startCalculatingRatline()](./PCB_Document.md)
|
|
242
|
+
|
|
243
|
+
</td><td>
|
|
244
|
+
|
|
245
|
+
</td><td>
|
|
246
|
+
|
|
247
|
+
Start the ratline calculation function
|
|
248
|
+
|
|
249
|
+
</td></tr>
|
|
250
|
+
<tr><td>
|
|
251
|
+
|
|
252
|
+
[startCanvasUpdateCalculation()](./PCB_Document.md)
|
|
253
|
+
|
|
254
|
+
</td><td>
|
|
255
|
+
|
|
256
|
+
</td><td>
|
|
257
|
+
|
|
258
|
+
**_(BETA)_** 开始画布更新计算
|
|
259
|
+
|
|
260
|
+
</td></tr>
|
|
261
|
+
<tr><td>
|
|
262
|
+
|
|
263
|
+
[stopCalculatingRatline()](./PCB_Document.md)
|
|
264
|
+
|
|
265
|
+
</td><td>
|
|
266
|
+
|
|
267
|
+
</td><td>
|
|
268
|
+
|
|
269
|
+
Stop the ratline calculation function
|
|
270
|
+
|
|
271
|
+
</td></tr>
|
|
272
|
+
<tr><td>
|
|
273
|
+
|
|
274
|
+
[stopCanvasUpdateCalculation()](./PCB_Document.md)
|
|
275
|
+
|
|
276
|
+
</td><td>
|
|
277
|
+
|
|
278
|
+
</td><td>
|
|
279
|
+
|
|
280
|
+
**_(BETA)_** 停止画布更新计算
|
|
281
|
+
|
|
282
|
+
</td></tr>
|
|
283
|
+
<tr><td>
|
|
284
|
+
|
|
285
|
+
[triggerCanvasUpdateCalculation()](./PCB_Document.md)
|
|
286
|
+
|
|
287
|
+
</td><td>
|
|
288
|
+
|
|
289
|
+
</td><td>
|
|
290
|
+
|
|
291
|
+
**_(BETA)_** 触发一次画布更新计算
|
|
292
|
+
|
|
293
|
+
</td></tr>
|
|
294
|
+
<tr><td>
|
|
295
|
+
|
|
296
|
+
[zoomToBoardOutline()](./PCB_Document.md)
|
|
297
|
+
|
|
298
|
+
</td><td>
|
|
299
|
+
|
|
300
|
+
</td><td>
|
|
301
|
+
|
|
302
|
+
**_(BETA)_** Zoom to the board outline (fit the board outline)
|
|
303
|
+
|
|
304
|
+
</td></tr>
|
|
305
|
+
</tbody></table>
|
|
306
|
+
|
|
307
|
+
---
|
|
308
|
+
|
|
309
|
+
## 方法详情
|
|
310
|
+
|
|
311
|
+
### autolayout
|
|
312
|
+
|
|
313
|
+
# PCB\_Document.autoLayout() 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
|
+
Auto layout
|
|
318
|
+
|
|
319
|
+
## Signature
|
|
320
|
+
|
|
321
|
+
```typescript
|
|
322
|
+
function autoLayout(): Promise<IPCB_AutoLayoutResult>;
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
## Returns
|
|
326
|
+
|
|
327
|
+
Promise<[IPCB\_AutoLayoutResult](../interfaces/IPCB_AutoLayoutResult.md)<!-- -->>
|
|
328
|
+
|
|
329
|
+
Auto layout result
|
|
330
|
+
|
|
331
|
+
## Remarks
|
|
332
|
+
|
|
333
|
+
ADD since EDA v3.2.150 本接口预期将会执行较长时间,可以尝试异步处理或增加超时时限
|
|
334
|
+
|
|
335
|
+
/ EDA v4.1.66
|
|
336
|
+
|
|
337
|
+
### autorouting
|
|
338
|
+
|
|
339
|
+
# PCB\_Document.autoRouting() method
|
|
340
|
+
|
|
341
|
+
> 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.
|
|
342
|
+
|
|
343
|
+
Auto routing
|
|
344
|
+
|
|
345
|
+
## Signature
|
|
346
|
+
|
|
347
|
+
```typescript
|
|
348
|
+
function autoRouting(props?: IPCB_AutoRoutingProps): Promise<IPCB_AutoRoutingResult>;
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
## Parameters
|
|
352
|
+
|
|
353
|
+
<table><thead><tr><th>
|
|
354
|
+
|
|
355
|
+
Parameter
|
|
356
|
+
|
|
357
|
+
</th><th>
|
|
358
|
+
|
|
359
|
+
Type
|
|
360
|
+
|
|
361
|
+
</th><th>
|
|
362
|
+
|
|
363
|
+
Description
|
|
364
|
+
|
|
365
|
+
</th></tr></thead>
|
|
366
|
+
<tbody><tr><td>
|
|
367
|
+
|
|
368
|
+
props
|
|
369
|
+
|
|
370
|
+
</td><td>
|
|
371
|
+
|
|
372
|
+
[IPCB\_AutoRoutingProps](../interfaces/IPCB_AutoRoutingProps.md)
|
|
373
|
+
|
|
374
|
+
</td><td>
|
|
375
|
+
|
|
376
|
+
_(Optional)_ Auto routing parameter
|
|
377
|
+
|
|
378
|
+
</td></tr>
|
|
379
|
+
</tbody></table>
|
|
380
|
+
|
|
381
|
+
## Returns
|
|
382
|
+
|
|
383
|
+
Promise<[IPCB\_AutoRoutingResult](../interfaces/IPCB_AutoRoutingResult.md)<!-- -->>
|
|
384
|
+
|
|
385
|
+
Auto routing result
|
|
386
|
+
|
|
387
|
+
## Remarks
|
|
388
|
+
|
|
389
|
+
ADD since EDA v3.2.150 If no parameters are passed in, auto routing will be performed for all unrouted nets
|
|
390
|
+
|
|
391
|
+
本接口预期将会执行较长时间,可以尝试异步处理或增加超时时限
|
|
392
|
+
|
|
393
|
+
注意事项: - 本接口内部存在固定的 900 秒(15 分钟)硬上限,CLI 的 `--timeout` 参数无法覆盖该上限; - 超时或失败后,中间几何结果不会提交(超时后调用 `save()` 图元可能仍为 0/0),如需保留中间结果请改用 作业模型; - `props.layers` 必须传入\*\*启用层\*\*(`layerStatus !== NOT_USED`<!-- -->),传停用层会被静默忽略
|
|
394
|
+
|
|
395
|
+
/ EDA v4.1.66
|
|
396
|
+
|
|
397
|
+
## Example
|
|
398
|
+
|
|
399
|
+
```javascript
|
|
400
|
+
// 对所有未布线的网络进行自动布线
|
|
401
|
+
const result = await eda.pcb_Document.autoRouting();
|
|
402
|
+
console.log(`布线完成:${result.routedNets}/${result.totalNets}`);
|
|
403
|
+
|
|
404
|
+
// 指定网络进行自动布线,并忽略部分网络
|
|
405
|
+
const result = await eda.pcb_Document.autoRouting({
|
|
406
|
+
nets: ['VCC', 'GND', 'SDA', 'SCL'],
|
|
407
|
+
ignoreNets: ['NC'],
|
|
408
|
+
cornerStyle: EPCB_AutoRoutingCornerStyle.DEGREE_45,
|
|
409
|
+
optimization: EPCB_AutoRoutingOptimization.COMPLETION,
|
|
410
|
+
});
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
### clearrouting
|
|
414
|
+
|
|
415
|
+
# PCB\_Document.clearRouting() method
|
|
416
|
+
|
|
417
|
+
> 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.
|
|
418
|
+
|
|
419
|
+
Clear routing
|
|
420
|
+
|
|
421
|
+
## Signature
|
|
422
|
+
|
|
423
|
+
```typescript
|
|
424
|
+
function clearRouting(type?: 'all' | 'net' | 'connection'): Promise<boolean>;
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
## Parameters
|
|
428
|
+
|
|
429
|
+
<table><thead><tr><th>
|
|
430
|
+
|
|
431
|
+
Parameter
|
|
432
|
+
|
|
433
|
+
</th><th>
|
|
434
|
+
|
|
435
|
+
Type
|
|
436
|
+
|
|
437
|
+
</th><th>
|
|
438
|
+
|
|
439
|
+
Description
|
|
440
|
+
|
|
441
|
+
</th></tr></thead>
|
|
442
|
+
<tbody><tr><td>
|
|
443
|
+
|
|
444
|
+
type
|
|
445
|
+
|
|
446
|
+
</td><td>
|
|
447
|
+
|
|
448
|
+
'all' \| 'net' \| 'connection'
|
|
449
|
+
|
|
450
|
+
</td><td>
|
|
451
|
+
|
|
452
|
+
_(Optional)_ Clear type. If you need to specify a clear type, select the specified primitive in advance
|
|
453
|
+
|
|
454
|
+
</td></tr>
|
|
455
|
+
</tbody></table>
|
|
456
|
+
|
|
457
|
+
## Returns
|
|
458
|
+
|
|
459
|
+
Promise<boolean>
|
|
460
|
+
|
|
461
|
+
### convertcanvasorigintodataorigin
|
|
462
|
+
|
|
463
|
+
# PCB\_Document.convertCanvasOriginToDataOrigin() method
|
|
464
|
+
|
|
465
|
+
Input a canvas coordinate and return the data coordinate corresponding to that coordinate
|
|
466
|
+
|
|
467
|
+
## Signature
|
|
468
|
+
|
|
469
|
+
```typescript
|
|
470
|
+
function convertCanvasOriginToDataOrigin(x: number, y: number): Promise<{ x: number; y: number }>;
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
## Parameters
|
|
474
|
+
|
|
475
|
+
<table><thead><tr><th>
|
|
476
|
+
|
|
477
|
+
Parameter
|
|
478
|
+
|
|
479
|
+
</th><th>
|
|
480
|
+
|
|
481
|
+
Type
|
|
482
|
+
|
|
483
|
+
</th><th>
|
|
484
|
+
|
|
485
|
+
Description
|
|
486
|
+
|
|
487
|
+
</th></tr></thead>
|
|
488
|
+
<tbody><tr><td>
|
|
489
|
+
|
|
490
|
+
x
|
|
491
|
+
|
|
492
|
+
</td><td>
|
|
493
|
+
|
|
494
|
+
number
|
|
495
|
+
|
|
496
|
+
</td><td>
|
|
497
|
+
|
|
498
|
+
</td></tr>
|
|
499
|
+
<tr><td>
|
|
500
|
+
|
|
501
|
+
y
|
|
502
|
+
|
|
503
|
+
</td><td>
|
|
504
|
+
|
|
505
|
+
number
|
|
506
|
+
|
|
507
|
+
</td><td>
|
|
508
|
+
|
|
509
|
+
</td></tr>
|
|
510
|
+
</tbody></table>
|
|
511
|
+
|
|
512
|
+
## Returns
|
|
513
|
+
|
|
514
|
+
Promise<{ x: number; y: number }>
|
|
515
|
+
|
|
516
|
+
Data origin coordinate
|
|
517
|
+
|
|
518
|
+
## Remarks
|
|
519
|
+
|
|
520
|
+
The coordinates displayed on the EasyEDA front end are all relative to the canvas origin; the EasyEDA API uses the data origin; when creating a PCB, the default canvas origin equals the data origin
|
|
521
|
+
|
|
522
|
+
## Example
|
|
523
|
+
|
|
524
|
+
```javascript
|
|
525
|
+
// 1. 创建测试 PCB 并打开(文档级 API 作用于当前激活的 PCB)
|
|
526
|
+
const pcbUuid = await eda.dmt_Pcb.createPcb();
|
|
527
|
+
await new Promise(r => setTimeout(r, 1500));
|
|
528
|
+
await eda.dmt_EditorControl.openDocument(pcbUuid);
|
|
529
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
530
|
+
|
|
531
|
+
// 2. 换算画布坐标 (300, 400)。新建 PCB 画布原点与数据原点重合,换算值不变
|
|
532
|
+
const before = await eda.pcb_Document.convertCanvasOriginToDataOrigin(300, 400);
|
|
533
|
+
console.log('before:', JSON.stringify(before));
|
|
534
|
+
|
|
535
|
+
// 3. 设置画布原点偏移后再换算同一坐标,观察映射随之变化
|
|
536
|
+
await eda.pcb_Document.setCanvasOrigin(50, 100);
|
|
537
|
+
const after = await eda.pcb_Document.convertCanvasOriginToDataOrigin(300, 400);
|
|
538
|
+
console.log('after:', JSON.stringify(after));
|
|
539
|
+
|
|
540
|
+
// 4. 清理测试 PCB(偏移随文档一起删除)
|
|
541
|
+
await eda.dmt_Pcb.deletePcb(pcbUuid);
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
### convertdataorigintocanvasorigin
|
|
545
|
+
|
|
546
|
+
# PCB\_Document.convertDataOriginToCanvasOrigin() method
|
|
547
|
+
|
|
548
|
+
Input a data coordinate and return the canvas coordinate corresponding to that coordinate
|
|
549
|
+
|
|
550
|
+
## Signature
|
|
551
|
+
|
|
552
|
+
```typescript
|
|
553
|
+
function convertDataOriginToCanvasOrigin(x: number, y: number): Promise<{ x: number; y: number }>;
|
|
554
|
+
```
|
|
555
|
+
|
|
556
|
+
## Parameters
|
|
557
|
+
|
|
558
|
+
<table><thead><tr><th>
|
|
559
|
+
|
|
560
|
+
Parameter
|
|
561
|
+
|
|
562
|
+
</th><th>
|
|
563
|
+
|
|
564
|
+
Type
|
|
565
|
+
|
|
566
|
+
</th><th>
|
|
567
|
+
|
|
568
|
+
Description
|
|
569
|
+
|
|
570
|
+
</th></tr></thead>
|
|
571
|
+
<tbody><tr><td>
|
|
572
|
+
|
|
573
|
+
x
|
|
574
|
+
|
|
575
|
+
</td><td>
|
|
576
|
+
|
|
577
|
+
number
|
|
578
|
+
|
|
579
|
+
</td><td>
|
|
580
|
+
|
|
581
|
+
Data origin X
|
|
582
|
+
|
|
583
|
+
</td></tr>
|
|
584
|
+
<tr><td>
|
|
585
|
+
|
|
586
|
+
y
|
|
587
|
+
|
|
588
|
+
</td><td>
|
|
589
|
+
|
|
590
|
+
number
|
|
591
|
+
|
|
592
|
+
</td><td>
|
|
593
|
+
|
|
594
|
+
Data origin Y
|
|
595
|
+
|
|
596
|
+
</td></tr>
|
|
597
|
+
</tbody></table>
|
|
598
|
+
|
|
599
|
+
## Returns
|
|
600
|
+
|
|
601
|
+
Promise<{ x: number; y: number }>
|
|
602
|
+
|
|
603
|
+
Canvas origin coordinate
|
|
604
|
+
|
|
605
|
+
## Remarks
|
|
606
|
+
|
|
607
|
+
The coordinates displayed on the EasyEDA front end are all relative to the canvas origin; the EasyEDA API uses the data origin; when creating a PCB, the default canvas origin equals the data origin
|
|
608
|
+
|
|
609
|
+
## Example
|
|
610
|
+
|
|
611
|
+
```javascript
|
|
612
|
+
// 1. 创建测试 PCB 并打开(文档级 API 作用于当前激活的 PCB)
|
|
613
|
+
const pcbUuid = await eda.dmt_Pcb.createPcb();
|
|
614
|
+
await new Promise(r => setTimeout(r, 1500));
|
|
615
|
+
await eda.dmt_EditorControl.openDocument(pcbUuid);
|
|
616
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
617
|
+
|
|
618
|
+
// 2. 换算数据坐标 (300, 400)。新建 PCB 画布原点与数据原点重合,换算值不变
|
|
619
|
+
const before = await eda.pcb_Document.convertDataOriginToCanvasOrigin(300, 400);
|
|
620
|
+
console.log('before:', JSON.stringify(before));
|
|
621
|
+
|
|
622
|
+
// 3. 设置画布原点偏移后再换算同一坐标,观察映射随之变化
|
|
623
|
+
await eda.pcb_Document.setCanvasOrigin(50, 100);
|
|
624
|
+
const after = await eda.pcb_Document.convertDataOriginToCanvasOrigin(300, 400);
|
|
625
|
+
console.log('after:', JSON.stringify(after));
|
|
626
|
+
|
|
627
|
+
// 4. 清理测试 PCB(偏移随文档一起删除)
|
|
628
|
+
await eda.dmt_Pcb.deletePcb(pcbUuid);
|
|
629
|
+
```
|
|
630
|
+
|
|
631
|
+
### getcalculatingratlinestatus
|
|
632
|
+
|
|
633
|
+
# PCB\_Document.getCalculatingRatlineStatus() method
|
|
634
|
+
|
|
635
|
+
> Warning: This API is now obsolete.
|
|
636
|
+
>
|
|
637
|
+
> since EDA v4.2
|
|
638
|
+
|
|
639
|
+
Get the current ratline calculation function status
|
|
640
|
+
|
|
641
|
+
## Signature
|
|
642
|
+
|
|
643
|
+
```typescript
|
|
644
|
+
function getCalculatingRatlineStatus(): Promise<
|
|
645
|
+
EPCB_DocumentRatlineCalculatingActiveStatus | undefined
|
|
646
|
+
>;
|
|
647
|
+
```
|
|
648
|
+
|
|
649
|
+
## Returns
|
|
650
|
+
|
|
651
|
+
Promise<[EPCB\_DocumentRatlineCalculatingActiveStatus](../enums/EPCB_DocumentRatlineCalculatingActiveStatus.md) \| undefined>
|
|
652
|
+
|
|
653
|
+
Function state
|
|
654
|
+
|
|
655
|
+
### getcanvasorigin
|
|
656
|
+
|
|
657
|
+
# PCB\_Document.getCanvasOrigin() method
|
|
658
|
+
|
|
659
|
+
Get the offset coordinate of the canvas origin relative to the data origin
|
|
660
|
+
|
|
661
|
+
## Signature
|
|
662
|
+
|
|
663
|
+
```typescript
|
|
664
|
+
function getCanvasOrigin(): Promise<{ offsetX: number; offsetY: number }>;
|
|
665
|
+
```
|
|
666
|
+
|
|
667
|
+
## Returns
|
|
668
|
+
|
|
669
|
+
Promise<{ offsetX: number; offsetY: number }>
|
|
670
|
+
|
|
671
|
+
The offset coordinate of the canvas origin relative to the data origin
|
|
672
|
+
|
|
673
|
+
## Remarks
|
|
674
|
+
|
|
675
|
+
The coordinates displayed on the EasyEDA Pro front end are all relative to the canvas origin;
|
|
676
|
+
|
|
677
|
+
The EasyEDA Pro API uses the data origin;
|
|
678
|
+
|
|
679
|
+
If the returned data is `{ canvasOriginOffsetX: 100, canvasOriginOffsetY: 200 }`<!-- -->, it means the canvas origin is at a position 100 units to the right and 200 units up from the data origin;
|
|
680
|
+
|
|
681
|
+
The units here are data-level units, which are equivalent to mil on the canvas level in span
|
|
682
|
+
|
|
683
|
+
### getcanvasupdatecalculationstatus
|
|
684
|
+
|
|
685
|
+
# PCB\_Document.getCanvasUpdateCalculationStatus() method
|
|
686
|
+
|
|
687
|
+
> 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.
|
|
688
|
+
|
|
689
|
+
查询当前画布更新计算状态
|
|
690
|
+
|
|
691
|
+
## Signature
|
|
692
|
+
|
|
693
|
+
```typescript
|
|
694
|
+
function getCanvasUpdateCalculationStatus(): Promise<
|
|
695
|
+
EPCB_DocumentCanvasUpdateCalculationActiveStatus | undefined
|
|
696
|
+
>;
|
|
697
|
+
```
|
|
698
|
+
|
|
699
|
+
## Returns
|
|
700
|
+
|
|
701
|
+
Promise<[EPCB\_DocumentCanvasUpdateCalculationActiveStatus](../enums/EPCB_DocumentCanvasUpdateCalculationActiveStatus.md) \| undefined>
|
|
702
|
+
|
|
703
|
+
画布更新计算功能状态
|
|
704
|
+
|
|
705
|
+
## Remarks
|
|
706
|
+
|
|
707
|
+
画布更新计算包括画布渲染更新、属性面板更新等 ADD since EDA v4.2
|
|
708
|
+
|
|
709
|
+
### getcurrentfilterconfiguration
|
|
710
|
+
|
|
711
|
+
# PCB\_Document.getCurrentFilterConfiguration() method
|
|
712
|
+
|
|
713
|
+
> 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.
|
|
714
|
+
|
|
715
|
+
Get Current canvas filter configuration
|
|
716
|
+
|
|
717
|
+
## Signature
|
|
718
|
+
|
|
719
|
+
```typescript
|
|
720
|
+
function getCurrentFilterConfiguration(): Promise<Record<string, any> | undefined>;
|
|
721
|
+
```
|
|
722
|
+
|
|
723
|
+
## Returns
|
|
724
|
+
|
|
725
|
+
Promise<Record<string, any> \| undefined>
|
|
726
|
+
|
|
727
|
+
Current canvas filter configuration; `undefined` indicates that the retrieval failed
|
|
728
|
+
|
|
729
|
+
### getprimitiveatpoint
|
|
730
|
+
|
|
731
|
+
# PCB\_Document.getPrimitiveAtPoint() method
|
|
732
|
+
|
|
733
|
+
> 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.
|
|
734
|
+
|
|
735
|
+
Get The primitive at the coordinate point
|
|
736
|
+
|
|
737
|
+
## Signature
|
|
738
|
+
|
|
739
|
+
```typescript
|
|
740
|
+
function getPrimitiveAtPoint(x: number, y: number): Promise<IPCB_Primitive | undefined>;
|
|
741
|
+
```
|
|
742
|
+
|
|
743
|
+
## Parameters
|
|
744
|
+
|
|
745
|
+
<table><thead><tr><th>
|
|
746
|
+
|
|
747
|
+
Parameter
|
|
748
|
+
|
|
749
|
+
</th><th>
|
|
750
|
+
|
|
751
|
+
Type
|
|
752
|
+
|
|
753
|
+
</th><th>
|
|
754
|
+
|
|
755
|
+
Description
|
|
756
|
+
|
|
757
|
+
</th></tr></thead>
|
|
758
|
+
<tbody><tr><td>
|
|
759
|
+
|
|
760
|
+
x
|
|
761
|
+
|
|
762
|
+
</td><td>
|
|
763
|
+
|
|
764
|
+
number
|
|
765
|
+
|
|
766
|
+
</td><td>
|
|
767
|
+
|
|
768
|
+
Coordinate point X
|
|
769
|
+
|
|
770
|
+
</td></tr>
|
|
771
|
+
<tr><td>
|
|
772
|
+
|
|
773
|
+
y
|
|
774
|
+
|
|
775
|
+
</td><td>
|
|
776
|
+
|
|
777
|
+
number
|
|
778
|
+
|
|
779
|
+
</td><td>
|
|
780
|
+
|
|
781
|
+
Coordinate point Y
|
|
782
|
+
|
|
783
|
+
</td></tr>
|
|
784
|
+
</tbody></table>
|
|
785
|
+
|
|
786
|
+
## Returns
|
|
787
|
+
|
|
788
|
+
Promise<[IPCB\_Primitive](../interfaces/IPCB_Primitive.md) \| undefined>
|
|
789
|
+
|
|
790
|
+
The primitive at the coordinate point. If no primitive can be found at the coordinate point, `undefined` will be returned
|
|
791
|
+
|
|
792
|
+
## Remarks
|
|
793
|
+
|
|
794
|
+
This operation is similar to clicking with the mouse on the front end; it will get the primitive at the specified coordinate point
|
|
795
|
+
|
|
796
|
+
## Example
|
|
797
|
+
|
|
798
|
+
```javascript
|
|
799
|
+
// 1. 创建测试 PCB 并打开
|
|
800
|
+
const pcbUuid = await eda.dmt_Pcb.createPcb();
|
|
801
|
+
await new Promise(r => setTimeout(r, 1500));
|
|
802
|
+
await eda.dmt_EditorControl.openDocument(pcbUuid);
|
|
803
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
804
|
+
|
|
805
|
+
// 2. 在 (500, 500) 放一个测试焊盘作为拾取目标
|
|
806
|
+
const pad = await eda.pcb_PrimitivePad.create(1, '1', 500, 500, 0, ['ELLIPSE', 60, 60], '', null, 0, 0, 0, false, 0);
|
|
807
|
+
const padId = pad.getState_PrimitiveId();
|
|
808
|
+
|
|
809
|
+
// 3. 拾取焊盘中心点,返回该焊盘图元
|
|
810
|
+
const hit = await eda.pcb_Document.getPrimitiveAtPoint(500, 500);
|
|
811
|
+
console.log('hitPrimitiveId:', hit.getState_PrimitiveId());
|
|
812
|
+
|
|
813
|
+
// 4. 拾取空白坐标点,返回 undefined
|
|
814
|
+
const miss = await eda.pcb_Document.getPrimitiveAtPoint(90000, 90000);
|
|
815
|
+
console.log('空白坐标点:', miss === undefined ? '未找到图元' : '找到图元');
|
|
816
|
+
|
|
817
|
+
// 5. 清理测试图元和测试 PCB
|
|
818
|
+
await eda.pcb_PrimitivePad.delete([padId]);
|
|
819
|
+
await eda.dmt_Pcb.deletePcb(pcbUuid);
|
|
820
|
+
```
|
|
821
|
+
|
|
822
|
+
### getprimitivesinregion
|
|
823
|
+
|
|
824
|
+
# PCB\_Document.getPrimitivesInRegion() method
|
|
825
|
+
|
|
826
|
+
> 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.
|
|
827
|
+
|
|
828
|
+
Get All primitives in the region
|
|
829
|
+
|
|
830
|
+
## Signature
|
|
831
|
+
|
|
832
|
+
```typescript
|
|
833
|
+
function getPrimitivesInRegion(
|
|
834
|
+
left: number,
|
|
835
|
+
right: number,
|
|
836
|
+
top: number,
|
|
837
|
+
bottom: number,
|
|
838
|
+
leftToRight?: boolean,
|
|
839
|
+
): Promise<Array<IPCB_Primitive>>;
|
|
840
|
+
```
|
|
841
|
+
|
|
842
|
+
## Parameters
|
|
843
|
+
|
|
844
|
+
<table><thead><tr><th>
|
|
845
|
+
|
|
846
|
+
Parameter
|
|
847
|
+
|
|
848
|
+
</th><th>
|
|
849
|
+
|
|
850
|
+
Type
|
|
851
|
+
|
|
852
|
+
</th><th>
|
|
853
|
+
|
|
854
|
+
Description
|
|
855
|
+
|
|
856
|
+
</th></tr></thead>
|
|
857
|
+
<tbody><tr><td>
|
|
858
|
+
|
|
859
|
+
left
|
|
860
|
+
|
|
861
|
+
</td><td>
|
|
862
|
+
|
|
863
|
+
number
|
|
864
|
+
|
|
865
|
+
</td><td>
|
|
866
|
+
|
|
867
|
+
First X coordinate of the rectangle
|
|
868
|
+
|
|
869
|
+
</td></tr>
|
|
870
|
+
<tr><td>
|
|
871
|
+
|
|
872
|
+
right
|
|
873
|
+
|
|
874
|
+
</td><td>
|
|
875
|
+
|
|
876
|
+
number
|
|
877
|
+
|
|
878
|
+
</td><td>
|
|
879
|
+
|
|
880
|
+
Second X coordinate of the rectangle
|
|
881
|
+
|
|
882
|
+
</td></tr>
|
|
883
|
+
<tr><td>
|
|
884
|
+
|
|
885
|
+
top
|
|
886
|
+
|
|
887
|
+
</td><td>
|
|
888
|
+
|
|
889
|
+
number
|
|
890
|
+
|
|
891
|
+
</td><td>
|
|
892
|
+
|
|
893
|
+
First Y coordinate of the rectangle
|
|
894
|
+
|
|
895
|
+
</td></tr>
|
|
896
|
+
<tr><td>
|
|
897
|
+
|
|
898
|
+
bottom
|
|
899
|
+
|
|
900
|
+
</td><td>
|
|
901
|
+
|
|
902
|
+
number
|
|
903
|
+
|
|
904
|
+
</td><td>
|
|
905
|
+
|
|
906
|
+
Second Y coordinate of the rectangle
|
|
907
|
+
|
|
908
|
+
</td></tr>
|
|
909
|
+
<tr><td>
|
|
910
|
+
|
|
911
|
+
leftToRight
|
|
912
|
+
|
|
913
|
+
</td><td>
|
|
914
|
+
|
|
915
|
+
boolean
|
|
916
|
+
|
|
917
|
+
</td><td>
|
|
918
|
+
|
|
919
|
+
_(Optional)_ Whether to only get primitives that are fully enclosed by the box selection. If `false`<!-- -->, primitives touched by the selection are also obtained
|
|
920
|
+
|
|
921
|
+
</td></tr>
|
|
922
|
+
</tbody></table>
|
|
923
|
+
|
|
924
|
+
## Returns
|
|
925
|
+
|
|
926
|
+
Promise<Array<[IPCB\_Primitive](../interfaces/IPCB_Primitive.md)<!-- -->>>
|
|
927
|
+
|
|
928
|
+
All primitives in the region
|
|
929
|
+
|
|
930
|
+
## Example
|
|
931
|
+
|
|
932
|
+
```javascript
|
|
933
|
+
// 1. 创建测试 PCB 并打开
|
|
934
|
+
const pcbUuid = await eda.dmt_Pcb.createPcb();
|
|
935
|
+
await new Promise(r => setTimeout(r, 1500));
|
|
936
|
+
await eda.dmt_EditorControl.openDocument(pcbUuid);
|
|
937
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
938
|
+
|
|
939
|
+
// 2. 放两个测试焊盘:一个在 (500, 500),一个在 (3000, 3000)
|
|
940
|
+
const padA = await eda.pcb_PrimitivePad.create(1, '1', 500, 500, 0, ['ELLIPSE', 60, 60], '', null, 0, 0, 0, false, 0);
|
|
941
|
+
const padB = await eda.pcb_PrimitivePad.create(1, '2', 3000, 3000, 0, ['ELLIPSE', 60, 60], '', null, 0, 0, 0, false, 0);
|
|
942
|
+
|
|
943
|
+
// 3. 小区域 (0,1000,1000,0) 只盖住第一个焊盘
|
|
944
|
+
const small = await eda.pcb_Document.getPrimitivesInRegion(0, 1000, 1000, 0);
|
|
945
|
+
console.log('smallRegionCount:', small.length);
|
|
946
|
+
|
|
947
|
+
// 4. 大区域 (0,4000,4000,0) 盖住两个焊盘,完全框选模式
|
|
948
|
+
const big = await eda.pcb_Document.getPrimitivesInRegion(0, 4000, 4000, 0, true);
|
|
949
|
+
console.log('bigRegionCount:', big.length);
|
|
950
|
+
|
|
951
|
+
// 5. 清理测试图元和测试 PCB
|
|
952
|
+
await eda.pcb_PrimitivePad.delete([padA.getState_PrimitiveId(), padB.getState_PrimitiveId()]);
|
|
953
|
+
await eda.dmt_Pcb.deletePcb(pcbUuid);
|
|
954
|
+
```
|
|
955
|
+
|
|
956
|
+
### importautolayoutjsonfile
|
|
957
|
+
|
|
958
|
+
# PCB\_Document.importAutoLayoutJsonFile() method
|
|
959
|
+
|
|
960
|
+
> 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.
|
|
961
|
+
|
|
962
|
+
Import auto layout file (JSON)
|
|
963
|
+
|
|
964
|
+
## Signature
|
|
965
|
+
|
|
966
|
+
```typescript
|
|
967
|
+
function importAutoLayoutJsonFile(autoLayoutFile: File): Promise<boolean>;
|
|
968
|
+
```
|
|
969
|
+
|
|
970
|
+
## Parameters
|
|
971
|
+
|
|
972
|
+
<table><thead><tr><th>
|
|
973
|
+
|
|
974
|
+
Parameter
|
|
975
|
+
|
|
976
|
+
</th><th>
|
|
977
|
+
|
|
978
|
+
Type
|
|
979
|
+
|
|
980
|
+
</th><th>
|
|
981
|
+
|
|
982
|
+
Description
|
|
983
|
+
|
|
984
|
+
</th></tr></thead>
|
|
985
|
+
<tbody><tr><td>
|
|
986
|
+
|
|
987
|
+
autoLayoutFile
|
|
988
|
+
|
|
989
|
+
</td><td>
|
|
990
|
+
|
|
991
|
+
File
|
|
992
|
+
|
|
993
|
+
</td><td>
|
|
994
|
+
|
|
995
|
+
The JSON file to import
|
|
996
|
+
|
|
997
|
+
</td></tr>
|
|
998
|
+
</tbody></table>
|
|
999
|
+
|
|
1000
|
+
## Returns
|
|
1001
|
+
|
|
1002
|
+
Promise<boolean>
|
|
1003
|
+
|
|
1004
|
+
Whether the import operation is successful
|
|
1005
|
+
|
|
1006
|
+
## Remarks
|
|
1007
|
+
|
|
1008
|
+
You can use to read in a file
|
|
1009
|
+
|
|
1010
|
+
## Example
|
|
1011
|
+
|
|
1012
|
+
```javascript
|
|
1013
|
+
// 1. 创建测试 PCB 并打开(导入作用于当前激活的 PCB)
|
|
1014
|
+
const pcbUuid = await eda.dmt_Pcb.createPcb();
|
|
1015
|
+
await new Promise(r => setTimeout(r, 1500));
|
|
1016
|
+
await eda.dmt_EditorControl.openDocument(pcbUuid);
|
|
1017
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
1018
|
+
|
|
1019
|
+
// 2. 构造布局 JSON 文件对象(真实场景:readFileFromFileSystem 读取外部导出的文件)
|
|
1020
|
+
const layoutFile = new File([JSON.stringify({})], 'auto-layout.json', { type: 'application/json' });
|
|
1021
|
+
|
|
1022
|
+
// 3. 导入自动布局文件
|
|
1023
|
+
const imported = await eda.pcb_Document.importAutoLayoutJsonFile(layoutFile);
|
|
1024
|
+
console.log('imported:', imported);
|
|
1025
|
+
|
|
1026
|
+
// 4. 清理测试 PCB
|
|
1027
|
+
await eda.dmt_Pcb.deletePcb(pcbUuid);
|
|
1028
|
+
```
|
|
1029
|
+
|
|
1030
|
+
### importautoroutejsonfile
|
|
1031
|
+
|
|
1032
|
+
# PCB\_Document.importAutoRouteJsonFile() method
|
|
1033
|
+
|
|
1034
|
+
> 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.
|
|
1035
|
+
|
|
1036
|
+
Import auto routing file (JSON)
|
|
1037
|
+
|
|
1038
|
+
## Signature
|
|
1039
|
+
|
|
1040
|
+
```typescript
|
|
1041
|
+
function importAutoRouteJsonFile(autoRouteFile: File): Promise<boolean>;
|
|
1042
|
+
```
|
|
1043
|
+
|
|
1044
|
+
## Parameters
|
|
1045
|
+
|
|
1046
|
+
<table><thead><tr><th>
|
|
1047
|
+
|
|
1048
|
+
Parameter
|
|
1049
|
+
|
|
1050
|
+
</th><th>
|
|
1051
|
+
|
|
1052
|
+
Type
|
|
1053
|
+
|
|
1054
|
+
</th><th>
|
|
1055
|
+
|
|
1056
|
+
Description
|
|
1057
|
+
|
|
1058
|
+
</th></tr></thead>
|
|
1059
|
+
<tbody><tr><td>
|
|
1060
|
+
|
|
1061
|
+
autoRouteFile
|
|
1062
|
+
|
|
1063
|
+
</td><td>
|
|
1064
|
+
|
|
1065
|
+
File
|
|
1066
|
+
|
|
1067
|
+
</td><td>
|
|
1068
|
+
|
|
1069
|
+
The JSON file to import
|
|
1070
|
+
|
|
1071
|
+
</td></tr>
|
|
1072
|
+
</tbody></table>
|
|
1073
|
+
|
|
1074
|
+
## Returns
|
|
1075
|
+
|
|
1076
|
+
Promise<boolean>
|
|
1077
|
+
|
|
1078
|
+
Whether the import operation is successful
|
|
1079
|
+
|
|
1080
|
+
## Remarks
|
|
1081
|
+
|
|
1082
|
+
You can use to read in a file
|
|
1083
|
+
|
|
1084
|
+
## Example
|
|
1085
|
+
|
|
1086
|
+
```javascript
|
|
1087
|
+
// 1. 创建测试 PCB 并打开(导入作用于当前激活的 PCB)
|
|
1088
|
+
const pcbUuid = await eda.dmt_Pcb.createPcb();
|
|
1089
|
+
await new Promise(r => setTimeout(r, 1500));
|
|
1090
|
+
await eda.dmt_EditorControl.openDocument(pcbUuid);
|
|
1091
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
1092
|
+
|
|
1093
|
+
// 2. 构造布线 JSON 文件对象(真实场景:readFileFromFileSystem 读取外部导出的文件)
|
|
1094
|
+
const routeFile = new File([JSON.stringify({})], 'auto-route.json', { type: 'application/json' });
|
|
1095
|
+
|
|
1096
|
+
// 3. 导入自动布线文件
|
|
1097
|
+
const imported = await eda.pcb_Document.importAutoRouteJsonFile(routeFile);
|
|
1098
|
+
console.log('imported:', imported);
|
|
1099
|
+
|
|
1100
|
+
// 4. 清理测试 PCB
|
|
1101
|
+
await eda.dmt_Pcb.deletePcb(pcbUuid);
|
|
1102
|
+
```
|
|
1103
|
+
|
|
1104
|
+
### importautoroutesesfile
|
|
1105
|
+
|
|
1106
|
+
# PCB\_Document.importAutoRouteSesFile() method
|
|
1107
|
+
|
|
1108
|
+
> 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.
|
|
1109
|
+
|
|
1110
|
+
Import auto routing file (SES)
|
|
1111
|
+
|
|
1112
|
+
## Signature
|
|
1113
|
+
|
|
1114
|
+
```typescript
|
|
1115
|
+
function importAutoRouteSesFile(autoRouteFile: File): Promise<boolean>;
|
|
1116
|
+
```
|
|
1117
|
+
|
|
1118
|
+
## Parameters
|
|
1119
|
+
|
|
1120
|
+
<table><thead><tr><th>
|
|
1121
|
+
|
|
1122
|
+
Parameter
|
|
1123
|
+
|
|
1124
|
+
</th><th>
|
|
1125
|
+
|
|
1126
|
+
Type
|
|
1127
|
+
|
|
1128
|
+
</th><th>
|
|
1129
|
+
|
|
1130
|
+
Description
|
|
1131
|
+
|
|
1132
|
+
</th></tr></thead>
|
|
1133
|
+
<tbody><tr><td>
|
|
1134
|
+
|
|
1135
|
+
autoRouteFile
|
|
1136
|
+
|
|
1137
|
+
</td><td>
|
|
1138
|
+
|
|
1139
|
+
File
|
|
1140
|
+
|
|
1141
|
+
</td><td>
|
|
1142
|
+
|
|
1143
|
+
The SES file to import
|
|
1144
|
+
|
|
1145
|
+
</td></tr>
|
|
1146
|
+
</tbody></table>
|
|
1147
|
+
|
|
1148
|
+
## Returns
|
|
1149
|
+
|
|
1150
|
+
Promise<boolean>
|
|
1151
|
+
|
|
1152
|
+
Whether the import operation is successful
|
|
1153
|
+
|
|
1154
|
+
## Remarks
|
|
1155
|
+
|
|
1156
|
+
You can use to read in a file
|
|
1157
|
+
|
|
1158
|
+
### importchanges
|
|
1159
|
+
|
|
1160
|
+
# PCB\_Document.importChanges() method
|
|
1161
|
+
|
|
1162
|
+
Import changes from the schematic
|
|
1163
|
+
|
|
1164
|
+
## Signature
|
|
1165
|
+
|
|
1166
|
+
```typescript
|
|
1167
|
+
function importChanges(uuid?: string): Promise<boolean>;
|
|
1168
|
+
```
|
|
1169
|
+
|
|
1170
|
+
## Parameters
|
|
1171
|
+
|
|
1172
|
+
<table><thead><tr><th>
|
|
1173
|
+
|
|
1174
|
+
Parameter
|
|
1175
|
+
|
|
1176
|
+
</th><th>
|
|
1177
|
+
|
|
1178
|
+
Type
|
|
1179
|
+
|
|
1180
|
+
</th><th>
|
|
1181
|
+
|
|
1182
|
+
Description
|
|
1183
|
+
|
|
1184
|
+
</th></tr></thead>
|
|
1185
|
+
<tbody><tr><td>
|
|
1186
|
+
|
|
1187
|
+
uuid
|
|
1188
|
+
|
|
1189
|
+
</td><td>
|
|
1190
|
+
|
|
1191
|
+
string
|
|
1192
|
+
|
|
1193
|
+
</td><td>
|
|
1194
|
+
|
|
1195
|
+
_(Optional)_ Schematic UUID. By default, the schematic associated with the same Board is used
|
|
1196
|
+
|
|
1197
|
+
</td></tr>
|
|
1198
|
+
</tbody></table>
|
|
1199
|
+
|
|
1200
|
+
## Returns
|
|
1201
|
+
|
|
1202
|
+
Promise<boolean>
|
|
1203
|
+
|
|
1204
|
+
Whether the import operation was successful. If the import fails or the free PCB has no schematic UUID passed in, `false` is returned
|
|
1205
|
+
|
|
1206
|
+
## Remarks
|
|
1207
|
+
|
|
1208
|
+
如需尽可能不被弹窗阻断(CLI 调用时推荐),请传入 `force` 为 `true`<!-- -->,这样在不遇到严重错误时不会出现任何弹窗; `force=true` 会跳过确认弹窗并自动全量导入,且等待导入完成后再返回(非交互执行方式,见 [参数 \`force\`](./PCB_Document.md)<!-- -->)
|
|
1209
|
+
|
|
1210
|
+
## Example
|
|
1211
|
+
|
|
1212
|
+
```javascript
|
|
1213
|
+
// 1. 创建测试原理图和测试 PCB
|
|
1214
|
+
const schUuid = await eda.dmt_Schematic.createSchematic();
|
|
1215
|
+
await new Promise(r => setTimeout(r, 1500));
|
|
1216
|
+
const pcbUuid = await eda.dmt_Pcb.createPcb();
|
|
1217
|
+
await new Promise(r => setTimeout(r, 1500));
|
|
1218
|
+
|
|
1219
|
+
// 2. 创建板子把原理图与 PCB 关联起来(返回板子名称)
|
|
1220
|
+
const boardName = await eda.dmt_Board.createBoard(schUuid, pcbUuid);
|
|
1221
|
+
await new Promise(r => setTimeout(r, 1500));
|
|
1222
|
+
console.log('boardName:', boardName);
|
|
1223
|
+
|
|
1224
|
+
// 3. 打开 PCB 并从关联原理图导入变更
|
|
1225
|
+
await eda.dmt_EditorControl.openDocument(pcbUuid);
|
|
1226
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
1227
|
+
const imported = await eda.pcb_Document.importChanges();
|
|
1228
|
+
console.log('imported:', imported);
|
|
1229
|
+
|
|
1230
|
+
// 4. 清理:删板子、删 PCB、删原理图
|
|
1231
|
+
await eda.dmt_Board.deleteBoard(boardName);
|
|
1232
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
1233
|
+
await eda.dmt_Pcb.deletePcb(pcbUuid);
|
|
1234
|
+
await eda.dmt_Schematic.deleteSchematic(schUuid);
|
|
1235
|
+
```
|
|
1236
|
+
|
|
1237
|
+
### navigatetocoordinates
|
|
1238
|
+
|
|
1239
|
+
# PCB\_Document.navigateToCoordinates() method
|
|
1240
|
+
|
|
1241
|
+
Locate to canvas coordinate
|
|
1242
|
+
|
|
1243
|
+
## Signature
|
|
1244
|
+
|
|
1245
|
+
```typescript
|
|
1246
|
+
function navigateToCoordinates(x: number, y: number): Promise<boolean>;
|
|
1247
|
+
```
|
|
1248
|
+
|
|
1249
|
+
## Parameters
|
|
1250
|
+
|
|
1251
|
+
<table><thead><tr><th>
|
|
1252
|
+
|
|
1253
|
+
Parameter
|
|
1254
|
+
|
|
1255
|
+
</th><th>
|
|
1256
|
+
|
|
1257
|
+
Type
|
|
1258
|
+
|
|
1259
|
+
</th><th>
|
|
1260
|
+
|
|
1261
|
+
Description
|
|
1262
|
+
|
|
1263
|
+
</th></tr></thead>
|
|
1264
|
+
<tbody><tr><td>
|
|
1265
|
+
|
|
1266
|
+
x
|
|
1267
|
+
|
|
1268
|
+
</td><td>
|
|
1269
|
+
|
|
1270
|
+
number
|
|
1271
|
+
|
|
1272
|
+
</td><td>
|
|
1273
|
+
|
|
1274
|
+
X coordinate
|
|
1275
|
+
|
|
1276
|
+
</td></tr>
|
|
1277
|
+
<tr><td>
|
|
1278
|
+
|
|
1279
|
+
y
|
|
1280
|
+
|
|
1281
|
+
</td><td>
|
|
1282
|
+
|
|
1283
|
+
number
|
|
1284
|
+
|
|
1285
|
+
</td><td>
|
|
1286
|
+
|
|
1287
|
+
Y coordinate
|
|
1288
|
+
|
|
1289
|
+
</td></tr>
|
|
1290
|
+
</tbody></table>
|
|
1291
|
+
|
|
1292
|
+
## Returns
|
|
1293
|
+
|
|
1294
|
+
Promise<boolean>
|
|
1295
|
+
|
|
1296
|
+
Whether the operation is successful
|
|
1297
|
+
|
|
1298
|
+
## Remarks
|
|
1299
|
+
|
|
1300
|
+
This API positions on the front-end canvas to the specified data-level coordinate;
|
|
1301
|
+
|
|
1302
|
+
If you want the front-end canvas coordinate to be consistent with the passed-in data during this operation, it is recommended to call the [PCB\_Document.setCanvasOrigin()](./PCB_Document.md) method and set the offset to zero;
|
|
1303
|
+
|
|
1304
|
+
The units here are data-level units, which are equivalent to mil on the canvas level in span
|
|
1305
|
+
|
|
1306
|
+
## Example
|
|
1307
|
+
|
|
1308
|
+
```javascript
|
|
1309
|
+
// 1. 创建测试 PCB 并打开(视口操作作用于当前激活的 PCB)
|
|
1310
|
+
const pcbUuid = await eda.dmt_Pcb.createPcb();
|
|
1311
|
+
await new Promise(r => setTimeout(r, 1500));
|
|
1312
|
+
await eda.dmt_EditorControl.openDocument(pcbUuid);
|
|
1313
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
1314
|
+
|
|
1315
|
+
// 2. 定位到数据坐标 (1000, 800)
|
|
1316
|
+
const navigated = await eda.pcb_Document.navigateToCoordinates(1000, 800);
|
|
1317
|
+
console.log('navigated:', navigated);
|
|
1318
|
+
|
|
1319
|
+
// 3. 清理测试 PCB
|
|
1320
|
+
await eda.dmt_Pcb.deletePcb(pcbUuid);
|
|
1321
|
+
```
|
|
1322
|
+
|
|
1323
|
+
### navigatetoregion
|
|
1324
|
+
|
|
1325
|
+
# PCB\_Document.navigateToRegion() method
|
|
1326
|
+
|
|
1327
|
+
> 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.
|
|
1328
|
+
|
|
1329
|
+
Locate to canvas region
|
|
1330
|
+
|
|
1331
|
+
## Signature
|
|
1332
|
+
|
|
1333
|
+
```typescript
|
|
1334
|
+
function navigateToRegion(
|
|
1335
|
+
left: number,
|
|
1336
|
+
right: number,
|
|
1337
|
+
top: number,
|
|
1338
|
+
bottom: number,
|
|
1339
|
+
): Promise<boolean>;
|
|
1340
|
+
```
|
|
1341
|
+
|
|
1342
|
+
## Parameters
|
|
1343
|
+
|
|
1344
|
+
<table><thead><tr><th>
|
|
1345
|
+
|
|
1346
|
+
Parameter
|
|
1347
|
+
|
|
1348
|
+
</th><th>
|
|
1349
|
+
|
|
1350
|
+
Type
|
|
1351
|
+
|
|
1352
|
+
</th><th>
|
|
1353
|
+
|
|
1354
|
+
Description
|
|
1355
|
+
|
|
1356
|
+
</th></tr></thead>
|
|
1357
|
+
<tbody><tr><td>
|
|
1358
|
+
|
|
1359
|
+
left
|
|
1360
|
+
|
|
1361
|
+
</td><td>
|
|
1362
|
+
|
|
1363
|
+
number
|
|
1364
|
+
|
|
1365
|
+
</td><td>
|
|
1366
|
+
|
|
1367
|
+
First X coordinate of the rectangle
|
|
1368
|
+
|
|
1369
|
+
</td></tr>
|
|
1370
|
+
<tr><td>
|
|
1371
|
+
|
|
1372
|
+
right
|
|
1373
|
+
|
|
1374
|
+
</td><td>
|
|
1375
|
+
|
|
1376
|
+
number
|
|
1377
|
+
|
|
1378
|
+
</td><td>
|
|
1379
|
+
|
|
1380
|
+
Second X coordinate of the rectangle
|
|
1381
|
+
|
|
1382
|
+
</td></tr>
|
|
1383
|
+
<tr><td>
|
|
1384
|
+
|
|
1385
|
+
top
|
|
1386
|
+
|
|
1387
|
+
</td><td>
|
|
1388
|
+
|
|
1389
|
+
number
|
|
1390
|
+
|
|
1391
|
+
</td><td>
|
|
1392
|
+
|
|
1393
|
+
First Y coordinate of the rectangle
|
|
1394
|
+
|
|
1395
|
+
</td></tr>
|
|
1396
|
+
<tr><td>
|
|
1397
|
+
|
|
1398
|
+
bottom
|
|
1399
|
+
|
|
1400
|
+
</td><td>
|
|
1401
|
+
|
|
1402
|
+
number
|
|
1403
|
+
|
|
1404
|
+
</td><td>
|
|
1405
|
+
|
|
1406
|
+
Second Y coordinate of the rectangle
|
|
1407
|
+
|
|
1408
|
+
</td></tr>
|
|
1409
|
+
</tbody></table>
|
|
1410
|
+
|
|
1411
|
+
## Returns
|
|
1412
|
+
|
|
1413
|
+
Promise<boolean>
|
|
1414
|
+
|
|
1415
|
+
Whether the operation is successful
|
|
1416
|
+
|
|
1417
|
+
## Remarks
|
|
1418
|
+
|
|
1419
|
+
This API positions on the front-end canvas to the specified region. The region data is an offset relative to the data origin;
|
|
1420
|
+
|
|
1421
|
+
For example: the passed-in data is `{left: 0, right: 60, top: 100, bottom: -20}` =<!-- -->> `navigateToRegion(0, 60, 100, -20)`<!-- -->, then the canvas will be positioned to a rectangular range centered at `[30, 40]` with a length of `60` in the x-axis direction and `120` in the y-axis direction;
|
|
1422
|
+
|
|
1423
|
+
This API does not perform zooming, but it will generate a rectangle frame indicating the positioning center and the region range;
|
|
1424
|
+
|
|
1425
|
+
The units here are data-level units, which are equivalent to mil on the canvas level in span
|
|
1426
|
+
|
|
1427
|
+
## Example
|
|
1428
|
+
|
|
1429
|
+
```javascript
|
|
1430
|
+
// 1. 创建测试 PCB 并打开(视口操作作用于当前激活的 PCB)
|
|
1431
|
+
const pcbUuid = await eda.dmt_Pcb.createPcb();
|
|
1432
|
+
await new Promise(r => setTimeout(r, 1500));
|
|
1433
|
+
await eda.dmt_EditorControl.openDocument(pcbUuid);
|
|
1434
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
1435
|
+
|
|
1436
|
+
// 2. 定位到矩形区域:X 从 0 到 2000,Y 从 2000 到 0(视口将以中心 (1000,1000) 呈现)
|
|
1437
|
+
const navigated = await eda.pcb_Document.navigateToRegion(0, 2000, 2000, 0);
|
|
1438
|
+
console.log('navigated:', navigated);
|
|
1439
|
+
|
|
1440
|
+
// 3. 清理测试 PCB
|
|
1441
|
+
await eda.dmt_Pcb.deletePcb(pcbUuid);
|
|
1442
|
+
```
|
|
1443
|
+
|
|
1444
|
+
### save
|
|
1445
|
+
|
|
1446
|
+
# PCB\_Document.save() method
|
|
1447
|
+
|
|
1448
|
+
Save Document
|
|
1449
|
+
|
|
1450
|
+
## Signature
|
|
1451
|
+
|
|
1452
|
+
```typescript
|
|
1453
|
+
function save(): Promise<boolean>;
|
|
1454
|
+
```
|
|
1455
|
+
|
|
1456
|
+
## Returns
|
|
1457
|
+
|
|
1458
|
+
Promise<boolean>
|
|
1459
|
+
|
|
1460
|
+
Whether the save operation was successful. Errors such as save failure and upload failure all return `false`
|
|
1461
|
+
|
|
1462
|
+
## Remarks
|
|
1463
|
+
|
|
1464
|
+
在 headless / 无头环境下,本接口可能返回 `true` 但实际未真正落盘(如网络 / 上传链路异常), 对落盘结果敏感的流程应通过 [文件系统接口](./SYS_FileSystem.md) 二次核验
|
|
1465
|
+
|
|
1466
|
+
## Example
|
|
1467
|
+
|
|
1468
|
+
```javascript
|
|
1469
|
+
// 1. 创建测试 PCB 并打开(保存作用于当前激活的 PCB)
|
|
1470
|
+
const pcbUuid = await eda.dmt_Pcb.createPcb();
|
|
1471
|
+
await new Promise(r => setTimeout(r, 1500));
|
|
1472
|
+
await eda.dmt_EditorControl.openDocument(pcbUuid);
|
|
1473
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
1474
|
+
|
|
1475
|
+
// 2. 保存当前 PCB
|
|
1476
|
+
const saved = await eda.pcb_Document.save();
|
|
1477
|
+
console.log('saved:', saved);
|
|
1478
|
+
|
|
1479
|
+
// 3. 清理测试 PCB
|
|
1480
|
+
await eda.dmt_Pcb.deletePcb(pcbUuid);
|
|
1481
|
+
```
|
|
1482
|
+
|
|
1483
|
+
### setcanvasorigin
|
|
1484
|
+
|
|
1485
|
+
# PCB\_Document.setCanvasOrigin() method
|
|
1486
|
+
|
|
1487
|
+
Set the offset coordinate of the canvas origin relative to the data origin
|
|
1488
|
+
|
|
1489
|
+
## Signature
|
|
1490
|
+
|
|
1491
|
+
```typescript
|
|
1492
|
+
function setCanvasOrigin(offsetX: number, offsetY: number): Promise<boolean>;
|
|
1493
|
+
```
|
|
1494
|
+
|
|
1495
|
+
## Parameters
|
|
1496
|
+
|
|
1497
|
+
<table><thead><tr><th>
|
|
1498
|
+
|
|
1499
|
+
Parameter
|
|
1500
|
+
|
|
1501
|
+
</th><th>
|
|
1502
|
+
|
|
1503
|
+
Type
|
|
1504
|
+
|
|
1505
|
+
</th><th>
|
|
1506
|
+
|
|
1507
|
+
Description
|
|
1508
|
+
|
|
1509
|
+
</th></tr></thead>
|
|
1510
|
+
<tbody><tr><td>
|
|
1511
|
+
|
|
1512
|
+
offsetX
|
|
1513
|
+
|
|
1514
|
+
</td><td>
|
|
1515
|
+
|
|
1516
|
+
number
|
|
1517
|
+
|
|
1518
|
+
</td><td>
|
|
1519
|
+
|
|
1520
|
+
X coordinate offset of the canvas origin relative to the data origin
|
|
1521
|
+
|
|
1522
|
+
</td></tr>
|
|
1523
|
+
<tr><td>
|
|
1524
|
+
|
|
1525
|
+
offsetY
|
|
1526
|
+
|
|
1527
|
+
</td><td>
|
|
1528
|
+
|
|
1529
|
+
number
|
|
1530
|
+
|
|
1531
|
+
</td><td>
|
|
1532
|
+
|
|
1533
|
+
Y coordinate offset of the canvas origin relative to the data origin
|
|
1534
|
+
|
|
1535
|
+
</td></tr>
|
|
1536
|
+
</tbody></table>
|
|
1537
|
+
|
|
1538
|
+
## Returns
|
|
1539
|
+
|
|
1540
|
+
Promise<boolean>
|
|
1541
|
+
|
|
1542
|
+
Whether the operation is successful
|
|
1543
|
+
|
|
1544
|
+
## Remarks
|
|
1545
|
+
|
|
1546
|
+
The coordinates displayed on the EasyEDA Pro front end are all relative to the canvas origin;
|
|
1547
|
+
|
|
1548
|
+
The EasyEDA Pro API uses the data origin;
|
|
1549
|
+
|
|
1550
|
+
If you want the front-end canvas coordinate to be consistent with the data during API operations, it is recommended to call this method and set the offset to zero, i.e. `setCanvasOrigin(0, 0)`<!-- -->;
|
|
1551
|
+
|
|
1552
|
+
The units here are data-level units, which are equivalent to mil on the canvas level in span
|
|
1553
|
+
|
|
1554
|
+
## Example
|
|
1555
|
+
|
|
1556
|
+
```javascript
|
|
1557
|
+
// 1. 创建测试 PCB 并打开(原点设置作用于当前激活的 PCB)
|
|
1558
|
+
const pcbUuid = await eda.dmt_Pcb.createPcb();
|
|
1559
|
+
await new Promise(r => setTimeout(r, 1500));
|
|
1560
|
+
await eda.dmt_EditorControl.openDocument(pcbUuid);
|
|
1561
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
1562
|
+
|
|
1563
|
+
// 2. 设置画布原点偏移为 (50, 100)
|
|
1564
|
+
const set = await eda.pcb_Document.setCanvasOrigin(50, 100);
|
|
1565
|
+
console.log('set:', set);
|
|
1566
|
+
|
|
1567
|
+
// 3. 读回偏移验证已生效
|
|
1568
|
+
const origin = await eda.pcb_Document.getCanvasOrigin();
|
|
1569
|
+
console.log('origin:', JSON.stringify(origin));
|
|
1570
|
+
|
|
1571
|
+
// 4. 清理测试 PCB(偏移随文档一起删除)
|
|
1572
|
+
await eda.dmt_Pcb.deletePcb(pcbUuid);
|
|
1573
|
+
```
|
|
1574
|
+
|
|
1575
|
+
### startcalculatingratline
|
|
1576
|
+
|
|
1577
|
+
# PCB\_Document.startCalculatingRatline() method
|
|
1578
|
+
|
|
1579
|
+
> Warning: This API is now obsolete.
|
|
1580
|
+
>
|
|
1581
|
+
> since EDA v4.2
|
|
1582
|
+
|
|
1583
|
+
Start the ratline calculation function
|
|
1584
|
+
|
|
1585
|
+
## Signature
|
|
1586
|
+
|
|
1587
|
+
```typescript
|
|
1588
|
+
function startCalculatingRatline(): Promise<boolean>;
|
|
1589
|
+
```
|
|
1590
|
+
|
|
1591
|
+
## Returns
|
|
1592
|
+
|
|
1593
|
+
Promise<boolean>
|
|
1594
|
+
|
|
1595
|
+
Whether the operation is successful
|
|
1596
|
+
|
|
1597
|
+
## Remarks
|
|
1598
|
+
|
|
1599
|
+
A ratline calculation will be triggered when starting
|
|
1600
|
+
|
|
1601
|
+
## Example
|
|
1602
|
+
|
|
1603
|
+
```javascript
|
|
1604
|
+
// 1. 创建测试 PCB 并打开(飞线开关作用于当前激活的 PCB)
|
|
1605
|
+
const pcbUuid = await eda.dmt_Pcb.createPcb();
|
|
1606
|
+
await new Promise(r => setTimeout(r, 1500));
|
|
1607
|
+
await eda.dmt_EditorControl.openDocument(pcbUuid);
|
|
1608
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
1609
|
+
|
|
1610
|
+
// 2. 启动飞线计算
|
|
1611
|
+
const started = await eda.pcb_Document.startCalculatingRatline();
|
|
1612
|
+
console.log('started:', started);
|
|
1613
|
+
|
|
1614
|
+
// 3. 清理测试 PCB
|
|
1615
|
+
await eda.dmt_Pcb.deletePcb(pcbUuid);
|
|
1616
|
+
```
|
|
1617
|
+
|
|
1618
|
+
### startcanvasupdatecalculation
|
|
1619
|
+
|
|
1620
|
+
# PCB\_Document.startCanvasUpdateCalculation() method
|
|
1621
|
+
|
|
1622
|
+
> 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.
|
|
1623
|
+
|
|
1624
|
+
开始画布更新计算
|
|
1625
|
+
|
|
1626
|
+
## Signature
|
|
1627
|
+
|
|
1628
|
+
```typescript
|
|
1629
|
+
function startCanvasUpdateCalculation(): Promise<boolean>;
|
|
1630
|
+
```
|
|
1631
|
+
|
|
1632
|
+
## Returns
|
|
1633
|
+
|
|
1634
|
+
Promise<boolean>
|
|
1635
|
+
|
|
1636
|
+
操作是否成功
|
|
1637
|
+
|
|
1638
|
+
## Remarks
|
|
1639
|
+
|
|
1640
|
+
画布更新计算包括画布渲染更新、属性面板更新等
|
|
1641
|
+
|
|
1642
|
+
如若不理解该开关的含义,请勿调用本接口进行任何操作 ADD since EDA v4.2
|
|
1643
|
+
|
|
1644
|
+
### stopcalculatingratline
|
|
1645
|
+
|
|
1646
|
+
# PCB\_Document.stopCalculatingRatline() method
|
|
1647
|
+
|
|
1648
|
+
> Warning: This API is now obsolete.
|
|
1649
|
+
>
|
|
1650
|
+
> since EDA v4.2
|
|
1651
|
+
|
|
1652
|
+
Stop the ratline calculation function
|
|
1653
|
+
|
|
1654
|
+
## Signature
|
|
1655
|
+
|
|
1656
|
+
```typescript
|
|
1657
|
+
function stopCalculatingRatline(): Promise<boolean>;
|
|
1658
|
+
```
|
|
1659
|
+
|
|
1660
|
+
## Returns
|
|
1661
|
+
|
|
1662
|
+
Promise<boolean>
|
|
1663
|
+
|
|
1664
|
+
Whether the operation is successful
|
|
1665
|
+
|
|
1666
|
+
## Example
|
|
1667
|
+
|
|
1668
|
+
```javascript
|
|
1669
|
+
// 1. 创建测试 PCB 并打开(飞线开关作用于当前激活的 PCB)
|
|
1670
|
+
const pcbUuid = await eda.dmt_Pcb.createPcb();
|
|
1671
|
+
await new Promise(r => setTimeout(r, 1500));
|
|
1672
|
+
await eda.dmt_EditorControl.openDocument(pcbUuid);
|
|
1673
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
1674
|
+
|
|
1675
|
+
// 2. 停止飞线计算
|
|
1676
|
+
const stopped = await eda.pcb_Document.stopCalculatingRatline();
|
|
1677
|
+
console.log('stopped:', stopped);
|
|
1678
|
+
|
|
1679
|
+
// 3. 清理测试 PCB
|
|
1680
|
+
await eda.dmt_Pcb.deletePcb(pcbUuid);
|
|
1681
|
+
```
|
|
1682
|
+
|
|
1683
|
+
### stopcanvasupdatecalculation
|
|
1684
|
+
|
|
1685
|
+
# PCB\_Document.stopCanvasUpdateCalculation() method
|
|
1686
|
+
|
|
1687
|
+
> 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.
|
|
1688
|
+
|
|
1689
|
+
停止画布更新计算
|
|
1690
|
+
|
|
1691
|
+
## Signature
|
|
1692
|
+
|
|
1693
|
+
```typescript
|
|
1694
|
+
function stopCanvasUpdateCalculation(): Promise<boolean>;
|
|
1695
|
+
```
|
|
1696
|
+
|
|
1697
|
+
## Returns
|
|
1698
|
+
|
|
1699
|
+
Promise<boolean>
|
|
1700
|
+
|
|
1701
|
+
操作是否成功
|
|
1702
|
+
|
|
1703
|
+
## Remarks
|
|
1704
|
+
|
|
1705
|
+
画布更新计算包括画布渲染更新、属性面板更新等
|
|
1706
|
+
|
|
1707
|
+
如若不理解该开关的含义,请勿调用本接口进行任何操作 ADD since EDA v4.2
|
|
1708
|
+
|
|
1709
|
+
### triggercanvasupdatecalculation
|
|
1710
|
+
|
|
1711
|
+
# PCB\_Document.triggerCanvasUpdateCalculation() method
|
|
1712
|
+
|
|
1713
|
+
> 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.
|
|
1714
|
+
|
|
1715
|
+
触发一次画布更新计算
|
|
1716
|
+
|
|
1717
|
+
## Signature
|
|
1718
|
+
|
|
1719
|
+
```typescript
|
|
1720
|
+
function triggerCanvasUpdateCalculation(): Promise<boolean>;
|
|
1721
|
+
```
|
|
1722
|
+
|
|
1723
|
+
## Returns
|
|
1724
|
+
|
|
1725
|
+
Promise<boolean>
|
|
1726
|
+
|
|
1727
|
+
操作是否成功
|
|
1728
|
+
|
|
1729
|
+
## Remarks
|
|
1730
|
+
|
|
1731
|
+
画布更新计算包括画布渲染更新、属性面板更新等
|
|
1732
|
+
|
|
1733
|
+
如若不理解该开关的含义,请勿调用本接口进行任何操作 ADD since EDA v4.2
|
|
1734
|
+
|
|
1735
|
+
### zoomtoboardoutline
|
|
1736
|
+
|
|
1737
|
+
# PCB\_Document.zoomToBoardOutline() method
|
|
1738
|
+
|
|
1739
|
+
> 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.
|
|
1740
|
+
|
|
1741
|
+
Zoom to the board outline (fit the board outline)
|
|
1742
|
+
|
|
1743
|
+
## Signature
|
|
1744
|
+
|
|
1745
|
+
```typescript
|
|
1746
|
+
function zoomToBoardOutline(): Promise<boolean>;
|
|
1747
|
+
```
|
|
1748
|
+
|
|
1749
|
+
## Returns
|
|
1750
|
+
|
|
1751
|
+
Promise<boolean>
|
|
1752
|
+
|
|
1753
|
+
Whether the operation is successful
|
|
1754
|
+
|
|
1755
|
+
## Example
|
|
1756
|
+
|
|
1757
|
+
```javascript
|
|
1758
|
+
// 1. 创建测试 PCB 并打开(视口操作作用于当前激活的 PCB)
|
|
1759
|
+
const pcbUuid = await eda.dmt_Pcb.createPcb();
|
|
1760
|
+
await new Promise(r => setTimeout(r, 1500));
|
|
1761
|
+
await eda.dmt_EditorControl.openDocument(pcbUuid);
|
|
1762
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
1763
|
+
|
|
1764
|
+
// 2. 缩放到板框
|
|
1765
|
+
const zoomed = await eda.pcb_Document.zoomToBoardOutline();
|
|
1766
|
+
console.log('zoomed:', zoomed);
|
|
1767
|
+
|
|
1768
|
+
// 3. 清理测试 PCB
|
|
1769
|
+
await eda.dmt_Pcb.deletePcb(pcbUuid);
|
|
1770
|
+
```
|