@windypro-rourou/dsh-eda 0.1.0 → 0.1.2
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 +71 -119
- package/cordis.patch.yml +9 -7
- package/lib/board.js +80 -0
- package/lib/client.js +2 -2
- package/lib/index.js +339 -11
- package/lib/installer.js +4 -4
- package/lib/skill.js +138 -0
- package/package.json +3 -2
- package/skill/INDEX.md +193 -0
- package/skill/README.official.md +125 -0
- package/skill/README.zh-Hans.official.md +125 -0
- package/skill/SKILL.md +746 -0
- package/skill/format/index.md +152 -0
- package/skill/format/pcb/3d.md +166 -0
- package/skill/format/pcb/attr.md +63 -0
- package/skill/format/pcb/common.md +306 -0
- package/skill/format/pcb/component.md +132 -0
- package/skill/format/pcb/dimension.md +58 -0
- package/skill/format/pcb/index.md +17 -0
- package/skill/format/pcb/obj.md +43 -0
- package/skill/format/pcb/pad_via.md +151 -0
- package/skill/format/pcb/panel.md +64 -0
- package/skill/format/pcb/partition.md +43 -0
- package/skill/format/pcb/primitive.md +196 -0
- package/skill/format/pcb/rule.md +71 -0
- package/skill/format/pcb/shape.md +441 -0
- package/skill/format/pcb/text.md +62 -0
- package/skill/format/project/blob.md +30 -0
- package/skill/format/project/common.md +42 -0
- package/skill/format/project/group.md +62 -0
- package/skill/format/project/index.md +12 -0
- package/skill/format/project/instance.md +32 -0
- package/skill/format/project/meta.md +189 -0
- package/skill/format/project/variant.md +30 -0
- package/skill/format/schematic/attr.md +41 -0
- package/skill/format/schematic/common.md +47 -0
- package/skill/format/schematic/component.md +91 -0
- package/skill/format/schematic/index.md +14 -0
- package/skill/format/schematic/obj.md +41 -0
- package/skill/format/schematic/pin.md +59 -0
- package/skill/format/schematic/shape.md +231 -0
- package/skill/format/schematic/structure.md +53 -0
- package/skill/format/schematic/table.md +109 -0
- package/skill/format/schematic/text.md +47 -0
- package/skill/format/schematic/wire.md +132 -0
- package/skill/guide/ancillary-projects/pro-api-sdk.md +1 -0
- package/skill/guide/ancillary-projects/pro-api-types.md +5 -0
- package/skill/guide/ancillary-projects.md +10 -0
- package/skill/guide/error-handling.md +38 -0
- package/skill/guide/extension-json.md +135 -0
- package/skill/guide/extensions-marketplace.md +61 -0
- package/skill/guide/how-to-start.md +301 -0
- package/skill/guide/i18n.md +57 -0
- package/skill/guide/index.md +7 -0
- package/skill/guide/inline-frame.md +20 -0
- package/skill/guide/invoke-apis.md +81 -0
- package/skill/guide/stability.md +37 -0
- package/skill/references/_index.md +398 -0
- package/skill/references/_quick-reference.md +3028 -0
- package/skill/references/classes/DMT_Board.md +533 -0
- package/skill/references/classes/DMT_EditorControl.md +1736 -0
- package/skill/references/classes/DMT_Event.md +356 -0
- package/skill/references/classes/DMT_Folder.md +775 -0
- package/skill/references/classes/DMT_Panel.md +531 -0
- package/skill/references/classes/DMT_Pcb.md +575 -0
- package/skill/references/classes/DMT_Project.md +573 -0
- package/skill/references/classes/DMT_Schematic.md +1477 -0
- package/skill/references/classes/DMT_SelectControl.md +96 -0
- package/skill/references/classes/DMT_Team.md +172 -0
- package/skill/references/classes/DMT_Workspace.md +198 -0
- package/skill/references/classes/EDA.md +961 -0
- package/skill/references/classes/IPCB_ComplexPolygon.md +299 -0
- package/skill/references/classes/IPCB_Polygon.md +175 -0
- package/skill/references/classes/IPCB_PrimitiveArc.md +1901 -0
- package/skill/references/classes/IPCB_PrimitiveAttribute.md +2993 -0
- package/skill/references/classes/IPCB_PrimitiveComponent.md +2627 -0
- package/skill/references/classes/IPCB_PrimitiveComponentPad.md +410 -0
- package/skill/references/classes/IPCB_PrimitiveDimension.md +1419 -0
- package/skill/references/classes/IPCB_PrimitiveFill.md +1325 -0
- package/skill/references/classes/IPCB_PrimitiveImage.md +1461 -0
- package/skill/references/classes/IPCB_PrimitiveLine.md +1639 -0
- package/skill/references/classes/IPCB_PrimitiveObject.md +1700 -0
- package/skill/references/classes/IPCB_PrimitivePad.md +3155 -0
- package/skill/references/classes/IPCB_PrimitivePolyline.md +1193 -0
- package/skill/references/classes/IPCB_PrimitivePour.md +1858 -0
- package/skill/references/classes/IPCB_PrimitivePoured.md +556 -0
- package/skill/references/classes/IPCB_PrimitiveRegion.md +1332 -0
- package/skill/references/classes/IPCB_PrimitiveString.md +2315 -0
- package/skill/references/classes/IPCB_PrimitiveVia.md +1588 -0
- package/skill/references/classes/ISCH_PrimitiveArc.md +1676 -0
- package/skill/references/classes/ISCH_PrimitiveAttribute.md +2541 -0
- package/skill/references/classes/ISCH_PrimitiveBus.md +973 -0
- package/skill/references/classes/ISCH_PrimitiveCbbSymbolComponent.md +260 -0
- package/skill/references/classes/ISCH_PrimitiveCircle.md +1392 -0
- package/skill/references/classes/ISCH_PrimitiveComponent.md +2913 -0
- package/skill/references/classes/ISCH_PrimitiveComponentPin.md +155 -0
- package/skill/references/classes/ISCH_PrimitiveObject.md +960 -0
- package/skill/references/classes/ISCH_PrimitivePin.md +2402 -0
- package/skill/references/classes/ISCH_PrimitivePolygon.md +1028 -0
- package/skill/references/classes/ISCH_PrimitiveRectangle.md +1777 -0
- package/skill/references/classes/ISCH_PrimitiveText.md +1771 -0
- package/skill/references/classes/ISCH_PrimitiveWire.md +973 -0
- package/skill/references/classes/LIB_3DModel.md +780 -0
- package/skill/references/classes/LIB_Cbb.md +957 -0
- package/skill/references/classes/LIB_Classification.md +965 -0
- package/skill/references/classes/LIB_Device.md +1221 -0
- package/skill/references/classes/LIB_Footprint.md +1153 -0
- package/skill/references/classes/LIB_LibrariesList.md +329 -0
- package/skill/references/classes/LIB_PanelLibrary.md +855 -0
- package/skill/references/classes/LIB_SelectControl.md +89 -0
- package/skill/references/classes/LIB_SimulationModel.md +821 -0
- package/skill/references/classes/LIB_Symbol.md +1195 -0
- package/skill/references/classes/PCB_Document.md +1754 -0
- package/skill/references/classes/PCB_Drc.md +3375 -0
- package/skill/references/classes/PCB_Event.md +1081 -0
- package/skill/references/classes/PCB_Layer.md +1911 -0
- package/skill/references/classes/PCB_ManufactureData.md +2968 -0
- package/skill/references/classes/PCB_MathPolygon.md +785 -0
- package/skill/references/classes/PCB_Net.md +1128 -0
- package/skill/references/classes/PCB_Primitive.md +217 -0
- package/skill/references/classes/PCB_PrimitiveArc.md +894 -0
- package/skill/references/classes/PCB_PrimitiveAttribute.md +717 -0
- package/skill/references/classes/PCB_PrimitiveComponent.md +1050 -0
- package/skill/references/classes/PCB_PrimitiveDimension.md +833 -0
- package/skill/references/classes/PCB_PrimitiveFill.md +861 -0
- package/skill/references/classes/PCB_PrimitiveImage.md +875 -0
- package/skill/references/classes/PCB_PrimitiveLine.md +858 -0
- package/skill/references/classes/PCB_PrimitiveObject.md +800 -0
- package/skill/references/classes/PCB_PrimitivePad.md +944 -0
- package/skill/references/classes/PCB_PrimitivePolyline.md +819 -0
- package/skill/references/classes/PCB_PrimitivePour.md +845 -0
- package/skill/references/classes/PCB_PrimitivePoured.md +363 -0
- package/skill/references/classes/PCB_PrimitiveRegion.md +799 -0
- package/skill/references/classes/PCB_PrimitiveString.md +910 -0
- package/skill/references/classes/PCB_PrimitiveVia.md +765 -0
- package/skill/references/classes/PCB_RayTracerEngine.md +263 -0
- package/skill/references/classes/PCB_SelectControl.md +495 -0
- package/skill/references/classes/PNL_Document.md +83 -0
- package/skill/references/classes/SCH_Document.md +809 -0
- package/skill/references/classes/SCH_Drc.md +242 -0
- package/skill/references/classes/SCH_Event.md +583 -0
- package/skill/references/classes/SCH_ManufactureData.md +1205 -0
- package/skill/references/classes/SCH_Net.md +200 -0
- package/skill/references/classes/SCH_Netlist.md +191 -0
- package/skill/references/classes/SCH_Primitive.md +337 -0
- package/skill/references/classes/SCH_PrimitiveArc.md +692 -0
- package/skill/references/classes/SCH_PrimitiveAttribute.md +590 -0
- package/skill/references/classes/SCH_PrimitiveBus.md +624 -0
- package/skill/references/classes/SCH_PrimitiveCircle.md +683 -0
- package/skill/references/classes/SCH_PrimitiveComponent.md +2240 -0
- package/skill/references/classes/SCH_PrimitiveObject.md +666 -0
- package/skill/references/classes/SCH_PrimitivePin.md +754 -0
- package/skill/references/classes/SCH_PrimitivePolygon.md +627 -0
- package/skill/references/classes/SCH_PrimitiveRectangle.md +731 -0
- package/skill/references/classes/SCH_PrimitiveText.md +746 -0
- package/skill/references/classes/SCH_PrimitiveWire.md +703 -0
- package/skill/references/classes/SCH_SelectControl.md +520 -0
- package/skill/references/classes/SCH_SimulationEngine.md +133 -0
- package/skill/references/classes/SCH_Utils.md +121 -0
- package/skill/references/classes/SYS_ClientUrl.md +173 -0
- package/skill/references/classes/SYS_Dialog.md +825 -0
- package/skill/references/classes/SYS_Environment.md +502 -0
- package/skill/references/classes/SYS_FileManager.md +1686 -0
- package/skill/references/classes/SYS_FileSystem.md +1171 -0
- package/skill/references/classes/SYS_FontManager.md +224 -0
- package/skill/references/classes/SYS_FormatConversion.md +349 -0
- package/skill/references/classes/SYS_HeaderMenu.md +479 -0
- package/skill/references/classes/SYS_I18n.md +861 -0
- package/skill/references/classes/SYS_IFrame.md +535 -0
- package/skill/references/classes/SYS_LoadingAndProgressBar.md +246 -0
- package/skill/references/classes/SYS_Log.md +424 -0
- package/skill/references/classes/SYS_Math.md +1565 -0
- package/skill/references/classes/SYS_Message.md +363 -0
- package/skill/references/classes/SYS_MessageBox.md +285 -0
- package/skill/references/classes/SYS_MessageBus.md +1618 -0
- package/skill/references/classes/SYS_PanelControl.md +696 -0
- package/skill/references/classes/SYS_RightClickMenu.md +175 -0
- package/skill/references/classes/SYS_Setting.md +85 -0
- package/skill/references/classes/SYS_ShortcutKey.md +623 -0
- package/skill/references/classes/SYS_Storage.md +484 -0
- package/skill/references/classes/SYS_Timer.md +447 -0
- package/skill/references/classes/SYS_ToastMessage.md +194 -0
- package/skill/references/classes/SYS_Tool.md +241 -0
- package/skill/references/classes/SYS_Unit.md +594 -0
- package/skill/references/classes/SYS_WebSocket.md +401 -0
- package/skill/references/classes/SYS_Window.md +850 -0
- package/skill/references/enums/EDMT_EditorDocumentType.md +279 -0
- package/skill/references/enums/EDMT_EditorSplitScreenDirection.md +48 -0
- package/skill/references/enums/EDMT_EditorTabEventType.md +63 -0
- package/skill/references/enums/EDMT_IndicatorMarkerType.md +81 -0
- package/skill/references/enums/EDMT_ItemType.md +158 -0
- package/skill/references/enums/EDMT_ProjectCollaborationMode.md +48 -0
- package/skill/references/enums/ELIB_DeviceJlcLibraryCategory.md +48 -0
- package/skill/references/enums/ELIB_LibraryType.md +114 -0
- package/skill/references/enums/ELIB_PreviewType.md +70 -0
- package/skill/references/enums/ELIB_SimulationModelType.md +48 -0
- package/skill/references/enums/ELIB_SymbolType.md +125 -0
- package/skill/references/enums/EPCB_AutoRoutingCornerStyle.md +48 -0
- package/skill/references/enums/EPCB_AutoRoutingExistingPrimitiveMode.md +48 -0
- package/skill/references/enums/EPCB_AutoRoutingOptimization.md +48 -0
- package/skill/references/enums/EPCB_DocumentCanvasUpdateCalculationActiveStatus.md +48 -0
- package/skill/references/enums/EPCB_DocumentRatlineCalculatingActiveStatus.md +52 -0
- package/skill/references/enums/EPCB_InactiveLayerDisplayMode.md +59 -0
- package/skill/references/enums/EPCB_LayerColorConfiguration.md +81 -0
- package/skill/references/enums/EPCB_LayerId.md +882 -0
- package/skill/references/enums/EPCB_LayerStatus.md +59 -0
- package/skill/references/enums/EPCB_LayerType.md +114 -0
- package/skill/references/enums/EPCB_MouseEventType.md +59 -0
- package/skill/references/enums/EPCB_NetEventType.md +59 -0
- package/skill/references/enums/EPCB_PcbPlateType.md +48 -0
- package/skill/references/enums/EPCB_PdfOutputMethod.md +59 -0
- package/skill/references/enums/EPCB_PrimitiveArcInteractiveMode.md +48 -0
- package/skill/references/enums/EPCB_PrimitiveDimensionType.md +59 -0
- package/skill/references/enums/EPCB_PrimitiveEventType.md +59 -0
- package/skill/references/enums/EPCB_PrimitiveFillMode.md +63 -0
- package/skill/references/enums/EPCB_PrimitivePadHeatWeldingConnectionMethod.md +59 -0
- package/skill/references/enums/EPCB_PrimitivePadHoleType.md +59 -0
- package/skill/references/enums/EPCB_PrimitivePadShapeType.md +81 -0
- package/skill/references/enums/EPCB_PrimitivePadType.md +59 -0
- package/skill/references/enums/EPCB_PrimitivePourFillMethod.md +59 -0
- package/skill/references/enums/EPCB_PrimitiveRegionRuleType.md +96 -0
- package/skill/references/enums/EPCB_PrimitiveStringAlignMode.md +125 -0
- package/skill/references/enums/EPCB_PrimitiveType.md +202 -0
- package/skill/references/enums/EPCB_PrimitiveViaType.md +59 -0
- package/skill/references/enums/ESCH_DynamicSimulationEnginePullEventType.md +103 -0
- package/skill/references/enums/ESCH_DynamicSimulationEnginePushEventType.md +81 -0
- package/skill/references/enums/ESCH_ExportDocumentFileType.md +59 -0
- package/skill/references/enums/ESCH_MouseEventType.md +48 -0
- package/skill/references/enums/ESCH_PrimitiveComponentType.md +125 -0
- package/skill/references/enums/ESCH_PrimitiveEventType.md +70 -0
- package/skill/references/enums/ESCH_PrimitiveFillStyle.md +114 -0
- package/skill/references/enums/ESCH_PrimitiveLineType.md +70 -0
- package/skill/references/enums/ESCH_PrimitivePinShape.md +70 -0
- package/skill/references/enums/ESCH_PrimitivePinType.md +147 -0
- package/skill/references/enums/ESCH_PrimitiveTextAlignMode.md +125 -0
- package/skill/references/enums/ESCH_PrimitiveType.md +180 -0
- package/skill/references/enums/ESCH_SimulationNetlistType.md +37 -0
- package/skill/references/enums/ESCH_SpiceSimulationEnginePullEventType.md +48 -0
- package/skill/references/enums/ESCH_SpiceSimulationEnginePushEventType.md +70 -0
- package/skill/references/enums/ESYS_BottomPanelTab.md +81 -0
- package/skill/references/enums/ESYS_HeaderMenuEnvironment.md +158 -0
- package/skill/references/enums/ESYS_ImportProjectBoardOutlineSource.md +52 -0
- package/skill/references/enums/ESYS_ImportProjectImportOption.md +59 -0
- package/skill/references/enums/ESYS_ImportProjectSchematicObjectStyle.md +48 -0
- package/skill/references/enums/ESYS_ImportProjectViaSolderMaskExpansion.md +52 -0
- package/skill/references/enums/ESYS_LeftPanelTab.md +81 -0
- package/skill/references/enums/ESYS_LogType.md +103 -0
- package/skill/references/enums/ESYS_NetlistType.md +114 -0
- package/skill/references/enums/ESYS_RightPanelTab.md +202 -0
- package/skill/references/enums/ESYS_ShortcutKeyEffectiveEditorRange.md +191 -0
- package/skill/references/enums/ESYS_ShortcutKeyEffectiveEditorScene.md +92 -0
- package/skill/references/enums/ESYS_StartPageQuickStartItem.md +206 -0
- package/skill/references/enums/ESYS_Theme.md +48 -0
- package/skill/references/enums/ESYS_ToastMessageType.md +81 -0
- package/skill/references/enums/ESYS_Unit.md +103 -0
- package/skill/references/enums/ESYS_WindowEventType.md +48 -0
- package/skill/references/enums/ESYS_WindowOpenTarget.md +48 -0
- package/skill/references/enums/NetportDeviceName.md +147 -0
- package/skill/references/enums/SchToolBarDeviceName.md +279 -0
- package/skill/references/interfaces/BoardProps.md +169 -0
- package/skill/references/interfaces/ButtonProps.md +169 -0
- package/skill/references/interfaces/CheckBoxProps.md +196 -0
- package/skill/references/interfaces/ComponentPropsMap.md +448 -0
- package/skill/references/interfaces/DialogProps.md +385 -0
- package/skill/references/interfaces/FlexItemProps.md +116 -0
- package/skill/references/interfaces/FlexProps.md +224 -0
- package/skill/references/interfaces/GridItemProps.md +143 -0
- package/skill/references/interfaces/GridProps.md +143 -0
- package/skill/references/interfaces/IDMT_BoardItem.md +171 -0
- package/skill/references/interfaces/IDMT_BriefProjectItem.md +171 -0
- package/skill/references/interfaces/IDMT_EditorDocumentItem.md +169 -0
- package/skill/references/interfaces/IDMT_EditorSplitScreenItem.md +173 -0
- package/skill/references/interfaces/IDMT_EditorTabItem.md +169 -0
- package/skill/references/interfaces/IDMT_FolderItem.md +225 -0
- package/skill/references/interfaces/IDMT_IndicatorMarkerShape.md +393 -0
- package/skill/references/interfaces/IDMT_PanelItem.md +144 -0
- package/skill/references/interfaces/IDMT_PcbItem.md +171 -0
- package/skill/references/interfaces/IDMT_ProjectItem.md +143 -0
- package/skill/references/interfaces/IDMT_SchematicItem.md +225 -0
- package/skill/references/interfaces/IDMT_SchematicPageItem.md +198 -0
- package/skill/references/interfaces/IDMT_TeamItem.md +144 -0
- package/skill/references/interfaces/IDMT_WorkspaceItem.md +117 -0
- package/skill/references/interfaces/IDesignPortal.md +103 -0
- package/skill/references/interfaces/ILIB_3DModelItem.md +198 -0
- package/skill/references/interfaces/ILIB_3DModelSearchItem.md +277 -0
- package/skill/references/interfaces/ILIB_CbbItem.md +225 -0
- package/skill/references/interfaces/ILIB_CbbSearchItem.md +277 -0
- package/skill/references/interfaces/ILIB_ClassificationIndex.md +150 -0
- package/skill/references/interfaces/ILIB_DeviceAssociationItem.md +210 -0
- package/skill/references/interfaces/ILIB_DeviceExtendPropertyItem.md +304 -0
- package/skill/references/interfaces/ILIB_DeviceItem.md +279 -0
- package/skill/references/interfaces/ILIB_DevicePropertiesForSearch.md +250 -0
- package/skill/references/interfaces/ILIB_DeviceSearchItem.md +521 -0
- package/skill/references/interfaces/ILIB_ExtendLibrary3DModelFunctions.md +64 -0
- package/skill/references/interfaces/ILIB_ExtendLibraryCbbFunctions.md +99 -0
- package/skill/references/interfaces/ILIB_ExtendLibraryClassificationIndex.md +150 -0
- package/skill/references/interfaces/ILIB_ExtendLibraryDeviceFunctions.md +157 -0
- package/skill/references/interfaces/ILIB_ExtendLibraryFootprintFunctions.md +63 -0
- package/skill/references/interfaces/ILIB_ExtendLibraryFunctions.md +123 -0
- package/skill/references/interfaces/ILIB_ExtendLibraryItem.md +97 -0
- package/skill/references/interfaces/ILIB_ExtendLibraryItemIndex.md +98 -0
- package/skill/references/interfaces/ILIB_ExtendLibrarySearchProperty.md +115 -0
- package/skill/references/interfaces/ILIB_ExtendLibrarySearchResult.md +169 -0
- package/skill/references/interfaces/ILIB_ExtendLibrarySearchResultDataLine.md +234 -0
- package/skill/references/interfaces/ILIB_ExtendLibrarySymbolFunctions.md +105 -0
- package/skill/references/interfaces/ILIB_ExtendLibraryUserIndex.md +96 -0
- package/skill/references/interfaces/ILIB_FootprintItem.md +198 -0
- package/skill/references/interfaces/ILIB_FootprintPropertiesForSearch.md +61 -0
- package/skill/references/interfaces/ILIB_FootprintSearchItem.md +277 -0
- package/skill/references/interfaces/ILIB_LibraryInfo.md +92 -0
- package/skill/references/interfaces/ILIB_LibraryItem.md +115 -0
- package/skill/references/interfaces/ILIB_PanelLibraryItem.md +198 -0
- package/skill/references/interfaces/ILIB_PanelLibrarySearchItem.md +277 -0
- package/skill/references/interfaces/ILIB_SimulationModelItem.md +306 -0
- package/skill/references/interfaces/ILIB_SimulationModelSearchItem.md +304 -0
- package/skill/references/interfaces/ILIB_SymbolItem.md +279 -0
- package/skill/references/interfaces/ILIB_SymbolPropertiesForSearch.md +61 -0
- package/skill/references/interfaces/ILIB_SymbolSearchItem.md +304 -0
- package/skill/references/interfaces/IPCB_AutoLayoutResult.md +169 -0
- package/skill/references/interfaces/IPCB_AutoRoutingProps.md +220 -0
- package/skill/references/interfaces/IPCB_AutoRoutingResult.md +169 -0
- package/skill/references/interfaces/IPCB_BomPropertiesTableColumns.md +169 -0
- package/skill/references/interfaces/IPCB_DifferentialPairItem.md +115 -0
- package/skill/references/interfaces/IPCB_DiscretizeOptions.md +65 -0
- package/skill/references/interfaces/IPCB_DiscretizedPoint.md +88 -0
- package/skill/references/interfaces/IPCB_EqualLengthNetGroupItem.md +115 -0
- package/skill/references/interfaces/IPCB_LayerItem.md +277 -0
- package/skill/references/interfaces/IPCB_NetClassItem.md +115 -0
- package/skill/references/interfaces/IPCB_NetInfo.md +115 -0
- package/skill/references/interfaces/IPCB_PadPairGroupItem.md +88 -0
- package/skill/references/interfaces/IPCB_PadPairMinWireLengthItem.md +88 -0
- package/skill/references/interfaces/IPCB_PhysicalStackingConfiguration.md +115 -0
- package/skill/references/interfaces/IPCB_Primitive.md +218 -0
- package/skill/references/interfaces/IPCB_PrimitiveAPI.md +175 -0
- package/skill/references/interfaces/IPCB_PrimitivePadHeatWelding.md +151 -0
- package/skill/references/interfaces/IPCB_PrimitivePouredPourFill.md +142 -0
- package/skill/references/interfaces/IPCB_PrimitiveSolderMaskAndPasteMaskExpansion.md +154 -0
- package/skill/references/interfaces/IPCB_SubstratePhysicalProperties.md +88 -0
- package/skill/references/interfaces/IRawNet.md +103 -0
- package/skill/references/interfaces/IRawPureSchematic.md +80 -0
- package/skill/references/interfaces/IRawSchematic.md +103 -0
- package/skill/references/interfaces/IRawWire.md +149 -0
- package/skill/references/interfaces/ISCH_DrcError.md +142 -0
- package/skill/references/interfaces/ISCH_DrcErrorPrimitive.md +142 -0
- package/skill/references/interfaces/ISCH_ExportPngResolution.md +94 -0
- package/skill/references/interfaces/ISCH_NetInfo.md +88 -0
- package/skill/references/interfaces/ISCH_Primitive.md +219 -0
- package/skill/references/interfaces/ISCH_PrimitiveAPI.md +175 -0
- package/skill/references/interfaces/ISCH_ProjectNetInfo.md +142 -0
- package/skill/references/interfaces/ISCH_WireInfo.md +169 -0
- package/skill/references/interfaces/ISYS_FileSystemFileList.md +169 -0
- package/skill/references/interfaces/ISYS_HeaderMenuSub1MenuItem.md +174 -0
- package/skill/references/interfaces/ISYS_HeaderMenuSub2MenuItem.md +147 -0
- package/skill/references/interfaces/ISYS_HeaderMenuTopMenuItem.md +115 -0
- package/skill/references/interfaces/ISYS_HeaderMenus.md +408 -0
- package/skill/references/interfaces/ISYS_LogLine.md +115 -0
- package/skill/references/interfaces/ISYS_MathBBox.md +142 -0
- package/skill/references/interfaces/ISYS_MathPoint.md +88 -0
- package/skill/references/interfaces/ISYS_MathPolygonWithHoles.md +92 -0
- package/skill/references/interfaces/ISYS_MessageBusTask.md +115 -0
- package/skill/references/interfaces/ISYS_MultilingualLanguagesData.md +13 -0
- package/skill/references/interfaces/ISYS_PcbComparisonResponse.md +115 -0
- package/skill/references/interfaces/ISYS_RightClickMenuItem.md +174 -0
- package/skill/references/interfaces/ISYS_ShortcutKeyData.md +169 -0
- package/skill/references/interfaces/ISYS_ShortcutKeyDataWithCallFn.md +62 -0
- package/skill/references/interfaces/ISYS_ShortcutKeyDataWithUserDefinedShortcutKey.md +62 -0
- package/skill/references/interfaces/ISYS_WindowEventListenerRemovableObject.md +109 -0
- package/skill/references/interfaces/IconProps.md +88 -0
- package/skill/references/interfaces/ImageProps.md +115 -0
- package/skill/references/interfaces/InputProps.md +520 -0
- package/skill/references/interfaces/ListChildren.md +223 -0
- package/skill/references/interfaces/ListProps.md +223 -0
- package/skill/references/interfaces/ModalProps.md +358 -0
- package/skill/references/interfaces/RadioGroupProps.md +196 -0
- package/skill/references/interfaces/RadioItem.md +115 -0
- package/skill/references/interfaces/ScrollerProps.md +169 -0
- package/skill/references/interfaces/SelectListItem.md +142 -0
- package/skill/references/interfaces/SelectProps.md +169 -0
- package/skill/references/interfaces/SlotProps.md +88 -0
- package/skill/references/interfaces/StyleProps.md +385 -0
- package/skill/references/interfaces/TextAreaProps.md +196 -0
- package/skill/references/interfaces/TextProps.md +169 -0
- package/skill/references/types/ISYS_LanguageKeyValuePairs.md +13 -0
- package/skill/references/types/TPCB_LayerTypesOfInnerLayer.md +12 -0
- package/skill/references/types/TPCB_LayersInTheSelectable.md +43 -0
- package/skill/references/types/TPCB_LayersOfComponent.md +12 -0
- package/skill/references/types/TPCB_LayersOfCopper.md +16 -0
- package/skill/references/types/TPCB_LayersOfCustom.md +42 -0
- package/skill/references/types/TPCB_LayersOfDimension.md +17 -0
- package/skill/references/types/TPCB_LayersOfFill.md +29 -0
- package/skill/references/types/TPCB_LayersOfImage.md +23 -0
- package/skill/references/types/TPCB_LayersOfInner.md +42 -0
- package/skill/references/types/TPCB_LayersOfLine.md +26 -0
- package/skill/references/types/TPCB_LayersOfObject.md +13 -0
- package/skill/references/types/TPCB_LayersOfPad.md +12 -0
- package/skill/references/types/TPCB_LayersOfRegion.md +12 -0
- package/skill/references/types/TPCB_NumberOfCopperLayers.md +10 -0
- package/skill/references/types/TPCB_PolygonSourceArray.md +83 -0
- package/skill/references/types/TPCB_PrimitiveDimensionCoordinateSet.md +67 -0
- package/skill/references/types/TPCB_PrimitivePadHole.md +31 -0
- package/skill/references/types/TPCB_PrimitivePadShape.md +62 -0
- package/skill/references/types/TPCB_PrimitiveSpecialPadShape.md +20 -0
- package/skill/references/types/TSYS_MathPolygonGroup.md +16 -0
- package/skill/references/types/TSYS_MathPolygonInput.md +21 -0
- package/skill/references/types/TSYS_PcbComparisonErrorCode.md +10 -0
- package/skill/references/types/TSYS_ShortcutKeys.md +97 -0
- package/skill/user-guide/using-extension.md +47 -0
|
@@ -0,0 +1,2968 @@
|
|
|
1
|
+
# PCB\_ManufactureData class
|
|
2
|
+
|
|
3
|
+
PCB & footprint / manufacture data class
|
|
4
|
+
|
|
5
|
+
## Signature
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
class PCB_ManufactureData
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Remarks
|
|
12
|
+
|
|
13
|
+
Get the manufacture data files of the current PCB and quick ordering
|
|
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
|
+
[deleteBomTemplate(template)](./PCB_ManufactureData.md)
|
|
33
|
+
|
|
34
|
+
</td><td>
|
|
35
|
+
|
|
36
|
+
</td><td>
|
|
37
|
+
|
|
38
|
+
**_(BETA)_** Delete BOM template
|
|
39
|
+
|
|
40
|
+
</td></tr>
|
|
41
|
+
<tr><td>
|
|
42
|
+
|
|
43
|
+
[get3DFile(fileName, fileType, element, modelMode, autoGenerateModels)](./PCB_ManufactureData.md)
|
|
44
|
+
|
|
45
|
+
</td><td>
|
|
46
|
+
|
|
47
|
+
</td><td>
|
|
48
|
+
|
|
49
|
+
**_(BETA)_** Get 3D model file
|
|
50
|
+
|
|
51
|
+
</td></tr>
|
|
52
|
+
<tr><td>
|
|
53
|
+
|
|
54
|
+
[get3DShellFile(fileName, fileType)](./PCB_ManufactureData.md)
|
|
55
|
+
|
|
56
|
+
</td><td>
|
|
57
|
+
|
|
58
|
+
</td><td>
|
|
59
|
+
|
|
60
|
+
**_(BETA)_** Get the 3D shell file
|
|
61
|
+
|
|
62
|
+
</td></tr>
|
|
63
|
+
<tr><td>
|
|
64
|
+
|
|
65
|
+
[getAltiumDesignerFile(fileName)](./PCB_ManufactureData.md)
|
|
66
|
+
|
|
67
|
+
</td><td>
|
|
68
|
+
|
|
69
|
+
</td><td>
|
|
70
|
+
|
|
71
|
+
**_(BETA)_** Get Altium Designer file
|
|
72
|
+
|
|
73
|
+
</td></tr>
|
|
74
|
+
<tr><td>
|
|
75
|
+
|
|
76
|
+
[getAutoLayoutJsonFile(fileName)](./PCB_ManufactureData.md)
|
|
77
|
+
|
|
78
|
+
</td><td>
|
|
79
|
+
|
|
80
|
+
</td><td>
|
|
81
|
+
|
|
82
|
+
**_(BETA)_** Get Auto layout file (JSON)
|
|
83
|
+
|
|
84
|
+
</td></tr>
|
|
85
|
+
<tr><td>
|
|
86
|
+
|
|
87
|
+
[getAutoRouteJsonFile(fileName)](./PCB_ManufactureData.md)
|
|
88
|
+
|
|
89
|
+
</td><td>
|
|
90
|
+
|
|
91
|
+
</td><td>
|
|
92
|
+
|
|
93
|
+
**_(BETA)_** Get Auto routing file (JSON)
|
|
94
|
+
|
|
95
|
+
</td></tr>
|
|
96
|
+
<tr><td>
|
|
97
|
+
|
|
98
|
+
[getAutoRouteJsonFileForJRouter(fileName)](./PCB_ManufactureData.md)
|
|
99
|
+
|
|
100
|
+
</td><td>
|
|
101
|
+
|
|
102
|
+
</td><td>
|
|
103
|
+
|
|
104
|
+
**_(BETA)_** Get the JRouter-specific auto routing file (JSON)
|
|
105
|
+
|
|
106
|
+
</td></tr>
|
|
107
|
+
<tr><td>
|
|
108
|
+
|
|
109
|
+
[getBomFile(fileName, fileType, template, filterOptions, statistics, property, columns)](./PCB_ManufactureData.md)
|
|
110
|
+
|
|
111
|
+
</td><td>
|
|
112
|
+
|
|
113
|
+
</td><td>
|
|
114
|
+
|
|
115
|
+
**_(BETA)_** Get BOM file
|
|
116
|
+
|
|
117
|
+
</td></tr>
|
|
118
|
+
<tr><td>
|
|
119
|
+
|
|
120
|
+
[getBomTemplateFile(template)](./PCB_ManufactureData.md)
|
|
121
|
+
|
|
122
|
+
</td><td>
|
|
123
|
+
|
|
124
|
+
</td><td>
|
|
125
|
+
|
|
126
|
+
**_(BETA)_** Get BOM template file
|
|
127
|
+
|
|
128
|
+
</td></tr>
|
|
129
|
+
<tr><td>
|
|
130
|
+
|
|
131
|
+
[getBomTemplates()](./PCB_ManufactureData.md)
|
|
132
|
+
|
|
133
|
+
</td><td>
|
|
134
|
+
|
|
135
|
+
</td><td>
|
|
136
|
+
|
|
137
|
+
**_(BETA)_** Get BOM template list
|
|
138
|
+
|
|
139
|
+
</td></tr>
|
|
140
|
+
<tr><td>
|
|
141
|
+
|
|
142
|
+
[getDsnFile(fileName)](./PCB_ManufactureData.md)
|
|
143
|
+
|
|
144
|
+
</td><td>
|
|
145
|
+
|
|
146
|
+
</td><td>
|
|
147
|
+
|
|
148
|
+
**_(BETA)_** Get Auto routing file (DSN)
|
|
149
|
+
|
|
150
|
+
</td></tr>
|
|
151
|
+
<tr><td>
|
|
152
|
+
|
|
153
|
+
[getDxfFile(fileName, layers, objects)](./PCB_ManufactureData.md)
|
|
154
|
+
|
|
155
|
+
</td><td>
|
|
156
|
+
|
|
157
|
+
</td><td>
|
|
158
|
+
|
|
159
|
+
**_(BETA)_** Get DXF file
|
|
160
|
+
|
|
161
|
+
</td></tr>
|
|
162
|
+
<tr><td>
|
|
163
|
+
|
|
164
|
+
[getFlyingProbeTestFile(fileName)](./PCB_ManufactureData.md)
|
|
165
|
+
|
|
166
|
+
</td><td>
|
|
167
|
+
|
|
168
|
+
</td><td>
|
|
169
|
+
|
|
170
|
+
**_(BETA)_** Get the flying probe test file
|
|
171
|
+
|
|
172
|
+
</td></tr>
|
|
173
|
+
<tr><td>
|
|
174
|
+
|
|
175
|
+
[getGerberFile(fileName, colorSilkscreen, unit, digitalFormat, other, layers, objects)](./PCB_ManufactureData.md)
|
|
176
|
+
|
|
177
|
+
</td><td>
|
|
178
|
+
|
|
179
|
+
</td><td>
|
|
180
|
+
|
|
181
|
+
**_(BETA)_** Get the PCB fabrication file (Gerber)
|
|
182
|
+
|
|
183
|
+
</td></tr>
|
|
184
|
+
<tr><td>
|
|
185
|
+
|
|
186
|
+
[getIdxFile(fileName)](./PCB_ManufactureData.md)
|
|
187
|
+
|
|
188
|
+
</td><td>
|
|
189
|
+
|
|
190
|
+
</td><td>
|
|
191
|
+
|
|
192
|
+
**_(BETA)_** Get IDX file
|
|
193
|
+
|
|
194
|
+
</td></tr>
|
|
195
|
+
<tr><td>
|
|
196
|
+
|
|
197
|
+
[getIpc2581CFile(fileName, fileType, unit, oemNumber)](./PCB_ManufactureData.md)
|
|
198
|
+
|
|
199
|
+
</td><td>
|
|
200
|
+
|
|
201
|
+
</td><td>
|
|
202
|
+
|
|
203
|
+
**_(BETA)_** Get IPC-2581C file
|
|
204
|
+
|
|
205
|
+
</td></tr>
|
|
206
|
+
<tr><td>
|
|
207
|
+
|
|
208
|
+
[getIpcD356AFile(fileName)](./PCB_ManufactureData.md)
|
|
209
|
+
|
|
210
|
+
</td><td>
|
|
211
|
+
|
|
212
|
+
</td><td>
|
|
213
|
+
|
|
214
|
+
**_(BETA)_** Get IPC-D-356A file
|
|
215
|
+
|
|
216
|
+
</td></tr>
|
|
217
|
+
<tr><td>
|
|
218
|
+
|
|
219
|
+
[getManufactureData()](./PCB_ManufactureData.md)
|
|
220
|
+
|
|
221
|
+
</td><td>
|
|
222
|
+
|
|
223
|
+
</td><td>
|
|
224
|
+
|
|
225
|
+
**_(BETA)_** Export the manufacture data
|
|
226
|
+
|
|
227
|
+
</td></tr>
|
|
228
|
+
<tr><td>
|
|
229
|
+
|
|
230
|
+
[getNetlistFile(fileName, netlistType)](./PCB_ManufactureData.md)
|
|
231
|
+
|
|
232
|
+
</td><td>
|
|
233
|
+
|
|
234
|
+
</td><td>
|
|
235
|
+
|
|
236
|
+
**_(BETA)_** Get the netlist file (Netlist)
|
|
237
|
+
|
|
238
|
+
</td></tr>
|
|
239
|
+
<tr><td>
|
|
240
|
+
|
|
241
|
+
[getOpenDatabaseDoublePlusFile(fileName, unit, otherData, layers, objects)](./PCB_ManufactureData.md)
|
|
242
|
+
|
|
243
|
+
</td><td>
|
|
244
|
+
|
|
245
|
+
</td><td>
|
|
246
|
+
|
|
247
|
+
**_(BETA)_** Get ODB++ file
|
|
248
|
+
|
|
249
|
+
</td></tr>
|
|
250
|
+
<tr><td>
|
|
251
|
+
|
|
252
|
+
[getPadsFile(fileName)](./PCB_ManufactureData.md)
|
|
253
|
+
|
|
254
|
+
</td><td>
|
|
255
|
+
|
|
256
|
+
</td><td>
|
|
257
|
+
|
|
258
|
+
**_(BETA)_** Get PADS file
|
|
259
|
+
|
|
260
|
+
</td></tr>
|
|
261
|
+
<tr><td>
|
|
262
|
+
|
|
263
|
+
[getPcbInfoFile(fileName)](./PCB_ManufactureData.md)
|
|
264
|
+
|
|
265
|
+
</td><td>
|
|
266
|
+
|
|
267
|
+
</td><td>
|
|
268
|
+
|
|
269
|
+
**_(BETA)_** Get PCB information file
|
|
270
|
+
|
|
271
|
+
</td></tr>
|
|
272
|
+
<tr><td>
|
|
273
|
+
|
|
274
|
+
[getPdfFile(fileName, outputMethod, contentConfig, watermark, graphPageConfig)](./PCB_ManufactureData.md)
|
|
275
|
+
|
|
276
|
+
</td><td>
|
|
277
|
+
|
|
278
|
+
</td><td>
|
|
279
|
+
|
|
280
|
+
**_(BETA)_** Get PDF file
|
|
281
|
+
|
|
282
|
+
</td></tr>
|
|
283
|
+
<tr><td>
|
|
284
|
+
|
|
285
|
+
[getPickAndPlaceFile(fileName, fileType, unit)](./PCB_ManufactureData.md)
|
|
286
|
+
|
|
287
|
+
</td><td>
|
|
288
|
+
|
|
289
|
+
</td><td>
|
|
290
|
+
|
|
291
|
+
**_(BETA)_** Get Coordinate file (PickAndPlace)
|
|
292
|
+
|
|
293
|
+
</td></tr>
|
|
294
|
+
<tr><td>
|
|
295
|
+
|
|
296
|
+
[getTestPointFile(fileName, fileType)](./PCB_ManufactureData.md)
|
|
297
|
+
|
|
298
|
+
</td><td>
|
|
299
|
+
|
|
300
|
+
</td><td>
|
|
301
|
+
|
|
302
|
+
**_(BETA)_** Get the test point report file
|
|
303
|
+
|
|
304
|
+
</td></tr>
|
|
305
|
+
<tr><td>
|
|
306
|
+
|
|
307
|
+
[place3DShellOrder(interactive, ignoreWarning)](./PCB_ManufactureData.md)
|
|
308
|
+
|
|
309
|
+
</td><td>
|
|
310
|
+
|
|
311
|
+
</td><td>
|
|
312
|
+
|
|
313
|
+
**_(BETA)_** 3D shell ordering
|
|
314
|
+
|
|
315
|
+
</td></tr>
|
|
316
|
+
<tr><td>
|
|
317
|
+
|
|
318
|
+
[placeComponentsOrder(interactive, ignoreWarning)](./PCB_ManufactureData.md)
|
|
319
|
+
|
|
320
|
+
</td><td>
|
|
321
|
+
|
|
322
|
+
</td><td>
|
|
323
|
+
|
|
324
|
+
**_(BETA)_** Component ordering
|
|
325
|
+
|
|
326
|
+
</td></tr>
|
|
327
|
+
<tr><td>
|
|
328
|
+
|
|
329
|
+
[placePcbOrder(interactive, ignoreWarning)](./PCB_ManufactureData.md)
|
|
330
|
+
|
|
331
|
+
</td><td>
|
|
332
|
+
|
|
333
|
+
</td><td>
|
|
334
|
+
|
|
335
|
+
**_(BETA)_** PCB ordering
|
|
336
|
+
|
|
337
|
+
</td></tr>
|
|
338
|
+
<tr><td>
|
|
339
|
+
|
|
340
|
+
[placeSmtComponentsOrder(interactive, ignoreWarning)](./PCB_ManufactureData.md)
|
|
341
|
+
|
|
342
|
+
</td><td>
|
|
343
|
+
|
|
344
|
+
</td><td>
|
|
345
|
+
|
|
346
|
+
**_(BETA)_** SMT component ordering
|
|
347
|
+
|
|
348
|
+
</td></tr>
|
|
349
|
+
<tr><td>
|
|
350
|
+
|
|
351
|
+
[uploadBomTemplateFile(templateFile, template)](./PCB_ManufactureData.md)
|
|
352
|
+
|
|
353
|
+
</td><td>
|
|
354
|
+
|
|
355
|
+
</td><td>
|
|
356
|
+
|
|
357
|
+
**_(BETA)_** Upload a BOM template file
|
|
358
|
+
|
|
359
|
+
</td></tr>
|
|
360
|
+
</tbody></table>
|
|
361
|
+
|
|
362
|
+
---
|
|
363
|
+
|
|
364
|
+
## 方法详情
|
|
365
|
+
|
|
366
|
+
### deletebomtemplate
|
|
367
|
+
|
|
368
|
+
# PCB\_ManufactureData.deleteBomTemplate() method
|
|
369
|
+
|
|
370
|
+
> 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.
|
|
371
|
+
|
|
372
|
+
Delete BOM template
|
|
373
|
+
|
|
374
|
+
## Signature
|
|
375
|
+
|
|
376
|
+
```typescript
|
|
377
|
+
function deleteBomTemplate(template: string): Promise<boolean>;
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
## Parameters
|
|
381
|
+
|
|
382
|
+
<table><thead><tr><th>
|
|
383
|
+
|
|
384
|
+
Parameter
|
|
385
|
+
|
|
386
|
+
</th><th>
|
|
387
|
+
|
|
388
|
+
Type
|
|
389
|
+
|
|
390
|
+
</th><th>
|
|
391
|
+
|
|
392
|
+
Description
|
|
393
|
+
|
|
394
|
+
</th></tr></thead>
|
|
395
|
+
<tbody><tr><td>
|
|
396
|
+
|
|
397
|
+
template
|
|
398
|
+
|
|
399
|
+
</td><td>
|
|
400
|
+
|
|
401
|
+
string
|
|
402
|
+
|
|
403
|
+
</td><td>
|
|
404
|
+
|
|
405
|
+
BOM template name
|
|
406
|
+
|
|
407
|
+
</td></tr>
|
|
408
|
+
</tbody></table>
|
|
409
|
+
|
|
410
|
+
## Returns
|
|
411
|
+
|
|
412
|
+
Promise<boolean>
|
|
413
|
+
|
|
414
|
+
Whether the operation is successful
|
|
415
|
+
|
|
416
|
+
## Example
|
|
417
|
+
|
|
418
|
+
```javascript
|
|
419
|
+
// 删除指定的 BOM 模板
|
|
420
|
+
const success = await eda.pcb_ManufactureData.deleteBomTemplate('MyCustomTemplate');
|
|
421
|
+
if (success) {
|
|
422
|
+
console.log('BOM 模板删除成功');
|
|
423
|
+
}
|
|
424
|
+
else {
|
|
425
|
+
console.log('删除失败,可能是默认模板或模板不存在');
|
|
426
|
+
}
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
### get3dfile
|
|
430
|
+
|
|
431
|
+
# PCB\_ManufactureData.get3DFile() method
|
|
432
|
+
|
|
433
|
+
> 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.
|
|
434
|
+
|
|
435
|
+
Get 3D model file
|
|
436
|
+
|
|
437
|
+
## Signature
|
|
438
|
+
|
|
439
|
+
```typescript
|
|
440
|
+
function get3DFile(
|
|
441
|
+
fileName?: string,
|
|
442
|
+
fileType?: 'step' | 'obj',
|
|
443
|
+
element?: Array<'Component Model' | 'Via' | 'Silkscreen' | 'Wire In Signal Layer'>,
|
|
444
|
+
modelMode?: 'Outfit' | 'Parts',
|
|
445
|
+
autoGenerateModels?: boolean,
|
|
446
|
+
): Promise<File | undefined>;
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
## Parameters
|
|
450
|
+
|
|
451
|
+
<table><thead><tr><th>
|
|
452
|
+
|
|
453
|
+
Parameter
|
|
454
|
+
|
|
455
|
+
</th><th>
|
|
456
|
+
|
|
457
|
+
Type
|
|
458
|
+
|
|
459
|
+
</th><th>
|
|
460
|
+
|
|
461
|
+
Description
|
|
462
|
+
|
|
463
|
+
</th></tr></thead>
|
|
464
|
+
<tbody><tr><td>
|
|
465
|
+
|
|
466
|
+
fileName
|
|
467
|
+
|
|
468
|
+
</td><td>
|
|
469
|
+
|
|
470
|
+
string
|
|
471
|
+
|
|
472
|
+
</td><td>
|
|
473
|
+
|
|
474
|
+
_(Optional)_ File name
|
|
475
|
+
|
|
476
|
+
</td></tr>
|
|
477
|
+
<tr><td>
|
|
478
|
+
|
|
479
|
+
fileType
|
|
480
|
+
|
|
481
|
+
</td><td>
|
|
482
|
+
|
|
483
|
+
'step' \| 'obj'
|
|
484
|
+
|
|
485
|
+
</td><td>
|
|
486
|
+
|
|
487
|
+
_(Optional)_ File type
|
|
488
|
+
|
|
489
|
+
</td></tr>
|
|
490
|
+
<tr><td>
|
|
491
|
+
|
|
492
|
+
element
|
|
493
|
+
|
|
494
|
+
</td><td>
|
|
495
|
+
|
|
496
|
+
Array<'Component Model' \| 'Via' \| 'Silkscreen' \| 'Wire In Signal Layer'>
|
|
497
|
+
|
|
498
|
+
</td><td>
|
|
499
|
+
|
|
500
|
+
_(Optional)_ Exported objects
|
|
501
|
+
|
|
502
|
+
</td></tr>
|
|
503
|
+
<tr><td>
|
|
504
|
+
|
|
505
|
+
modelMode
|
|
506
|
+
|
|
507
|
+
</td><td>
|
|
508
|
+
|
|
509
|
+
'Outfit' \| 'Parts'
|
|
510
|
+
|
|
511
|
+
</td><td>
|
|
512
|
+
|
|
513
|
+
_(Optional)_ Export mode. `Outfit` = assembly, `Parts` = parts
|
|
514
|
+
|
|
515
|
+
</td></tr>
|
|
516
|
+
<tr><td>
|
|
517
|
+
|
|
518
|
+
autoGenerateModels
|
|
519
|
+
|
|
520
|
+
</td><td>
|
|
521
|
+
|
|
522
|
+
boolean
|
|
523
|
+
|
|
524
|
+
</td><td>
|
|
525
|
+
|
|
526
|
+
_(Optional)_ Whether to automatically generate a 3D model for components not bound to a 3D model (based on the "height" property of the component)
|
|
527
|
+
|
|
528
|
+
</td></tr>
|
|
529
|
+
</tbody></table>
|
|
530
|
+
|
|
531
|
+
## Returns
|
|
532
|
+
|
|
533
|
+
Promise<File \| undefined>
|
|
534
|
+
|
|
535
|
+
3D model file data
|
|
536
|
+
|
|
537
|
+
## Remarks
|
|
538
|
+
|
|
539
|
+
Please note: only component models imported in STEP format can be reflected in the exported STEP file
|
|
540
|
+
|
|
541
|
+
You can use [SYS\_FileSystem.saveFile()](./SYS_FileSystem.md) API export the file to the local file system
|
|
542
|
+
|
|
543
|
+
## Example
|
|
544
|
+
|
|
545
|
+
```javascript
|
|
546
|
+
// 导出装配体模式的 STEP 文件(包含元件模型)
|
|
547
|
+
const stepFile = await eda.pcb_ManufactureData.get3DFile(
|
|
548
|
+
'MyBoard_3D',
|
|
549
|
+
'step',
|
|
550
|
+
['Component Model'],
|
|
551
|
+
'Outfit',
|
|
552
|
+
true
|
|
553
|
+
);
|
|
554
|
+
if (stepFile) {
|
|
555
|
+
await eda.sys_FileSystem.saveFile(stepFile);
|
|
556
|
+
}
|
|
557
|
+
|
|
558
|
+
// 导出包含多种对象的完整 3D 模型
|
|
559
|
+
const full3DFile = await eda.pcb_ManufactureData.get3DFile(
|
|
560
|
+
'Complete_3D_Model',
|
|
561
|
+
'step',
|
|
562
|
+
['Component Model', 'Via', 'Silkscreen', 'Wire In Signal Layer'],
|
|
563
|
+
'Outfit',
|
|
564
|
+
true
|
|
565
|
+
);
|
|
566
|
+
|
|
567
|
+
// 导出零件模式 OBJ 文件
|
|
568
|
+
const objFile = await eda.pcb_ManufactureData.get3DFile(
|
|
569
|
+
'MyBoard_OBJ',
|
|
570
|
+
'obj',
|
|
571
|
+
['Component Model'],
|
|
572
|
+
'Parts',
|
|
573
|
+
false
|
|
574
|
+
);
|
|
575
|
+
```
|
|
576
|
+
|
|
577
|
+
### get3dshellfile
|
|
578
|
+
|
|
579
|
+
# PCB\_ManufactureData.get3DShellFile() method
|
|
580
|
+
|
|
581
|
+
> 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.
|
|
582
|
+
|
|
583
|
+
Get the 3D shell file
|
|
584
|
+
|
|
585
|
+
## Signature
|
|
586
|
+
|
|
587
|
+
```typescript
|
|
588
|
+
function get3DShellFile(
|
|
589
|
+
fileName?: string,
|
|
590
|
+
fileType?: 'stl' | 'step' | 'obj',
|
|
591
|
+
): Promise<File | undefined>;
|
|
592
|
+
```
|
|
593
|
+
|
|
594
|
+
## Parameters
|
|
595
|
+
|
|
596
|
+
<table><thead><tr><th>
|
|
597
|
+
|
|
598
|
+
Parameter
|
|
599
|
+
|
|
600
|
+
</th><th>
|
|
601
|
+
|
|
602
|
+
Type
|
|
603
|
+
|
|
604
|
+
</th><th>
|
|
605
|
+
|
|
606
|
+
Description
|
|
607
|
+
|
|
608
|
+
</th></tr></thead>
|
|
609
|
+
<tbody><tr><td>
|
|
610
|
+
|
|
611
|
+
fileName
|
|
612
|
+
|
|
613
|
+
</td><td>
|
|
614
|
+
|
|
615
|
+
string
|
|
616
|
+
|
|
617
|
+
</td><td>
|
|
618
|
+
|
|
619
|
+
_(Optional)_ File name
|
|
620
|
+
|
|
621
|
+
</td></tr>
|
|
622
|
+
<tr><td>
|
|
623
|
+
|
|
624
|
+
fileType
|
|
625
|
+
|
|
626
|
+
</td><td>
|
|
627
|
+
|
|
628
|
+
'stl' \| 'step' \| 'obj'
|
|
629
|
+
|
|
630
|
+
</td><td>
|
|
631
|
+
|
|
632
|
+
_(Optional)_ File type
|
|
633
|
+
|
|
634
|
+
</td></tr>
|
|
635
|
+
</tbody></table>
|
|
636
|
+
|
|
637
|
+
## Returns
|
|
638
|
+
|
|
639
|
+
Promise<File \| undefined>
|
|
640
|
+
|
|
641
|
+
3D shell file data
|
|
642
|
+
|
|
643
|
+
## Remarks
|
|
644
|
+
|
|
645
|
+
You can use [SYS\_FileSystem.saveFile()](./SYS_FileSystem.md) API export the file to the local file system
|
|
646
|
+
|
|
647
|
+
## Example
|
|
648
|
+
|
|
649
|
+
```javascript
|
|
650
|
+
// 导出 STL 格式 3D 外壳
|
|
651
|
+
const stlFile = await eda.pcb_ManufactureData.get3DShellFile('Board_Shell', 'stl');
|
|
652
|
+
if (stlFile) {
|
|
653
|
+
await eda.sys_FileSystem.saveFile(stlFile);
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
// 导出 STEP 格式 3D 外壳
|
|
657
|
+
const stepShellFile = await eda.pcb_ManufactureData.get3DShellFile('Board_Shell_STEP', 'step');
|
|
658
|
+
if (stepShellFile) {
|
|
659
|
+
await eda.sys_FileSystem.saveFile(stepShellFile);
|
|
660
|
+
}
|
|
661
|
+
```
|
|
662
|
+
|
|
663
|
+
### getaltiumdesignerfile
|
|
664
|
+
|
|
665
|
+
# PCB\_ManufactureData.getAltiumDesignerFile() method
|
|
666
|
+
|
|
667
|
+
> 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.
|
|
668
|
+
|
|
669
|
+
Get Altium Designer file
|
|
670
|
+
|
|
671
|
+
## Signature
|
|
672
|
+
|
|
673
|
+
```typescript
|
|
674
|
+
function getAltiumDesignerFile(fileName?: string): Promise<File | undefined>;
|
|
675
|
+
```
|
|
676
|
+
|
|
677
|
+
## Parameters
|
|
678
|
+
|
|
679
|
+
<table><thead><tr><th>
|
|
680
|
+
|
|
681
|
+
Parameter
|
|
682
|
+
|
|
683
|
+
</th><th>
|
|
684
|
+
|
|
685
|
+
Type
|
|
686
|
+
|
|
687
|
+
</th><th>
|
|
688
|
+
|
|
689
|
+
Description
|
|
690
|
+
|
|
691
|
+
</th></tr></thead>
|
|
692
|
+
<tbody><tr><td>
|
|
693
|
+
|
|
694
|
+
fileName
|
|
695
|
+
|
|
696
|
+
</td><td>
|
|
697
|
+
|
|
698
|
+
string
|
|
699
|
+
|
|
700
|
+
</td><td>
|
|
701
|
+
|
|
702
|
+
_(Optional)_ File name
|
|
703
|
+
|
|
704
|
+
</td></tr>
|
|
705
|
+
</tbody></table>
|
|
706
|
+
|
|
707
|
+
## Returns
|
|
708
|
+
|
|
709
|
+
Promise<File \| undefined>
|
|
710
|
+
|
|
711
|
+
Altium Designer file data
|
|
712
|
+
|
|
713
|
+
## Remarks
|
|
714
|
+
|
|
715
|
+
You can use [SYS\_FileSystem.saveFile()](./SYS_FileSystem.md) API export the file to the local file system
|
|
716
|
+
|
|
717
|
+
## Example
|
|
718
|
+
|
|
719
|
+
```javascript
|
|
720
|
+
// 获取 Altium Designer 格式文件
|
|
721
|
+
const adFile = await eda.pcb_ManufactureData.getAltiumDesignerFile('Converted_To_AD');
|
|
722
|
+
if (adFile) {
|
|
723
|
+
await eda.sys_FileSystem.saveFile(adFile);
|
|
724
|
+
}
|
|
725
|
+
```
|
|
726
|
+
|
|
727
|
+
### getautolayoutjsonfile
|
|
728
|
+
|
|
729
|
+
# PCB\_ManufactureData.getAutoLayoutJsonFile() method
|
|
730
|
+
|
|
731
|
+
> 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.
|
|
732
|
+
|
|
733
|
+
Get Auto layout file (JSON)
|
|
734
|
+
|
|
735
|
+
## Signature
|
|
736
|
+
|
|
737
|
+
```typescript
|
|
738
|
+
function getAutoLayoutJsonFile(fileName?: string): Promise<File | undefined>;
|
|
739
|
+
```
|
|
740
|
+
|
|
741
|
+
## Parameters
|
|
742
|
+
|
|
743
|
+
<table><thead><tr><th>
|
|
744
|
+
|
|
745
|
+
Parameter
|
|
746
|
+
|
|
747
|
+
</th><th>
|
|
748
|
+
|
|
749
|
+
Type
|
|
750
|
+
|
|
751
|
+
</th><th>
|
|
752
|
+
|
|
753
|
+
Description
|
|
754
|
+
|
|
755
|
+
</th></tr></thead>
|
|
756
|
+
<tbody><tr><td>
|
|
757
|
+
|
|
758
|
+
fileName
|
|
759
|
+
|
|
760
|
+
</td><td>
|
|
761
|
+
|
|
762
|
+
string
|
|
763
|
+
|
|
764
|
+
</td><td>
|
|
765
|
+
|
|
766
|
+
_(Optional)_ File name
|
|
767
|
+
|
|
768
|
+
</td></tr>
|
|
769
|
+
</tbody></table>
|
|
770
|
+
|
|
771
|
+
## Returns
|
|
772
|
+
|
|
773
|
+
Promise<File \| undefined>
|
|
774
|
+
|
|
775
|
+
Auto layout JSON file data
|
|
776
|
+
|
|
777
|
+
## Remarks
|
|
778
|
+
|
|
779
|
+
You can use [SYS\_FileSystem.saveFile()](./SYS_FileSystem.md) API export the file to the local file system
|
|
780
|
+
|
|
781
|
+
## Example
|
|
782
|
+
|
|
783
|
+
```javascript
|
|
784
|
+
const autoLayoutJson = await eda.pcb_ManufactureData.getAutoLayoutJsonFile('AutoLayout_Json');
|
|
785
|
+
if (autoLayoutJson) {
|
|
786
|
+
await eda.sys_FileSystem.saveFile(autoLayoutJson);
|
|
787
|
+
}
|
|
788
|
+
```
|
|
789
|
+
|
|
790
|
+
### getautoroutejsonfile
|
|
791
|
+
|
|
792
|
+
# PCB\_ManufactureData.getAutoRouteJsonFile() method
|
|
793
|
+
|
|
794
|
+
> 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.
|
|
795
|
+
|
|
796
|
+
Get Auto routing file (JSON)
|
|
797
|
+
|
|
798
|
+
## Signature
|
|
799
|
+
|
|
800
|
+
```typescript
|
|
801
|
+
function getAutoRouteJsonFile(fileName?: string): Promise<File | undefined>;
|
|
802
|
+
```
|
|
803
|
+
|
|
804
|
+
## Parameters
|
|
805
|
+
|
|
806
|
+
<table><thead><tr><th>
|
|
807
|
+
|
|
808
|
+
Parameter
|
|
809
|
+
|
|
810
|
+
</th><th>
|
|
811
|
+
|
|
812
|
+
Type
|
|
813
|
+
|
|
814
|
+
</th><th>
|
|
815
|
+
|
|
816
|
+
Description
|
|
817
|
+
|
|
818
|
+
</th></tr></thead>
|
|
819
|
+
<tbody><tr><td>
|
|
820
|
+
|
|
821
|
+
fileName
|
|
822
|
+
|
|
823
|
+
</td><td>
|
|
824
|
+
|
|
825
|
+
string
|
|
826
|
+
|
|
827
|
+
</td><td>
|
|
828
|
+
|
|
829
|
+
_(Optional)_ File name
|
|
830
|
+
|
|
831
|
+
</td></tr>
|
|
832
|
+
</tbody></table>
|
|
833
|
+
|
|
834
|
+
## Returns
|
|
835
|
+
|
|
836
|
+
Promise<File \| undefined>
|
|
837
|
+
|
|
838
|
+
Auto routing JSON file data
|
|
839
|
+
|
|
840
|
+
## Remarks
|
|
841
|
+
|
|
842
|
+
You can use [SYS\_FileSystem.saveFile()](./SYS_FileSystem.md) API export the file to the local file system
|
|
843
|
+
|
|
844
|
+
## Example
|
|
845
|
+
|
|
846
|
+
```javascript
|
|
847
|
+
const autoRouteJson = await eda.pcb_ManufactureData.getAutoRouteJsonFile('AutoRoute_Json');
|
|
848
|
+
if (autoRouteJson) {
|
|
849
|
+
await eda.sys_FileSystem.saveFile(autoRouteJson);
|
|
850
|
+
}
|
|
851
|
+
```
|
|
852
|
+
|
|
853
|
+
### getautoroutejsonfileforjrouter
|
|
854
|
+
|
|
855
|
+
# PCB\_ManufactureData.getAutoRouteJsonFileForJRouter() method
|
|
856
|
+
|
|
857
|
+
> 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.
|
|
858
|
+
|
|
859
|
+
Get the JRouter-specific auto routing file (JSON)
|
|
860
|
+
|
|
861
|
+
## Signature
|
|
862
|
+
|
|
863
|
+
```typescript
|
|
864
|
+
function getAutoRouteJsonFileForJRouter(fileName?: string): Promise<File | undefined>;
|
|
865
|
+
```
|
|
866
|
+
|
|
867
|
+
## Parameters
|
|
868
|
+
|
|
869
|
+
<table><thead><tr><th>
|
|
870
|
+
|
|
871
|
+
Parameter
|
|
872
|
+
|
|
873
|
+
</th><th>
|
|
874
|
+
|
|
875
|
+
Type
|
|
876
|
+
|
|
877
|
+
</th><th>
|
|
878
|
+
|
|
879
|
+
Description
|
|
880
|
+
|
|
881
|
+
</th></tr></thead>
|
|
882
|
+
<tbody><tr><td>
|
|
883
|
+
|
|
884
|
+
fileName
|
|
885
|
+
|
|
886
|
+
</td><td>
|
|
887
|
+
|
|
888
|
+
string
|
|
889
|
+
|
|
890
|
+
</td><td>
|
|
891
|
+
|
|
892
|
+
_(Optional)_ File name
|
|
893
|
+
|
|
894
|
+
</td></tr>
|
|
895
|
+
</tbody></table>
|
|
896
|
+
|
|
897
|
+
## Returns
|
|
898
|
+
|
|
899
|
+
Promise<File \| undefined>
|
|
900
|
+
|
|
901
|
+
Auto routing JSON file data
|
|
902
|
+
|
|
903
|
+
## Remarks
|
|
904
|
+
|
|
905
|
+
You can use [SYS\_FileSystem.saveFile()](./SYS_FileSystem.md) API export the file to the local file system
|
|
906
|
+
|
|
907
|
+
## Example
|
|
908
|
+
|
|
909
|
+
```javascript
|
|
910
|
+
// 1. 导出 JRouter 专用自动布线 JSON 文件(参数为目标文件名)
|
|
911
|
+
const jrouterFile = await eda.pcb_ManufactureData.getAutoRouteJsonFileForJRouter('嘉立创示例_JRouter');
|
|
912
|
+
|
|
913
|
+
// 2. 查看导出结果
|
|
914
|
+
console.log('导出文件名:', jrouterFile?.name);
|
|
915
|
+
console.log('文件大小:', jrouterFile?.size);
|
|
916
|
+
```
|
|
917
|
+
|
|
918
|
+
### getbomfile
|
|
919
|
+
|
|
920
|
+
# PCB\_ManufactureData.getBomFile() method
|
|
921
|
+
|
|
922
|
+
> 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.
|
|
923
|
+
|
|
924
|
+
Get BOM file
|
|
925
|
+
|
|
926
|
+
## Signature
|
|
927
|
+
|
|
928
|
+
```typescript
|
|
929
|
+
function getBomFile(
|
|
930
|
+
fileName?: string,
|
|
931
|
+
fileType?: 'xlsx' | 'csv',
|
|
932
|
+
template?: string,
|
|
933
|
+
filterOptions?: Array<{ property: string; includeValue: string | false | true }>,
|
|
934
|
+
statistics?: Array<string>,
|
|
935
|
+
property?: Array<string>,
|
|
936
|
+
columns?: Array<IPCB_BomPropertiesTableColumns>,
|
|
937
|
+
): Promise<File | undefined>;
|
|
938
|
+
```
|
|
939
|
+
|
|
940
|
+
## Parameters
|
|
941
|
+
|
|
942
|
+
<table><thead><tr><th>
|
|
943
|
+
|
|
944
|
+
Parameter
|
|
945
|
+
|
|
946
|
+
</th><th>
|
|
947
|
+
|
|
948
|
+
Type
|
|
949
|
+
|
|
950
|
+
</th><th>
|
|
951
|
+
|
|
952
|
+
Description
|
|
953
|
+
|
|
954
|
+
</th></tr></thead>
|
|
955
|
+
<tbody><tr><td>
|
|
956
|
+
|
|
957
|
+
fileName
|
|
958
|
+
|
|
959
|
+
</td><td>
|
|
960
|
+
|
|
961
|
+
string
|
|
962
|
+
|
|
963
|
+
</td><td>
|
|
964
|
+
|
|
965
|
+
_(Optional)_ File name
|
|
966
|
+
|
|
967
|
+
</td></tr>
|
|
968
|
+
<tr><td>
|
|
969
|
+
|
|
970
|
+
fileType
|
|
971
|
+
|
|
972
|
+
</td><td>
|
|
973
|
+
|
|
974
|
+
'xlsx' \| 'csv'
|
|
975
|
+
|
|
976
|
+
</td><td>
|
|
977
|
+
|
|
978
|
+
_(Optional)_ File type
|
|
979
|
+
|
|
980
|
+
</td></tr>
|
|
981
|
+
<tr><td>
|
|
982
|
+
|
|
983
|
+
template
|
|
984
|
+
|
|
985
|
+
</td><td>
|
|
986
|
+
|
|
987
|
+
string
|
|
988
|
+
|
|
989
|
+
</td><td>
|
|
990
|
+
|
|
991
|
+
_(Optional)_ Template name
|
|
992
|
+
|
|
993
|
+
</td></tr>
|
|
994
|
+
<tr><td>
|
|
995
|
+
|
|
996
|
+
filterOptions
|
|
997
|
+
|
|
998
|
+
</td><td>
|
|
999
|
+
|
|
1000
|
+
Array<{ property: string; includeValue: string \| false \| true }>
|
|
1001
|
+
|
|
1002
|
+
</td><td>
|
|
1003
|
+
|
|
1004
|
+
_(Optional)_ Filter rules, which should only contain the rules to be enabled. `property` is the rule name, and `includeValue` is the matched value
|
|
1005
|
+
|
|
1006
|
+
</td></tr>
|
|
1007
|
+
<tr><td>
|
|
1008
|
+
|
|
1009
|
+
statistics
|
|
1010
|
+
|
|
1011
|
+
</td><td>
|
|
1012
|
+
|
|
1013
|
+
Array<string>
|
|
1014
|
+
|
|
1015
|
+
</td><td>
|
|
1016
|
+
|
|
1017
|
+
_(Optional)_ Statistics, containing the names of all statistic items to be enabled
|
|
1018
|
+
|
|
1019
|
+
</td></tr>
|
|
1020
|
+
<tr><td>
|
|
1021
|
+
|
|
1022
|
+
property
|
|
1023
|
+
|
|
1024
|
+
</td><td>
|
|
1025
|
+
|
|
1026
|
+
Array<string>
|
|
1027
|
+
|
|
1028
|
+
</td><td>
|
|
1029
|
+
|
|
1030
|
+
_(Optional)_ Properties, containing the names of all properties to be enabled
|
|
1031
|
+
|
|
1032
|
+
</td></tr>
|
|
1033
|
+
<tr><td>
|
|
1034
|
+
|
|
1035
|
+
columns
|
|
1036
|
+
|
|
1037
|
+
</td><td>
|
|
1038
|
+
|
|
1039
|
+
Array<[IPCB\_BomPropertiesTableColumns](../interfaces/IPCB_BomPropertiesTableColumns.md)<!-- -->>
|
|
1040
|
+
|
|
1041
|
+
</td><td>
|
|
1042
|
+
|
|
1043
|
+
_(Optional)_ Column properties and sorting. If `title`<!-- -->, `sort`<!-- -->, `group`<!-- -->, and `orderWeight` are not passed in, default values are used. `null` means \*\*none\*\* or \*\*empty\*\*
|
|
1044
|
+
|
|
1045
|
+
</td></tr>
|
|
1046
|
+
</tbody></table>
|
|
1047
|
+
|
|
1048
|
+
## Returns
|
|
1049
|
+
|
|
1050
|
+
Promise<File \| undefined>
|
|
1051
|
+
|
|
1052
|
+
BOM file data
|
|
1053
|
+
|
|
1054
|
+
## Remarks
|
|
1055
|
+
|
|
1056
|
+
You can use [SYS\_FileSystem.saveFile()](./SYS_FileSystem.md) API export the file to the local file system
|
|
1057
|
+
|
|
1058
|
+
## Example
|
|
1059
|
+
|
|
1060
|
+
```javascript
|
|
1061
|
+
// 使用默认配置导出 BOM
|
|
1062
|
+
const bomFile = await eda.pcb_ManufactureData.getBomFile('MyBOM', 'xlsx');
|
|
1063
|
+
if (bomFile) {
|
|
1064
|
+
await eda.sys_FileSystem.saveFile(bomFile);
|
|
1065
|
+
}
|
|
1066
|
+
|
|
1067
|
+
// 自定义 BOM 过滤和列配置
|
|
1068
|
+
const bomFile = await eda.pcb_ManufactureData.getBomFile(
|
|
1069
|
+
'Custom_Production_BOM',
|
|
1070
|
+
'xlsx',
|
|
1071
|
+
undefined,
|
|
1072
|
+
[
|
|
1073
|
+
{ property: 'Add into BOM', includeValue: 'yes' },
|
|
1074
|
+
{ property: 'Convert to PCB', includeValue: 'yes' }
|
|
1075
|
+
],
|
|
1076
|
+
['No.', 'Quantity', 'Comment'],
|
|
1077
|
+
['Name', 'Device', 'Designator', 'Supplier'],
|
|
1078
|
+
[
|
|
1079
|
+
{ property: 'Designator', title: '位号', sort: 'asc', group: 'No', orderWeight: 10 },
|
|
1080
|
+
{ property: 'Quantity', title: '数量', sort: 'desc', group: 'Yes', orderWeight: 9 }
|
|
1081
|
+
]
|
|
1082
|
+
);
|
|
1083
|
+
|
|
1084
|
+
// 导出 CSV 格式 BOM
|
|
1085
|
+
const csvBomFile = await eda.pcb_ManufactureData.getBomFile(
|
|
1086
|
+
'Simple_BOM',
|
|
1087
|
+
'csv',
|
|
1088
|
+
undefined,
|
|
1089
|
+
[{ property: 'Add into BOM', includeValue: 'yes' }],
|
|
1090
|
+
['No.', 'Quantity'],
|
|
1091
|
+
['Designator', 'Footprint', 'Value']
|
|
1092
|
+
);
|
|
1093
|
+
```
|
|
1094
|
+
|
|
1095
|
+
### getbomtemplatefile
|
|
1096
|
+
|
|
1097
|
+
# PCB\_ManufactureData.getBomTemplateFile() method
|
|
1098
|
+
|
|
1099
|
+
> 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.
|
|
1100
|
+
|
|
1101
|
+
Get BOM template file
|
|
1102
|
+
|
|
1103
|
+
## Signature
|
|
1104
|
+
|
|
1105
|
+
```typescript
|
|
1106
|
+
function getBomTemplateFile(template: string): Promise<File | undefined>;
|
|
1107
|
+
```
|
|
1108
|
+
|
|
1109
|
+
## Parameters
|
|
1110
|
+
|
|
1111
|
+
<table><thead><tr><th>
|
|
1112
|
+
|
|
1113
|
+
Parameter
|
|
1114
|
+
|
|
1115
|
+
</th><th>
|
|
1116
|
+
|
|
1117
|
+
Type
|
|
1118
|
+
|
|
1119
|
+
</th><th>
|
|
1120
|
+
|
|
1121
|
+
Description
|
|
1122
|
+
|
|
1123
|
+
</th></tr></thead>
|
|
1124
|
+
<tbody><tr><td>
|
|
1125
|
+
|
|
1126
|
+
template
|
|
1127
|
+
|
|
1128
|
+
</td><td>
|
|
1129
|
+
|
|
1130
|
+
string
|
|
1131
|
+
|
|
1132
|
+
</td><td>
|
|
1133
|
+
|
|
1134
|
+
BOM template name
|
|
1135
|
+
|
|
1136
|
+
</td></tr>
|
|
1137
|
+
</tbody></table>
|
|
1138
|
+
|
|
1139
|
+
## Returns
|
|
1140
|
+
|
|
1141
|
+
Promise<File \| undefined>
|
|
1142
|
+
|
|
1143
|
+
BOM template file
|
|
1144
|
+
|
|
1145
|
+
## Example
|
|
1146
|
+
|
|
1147
|
+
```javascript
|
|
1148
|
+
// 获取指定模板的文件
|
|
1149
|
+
const templateFile = await eda.pcb_ManufactureData.getBomTemplateFile('MyCustomTemplate');
|
|
1150
|
+
if (templateFile) {
|
|
1151
|
+
await eda.sys_FileSystem.saveFile(templateFile);
|
|
1152
|
+
}
|
|
1153
|
+
```
|
|
1154
|
+
|
|
1155
|
+
### getbomtemplates
|
|
1156
|
+
|
|
1157
|
+
# PCB\_ManufactureData.getBomTemplates() method
|
|
1158
|
+
|
|
1159
|
+
> 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.
|
|
1160
|
+
|
|
1161
|
+
Get BOM template list
|
|
1162
|
+
|
|
1163
|
+
## Signature
|
|
1164
|
+
|
|
1165
|
+
```typescript
|
|
1166
|
+
function getBomTemplates(): Promise<Array<string>>;
|
|
1167
|
+
```
|
|
1168
|
+
|
|
1169
|
+
## Returns
|
|
1170
|
+
|
|
1171
|
+
Promise<Array<string>>
|
|
1172
|
+
|
|
1173
|
+
BOM template list
|
|
1174
|
+
|
|
1175
|
+
## Example
|
|
1176
|
+
|
|
1177
|
+
```javascript
|
|
1178
|
+
// 获取所有可用的 BOM 模板
|
|
1179
|
+
const templates = await eda.pcb_ManufactureData.getBomTemplates();
|
|
1180
|
+
console.log('可用的 BOM 模板:', templates);
|
|
1181
|
+
templates.forEach((template, index) => {
|
|
1182
|
+
console.log(`${index + 1}. ${template}`);
|
|
1183
|
+
});
|
|
1184
|
+
```
|
|
1185
|
+
|
|
1186
|
+
### getdsnfile
|
|
1187
|
+
|
|
1188
|
+
# PCB\_ManufactureData.getDsnFile() method
|
|
1189
|
+
|
|
1190
|
+
> 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.
|
|
1191
|
+
|
|
1192
|
+
Get Auto routing file (DSN)
|
|
1193
|
+
|
|
1194
|
+
## Signature
|
|
1195
|
+
|
|
1196
|
+
```typescript
|
|
1197
|
+
function getDsnFile(fileName?: string): Promise<File | undefined>;
|
|
1198
|
+
```
|
|
1199
|
+
|
|
1200
|
+
## Parameters
|
|
1201
|
+
|
|
1202
|
+
<table><thead><tr><th>
|
|
1203
|
+
|
|
1204
|
+
Parameter
|
|
1205
|
+
|
|
1206
|
+
</th><th>
|
|
1207
|
+
|
|
1208
|
+
Type
|
|
1209
|
+
|
|
1210
|
+
</th><th>
|
|
1211
|
+
|
|
1212
|
+
Description
|
|
1213
|
+
|
|
1214
|
+
</th></tr></thead>
|
|
1215
|
+
<tbody><tr><td>
|
|
1216
|
+
|
|
1217
|
+
fileName
|
|
1218
|
+
|
|
1219
|
+
</td><td>
|
|
1220
|
+
|
|
1221
|
+
string
|
|
1222
|
+
|
|
1223
|
+
</td><td>
|
|
1224
|
+
|
|
1225
|
+
_(Optional)_ File name
|
|
1226
|
+
|
|
1227
|
+
</td></tr>
|
|
1228
|
+
</tbody></table>
|
|
1229
|
+
|
|
1230
|
+
## Returns
|
|
1231
|
+
|
|
1232
|
+
Promise<File \| undefined>
|
|
1233
|
+
|
|
1234
|
+
Auto routing DSN file data
|
|
1235
|
+
|
|
1236
|
+
## Remarks
|
|
1237
|
+
|
|
1238
|
+
You can use [SYS\_FileSystem.saveFile()](./SYS_FileSystem.md) API export the file to the local file system
|
|
1239
|
+
|
|
1240
|
+
## Example
|
|
1241
|
+
|
|
1242
|
+
```javascript
|
|
1243
|
+
const dsnFile = await eda.pcb_ManufactureData.getDsnFile('AutoRoute_DSN');
|
|
1244
|
+
if (dsnFile) {
|
|
1245
|
+
await eda.sys_FileSystem.saveFile(dsnFile);
|
|
1246
|
+
}
|
|
1247
|
+
```
|
|
1248
|
+
|
|
1249
|
+
### getdxffile
|
|
1250
|
+
|
|
1251
|
+
# PCB\_ManufactureData.getDxfFile() method
|
|
1252
|
+
|
|
1253
|
+
> 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.
|
|
1254
|
+
|
|
1255
|
+
Get DXF file
|
|
1256
|
+
|
|
1257
|
+
## Signature
|
|
1258
|
+
|
|
1259
|
+
```typescript
|
|
1260
|
+
function getDxfFile(
|
|
1261
|
+
fileName?: string,
|
|
1262
|
+
layers?: Array<{ layerId: EPCB_LayerId; mirror: boolean }>,
|
|
1263
|
+
objects?: Array<string>,
|
|
1264
|
+
): Promise<File | undefined>;
|
|
1265
|
+
```
|
|
1266
|
+
|
|
1267
|
+
## Parameters
|
|
1268
|
+
|
|
1269
|
+
<table><thead><tr><th>
|
|
1270
|
+
|
|
1271
|
+
Parameter
|
|
1272
|
+
|
|
1273
|
+
</th><th>
|
|
1274
|
+
|
|
1275
|
+
Type
|
|
1276
|
+
|
|
1277
|
+
</th><th>
|
|
1278
|
+
|
|
1279
|
+
Description
|
|
1280
|
+
|
|
1281
|
+
</th></tr></thead>
|
|
1282
|
+
<tbody><tr><td>
|
|
1283
|
+
|
|
1284
|
+
fileName
|
|
1285
|
+
|
|
1286
|
+
</td><td>
|
|
1287
|
+
|
|
1288
|
+
string
|
|
1289
|
+
|
|
1290
|
+
</td><td>
|
|
1291
|
+
|
|
1292
|
+
_(Optional)_ File name
|
|
1293
|
+
|
|
1294
|
+
</td></tr>
|
|
1295
|
+
<tr><td>
|
|
1296
|
+
|
|
1297
|
+
layers
|
|
1298
|
+
|
|
1299
|
+
</td><td>
|
|
1300
|
+
|
|
1301
|
+
Array<{ layerId: [EPCB\_LayerId](../enums/EPCB_LayerId.md)<!-- -->; mirror: boolean }>
|
|
1302
|
+
|
|
1303
|
+
</td><td>
|
|
1304
|
+
|
|
1305
|
+
_(Optional)_ Exported layers
|
|
1306
|
+
|
|
1307
|
+
</td></tr>
|
|
1308
|
+
<tr><td>
|
|
1309
|
+
|
|
1310
|
+
objects
|
|
1311
|
+
|
|
1312
|
+
</td><td>
|
|
1313
|
+
|
|
1314
|
+
Array<string>
|
|
1315
|
+
|
|
1316
|
+
</td><td>
|
|
1317
|
+
|
|
1318
|
+
_(Optional)_ Exported objects
|
|
1319
|
+
|
|
1320
|
+
</td></tr>
|
|
1321
|
+
</tbody></table>
|
|
1322
|
+
|
|
1323
|
+
## Returns
|
|
1324
|
+
|
|
1325
|
+
Promise<File \| undefined>
|
|
1326
|
+
|
|
1327
|
+
DXF file data
|
|
1328
|
+
|
|
1329
|
+
## Remarks
|
|
1330
|
+
|
|
1331
|
+
You can use [SYS\_FileSystem.saveFile()](./SYS_FileSystem.md) API export the file to the local file system
|
|
1332
|
+
|
|
1333
|
+
## Example
|
|
1334
|
+
|
|
1335
|
+
```javascript
|
|
1336
|
+
// 1. 指定导出层:顶层铜层(layerId 1)和板框层(layerId 11),不镜像
|
|
1337
|
+
const layers = [
|
|
1338
|
+
{ layerId: 1, mirror: false },
|
|
1339
|
+
{ layerId: 11, mirror: false }
|
|
1340
|
+
];
|
|
1341
|
+
|
|
1342
|
+
// 2. 发起导出,25 秒内完成就输出文件信息
|
|
1343
|
+
const dxfFile = await Promise.race([
|
|
1344
|
+
eda.pcb_ManufactureData.getDxfFile('嘉立创示例_DXF', layers),
|
|
1345
|
+
new Promise(resolve => setTimeout(() => resolve(undefined), 25000))
|
|
1346
|
+
]);
|
|
1347
|
+
|
|
1348
|
+
// 3. 查看导出结果
|
|
1349
|
+
if (dxfFile) {
|
|
1350
|
+
console.log('导出文件名:', dxfFile.name);
|
|
1351
|
+
console.log('文件大小:', dxfFile.size);
|
|
1352
|
+
}
|
|
1353
|
+
else {
|
|
1354
|
+
console.log('导出超过 25 秒仍在后台进行,真实使用直接 await 等待完成即可');
|
|
1355
|
+
}
|
|
1356
|
+
```
|
|
1357
|
+
|
|
1358
|
+
### getflyingprobetestfile
|
|
1359
|
+
|
|
1360
|
+
# PCB\_ManufactureData.getFlyingProbeTestFile() method
|
|
1361
|
+
|
|
1362
|
+
> 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.
|
|
1363
|
+
|
|
1364
|
+
Get the flying probe test file
|
|
1365
|
+
|
|
1366
|
+
## Signature
|
|
1367
|
+
|
|
1368
|
+
```typescript
|
|
1369
|
+
function getFlyingProbeTestFile(fileName?: string): Promise<File | undefined>;
|
|
1370
|
+
```
|
|
1371
|
+
|
|
1372
|
+
## Parameters
|
|
1373
|
+
|
|
1374
|
+
<table><thead><tr><th>
|
|
1375
|
+
|
|
1376
|
+
Parameter
|
|
1377
|
+
|
|
1378
|
+
</th><th>
|
|
1379
|
+
|
|
1380
|
+
Type
|
|
1381
|
+
|
|
1382
|
+
</th><th>
|
|
1383
|
+
|
|
1384
|
+
Description
|
|
1385
|
+
|
|
1386
|
+
</th></tr></thead>
|
|
1387
|
+
<tbody><tr><td>
|
|
1388
|
+
|
|
1389
|
+
fileName
|
|
1390
|
+
|
|
1391
|
+
</td><td>
|
|
1392
|
+
|
|
1393
|
+
string
|
|
1394
|
+
|
|
1395
|
+
</td><td>
|
|
1396
|
+
|
|
1397
|
+
_(Optional)_ File name
|
|
1398
|
+
|
|
1399
|
+
</td></tr>
|
|
1400
|
+
</tbody></table>
|
|
1401
|
+
|
|
1402
|
+
## Returns
|
|
1403
|
+
|
|
1404
|
+
Promise<File \| undefined>
|
|
1405
|
+
|
|
1406
|
+
Flying probe test file data
|
|
1407
|
+
|
|
1408
|
+
## Example
|
|
1409
|
+
|
|
1410
|
+
```javascript
|
|
1411
|
+
// 保存飞针测试文件到本地
|
|
1412
|
+
const flyingProbeFile = await eda.pcb_ManufactureData.getFlyingProbeTestFile('FlyingProbe_Test');
|
|
1413
|
+
if (flyingProbeFile) {
|
|
1414
|
+
await eda.sys_FileSystem.saveFile(flyingProbeFile);
|
|
1415
|
+
}
|
|
1416
|
+
```
|
|
1417
|
+
|
|
1418
|
+
### getgerberfile
|
|
1419
|
+
|
|
1420
|
+
# PCB\_ManufactureData.getGerberFile() method
|
|
1421
|
+
|
|
1422
|
+
> 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.
|
|
1423
|
+
|
|
1424
|
+
Get the PCB fabrication file (Gerber)
|
|
1425
|
+
|
|
1426
|
+
## Signature
|
|
1427
|
+
|
|
1428
|
+
```typescript
|
|
1429
|
+
function getGerberFile(
|
|
1430
|
+
fileName?: string,
|
|
1431
|
+
colorSilkscreen?: boolean,
|
|
1432
|
+
unit?: ESYS_Unit.MILLIMETER | ESYS_Unit.INCH,
|
|
1433
|
+
digitalFormat?: { integerNumber: number; decimalNumber: number },
|
|
1434
|
+
other?: {
|
|
1435
|
+
metallicDrillingInformation: boolean;
|
|
1436
|
+
nonMetallicDrillingInformation: boolean;
|
|
1437
|
+
drillTable: boolean;
|
|
1438
|
+
flyingProbeTestingFile: boolean;
|
|
1439
|
+
},
|
|
1440
|
+
layers?: Array<{ layerId: EPCB_LayerId; isMirror: boolean }>,
|
|
1441
|
+
objects?: Array<
|
|
1442
|
+
| 'Pad'
|
|
1443
|
+
| 'Via'
|
|
1444
|
+
| 'Track'
|
|
1445
|
+
| 'Text'
|
|
1446
|
+
| 'Image'
|
|
1447
|
+
| 'Dimension'
|
|
1448
|
+
| 'BoardOutline'
|
|
1449
|
+
| 'BoardCutout'
|
|
1450
|
+
| 'CopperFilled'
|
|
1451
|
+
| 'SolidRegion'
|
|
1452
|
+
| 'FPCStiffener'
|
|
1453
|
+
| 'Line'
|
|
1454
|
+
| 'PlaneZone'
|
|
1455
|
+
| 'ComponentProperty'
|
|
1456
|
+
| 'ComponentSilkscreen'
|
|
1457
|
+
| 'TearDrop'
|
|
1458
|
+
>,
|
|
1459
|
+
): Promise<File | undefined>;
|
|
1460
|
+
```
|
|
1461
|
+
|
|
1462
|
+
## Parameters
|
|
1463
|
+
|
|
1464
|
+
<table><thead><tr><th>
|
|
1465
|
+
|
|
1466
|
+
Parameter
|
|
1467
|
+
|
|
1468
|
+
</th><th>
|
|
1469
|
+
|
|
1470
|
+
Type
|
|
1471
|
+
|
|
1472
|
+
</th><th>
|
|
1473
|
+
|
|
1474
|
+
Description
|
|
1475
|
+
|
|
1476
|
+
</th></tr></thead>
|
|
1477
|
+
<tbody><tr><td>
|
|
1478
|
+
|
|
1479
|
+
fileName
|
|
1480
|
+
|
|
1481
|
+
</td><td>
|
|
1482
|
+
|
|
1483
|
+
string
|
|
1484
|
+
|
|
1485
|
+
</td><td>
|
|
1486
|
+
|
|
1487
|
+
_(Optional)_ File name
|
|
1488
|
+
|
|
1489
|
+
</td></tr>
|
|
1490
|
+
<tr><td>
|
|
1491
|
+
|
|
1492
|
+
colorSilkscreen
|
|
1493
|
+
|
|
1494
|
+
</td><td>
|
|
1495
|
+
|
|
1496
|
+
boolean
|
|
1497
|
+
|
|
1498
|
+
</td><td>
|
|
1499
|
+
|
|
1500
|
+
_(Optional)_ Whether to generate a color silkscreen fabrication file (EasyEDA-specific file)
|
|
1501
|
+
|
|
1502
|
+
</td></tr>
|
|
1503
|
+
<tr><td>
|
|
1504
|
+
|
|
1505
|
+
unit
|
|
1506
|
+
|
|
1507
|
+
</td><td>
|
|
1508
|
+
|
|
1509
|
+
[ESYS\_Unit.MILLIMETER](../enums/ESYS_Unit.md) \| [ESYS\_Unit.INCH](../enums/ESYS_Unit.md)
|
|
1510
|
+
|
|
1511
|
+
</td><td>
|
|
1512
|
+
|
|
1513
|
+
_(Optional)_ Unit
|
|
1514
|
+
|
|
1515
|
+
</td></tr>
|
|
1516
|
+
<tr><td>
|
|
1517
|
+
|
|
1518
|
+
digitalFormat
|
|
1519
|
+
|
|
1520
|
+
</td><td>
|
|
1521
|
+
|
|
1522
|
+
\{ integerNumber: number; decimalNumber: number \}
|
|
1523
|
+
|
|
1524
|
+
</td><td>
|
|
1525
|
+
|
|
1526
|
+
_(Optional)_ Digital format
|
|
1527
|
+
|
|
1528
|
+
</td></tr>
|
|
1529
|
+
<tr><td>
|
|
1530
|
+
|
|
1531
|
+
other
|
|
1532
|
+
|
|
1533
|
+
</td><td>
|
|
1534
|
+
|
|
1535
|
+
\{ metallicDrillingInformation: boolean; nonMetallicDrillingInformation: boolean; drillTable: boolean; flyingProbeTestingFile: boolean \}
|
|
1536
|
+
|
|
1537
|
+
</td><td>
|
|
1538
|
+
|
|
1539
|
+
_(Optional)_ Other
|
|
1540
|
+
|
|
1541
|
+
</td></tr>
|
|
1542
|
+
<tr><td>
|
|
1543
|
+
|
|
1544
|
+
layers
|
|
1545
|
+
|
|
1546
|
+
</td><td>
|
|
1547
|
+
|
|
1548
|
+
Array<{ layerId: [EPCB\_LayerId](../enums/EPCB_LayerId.md)<!-- -->; isMirror: boolean }>
|
|
1549
|
+
|
|
1550
|
+
</td><td>
|
|
1551
|
+
|
|
1552
|
+
_(Optional)_ Exported layers. By default, they are exported according to EasyEDA production requirements
|
|
1553
|
+
|
|
1554
|
+
</td></tr>
|
|
1555
|
+
<tr><td>
|
|
1556
|
+
|
|
1557
|
+
objects
|
|
1558
|
+
|
|
1559
|
+
</td><td>
|
|
1560
|
+
|
|
1561
|
+
Array<'Pad' \| 'Via' \| 'Track' \| 'Text' \| 'Image' \| 'Dimension' \| 'BoardOutline' \| 'BoardCutout' \| 'CopperFilled' \| 'SolidRegion' \| 'FPCStiffener' \| 'Line' \| 'PlaneZone' \| 'ComponentProperty' \| 'ComponentSilkscreen' \| 'TearDrop'>
|
|
1562
|
+
|
|
1563
|
+
</td><td>
|
|
1564
|
+
|
|
1565
|
+
_(Optional)_ Exported objects. By default, they are exported according to EasyEDA production requirements
|
|
1566
|
+
|
|
1567
|
+
</td></tr>
|
|
1568
|
+
</tbody></table>
|
|
1569
|
+
|
|
1570
|
+
## Returns
|
|
1571
|
+
|
|
1572
|
+
Promise<File \| undefined>
|
|
1573
|
+
|
|
1574
|
+
PCB fabrication file data
|
|
1575
|
+
|
|
1576
|
+
## Remarks
|
|
1577
|
+
|
|
1578
|
+
You can use [SYS\_FileSystem.saveFile()](./SYS_FileSystem.md) API export the file to the local file system
|
|
1579
|
+
|
|
1580
|
+
## Example
|
|
1581
|
+
|
|
1582
|
+
```javascript
|
|
1583
|
+
// 导出默认的 Gerber 文件
|
|
1584
|
+
const gerberFile = await eda.pcb_ManufactureData.getGerberFile('MyBoard_Gerber');
|
|
1585
|
+
if (gerberFile) {
|
|
1586
|
+
console.log('Gerber 文件已生成:', gerberFile);
|
|
1587
|
+
}
|
|
1588
|
+
|
|
1589
|
+
// 导出并保存到本地
|
|
1590
|
+
const gerberFile = await eda.pcb_ManufactureData.getGerberFile(
|
|
1591
|
+
'MyBoard_Gerber',
|
|
1592
|
+
false,
|
|
1593
|
+
ESYS_Unit.MILLIMETER,
|
|
1594
|
+
{ integerNumber: 2, decimalNumber: 6 }
|
|
1595
|
+
);
|
|
1596
|
+
if (gerberFile) {
|
|
1597
|
+
await eda.sys_FileSystem.saveFile(gerberFile,'Gerber.zip');
|
|
1598
|
+
}
|
|
1599
|
+
|
|
1600
|
+
// 自定义导出层和对象
|
|
1601
|
+
const gerberFile = await eda.pcb_ManufactureData.getGerberFile(
|
|
1602
|
+
'Custom_Gerber',
|
|
1603
|
+
false,
|
|
1604
|
+
ESYS_Unit.INCH,
|
|
1605
|
+
{ integerNumber: 3, decimalNumber: 5 },
|
|
1606
|
+
{ metallicDrillingInformation: true, nonMetallicDrillingInformation: true, drillTable: false, flyingProbeTestingFile: false },
|
|
1607
|
+
[{ layerId: EPCB_LayerId.TOP, isMirror: false }, { layerId: EPCB_LayerId.BOTTOM, isMirror: false }, { layerId: EPCB_LayerId.BOARD_OUTLINE, isMirror: false }],
|
|
1608
|
+
['Pad', 'Via', 'Track', 'BoardOutline']
|
|
1609
|
+
);
|
|
1610
|
+
```
|
|
1611
|
+
|
|
1612
|
+
### getidxfile
|
|
1613
|
+
|
|
1614
|
+
# PCB\_ManufactureData.getIdxFile() method
|
|
1615
|
+
|
|
1616
|
+
> 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.
|
|
1617
|
+
|
|
1618
|
+
Get IDX file
|
|
1619
|
+
|
|
1620
|
+
## Signature
|
|
1621
|
+
|
|
1622
|
+
```typescript
|
|
1623
|
+
function getIdxFile(fileName?: string): Promise<File | undefined>;
|
|
1624
|
+
```
|
|
1625
|
+
|
|
1626
|
+
## Parameters
|
|
1627
|
+
|
|
1628
|
+
<table><thead><tr><th>
|
|
1629
|
+
|
|
1630
|
+
Parameter
|
|
1631
|
+
|
|
1632
|
+
</th><th>
|
|
1633
|
+
|
|
1634
|
+
Type
|
|
1635
|
+
|
|
1636
|
+
</th><th>
|
|
1637
|
+
|
|
1638
|
+
Description
|
|
1639
|
+
|
|
1640
|
+
</th></tr></thead>
|
|
1641
|
+
<tbody><tr><td>
|
|
1642
|
+
|
|
1643
|
+
fileName
|
|
1644
|
+
|
|
1645
|
+
</td><td>
|
|
1646
|
+
|
|
1647
|
+
string
|
|
1648
|
+
|
|
1649
|
+
</td><td>
|
|
1650
|
+
|
|
1651
|
+
_(Optional)_
|
|
1652
|
+
|
|
1653
|
+
</td></tr>
|
|
1654
|
+
</tbody></table>
|
|
1655
|
+
|
|
1656
|
+
## Returns
|
|
1657
|
+
|
|
1658
|
+
Promise<File \| undefined>
|
|
1659
|
+
|
|
1660
|
+
IDX file
|
|
1661
|
+
|
|
1662
|
+
## Remarks
|
|
1663
|
+
|
|
1664
|
+
You can use [SYS\_FileSystem.saveFile()](./SYS_FileSystem.md) API export the file to the local file system
|
|
1665
|
+
|
|
1666
|
+
## Example
|
|
1667
|
+
|
|
1668
|
+
```javascript
|
|
1669
|
+
const idxFile = await eda.pcb_ManufactureData.getIdxFile('Design_Exchange');
|
|
1670
|
+
if (idxFile) {
|
|
1671
|
+
await eda.sys_FileSystem.saveFile(idxFile);
|
|
1672
|
+
}
|
|
1673
|
+
```
|
|
1674
|
+
|
|
1675
|
+
### getipc2581cfile
|
|
1676
|
+
|
|
1677
|
+
# PCB\_ManufactureData.getIpc2581CFile() method
|
|
1678
|
+
|
|
1679
|
+
> 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.
|
|
1680
|
+
|
|
1681
|
+
Get IPC-2581C file
|
|
1682
|
+
|
|
1683
|
+
## Signature
|
|
1684
|
+
|
|
1685
|
+
```typescript
|
|
1686
|
+
function getIpc2581CFile(
|
|
1687
|
+
fileName?: string,
|
|
1688
|
+
fileType?: 'xml' | 'cvg' | '2581',
|
|
1689
|
+
unit?: ESYS_Unit.INCH | ESYS_Unit.MILLIMETER,
|
|
1690
|
+
oemNumber?: 'Device' | 'Manufacturer Part' | 'Supplier Part' | 'Comment',
|
|
1691
|
+
): Promise<File | undefined>;
|
|
1692
|
+
```
|
|
1693
|
+
|
|
1694
|
+
## Parameters
|
|
1695
|
+
|
|
1696
|
+
<table><thead><tr><th>
|
|
1697
|
+
|
|
1698
|
+
Parameter
|
|
1699
|
+
|
|
1700
|
+
</th><th>
|
|
1701
|
+
|
|
1702
|
+
Type
|
|
1703
|
+
|
|
1704
|
+
</th><th>
|
|
1705
|
+
|
|
1706
|
+
Description
|
|
1707
|
+
|
|
1708
|
+
</th></tr></thead>
|
|
1709
|
+
<tbody><tr><td>
|
|
1710
|
+
|
|
1711
|
+
fileName
|
|
1712
|
+
|
|
1713
|
+
</td><td>
|
|
1714
|
+
|
|
1715
|
+
string
|
|
1716
|
+
|
|
1717
|
+
</td><td>
|
|
1718
|
+
|
|
1719
|
+
_(Optional)_ File name
|
|
1720
|
+
|
|
1721
|
+
</td></tr>
|
|
1722
|
+
<tr><td>
|
|
1723
|
+
|
|
1724
|
+
fileType
|
|
1725
|
+
|
|
1726
|
+
</td><td>
|
|
1727
|
+
|
|
1728
|
+
'xml' \| 'cvg' \| '2581'
|
|
1729
|
+
|
|
1730
|
+
</td><td>
|
|
1731
|
+
|
|
1732
|
+
_(Optional)_
|
|
1733
|
+
|
|
1734
|
+
</td></tr>
|
|
1735
|
+
<tr><td>
|
|
1736
|
+
|
|
1737
|
+
unit
|
|
1738
|
+
|
|
1739
|
+
</td><td>
|
|
1740
|
+
|
|
1741
|
+
[ESYS\_Unit.INCH](../enums/ESYS_Unit.md) \| [ESYS\_Unit.MILLIMETER](../enums/ESYS_Unit.md)
|
|
1742
|
+
|
|
1743
|
+
</td><td>
|
|
1744
|
+
|
|
1745
|
+
_(Optional)_
|
|
1746
|
+
|
|
1747
|
+
</td></tr>
|
|
1748
|
+
<tr><td>
|
|
1749
|
+
|
|
1750
|
+
oemNumber
|
|
1751
|
+
|
|
1752
|
+
</td><td>
|
|
1753
|
+
|
|
1754
|
+
'Device' \| 'Manufacturer Part' \| 'Supplier Part' \| 'Comment'
|
|
1755
|
+
|
|
1756
|
+
</td><td>
|
|
1757
|
+
|
|
1758
|
+
_(Optional)_
|
|
1759
|
+
|
|
1760
|
+
</td></tr>
|
|
1761
|
+
</tbody></table>
|
|
1762
|
+
|
|
1763
|
+
## Returns
|
|
1764
|
+
|
|
1765
|
+
Promise<File \| undefined>
|
|
1766
|
+
|
|
1767
|
+
IPC-2581C file data
|
|
1768
|
+
|
|
1769
|
+
## Remarks
|
|
1770
|
+
|
|
1771
|
+
You can use [SYS\_FileSystem.saveFile()](./SYS_FileSystem.md) API export the file to the local file system
|
|
1772
|
+
|
|
1773
|
+
## Example
|
|
1774
|
+
|
|
1775
|
+
```javascript
|
|
1776
|
+
// 1. 发起导出(XML 格式、毫米单位、OEM 编号取元件的 Device 属性),
|
|
1777
|
+
// 25 秒内完成就输出文件信息
|
|
1778
|
+
const ipcFile = await Promise.race([
|
|
1779
|
+
eda.pcb_ManufactureData.getIpc2581CFile('嘉立创示例_IPC2581C', 'xml', 'mm', 'Device'),
|
|
1780
|
+
new Promise(resolve => setTimeout(() => resolve(undefined), 25000))
|
|
1781
|
+
]);
|
|
1782
|
+
|
|
1783
|
+
// 2. 查看导出结果
|
|
1784
|
+
if (ipcFile) {
|
|
1785
|
+
console.log('导出文件名:', ipcFile.name);
|
|
1786
|
+
console.log('文件大小:', ipcFile.size);
|
|
1787
|
+
}
|
|
1788
|
+
else {
|
|
1789
|
+
console.log('导出超过 25 秒仍在后台进行,真实使用直接 await 等待完成即可');
|
|
1790
|
+
}
|
|
1791
|
+
```
|
|
1792
|
+
|
|
1793
|
+
### getipcd356afile
|
|
1794
|
+
|
|
1795
|
+
# PCB\_ManufactureData.getIpcD356AFile() method
|
|
1796
|
+
|
|
1797
|
+
> 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.
|
|
1798
|
+
|
|
1799
|
+
Get IPC-D-356A file
|
|
1800
|
+
|
|
1801
|
+
## Signature
|
|
1802
|
+
|
|
1803
|
+
```typescript
|
|
1804
|
+
function getIpcD356AFile(fileName?: string): Promise<File | undefined>;
|
|
1805
|
+
```
|
|
1806
|
+
|
|
1807
|
+
## Parameters
|
|
1808
|
+
|
|
1809
|
+
<table><thead><tr><th>
|
|
1810
|
+
|
|
1811
|
+
Parameter
|
|
1812
|
+
|
|
1813
|
+
</th><th>
|
|
1814
|
+
|
|
1815
|
+
Type
|
|
1816
|
+
|
|
1817
|
+
</th><th>
|
|
1818
|
+
|
|
1819
|
+
Description
|
|
1820
|
+
|
|
1821
|
+
</th></tr></thead>
|
|
1822
|
+
<tbody><tr><td>
|
|
1823
|
+
|
|
1824
|
+
fileName
|
|
1825
|
+
|
|
1826
|
+
</td><td>
|
|
1827
|
+
|
|
1828
|
+
string
|
|
1829
|
+
|
|
1830
|
+
</td><td>
|
|
1831
|
+
|
|
1832
|
+
_(Optional)_ File name
|
|
1833
|
+
|
|
1834
|
+
</td></tr>
|
|
1835
|
+
</tbody></table>
|
|
1836
|
+
|
|
1837
|
+
## Returns
|
|
1838
|
+
|
|
1839
|
+
Promise<File \| undefined>
|
|
1840
|
+
|
|
1841
|
+
IPC-D-356A file data
|
|
1842
|
+
|
|
1843
|
+
## Remarks
|
|
1844
|
+
|
|
1845
|
+
You can use [SYS\_FileSystem.saveFile()](./SYS_FileSystem.md) API export the file to the local file system
|
|
1846
|
+
|
|
1847
|
+
## Example
|
|
1848
|
+
|
|
1849
|
+
```javascript
|
|
1850
|
+
const ipcFile = await eda.pcb_ManufactureData.getIpcD356AFile('IPC_D356A_Test');
|
|
1851
|
+
if (ipcFile) {
|
|
1852
|
+
await eda.sys_FileSystem.saveFile(ipcFile);
|
|
1853
|
+
}
|
|
1854
|
+
```
|
|
1855
|
+
|
|
1856
|
+
### getmanufacturedata
|
|
1857
|
+
|
|
1858
|
+
# PCB\_ManufactureData.getManufactureData() method
|
|
1859
|
+
|
|
1860
|
+
> 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.
|
|
1861
|
+
|
|
1862
|
+
Export the manufacture data
|
|
1863
|
+
|
|
1864
|
+
## Signature
|
|
1865
|
+
|
|
1866
|
+
```typescript
|
|
1867
|
+
function getManufactureData(): Promise<File | undefined>;
|
|
1868
|
+
```
|
|
1869
|
+
|
|
1870
|
+
## Returns
|
|
1871
|
+
|
|
1872
|
+
Promise<File \| undefined>
|
|
1873
|
+
|
|
1874
|
+
Manufacture data
|
|
1875
|
+
|
|
1876
|
+
## Remarks
|
|
1877
|
+
|
|
1878
|
+
This API corresponds to the one-click manufacture data export function of the private deployment edition
|
|
1879
|
+
|
|
1880
|
+
It will obtain the file data according to the configuration of the one-click manufacture data export popup on the front end
|
|
1881
|
+
|
|
1882
|
+
Note: This API is only valid for the private deployment edition. Calling it in other editions will always `throw Error`
|
|
1883
|
+
|
|
1884
|
+
## Example
|
|
1885
|
+
|
|
1886
|
+
```javascript
|
|
1887
|
+
// 1. 按弹窗当前配置一键导出制造文件
|
|
1888
|
+
try {
|
|
1889
|
+
const manufactureFile = await eda.pcb_ManufactureData.getManufactureData();
|
|
1890
|
+
console.log('制造文件大小:', manufactureFile?.size);
|
|
1891
|
+
}
|
|
1892
|
+
catch (e) {
|
|
1893
|
+
// 非私有化部署版本调用会直接抛错,属预期行为
|
|
1894
|
+
console.log('当前版本不支持一键导出制造文件(仅私有化部署版本有效)');
|
|
1895
|
+
}
|
|
1896
|
+
```
|
|
1897
|
+
|
|
1898
|
+
### getnetlistfile
|
|
1899
|
+
|
|
1900
|
+
# PCB\_ManufactureData.getNetlistFile() method
|
|
1901
|
+
|
|
1902
|
+
> 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.
|
|
1903
|
+
|
|
1904
|
+
Get the netlist file (Netlist)
|
|
1905
|
+
|
|
1906
|
+
## Signature
|
|
1907
|
+
|
|
1908
|
+
```typescript
|
|
1909
|
+
function getNetlistFile(
|
|
1910
|
+
fileName?: string,
|
|
1911
|
+
netlistType?: ESYS_NetlistType,
|
|
1912
|
+
): Promise<File | undefined>;
|
|
1913
|
+
```
|
|
1914
|
+
|
|
1915
|
+
## Parameters
|
|
1916
|
+
|
|
1917
|
+
<table><thead><tr><th>
|
|
1918
|
+
|
|
1919
|
+
Parameter
|
|
1920
|
+
|
|
1921
|
+
</th><th>
|
|
1922
|
+
|
|
1923
|
+
Type
|
|
1924
|
+
|
|
1925
|
+
</th><th>
|
|
1926
|
+
|
|
1927
|
+
Description
|
|
1928
|
+
|
|
1929
|
+
</th></tr></thead>
|
|
1930
|
+
<tbody><tr><td>
|
|
1931
|
+
|
|
1932
|
+
fileName
|
|
1933
|
+
|
|
1934
|
+
</td><td>
|
|
1935
|
+
|
|
1936
|
+
string
|
|
1937
|
+
|
|
1938
|
+
</td><td>
|
|
1939
|
+
|
|
1940
|
+
_(Optional)_ File name
|
|
1941
|
+
|
|
1942
|
+
</td></tr>
|
|
1943
|
+
<tr><td>
|
|
1944
|
+
|
|
1945
|
+
netlistType
|
|
1946
|
+
|
|
1947
|
+
</td><td>
|
|
1948
|
+
|
|
1949
|
+
[ESYS\_NetlistType](../enums/ESYS_NetlistType.md)
|
|
1950
|
+
|
|
1951
|
+
</td><td>
|
|
1952
|
+
|
|
1953
|
+
_(Optional)_ Netlist type
|
|
1954
|
+
|
|
1955
|
+
</td></tr>
|
|
1956
|
+
</tbody></table>
|
|
1957
|
+
|
|
1958
|
+
## Returns
|
|
1959
|
+
|
|
1960
|
+
Promise<File \| undefined>
|
|
1961
|
+
|
|
1962
|
+
Netlist file data
|
|
1963
|
+
|
|
1964
|
+
## Remarks
|
|
1965
|
+
|
|
1966
|
+
You can use [SYS\_FileSystem.saveFile()](./SYS_FileSystem.md) API export the file to the local file system
|
|
1967
|
+
|
|
1968
|
+
## Example
|
|
1969
|
+
|
|
1970
|
+
```javascript
|
|
1971
|
+
// 导出嘉立创 EDA 专业版格式网表
|
|
1972
|
+
const netlistFile = await eda.pcb_ManufactureData.getNetlistFile(
|
|
1973
|
+
'MyNetlist',
|
|
1974
|
+
ESYS_NetlistType.JLCEDA_PRO
|
|
1975
|
+
);
|
|
1976
|
+
if (netlistFile) {
|
|
1977
|
+
await eda.sys_FileSystem.saveFile(netlistFile);
|
|
1978
|
+
}
|
|
1979
|
+
|
|
1980
|
+
// 导出 Altium Designer 格式
|
|
1981
|
+
const altiumNetlist = await eda.pcb_ManufactureData.getNetlistFile(
|
|
1982
|
+
'Netlist_Altium',
|
|
1983
|
+
ESYS_NetlistType.ALTIUM_DESIGNER
|
|
1984
|
+
);
|
|
1985
|
+
|
|
1986
|
+
// 导出 PADS 格式
|
|
1987
|
+
const padsNetlist = await eda.pcb_ManufactureData.getNetlistFile(
|
|
1988
|
+
'Netlist_PADS',
|
|
1989
|
+
ESYS_NetlistType.PADS
|
|
1990
|
+
);
|
|
1991
|
+
```
|
|
1992
|
+
|
|
1993
|
+
### getopendatabasedoubleplusfile
|
|
1994
|
+
|
|
1995
|
+
# PCB\_ManufactureData.getOpenDatabaseDoublePlusFile() method
|
|
1996
|
+
|
|
1997
|
+
> 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.
|
|
1998
|
+
|
|
1999
|
+
Get ODB++ file
|
|
2000
|
+
|
|
2001
|
+
## Signature
|
|
2002
|
+
|
|
2003
|
+
```typescript
|
|
2004
|
+
function getOpenDatabaseDoublePlusFile(
|
|
2005
|
+
fileName?: string,
|
|
2006
|
+
unit?: ESYS_Unit.INCH | ESYS_Unit.MILLIMETER,
|
|
2007
|
+
otherData?: {
|
|
2008
|
+
metallizedDrilledHoles?: undefined | false | true;
|
|
2009
|
+
nonMetallizedDrilledHoles?: undefined | false | true;
|
|
2010
|
+
drillTable?: undefined | false | true;
|
|
2011
|
+
flyingProbeTestFile?: undefined | false | true;
|
|
2012
|
+
},
|
|
2013
|
+
layers?: Array<{ layerId: EPCB_LayerId; mirror: boolean }>,
|
|
2014
|
+
objects?: Array<{ objectName: string }>,
|
|
2015
|
+
): Promise<File | undefined>;
|
|
2016
|
+
```
|
|
2017
|
+
|
|
2018
|
+
## Parameters
|
|
2019
|
+
|
|
2020
|
+
<table><thead><tr><th>
|
|
2021
|
+
|
|
2022
|
+
Parameter
|
|
2023
|
+
|
|
2024
|
+
</th><th>
|
|
2025
|
+
|
|
2026
|
+
Type
|
|
2027
|
+
|
|
2028
|
+
</th><th>
|
|
2029
|
+
|
|
2030
|
+
Description
|
|
2031
|
+
|
|
2032
|
+
</th></tr></thead>
|
|
2033
|
+
<tbody><tr><td>
|
|
2034
|
+
|
|
2035
|
+
fileName
|
|
2036
|
+
|
|
2037
|
+
</td><td>
|
|
2038
|
+
|
|
2039
|
+
string
|
|
2040
|
+
|
|
2041
|
+
</td><td>
|
|
2042
|
+
|
|
2043
|
+
_(Optional)_ File name
|
|
2044
|
+
|
|
2045
|
+
</td></tr>
|
|
2046
|
+
<tr><td>
|
|
2047
|
+
|
|
2048
|
+
unit
|
|
2049
|
+
|
|
2050
|
+
</td><td>
|
|
2051
|
+
|
|
2052
|
+
[ESYS\_Unit.INCH](../enums/ESYS_Unit.md) \| [ESYS\_Unit.MILLIMETER](../enums/ESYS_Unit.md)
|
|
2053
|
+
|
|
2054
|
+
</td><td>
|
|
2055
|
+
|
|
2056
|
+
_(Optional)_ Unit
|
|
2057
|
+
|
|
2058
|
+
</td></tr>
|
|
2059
|
+
<tr><td>
|
|
2060
|
+
|
|
2061
|
+
otherData
|
|
2062
|
+
|
|
2063
|
+
</td><td>
|
|
2064
|
+
|
|
2065
|
+
\{ metallizedDrilledHoles?: undefined \| false \| true; nonMetallizedDrilledHoles?: undefined \| false \| true; drillTable?: undefined \| false \| true; flyingProbeTestFile?: undefined \| false \| true \}
|
|
2066
|
+
|
|
2067
|
+
</td><td>
|
|
2068
|
+
|
|
2069
|
+
_(Optional)_ Other
|
|
2070
|
+
|
|
2071
|
+
</td></tr>
|
|
2072
|
+
<tr><td>
|
|
2073
|
+
|
|
2074
|
+
layers
|
|
2075
|
+
|
|
2076
|
+
</td><td>
|
|
2077
|
+
|
|
2078
|
+
Array<{ layerId: [EPCB\_LayerId](../enums/EPCB_LayerId.md)<!-- -->; mirror: boolean }>
|
|
2079
|
+
|
|
2080
|
+
</td><td>
|
|
2081
|
+
|
|
2082
|
+
_(Optional)_ Exported layers. By default, they are exported according to EasyEDA production requirements
|
|
2083
|
+
|
|
2084
|
+
</td></tr>
|
|
2085
|
+
<tr><td>
|
|
2086
|
+
|
|
2087
|
+
objects
|
|
2088
|
+
|
|
2089
|
+
</td><td>
|
|
2090
|
+
|
|
2091
|
+
Array<{ objectName: string }>
|
|
2092
|
+
|
|
2093
|
+
</td><td>
|
|
2094
|
+
|
|
2095
|
+
_(Optional)_ Exported objects. By default, they are exported according to EasyEDA production requirements
|
|
2096
|
+
|
|
2097
|
+
</td></tr>
|
|
2098
|
+
</tbody></table>
|
|
2099
|
+
|
|
2100
|
+
## Returns
|
|
2101
|
+
|
|
2102
|
+
Promise<File \| undefined>
|
|
2103
|
+
|
|
2104
|
+
ODB++ file data
|
|
2105
|
+
|
|
2106
|
+
## Remarks
|
|
2107
|
+
|
|
2108
|
+
You can use [SYS\_FileSystem.saveFile()](./SYS_FileSystem.md) API export the file to the local file system
|
|
2109
|
+
|
|
2110
|
+
## Example
|
|
2111
|
+
|
|
2112
|
+
```javascript
|
|
2113
|
+
// 导出 ODB++ 文件,自定义单位和选项
|
|
2114
|
+
const odbFile = await eda.pcb_ManufactureData.getOpenDatabaseDoublePlusFile(
|
|
2115
|
+
'MyBoard_ODB',
|
|
2116
|
+
ESYS_Unit.INCH,
|
|
2117
|
+
{
|
|
2118
|
+
metallizedDrilledHoles: true,
|
|
2119
|
+
nonMetallizedDrilledHoles: true,
|
|
2120
|
+
drillTable: true,
|
|
2121
|
+
flyingProbeTestFile: false
|
|
2122
|
+
}
|
|
2123
|
+
);
|
|
2124
|
+
if (odbFile) {
|
|
2125
|
+
await eda.sys_FileSystem.saveFile(odbFile);
|
|
2126
|
+
}
|
|
2127
|
+
```
|
|
2128
|
+
|
|
2129
|
+
### getpadsfile
|
|
2130
|
+
|
|
2131
|
+
# PCB\_ManufactureData.getPadsFile() method
|
|
2132
|
+
|
|
2133
|
+
> 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.
|
|
2134
|
+
|
|
2135
|
+
Get PADS file
|
|
2136
|
+
|
|
2137
|
+
## Signature
|
|
2138
|
+
|
|
2139
|
+
```typescript
|
|
2140
|
+
function getPadsFile(fileName?: string): Promise<File | undefined>;
|
|
2141
|
+
```
|
|
2142
|
+
|
|
2143
|
+
## Parameters
|
|
2144
|
+
|
|
2145
|
+
<table><thead><tr><th>
|
|
2146
|
+
|
|
2147
|
+
Parameter
|
|
2148
|
+
|
|
2149
|
+
</th><th>
|
|
2150
|
+
|
|
2151
|
+
Type
|
|
2152
|
+
|
|
2153
|
+
</th><th>
|
|
2154
|
+
|
|
2155
|
+
Description
|
|
2156
|
+
|
|
2157
|
+
</th></tr></thead>
|
|
2158
|
+
<tbody><tr><td>
|
|
2159
|
+
|
|
2160
|
+
fileName
|
|
2161
|
+
|
|
2162
|
+
</td><td>
|
|
2163
|
+
|
|
2164
|
+
string
|
|
2165
|
+
|
|
2166
|
+
</td><td>
|
|
2167
|
+
|
|
2168
|
+
_(Optional)_ File name
|
|
2169
|
+
|
|
2170
|
+
</td></tr>
|
|
2171
|
+
</tbody></table>
|
|
2172
|
+
|
|
2173
|
+
## Returns
|
|
2174
|
+
|
|
2175
|
+
Promise<File \| undefined>
|
|
2176
|
+
|
|
2177
|
+
PADS file data
|
|
2178
|
+
|
|
2179
|
+
## Remarks
|
|
2180
|
+
|
|
2181
|
+
You can use [SYS\_FileSystem.saveFile()](./SYS_FileSystem.md) API export the file to the local file system
|
|
2182
|
+
|
|
2183
|
+
## Example
|
|
2184
|
+
|
|
2185
|
+
```javascript
|
|
2186
|
+
// 获取 PADS 格式文件
|
|
2187
|
+
const padsFile = await eda.pcb_ManufactureData.getPadsFile('Converted_To_PADS');
|
|
2188
|
+
if (padsFile) {
|
|
2189
|
+
await eda.sys_FileSystem.saveFile(padsFile);
|
|
2190
|
+
}
|
|
2191
|
+
```
|
|
2192
|
+
|
|
2193
|
+
### getpcbinfofile
|
|
2194
|
+
|
|
2195
|
+
# PCB\_ManufactureData.getPcbInfoFile() method
|
|
2196
|
+
|
|
2197
|
+
> 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.
|
|
2198
|
+
|
|
2199
|
+
Get PCB information file
|
|
2200
|
+
|
|
2201
|
+
## Signature
|
|
2202
|
+
|
|
2203
|
+
```typescript
|
|
2204
|
+
function getPcbInfoFile(fileName?: string): Promise<File | undefined>;
|
|
2205
|
+
```
|
|
2206
|
+
|
|
2207
|
+
## Parameters
|
|
2208
|
+
|
|
2209
|
+
<table><thead><tr><th>
|
|
2210
|
+
|
|
2211
|
+
Parameter
|
|
2212
|
+
|
|
2213
|
+
</th><th>
|
|
2214
|
+
|
|
2215
|
+
Type
|
|
2216
|
+
|
|
2217
|
+
</th><th>
|
|
2218
|
+
|
|
2219
|
+
Description
|
|
2220
|
+
|
|
2221
|
+
</th></tr></thead>
|
|
2222
|
+
<tbody><tr><td>
|
|
2223
|
+
|
|
2224
|
+
fileName
|
|
2225
|
+
|
|
2226
|
+
</td><td>
|
|
2227
|
+
|
|
2228
|
+
string
|
|
2229
|
+
|
|
2230
|
+
</td><td>
|
|
2231
|
+
|
|
2232
|
+
_(Optional)_ File name
|
|
2233
|
+
|
|
2234
|
+
</td></tr>
|
|
2235
|
+
</tbody></table>
|
|
2236
|
+
|
|
2237
|
+
## Returns
|
|
2238
|
+
|
|
2239
|
+
Promise<File \| undefined>
|
|
2240
|
+
|
|
2241
|
+
PCB information file
|
|
2242
|
+
|
|
2243
|
+
## Remarks
|
|
2244
|
+
|
|
2245
|
+
You can use [SYS\_FileSystem.saveFile()](./SYS_FileSystem.md) API export the file to the local file system
|
|
2246
|
+
|
|
2247
|
+
## Example
|
|
2248
|
+
|
|
2249
|
+
```javascript
|
|
2250
|
+
const pcbInfoFile = await eda.pcb_ManufactureData.getPcbInfoFile('Board_Information');
|
|
2251
|
+
if (pcbInfoFile) {
|
|
2252
|
+
await eda.sys_FileSystem.saveFile(pcbInfoFile);
|
|
2253
|
+
}
|
|
2254
|
+
```
|
|
2255
|
+
|
|
2256
|
+
### getpdffile
|
|
2257
|
+
|
|
2258
|
+
# PCB\_ManufactureData.getPdfFile() method
|
|
2259
|
+
|
|
2260
|
+
> 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.
|
|
2261
|
+
|
|
2262
|
+
Get PDF file
|
|
2263
|
+
|
|
2264
|
+
## Signature
|
|
2265
|
+
|
|
2266
|
+
```typescript
|
|
2267
|
+
function getPdfFile(
|
|
2268
|
+
fileName?: string,
|
|
2269
|
+
outputMethod?: EPCB_PdfOutputMethod,
|
|
2270
|
+
contentConfig?: { displayAttributesAsMenu: boolean; showOutlineOnly: boolean },
|
|
2271
|
+
watermark?: {
|
|
2272
|
+
show?: undefined | false | true;
|
|
2273
|
+
content?: undefined | string;
|
|
2274
|
+
styleConfig?:
|
|
2275
|
+
| undefined
|
|
2276
|
+
| {
|
|
2277
|
+
color: string;
|
|
2278
|
+
transparency: 'Opaque' | '75%' | '50%' | '25%';
|
|
2279
|
+
font: string;
|
|
2280
|
+
fontSize: {
|
|
2281
|
+
unit: ESYS_Unit.MILLIMETER | ESYS_Unit.INCH | ESYS_Unit.MIL;
|
|
2282
|
+
value: number;
|
|
2283
|
+
};
|
|
2284
|
+
style: { bold: boolean; italic: boolean; underline: boolean };
|
|
2285
|
+
slope: 0 | 45 | 90;
|
|
2286
|
+
denseness: 'Single' | 'Sparse' | 'Std' | 'Dense';
|
|
2287
|
+
};
|
|
2288
|
+
},
|
|
2289
|
+
graphPageConfig?: Array<Record<string, any>>,
|
|
2290
|
+
): Promise<File | undefined>;
|
|
2291
|
+
```
|
|
2292
|
+
|
|
2293
|
+
## Parameters
|
|
2294
|
+
|
|
2295
|
+
<table><thead><tr><th>
|
|
2296
|
+
|
|
2297
|
+
Parameter
|
|
2298
|
+
|
|
2299
|
+
</th><th>
|
|
2300
|
+
|
|
2301
|
+
Type
|
|
2302
|
+
|
|
2303
|
+
</th><th>
|
|
2304
|
+
|
|
2305
|
+
Description
|
|
2306
|
+
|
|
2307
|
+
</th></tr></thead>
|
|
2308
|
+
<tbody><tr><td>
|
|
2309
|
+
|
|
2310
|
+
fileName
|
|
2311
|
+
|
|
2312
|
+
</td><td>
|
|
2313
|
+
|
|
2314
|
+
string
|
|
2315
|
+
|
|
2316
|
+
</td><td>
|
|
2317
|
+
|
|
2318
|
+
_(Optional)_ File name
|
|
2319
|
+
|
|
2320
|
+
</td></tr>
|
|
2321
|
+
<tr><td>
|
|
2322
|
+
|
|
2323
|
+
outputMethod
|
|
2324
|
+
|
|
2325
|
+
</td><td>
|
|
2326
|
+
|
|
2327
|
+
[EPCB\_PdfOutputMethod](../enums/EPCB_PdfOutputMethod.md)
|
|
2328
|
+
|
|
2329
|
+
</td><td>
|
|
2330
|
+
|
|
2331
|
+
_(Optional)_ Output method. ADD since EDA v4.2
|
|
2332
|
+
|
|
2333
|
+
</td></tr>
|
|
2334
|
+
<tr><td>
|
|
2335
|
+
|
|
2336
|
+
contentConfig
|
|
2337
|
+
|
|
2338
|
+
</td><td>
|
|
2339
|
+
|
|
2340
|
+
\{ displayAttributesAsMenu: boolean; showOutlineOnly: boolean \}
|
|
2341
|
+
|
|
2342
|
+
</td><td>
|
|
2343
|
+
|
|
2344
|
+
_(Optional)_ Content configuration. ADD since EDA v4.2
|
|
2345
|
+
|
|
2346
|
+
</td></tr>
|
|
2347
|
+
<tr><td>
|
|
2348
|
+
|
|
2349
|
+
watermark
|
|
2350
|
+
|
|
2351
|
+
</td><td>
|
|
2352
|
+
|
|
2353
|
+
{ show?: undefined \| false \| true; content?: undefined \| string; styleConfig?: undefined \| { color: string; transparency: 'Opaque' \| '75%' \| '50%' \| '25%'; font: string; fontSize: { unit: [ESYS\_Unit.MILLIMETER](../enums/ESYS_Unit.md) \| [ESYS\_Unit.INCH](../enums/ESYS_Unit.md) \| [ESYS\_Unit.MIL](../enums/ESYS_Unit.md)<!-- -->; value: number }; style: { bold: boolean; italic: boolean; underline: boolean }; slope: 0 \| 45 \| 90; denseness: 'Single' \| 'Sparse' \| 'Std' \| 'Dense' } }
|
|
2354
|
+
|
|
2355
|
+
</td><td>
|
|
2356
|
+
|
|
2357
|
+
_(Optional)_ Watermark. ADD since EDA v4.2
|
|
2358
|
+
|
|
2359
|
+
</td></tr>
|
|
2360
|
+
<tr><td>
|
|
2361
|
+
|
|
2362
|
+
graphPageConfig
|
|
2363
|
+
|
|
2364
|
+
</td><td>
|
|
2365
|
+
|
|
2366
|
+
Array<Record<string, any>>
|
|
2367
|
+
|
|
2368
|
+
</td><td>
|
|
2369
|
+
|
|
2370
|
+
_(Optional)_ Graph page configuration. ADD since EDA v4.2
|
|
2371
|
+
|
|
2372
|
+
</td></tr>
|
|
2373
|
+
</tbody></table>
|
|
2374
|
+
|
|
2375
|
+
## Returns
|
|
2376
|
+
|
|
2377
|
+
Promise<File \| undefined>
|
|
2378
|
+
|
|
2379
|
+
PDF file data (or archive)
|
|
2380
|
+
|
|
2381
|
+
## Remarks
|
|
2382
|
+
|
|
2383
|
+
You can use [SYS\_FileSystem.saveFile()](./SYS_FileSystem.md) API export the file to the local file system
|
|
2384
|
+
|
|
2385
|
+
REFACTOR since EDA v4.2
|
|
2386
|
+
|
|
2387
|
+
## Example
|
|
2388
|
+
|
|
2389
|
+
```javascript
|
|
2390
|
+
// 导出多页 PDF(包含所有图层)
|
|
2391
|
+
const pdfFile = await eda.pcb_ManufactureData.getPdfFile(
|
|
2392
|
+
'PCB_Documentation',
|
|
2393
|
+
EPCB_PdfOutputMethod.MULTI_PAGE_PDF
|
|
2394
|
+
);
|
|
2395
|
+
if (pdfFile) {
|
|
2396
|
+
await eda.sys_FileSystem.saveFile(pdfFile);
|
|
2397
|
+
}
|
|
2398
|
+
```
|
|
2399
|
+
|
|
2400
|
+
### getpickandplacefile
|
|
2401
|
+
|
|
2402
|
+
# PCB\_ManufactureData.getPickAndPlaceFile() method
|
|
2403
|
+
|
|
2404
|
+
> 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.
|
|
2405
|
+
|
|
2406
|
+
Get Coordinate file (PickAndPlace)
|
|
2407
|
+
|
|
2408
|
+
## Signature
|
|
2409
|
+
|
|
2410
|
+
```typescript
|
|
2411
|
+
function getPickAndPlaceFile(
|
|
2412
|
+
fileName?: string,
|
|
2413
|
+
fileType?: 'xlsx' | 'csv',
|
|
2414
|
+
unit?: ESYS_Unit.MILLIMETER | ESYS_Unit.MIL,
|
|
2415
|
+
): Promise<File | undefined>;
|
|
2416
|
+
```
|
|
2417
|
+
|
|
2418
|
+
## Parameters
|
|
2419
|
+
|
|
2420
|
+
<table><thead><tr><th>
|
|
2421
|
+
|
|
2422
|
+
Parameter
|
|
2423
|
+
|
|
2424
|
+
</th><th>
|
|
2425
|
+
|
|
2426
|
+
Type
|
|
2427
|
+
|
|
2428
|
+
</th><th>
|
|
2429
|
+
|
|
2430
|
+
Description
|
|
2431
|
+
|
|
2432
|
+
</th></tr></thead>
|
|
2433
|
+
<tbody><tr><td>
|
|
2434
|
+
|
|
2435
|
+
fileName
|
|
2436
|
+
|
|
2437
|
+
</td><td>
|
|
2438
|
+
|
|
2439
|
+
string
|
|
2440
|
+
|
|
2441
|
+
</td><td>
|
|
2442
|
+
|
|
2443
|
+
_(Optional)_ File name
|
|
2444
|
+
|
|
2445
|
+
</td></tr>
|
|
2446
|
+
<tr><td>
|
|
2447
|
+
|
|
2448
|
+
fileType
|
|
2449
|
+
|
|
2450
|
+
</td><td>
|
|
2451
|
+
|
|
2452
|
+
'xlsx' \| 'csv'
|
|
2453
|
+
|
|
2454
|
+
</td><td>
|
|
2455
|
+
|
|
2456
|
+
_(Optional)_ File type
|
|
2457
|
+
|
|
2458
|
+
</td></tr>
|
|
2459
|
+
<tr><td>
|
|
2460
|
+
|
|
2461
|
+
unit
|
|
2462
|
+
|
|
2463
|
+
</td><td>
|
|
2464
|
+
|
|
2465
|
+
[ESYS\_Unit.MILLIMETER](../enums/ESYS_Unit.md) \| [ESYS\_Unit.MIL](../enums/ESYS_Unit.md)
|
|
2466
|
+
|
|
2467
|
+
</td><td>
|
|
2468
|
+
|
|
2469
|
+
_(Optional)_ Unit
|
|
2470
|
+
|
|
2471
|
+
</td></tr>
|
|
2472
|
+
</tbody></table>
|
|
2473
|
+
|
|
2474
|
+
## Returns
|
|
2475
|
+
|
|
2476
|
+
Promise<File \| undefined>
|
|
2477
|
+
|
|
2478
|
+
Coordinate file data
|
|
2479
|
+
|
|
2480
|
+
## Remarks
|
|
2481
|
+
|
|
2482
|
+
You can use [SYS\_FileSystem.saveFile()](./SYS_FileSystem.md) API export the file to the local file system
|
|
2483
|
+
|
|
2484
|
+
## Example
|
|
2485
|
+
|
|
2486
|
+
```javascript
|
|
2487
|
+
// 导出毫米单位的 Excel 格式坐标文件
|
|
2488
|
+
const pnpFile = await eda.pcb_ManufactureData.getPickAndPlaceFile(
|
|
2489
|
+
'PickAndPlace',
|
|
2490
|
+
'xlsx',
|
|
2491
|
+
ESYS_Unit.MILLIMETER
|
|
2492
|
+
);
|
|
2493
|
+
if (pnpFile) {
|
|
2494
|
+
await eda.sys_FileSystem.saveFile(pnpFile);
|
|
2495
|
+
}
|
|
2496
|
+
```
|
|
2497
|
+
|
|
2498
|
+
### gettestpointfile
|
|
2499
|
+
|
|
2500
|
+
# PCB\_ManufactureData.getTestPointFile() method
|
|
2501
|
+
|
|
2502
|
+
> 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.
|
|
2503
|
+
|
|
2504
|
+
Get the test point report file
|
|
2505
|
+
|
|
2506
|
+
## Signature
|
|
2507
|
+
|
|
2508
|
+
```typescript
|
|
2509
|
+
function getTestPointFile(fileName?: string, fileType?: 'xlsx' | 'csv'): Promise<File | undefined>;
|
|
2510
|
+
```
|
|
2511
|
+
|
|
2512
|
+
## Parameters
|
|
2513
|
+
|
|
2514
|
+
<table><thead><tr><th>
|
|
2515
|
+
|
|
2516
|
+
Parameter
|
|
2517
|
+
|
|
2518
|
+
</th><th>
|
|
2519
|
+
|
|
2520
|
+
Type
|
|
2521
|
+
|
|
2522
|
+
</th><th>
|
|
2523
|
+
|
|
2524
|
+
Description
|
|
2525
|
+
|
|
2526
|
+
</th></tr></thead>
|
|
2527
|
+
<tbody><tr><td>
|
|
2528
|
+
|
|
2529
|
+
fileName
|
|
2530
|
+
|
|
2531
|
+
</td><td>
|
|
2532
|
+
|
|
2533
|
+
string
|
|
2534
|
+
|
|
2535
|
+
</td><td>
|
|
2536
|
+
|
|
2537
|
+
_(Optional)_ File name
|
|
2538
|
+
|
|
2539
|
+
</td></tr>
|
|
2540
|
+
<tr><td>
|
|
2541
|
+
|
|
2542
|
+
fileType
|
|
2543
|
+
|
|
2544
|
+
</td><td>
|
|
2545
|
+
|
|
2546
|
+
'xlsx' \| 'csv'
|
|
2547
|
+
|
|
2548
|
+
</td><td>
|
|
2549
|
+
|
|
2550
|
+
_(Optional)_ File type
|
|
2551
|
+
|
|
2552
|
+
</td></tr>
|
|
2553
|
+
</tbody></table>
|
|
2554
|
+
|
|
2555
|
+
## Returns
|
|
2556
|
+
|
|
2557
|
+
Promise<File \| undefined>
|
|
2558
|
+
|
|
2559
|
+
Test point report file data
|
|
2560
|
+
|
|
2561
|
+
## Remarks
|
|
2562
|
+
|
|
2563
|
+
You can use [SYS\_FileSystem.saveFile()](./SYS_FileSystem.md) API export the file to the local file system
|
|
2564
|
+
|
|
2565
|
+
## Example
|
|
2566
|
+
|
|
2567
|
+
```javascript
|
|
2568
|
+
// 保存测试点报告文件到本地
|
|
2569
|
+
const testPointFile = await eda.pcb_ManufactureData.getTestPointFile('Test_Point_Report', 'xlsx');
|
|
2570
|
+
if (testPointFile) {
|
|
2571
|
+
await eda.sys_FileSystem.saveFile(testPointFile);
|
|
2572
|
+
}
|
|
2573
|
+
```
|
|
2574
|
+
|
|
2575
|
+
### place3dshellorder
|
|
2576
|
+
|
|
2577
|
+
# PCB\_ManufactureData.place3DShellOrder() method
|
|
2578
|
+
|
|
2579
|
+
> 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.
|
|
2580
|
+
|
|
2581
|
+
3D shell ordering
|
|
2582
|
+
|
|
2583
|
+
## Signature
|
|
2584
|
+
|
|
2585
|
+
```typescript
|
|
2586
|
+
function place3DShellOrder(interactive?: boolean, ignoreWarning?: boolean): Promise<boolean>;
|
|
2587
|
+
```
|
|
2588
|
+
|
|
2589
|
+
## Parameters
|
|
2590
|
+
|
|
2591
|
+
<table><thead><tr><th>
|
|
2592
|
+
|
|
2593
|
+
Parameter
|
|
2594
|
+
|
|
2595
|
+
</th><th>
|
|
2596
|
+
|
|
2597
|
+
Type
|
|
2598
|
+
|
|
2599
|
+
</th><th>
|
|
2600
|
+
|
|
2601
|
+
Description
|
|
2602
|
+
|
|
2603
|
+
</th></tr></thead>
|
|
2604
|
+
<tbody><tr><td>
|
|
2605
|
+
|
|
2606
|
+
interactive
|
|
2607
|
+
|
|
2608
|
+
</td><td>
|
|
2609
|
+
|
|
2610
|
+
boolean
|
|
2611
|
+
|
|
2612
|
+
</td><td>
|
|
2613
|
+
|
|
2614
|
+
_(Optional)_ Whether to enable interactive checking. If enabled, a popup will wait for user interaction, and the `ignoreWarning` parameter cannot be used to ignore warnings; that is, the `ignoreWarning` parameter will be ignored. If disabled, no EDA internal popup will appear after the call, and the program performs a silent check. If the ordering conditions are met, `true` will be returned and the ordering page will be opened in a new tab
|
|
2615
|
+
|
|
2616
|
+
</td></tr>
|
|
2617
|
+
<tr><td>
|
|
2618
|
+
|
|
2619
|
+
ignoreWarning
|
|
2620
|
+
|
|
2621
|
+
</td><td>
|
|
2622
|
+
|
|
2623
|
+
boolean
|
|
2624
|
+
|
|
2625
|
+
</td><td>
|
|
2626
|
+
|
|
2627
|
+
_(Optional)_ Ignore warnings during non-interactive checking. If set to `true`<!-- -->, all check warning items will be ignored and the ordering data will be generated as much as possible; if set to `false`<!-- -->, any warning will interrupt execution and return `false`
|
|
2628
|
+
|
|
2629
|
+
</td></tr>
|
|
2630
|
+
</tbody></table>
|
|
2631
|
+
|
|
2632
|
+
## Returns
|
|
2633
|
+
|
|
2634
|
+
Promise<boolean>
|
|
2635
|
+
|
|
2636
|
+
Whether the ordering check passed. Until the input parameters are fully developed, the return value has no practical effect and does not wait for the execution result
|
|
2637
|
+
|
|
2638
|
+
## Remarks
|
|
2639
|
+
|
|
2640
|
+
This API currently only supports interactive checking. The input parameters have no effect for now and are reserved for future development
|
|
2641
|
+
|
|
2642
|
+
## Example
|
|
2643
|
+
|
|
2644
|
+
```javascript
|
|
2645
|
+
// 1. 交互式下单检查:弹出检查弹窗等待确认,确认后打开下单页面
|
|
2646
|
+
// const passed = await eda.pcb_ManufactureData.place3DShellOrder(true);
|
|
2647
|
+
// 2. 静默检查:不弹任何弹窗,忽略警告并直接生成下单资料
|
|
2648
|
+
// const passed = await eda.pcb_ManufactureData.place3DShellOrder(false, true);
|
|
2649
|
+
// console.log('下单检查结果 ' + passed);
|
|
2650
|
+
// 下单会真实打开订单页面并产生订单数据,案例中不实际执行
|
|
2651
|
+
console.log('演示调用:place3DShellOrder(true) 交互式检查,或 place3DShellOrder(false, true) 静默下单');
|
|
2652
|
+
```
|
|
2653
|
+
|
|
2654
|
+
### placecomponentsorder
|
|
2655
|
+
|
|
2656
|
+
# PCB\_ManufactureData.placeComponentsOrder() method
|
|
2657
|
+
|
|
2658
|
+
> 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.
|
|
2659
|
+
|
|
2660
|
+
Component ordering
|
|
2661
|
+
|
|
2662
|
+
## Signature
|
|
2663
|
+
|
|
2664
|
+
```typescript
|
|
2665
|
+
function placeComponentsOrder(interactive?: boolean, ignoreWarning?: boolean): Promise<boolean>;
|
|
2666
|
+
```
|
|
2667
|
+
|
|
2668
|
+
## Parameters
|
|
2669
|
+
|
|
2670
|
+
<table><thead><tr><th>
|
|
2671
|
+
|
|
2672
|
+
Parameter
|
|
2673
|
+
|
|
2674
|
+
</th><th>
|
|
2675
|
+
|
|
2676
|
+
Type
|
|
2677
|
+
|
|
2678
|
+
</th><th>
|
|
2679
|
+
|
|
2680
|
+
Description
|
|
2681
|
+
|
|
2682
|
+
</th></tr></thead>
|
|
2683
|
+
<tbody><tr><td>
|
|
2684
|
+
|
|
2685
|
+
interactive
|
|
2686
|
+
|
|
2687
|
+
</td><td>
|
|
2688
|
+
|
|
2689
|
+
boolean
|
|
2690
|
+
|
|
2691
|
+
</td><td>
|
|
2692
|
+
|
|
2693
|
+
_(Optional)_ Whether to enable interactive checking. If enabled, a popup will wait for user interaction, and the `ignoreWarning` parameter cannot be used to ignore warnings; that is, the `ignoreWarning` parameter will be ignored. If disabled, no EDA internal popup will appear after the call, and the program performs a silent check. If the ordering conditions are met, `true` will be returned and the ordering page will be opened in a new tab
|
|
2694
|
+
|
|
2695
|
+
</td></tr>
|
|
2696
|
+
<tr><td>
|
|
2697
|
+
|
|
2698
|
+
ignoreWarning
|
|
2699
|
+
|
|
2700
|
+
</td><td>
|
|
2701
|
+
|
|
2702
|
+
boolean
|
|
2703
|
+
|
|
2704
|
+
</td><td>
|
|
2705
|
+
|
|
2706
|
+
_(Optional)_ Ignore warnings during non-interactive checking. If set to `true`<!-- -->, all check warning items will be ignored and the ordering data will be generated as much as possible; if set to `false`<!-- -->, any warning will interrupt execution and return `false`
|
|
2707
|
+
|
|
2708
|
+
</td></tr>
|
|
2709
|
+
</tbody></table>
|
|
2710
|
+
|
|
2711
|
+
## Returns
|
|
2712
|
+
|
|
2713
|
+
Promise<boolean>
|
|
2714
|
+
|
|
2715
|
+
Whether the ordering check passed. Until the input parameters are fully developed, the return value has no practical effect and does not wait for the execution result
|
|
2716
|
+
|
|
2717
|
+
## Remarks
|
|
2718
|
+
|
|
2719
|
+
This API currently only supports interactive checking. The input parameters have no effect for now and are reserved for future development
|
|
2720
|
+
|
|
2721
|
+
## Example
|
|
2722
|
+
|
|
2723
|
+
```javascript
|
|
2724
|
+
// 1. 交互式下单检查:弹出检查弹窗等待确认,确认后打开购买页面
|
|
2725
|
+
// const passed = await eda.pcb_ManufactureData.placeComponentsOrder(true);
|
|
2726
|
+
// 2. 静默检查:不弹任何弹窗,忽略警告并直接生成下单资料
|
|
2727
|
+
// const passed = await eda.pcb_ManufactureData.placeComponentsOrder(false, true);
|
|
2728
|
+
// console.log('下单检查结果 ' + passed);
|
|
2729
|
+
// 下单会真实打开订单页面并产生订单数据,案例中不实际执行
|
|
2730
|
+
console.log('演示调用:placeComponentsOrder(true) 交互式检查,或 placeComponentsOrder(false, true) 静默下单');
|
|
2731
|
+
```
|
|
2732
|
+
|
|
2733
|
+
### placepcborder
|
|
2734
|
+
|
|
2735
|
+
# PCB\_ManufactureData.placePcbOrder() method
|
|
2736
|
+
|
|
2737
|
+
> 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.
|
|
2738
|
+
|
|
2739
|
+
PCB ordering
|
|
2740
|
+
|
|
2741
|
+
## Signature
|
|
2742
|
+
|
|
2743
|
+
```typescript
|
|
2744
|
+
function placePcbOrder(interactive?: boolean, ignoreWarning?: boolean): Promise<boolean>;
|
|
2745
|
+
```
|
|
2746
|
+
|
|
2747
|
+
## Parameters
|
|
2748
|
+
|
|
2749
|
+
<table><thead><tr><th>
|
|
2750
|
+
|
|
2751
|
+
Parameter
|
|
2752
|
+
|
|
2753
|
+
</th><th>
|
|
2754
|
+
|
|
2755
|
+
Type
|
|
2756
|
+
|
|
2757
|
+
</th><th>
|
|
2758
|
+
|
|
2759
|
+
Description
|
|
2760
|
+
|
|
2761
|
+
</th></tr></thead>
|
|
2762
|
+
<tbody><tr><td>
|
|
2763
|
+
|
|
2764
|
+
interactive
|
|
2765
|
+
|
|
2766
|
+
</td><td>
|
|
2767
|
+
|
|
2768
|
+
boolean
|
|
2769
|
+
|
|
2770
|
+
</td><td>
|
|
2771
|
+
|
|
2772
|
+
_(Optional)_ Whether to enable interactive checking. If enabled, a popup will wait for user interaction, and the `ignoreWarning` parameter cannot be used to ignore warnings; that is, the `ignoreWarning` parameter will be ignored. If disabled, no EDA internal popup will appear after the call, and the program performs a silent check. If the ordering conditions are met, `true` will be returned and the ordering page will be opened in a new tab
|
|
2773
|
+
|
|
2774
|
+
</td></tr>
|
|
2775
|
+
<tr><td>
|
|
2776
|
+
|
|
2777
|
+
ignoreWarning
|
|
2778
|
+
|
|
2779
|
+
</td><td>
|
|
2780
|
+
|
|
2781
|
+
boolean
|
|
2782
|
+
|
|
2783
|
+
</td><td>
|
|
2784
|
+
|
|
2785
|
+
_(Optional)_ Ignore warnings during non-interactive checking. If set to `true`<!-- -->, all check warning items will be ignored and the ordering data will be generated as much as possible; if set to `false`<!-- -->, any warning will interrupt execution and return `false`
|
|
2786
|
+
|
|
2787
|
+
</td></tr>
|
|
2788
|
+
</tbody></table>
|
|
2789
|
+
|
|
2790
|
+
## Returns
|
|
2791
|
+
|
|
2792
|
+
Promise<boolean>
|
|
2793
|
+
|
|
2794
|
+
Whether the ordering check passed. Until the input parameters are fully developed, the return value has no practical effect and does not wait for the execution result
|
|
2795
|
+
|
|
2796
|
+
## Remarks
|
|
2797
|
+
|
|
2798
|
+
This API currently only supports interactive checking. The input parameters have no effect for now and are reserved for future development
|
|
2799
|
+
|
|
2800
|
+
## Example
|
|
2801
|
+
|
|
2802
|
+
```javascript
|
|
2803
|
+
// 1. 交互式下单检查:弹出检查弹窗等待确认,确认后打开下单页面
|
|
2804
|
+
// const passed = await eda.pcb_ManufactureData.placePcbOrder(true);
|
|
2805
|
+
// 2. 静默检查:不弹任何弹窗,忽略警告并直接生成下单资料
|
|
2806
|
+
// const passed = await eda.pcb_ManufactureData.placePcbOrder(false, true);
|
|
2807
|
+
// console.log('下单检查结果 ' + passed);
|
|
2808
|
+
// 下单会真实打开订单页面并产生订单数据,案例中不实际执行
|
|
2809
|
+
console.log('演示调用:placePcbOrder(true) 交互式检查,或 placePcbOrder(false, true) 静默下单');
|
|
2810
|
+
```
|
|
2811
|
+
|
|
2812
|
+
### placesmtcomponentsorder
|
|
2813
|
+
|
|
2814
|
+
# PCB\_ManufactureData.placeSmtComponentsOrder() method
|
|
2815
|
+
|
|
2816
|
+
> 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.
|
|
2817
|
+
|
|
2818
|
+
SMT component ordering
|
|
2819
|
+
|
|
2820
|
+
## Signature
|
|
2821
|
+
|
|
2822
|
+
```typescript
|
|
2823
|
+
function placeSmtComponentsOrder(interactive?: boolean, ignoreWarning?: boolean): Promise<boolean>;
|
|
2824
|
+
```
|
|
2825
|
+
|
|
2826
|
+
## Parameters
|
|
2827
|
+
|
|
2828
|
+
<table><thead><tr><th>
|
|
2829
|
+
|
|
2830
|
+
Parameter
|
|
2831
|
+
|
|
2832
|
+
</th><th>
|
|
2833
|
+
|
|
2834
|
+
Type
|
|
2835
|
+
|
|
2836
|
+
</th><th>
|
|
2837
|
+
|
|
2838
|
+
Description
|
|
2839
|
+
|
|
2840
|
+
</th></tr></thead>
|
|
2841
|
+
<tbody><tr><td>
|
|
2842
|
+
|
|
2843
|
+
interactive
|
|
2844
|
+
|
|
2845
|
+
</td><td>
|
|
2846
|
+
|
|
2847
|
+
boolean
|
|
2848
|
+
|
|
2849
|
+
</td><td>
|
|
2850
|
+
|
|
2851
|
+
_(Optional)_ Whether to enable interactive checking. If enabled, a popup will wait for user interaction, and the `ignoreWarning` parameter cannot be used to ignore warnings; that is, the `ignoreWarning` parameter will be ignored. If disabled, no EDA internal popup will appear after the call, and the program performs a silent check. If the ordering conditions are met, `true` will be returned and the ordering page will be opened in a new tab
|
|
2852
|
+
|
|
2853
|
+
</td></tr>
|
|
2854
|
+
<tr><td>
|
|
2855
|
+
|
|
2856
|
+
ignoreWarning
|
|
2857
|
+
|
|
2858
|
+
</td><td>
|
|
2859
|
+
|
|
2860
|
+
boolean
|
|
2861
|
+
|
|
2862
|
+
</td><td>
|
|
2863
|
+
|
|
2864
|
+
_(Optional)_ Ignore warnings during non-interactive checking. If set to `true`<!-- -->, all check warning items will be ignored and the ordering data will be generated as much as possible; if set to `false`<!-- -->, any warning will interrupt execution and return `false`
|
|
2865
|
+
|
|
2866
|
+
</td></tr>
|
|
2867
|
+
</tbody></table>
|
|
2868
|
+
|
|
2869
|
+
## Returns
|
|
2870
|
+
|
|
2871
|
+
Promise<boolean>
|
|
2872
|
+
|
|
2873
|
+
Whether the ordering check passed. Until the input parameters are fully developed, the return value has no practical effect and does not wait for the execution result
|
|
2874
|
+
|
|
2875
|
+
## Remarks
|
|
2876
|
+
|
|
2877
|
+
This API currently only supports interactive checking. The input parameters have no effect for now and are reserved for future development
|
|
2878
|
+
|
|
2879
|
+
## Example
|
|
2880
|
+
|
|
2881
|
+
```javascript
|
|
2882
|
+
// 1. 交互式下单检查:弹出检查弹窗等待确认,确认后打开下单页面
|
|
2883
|
+
// const passed = await eda.pcb_ManufactureData.placeSmtComponentsOrder(true);
|
|
2884
|
+
// 2. 静默检查:不弹任何弹窗,忽略警告并直接生成下单资料
|
|
2885
|
+
// const passed = await eda.pcb_ManufactureData.placeSmtComponentsOrder(false, true);
|
|
2886
|
+
// console.log('下单检查结果 ' + passed);
|
|
2887
|
+
// 下单会真实打开订单页面并产生订单数据,案例中不实际执行
|
|
2888
|
+
console.log('演示调用:placeSmtComponentsOrder(true) 交互式检查,或 placeSmtComponentsOrder(false, true) 静默下单');
|
|
2889
|
+
```
|
|
2890
|
+
|
|
2891
|
+
### uploadbomtemplatefile
|
|
2892
|
+
|
|
2893
|
+
# PCB\_ManufactureData.uploadBomTemplateFile() method
|
|
2894
|
+
|
|
2895
|
+
> 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.
|
|
2896
|
+
|
|
2897
|
+
Upload a BOM template file
|
|
2898
|
+
|
|
2899
|
+
## Signature
|
|
2900
|
+
|
|
2901
|
+
```typescript
|
|
2902
|
+
function uploadBomTemplateFile(templateFile: File, template?: string): Promise<string | undefined>;
|
|
2903
|
+
```
|
|
2904
|
+
|
|
2905
|
+
## Parameters
|
|
2906
|
+
|
|
2907
|
+
<table><thead><tr><th>
|
|
2908
|
+
|
|
2909
|
+
Parameter
|
|
2910
|
+
|
|
2911
|
+
</th><th>
|
|
2912
|
+
|
|
2913
|
+
Type
|
|
2914
|
+
|
|
2915
|
+
</th><th>
|
|
2916
|
+
|
|
2917
|
+
Description
|
|
2918
|
+
|
|
2919
|
+
</th></tr></thead>
|
|
2920
|
+
<tbody><tr><td>
|
|
2921
|
+
|
|
2922
|
+
templateFile
|
|
2923
|
+
|
|
2924
|
+
</td><td>
|
|
2925
|
+
|
|
2926
|
+
File
|
|
2927
|
+
|
|
2928
|
+
</td><td>
|
|
2929
|
+
|
|
2930
|
+
BOM template file
|
|
2931
|
+
|
|
2932
|
+
</td></tr>
|
|
2933
|
+
<tr><td>
|
|
2934
|
+
|
|
2935
|
+
template
|
|
2936
|
+
|
|
2937
|
+
</td><td>
|
|
2938
|
+
|
|
2939
|
+
string
|
|
2940
|
+
|
|
2941
|
+
</td><td>
|
|
2942
|
+
|
|
2943
|
+
_(Optional)_ BOM template name. If it is `undefined`<!-- -->, the value is automatically taken from `templateFile`
|
|
2944
|
+
|
|
2945
|
+
</td></tr>
|
|
2946
|
+
</tbody></table>
|
|
2947
|
+
|
|
2948
|
+
## Returns
|
|
2949
|
+
|
|
2950
|
+
Promise<string \| undefined>
|
|
2951
|
+
|
|
2952
|
+
BOM template name
|
|
2953
|
+
|
|
2954
|
+
## Example
|
|
2955
|
+
|
|
2956
|
+
```javascript
|
|
2957
|
+
// 从文件选择器读取模板文件
|
|
2958
|
+
const templateFile = await eda.sys_FileSystem.openReadFileDialog('.xlsx');
|
|
2959
|
+
if (templateFile) {
|
|
2960
|
+
const templateName = await eda.pcb_ManufactureData.uploadBomTemplateFile(
|
|
2961
|
+
templateFile,
|
|
2962
|
+
'MyCustomTemplate'
|
|
2963
|
+
);
|
|
2964
|
+
if (templateName) {
|
|
2965
|
+
console.log('模板上传成功:', templateName);
|
|
2966
|
+
}
|
|
2967
|
+
}
|
|
2968
|
+
```
|