@windypro-rourou/dsh-eda 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/capabilities.js +3 -2
- package/lib/client.js +33 -0
- package/lib/index.js +89 -2
- package/package.json +10 -1
- package/skill/INDEX.md +10 -8
- package/skill/README.md +125 -0
- package/skill/README.zh-Hans.md +125 -0
- package/skill/SKILL.md +746 -746
- package/skill/format/index.md +152 -152
- package/skill/format/pcb/3d.md +166 -166
- package/skill/format/pcb/attr.md +63 -63
- package/skill/format/pcb/common.md +306 -306
- package/skill/format/pcb/component.md +132 -132
- package/skill/format/pcb/dimension.md +58 -58
- package/skill/format/pcb/index.md +17 -17
- package/skill/format/pcb/obj.md +43 -43
- package/skill/format/pcb/pad_via.md +151 -151
- package/skill/format/pcb/panel.md +64 -64
- package/skill/format/pcb/partition.md +43 -43
- package/skill/format/pcb/primitive.md +196 -196
- package/skill/format/pcb/rule.md +71 -71
- package/skill/format/pcb/shape.md +441 -441
- package/skill/format/pcb/text.md +62 -62
- package/skill/format/project/blob.md +30 -30
- package/skill/format/project/common.md +42 -42
- package/skill/format/project/group.md +62 -62
- package/skill/format/project/index.md +12 -12
- package/skill/format/project/instance.md +32 -32
- package/skill/format/project/meta.md +189 -189
- package/skill/format/project/variant.md +30 -30
- package/skill/format/schematic/attr.md +41 -41
- package/skill/format/schematic/common.md +47 -47
- package/skill/format/schematic/component.md +91 -91
- package/skill/format/schematic/index.md +14 -14
- package/skill/format/schematic/obj.md +41 -41
- package/skill/format/schematic/pin.md +59 -59
- package/skill/format/schematic/shape.md +231 -231
- package/skill/format/schematic/structure.md +53 -53
- package/skill/format/schematic/table.md +109 -109
- package/skill/format/schematic/text.md +47 -47
- package/skill/format/schematic/wire.md +132 -132
- package/skill/guide/ancillary-projects/easyeda-api-sdk.md +1 -0
- package/skill/guide/ancillary-projects/pro-api-types.md +5 -5
- package/skill/guide/ancillary-projects.md +10 -10
- package/skill/guide/cli.md +1510 -0
- package/skill/guide/error-handling.md +38 -38
- package/skill/guide/extension-json.md +135 -135
- package/skill/guide/extensions-marketplace.md +61 -61
- package/skill/guide/how-to-start.md +316 -301
- package/skill/guide/i18n.md +57 -57
- package/skill/guide/index.md +7 -7
- package/skill/guide/inline-frame.md +20 -20
- package/skill/guide/invoke-apis.md +81 -81
- package/skill/guide/stability.md +37 -37
- package/skill/references/_index.md +471 -398
- package/skill/references/_quick-reference.md +3103 -3028
- package/skill/references/classes/DMT_Board.md +537 -533
- package/skill/references/classes/DMT_EditorControl.md +1736 -1736
- package/skill/references/classes/DMT_Event.md +356 -356
- package/skill/references/classes/DMT_Folder.md +775 -775
- package/skill/references/classes/DMT_Panel.md +531 -531
- package/skill/references/classes/DMT_Pcb.md +579 -575
- package/skill/references/classes/DMT_Project.md +734 -573
- package/skill/references/classes/DMT_Schematic.md +1482 -1477
- package/skill/references/classes/DMT_SelectControl.md +96 -96
- package/skill/references/classes/DMT_Team.md +172 -172
- package/skill/references/classes/DMT_Workspace.md +198 -198
- package/skill/references/classes/EDA.md +1001 -961
- package/skill/references/classes/IPCB_ComplexPolygon.md +299 -299
- package/skill/references/classes/IPCB_Polygon.md +175 -175
- package/skill/references/classes/IPCB_PrimitiveArc.md +1901 -1901
- package/skill/references/classes/IPCB_PrimitiveAttribute.md +2993 -2993
- package/skill/references/classes/IPCB_PrimitiveComponent.md +2624 -2627
- package/skill/references/classes/IPCB_PrimitiveComponentPad.md +410 -410
- package/skill/references/classes/IPCB_PrimitiveDimension.md +1419 -1419
- package/skill/references/classes/IPCB_PrimitiveFill.md +1325 -1325
- package/skill/references/classes/IPCB_PrimitiveImage.md +1461 -1461
- package/skill/references/classes/IPCB_PrimitiveLine.md +1639 -1639
- package/skill/references/classes/IPCB_PrimitiveObject.md +1700 -1700
- package/skill/references/classes/IPCB_PrimitivePad.md +3155 -3155
- package/skill/references/classes/IPCB_PrimitivePolyline.md +1193 -1193
- package/skill/references/classes/IPCB_PrimitivePour.md +1858 -1858
- package/skill/references/classes/IPCB_PrimitivePoured.md +556 -556
- package/skill/references/classes/IPCB_PrimitiveRegion.md +1332 -1332
- package/skill/references/classes/IPCB_PrimitiveString.md +2315 -2315
- package/skill/references/classes/IPCB_PrimitiveVia.md +1588 -1588
- package/skill/references/classes/ISCH_PrimitiveArc.md +1676 -1676
- package/skill/references/classes/ISCH_PrimitiveAttribute.md +2541 -2541
- package/skill/references/classes/ISCH_PrimitiveBus.md +973 -973
- package/skill/references/classes/ISCH_PrimitiveCbbSymbolComponent.md +260 -260
- package/skill/references/classes/ISCH_PrimitiveCircle.md +1392 -1392
- package/skill/references/classes/ISCH_PrimitiveComponent.md +2910 -2913
- package/skill/references/classes/ISCH_PrimitiveComponentPin.md +155 -155
- package/skill/references/classes/ISCH_PrimitiveObject.md +960 -960
- package/skill/references/classes/ISCH_PrimitivePin.md +2402 -2402
- package/skill/references/classes/ISCH_PrimitivePolygon.md +1028 -1028
- package/skill/references/classes/ISCH_PrimitiveRectangle.md +1777 -1777
- package/skill/references/classes/ISCH_PrimitiveText.md +1771 -1771
- package/skill/references/classes/ISCH_PrimitiveWire.md +973 -973
- package/skill/references/classes/LIB_3DModel.md +782 -780
- package/skill/references/classes/LIB_Cbb.md +957 -957
- package/skill/references/classes/LIB_Classification.md +969 -965
- package/skill/references/classes/LIB_Device.md +1222 -1221
- package/skill/references/classes/LIB_Footprint.md +1298 -1153
- package/skill/references/classes/LIB_LibrariesList.md +361 -329
- package/skill/references/classes/LIB_PanelLibrary.md +855 -855
- package/skill/references/classes/LIB_SelectControl.md +89 -89
- package/skill/references/classes/LIB_SimulationModel.md +807 -821
- package/skill/references/classes/LIB_Symbol.md +1341 -1195
- package/skill/references/classes/PCB_Document.md +1770 -1754
- package/skill/references/classes/PCB_Drc.md +3379 -3375
- package/skill/references/classes/PCB_Event.md +1166 -1081
- package/skill/references/classes/PCB_ImageTool.md +363 -0
- package/skill/references/classes/PCB_Layer.md +1915 -1911
- package/skill/references/classes/PCB_ManufactureData.md +2968 -2968
- package/skill/references/classes/PCB_MathPolygon.md +916 -785
- package/skill/references/classes/PCB_Net.md +1128 -1128
- package/skill/references/classes/PCB_Primitive.md +217 -217
- package/skill/references/classes/PCB_PrimitiveArc.md +820 -894
- package/skill/references/classes/PCB_PrimitiveAttribute.md +635 -717
- package/skill/references/classes/PCB_PrimitiveComponent.md +1050 -1050
- package/skill/references/classes/PCB_PrimitiveDimension.md +789 -833
- package/skill/references/classes/PCB_PrimitiveFill.md +783 -861
- package/skill/references/classes/PCB_PrimitiveImage.md +803 -875
- package/skill/references/classes/PCB_PrimitiveLine.md +787 -858
- package/skill/references/classes/PCB_PrimitiveObject.md +796 -800
- package/skill/references/classes/PCB_PrimitivePad.md +947 -944
- package/skill/references/classes/PCB_PrimitivePolyline.md +744 -819
- package/skill/references/classes/PCB_PrimitivePour.md +808 -845
- package/skill/references/classes/PCB_PrimitivePoured.md +363 -363
- package/skill/references/classes/PCB_PrimitiveRegion.md +765 -799
- package/skill/references/classes/PCB_PrimitiveString.md +828 -910
- package/skill/references/classes/PCB_PrimitiveVia.md +761 -765
- package/skill/references/classes/PCB_RayTracerEngine.md +603 -263
- package/skill/references/classes/PCB_SelectControl.md +495 -495
- package/skill/references/classes/PCB_Tool.md +9 -0
- package/skill/references/classes/PNL_Document.md +83 -83
- package/skill/references/classes/SCH_Document.md +797 -809
- package/skill/references/classes/SCH_Drc.md +246 -242
- package/skill/references/classes/SCH_Event.md +583 -583
- package/skill/references/classes/SCH_ManufactureData.md +1209 -1205
- package/skill/references/classes/SCH_Net.md +200 -200
- package/skill/references/classes/SCH_Netlist.md +191 -191
- package/skill/references/classes/SCH_Primitive.md +337 -337
- package/skill/references/classes/SCH_PrimitiveArc.md +686 -692
- package/skill/references/classes/SCH_PrimitiveAttribute.md +579 -590
- package/skill/references/classes/SCH_PrimitiveBus.md +618 -624
- package/skill/references/classes/SCH_PrimitiveCircle.md +667 -683
- package/skill/references/classes/SCH_PrimitiveComponent.md +2256 -2240
- package/skill/references/classes/SCH_PrimitiveObject.md +666 -666
- package/skill/references/classes/SCH_PrimitivePin.md +737 -754
- package/skill/references/classes/SCH_PrimitivePolygon.md +621 -627
- package/skill/references/classes/SCH_PrimitiveRectangle.md +715 -731
- package/skill/references/classes/SCH_PrimitiveText.md +736 -746
- package/skill/references/classes/SCH_PrimitiveWire.md +701 -703
- package/skill/references/classes/SCH_SelectControl.md +520 -520
- package/skill/references/classes/SCH_SimulationEngine.md +133 -133
- package/skill/references/classes/SCH_Utils.md +121 -121
- package/skill/references/classes/SYS_ClientUrl.md +173 -173
- package/skill/references/classes/SYS_Dialog.md +825 -825
- package/skill/references/classes/SYS_Environment.md +640 -502
- package/skill/references/classes/SYS_ExternalApi.md +246 -0
- package/skill/references/classes/SYS_FileManager.md +1664 -1686
- package/skill/references/classes/SYS_FileSystem.md +1366 -1171
- package/skill/references/classes/SYS_FontManager.md +224 -224
- package/skill/references/classes/SYS_FormatConversion.md +349 -349
- package/skill/references/classes/SYS_HeaderMenu.md +480 -479
- package/skill/references/classes/SYS_Help.md +141 -0
- package/skill/references/classes/SYS_I18n.md +861 -861
- package/skill/references/classes/SYS_IFrame.md +541 -535
- package/skill/references/classes/SYS_LoadingAndProgressBar.md +246 -246
- package/skill/references/classes/SYS_Log.md +422 -424
- package/skill/references/classes/SYS_Math.md +1565 -1565
- package/skill/references/classes/SYS_Message.md +363 -363
- package/skill/references/classes/SYS_MessageBox.md +285 -285
- package/skill/references/classes/SYS_MessageBus.md +1618 -1618
- package/skill/references/classes/SYS_PanelControl.md +696 -696
- package/skill/references/classes/SYS_RightClickMenu.md +175 -175
- package/skill/references/classes/SYS_Setting.md +134 -85
- package/skill/references/classes/SYS_ShortcutKey.md +623 -623
- package/skill/references/classes/SYS_Storage.md +484 -484
- package/skill/references/classes/SYS_Timer.md +447 -447
- package/skill/references/classes/SYS_ToastMessage.md +194 -194
- package/skill/references/classes/SYS_Tool.md +317 -241
- package/skill/references/classes/SYS_Unit.md +594 -594
- package/skill/references/classes/SYS_WebSocket.md +401 -401
- package/skill/references/classes/SYS_Window.md +849 -850
- package/skill/references/enums/EDMT_EditorDocumentType.md +324 -278
- package/skill/references/enums/EDMT_EditorSplitScreenDirection.md +51 -47
- package/skill/references/enums/EDMT_EditorTabEventType.md +68 -62
- package/skill/references/enums/EDMT_IndicatorMarkerType.md +90 -80
- package/skill/references/enums/EDMT_ItemType.md +181 -157
- package/skill/references/enums/EDMT_ProjectCollaborationMode.md +51 -47
- package/skill/references/enums/EDMT_ProjectFileFormat.md +60 -0
- package/skill/references/enums/EDMT_ProjectReadyState.md +82 -0
- package/skill/references/enums/ELIB_DeviceJlcLibraryCategory.md +51 -47
- package/skill/references/enums/ELIB_LibraryType.md +129 -113
- package/skill/references/enums/ELIB_PreviewType.md +77 -69
- package/skill/references/enums/ELIB_SimulationModelType.md +51 -47
- package/skill/references/enums/ELIB_SymbolType.md +142 -124
- package/skill/references/enums/EPCB_AutoRoutingCornerStyle.md +51 -47
- package/skill/references/enums/EPCB_AutoRoutingExistingPrimitiveMode.md +51 -47
- package/skill/references/enums/EPCB_AutoRoutingOptimization.md +51 -47
- package/skill/references/enums/EPCB_DocumentCanvasUpdateCalculationActiveStatus.md +51 -47
- package/skill/references/enums/EPCB_DocumentRatlineCalculatingActiveStatus.md +55 -51
- package/skill/references/enums/EPCB_InactiveLayerDisplayMode.md +64 -58
- package/skill/references/enums/EPCB_LayerColorConfiguration.md +90 -80
- package/skill/references/enums/EPCB_LayerId.md +1169 -881
- package/skill/references/enums/EPCB_LayerStatus.md +64 -58
- package/skill/references/enums/EPCB_LayerType.md +129 -113
- package/skill/references/enums/EPCB_MouseEventType.md +64 -58
- package/skill/references/enums/EPCB_NetEventType.md +64 -58
- package/skill/references/enums/EPCB_PcbPlateType.md +51 -47
- package/skill/references/enums/EPCB_PdfOutputMethod.md +64 -58
- package/skill/references/enums/EPCB_PrimitiveArcInteractiveMode.md +51 -47
- package/skill/references/enums/EPCB_PrimitiveDimensionType.md +64 -58
- package/skill/references/enums/EPCB_PrimitiveEventType.md +64 -58
- package/skill/references/enums/EPCB_PrimitiveFillMode.md +68 -62
- package/skill/references/enums/EPCB_PrimitivePadHeatWeldingConnectionMethod.md +64 -58
- package/skill/references/enums/EPCB_PrimitivePadHoleType.md +64 -58
- package/skill/references/enums/EPCB_PrimitivePadShapeType.md +90 -80
- package/skill/references/enums/EPCB_PrimitivePadType.md +64 -58
- package/skill/references/enums/EPCB_PrimitivePourFillMethod.md +64 -58
- package/skill/references/enums/EPCB_PrimitiveRegionRuleType.md +107 -95
- package/skill/references/enums/EPCB_PrimitiveStringAlignMode.md +142 -124
- package/skill/references/enums/EPCB_PrimitiveType.md +233 -201
- package/skill/references/enums/EPCB_PrimitiveViaType.md +64 -58
- package/skill/references/enums/ESCH_DynamicSimulationEnginePullEventType.md +116 -102
- package/skill/references/enums/ESCH_DynamicSimulationEnginePushEventType.md +90 -80
- package/skill/references/enums/ESCH_ExportDocumentFileType.md +64 -58
- package/skill/references/enums/ESCH_MouseEventType.md +51 -47
- package/skill/references/enums/ESCH_PrimitiveComponentType.md +142 -124
- package/skill/references/enums/ESCH_PrimitiveEventType.md +77 -69
- package/skill/references/enums/ESCH_PrimitiveFillStyle.md +129 -113
- package/skill/references/enums/ESCH_PrimitiveLineType.md +77 -69
- package/skill/references/enums/ESCH_PrimitivePinShape.md +77 -69
- package/skill/references/enums/ESCH_PrimitivePinType.md +168 -146
- package/skill/references/enums/ESCH_PrimitiveTextAlignMode.md +142 -124
- package/skill/references/enums/ESCH_PrimitiveType.md +207 -179
- package/skill/references/enums/ESCH_SimulationNetlistType.md +38 -36
- package/skill/references/enums/ESCH_SpiceSimulationEnginePullEventType.md +51 -47
- package/skill/references/enums/ESCH_SpiceSimulationEnginePushEventType.md +77 -69
- package/skill/references/enums/ESYS_BottomPanelTab.md +94 -80
- package/skill/references/enums/ESYS_HeaderMenuEnvironment.md +181 -157
- package/skill/references/enums/ESYS_ImportProjectBoardOutlineSource.md +55 -51
- package/skill/references/enums/ESYS_ImportProjectImportOption.md +64 -58
- package/skill/references/enums/ESYS_ImportProjectSchematicObjectStyle.md +51 -47
- package/skill/references/enums/ESYS_ImportProjectViaSolderMaskExpansion.md +55 -51
- package/skill/references/enums/ESYS_JobState.md +95 -0
- package/skill/references/enums/ESYS_LeftPanelTab.md +94 -80
- package/skill/references/enums/ESYS_LogType.md +77 -102
- package/skill/references/enums/ESYS_NetlistType.md +129 -113
- package/skill/references/enums/ESYS_PanelPosition.md +69 -0
- package/skill/references/enums/ESYS_PanelTab.md +368 -0
- package/skill/references/enums/ESYS_RightPanelTab.md +237 -201
- package/skill/references/enums/ESYS_ShortcutKeyEffectiveEditorRange.md +220 -190
- package/skill/references/enums/ESYS_ShortcutKeyEffectiveEditorScene.md +103 -91
- package/skill/references/enums/ESYS_StartPageQuickStartItem.md +237 -205
- package/skill/references/enums/ESYS_Theme.md +51 -47
- package/skill/references/enums/ESYS_ToastMessageType.md +90 -80
- package/skill/references/enums/ESYS_Unit.md +116 -102
- package/skill/references/enums/ESYS_WindowEventType.md +64 -47
- package/skill/references/enums/ESYS_WindowOpenTarget.md +51 -47
- package/skill/references/enums/NetportDeviceName.md +146 -146
- package/skill/references/enums/SchToolBarDeviceName.md +278 -278
- package/skill/references/interfaces/BoardProps.md +169 -169
- package/skill/references/interfaces/BorderConfig.md +109 -0
- package/skill/references/interfaces/ButtonProps.md +196 -169
- package/skill/references/interfaces/CellClickInfo.md +142 -0
- package/skill/references/interfaces/CellCoord.md +88 -0
- package/skill/references/interfaces/CheckBoxProps.md +223 -196
- package/skill/references/interfaces/CheckChangeDetail.md +88 -0
- package/skill/references/interfaces/CheckboxEditConfig.md +159 -0
- package/skill/references/interfaces/ClipboardCellData.md +142 -0
- package/skill/references/interfaces/ClipboardConfig.md +115 -0
- package/skill/references/interfaces/ColorPickerProps.md +169 -0
- package/skill/references/interfaces/ColumnDef.md +605 -0
- package/skill/references/interfaces/ColumnEditTrigger.md +57 -0
- package/skill/references/interfaces/ColumnGroupDef.md +192 -0
- package/skill/references/interfaces/ColumnResizeConfig.md +142 -0
- package/skill/references/interfaces/ComponentPropsMap.md +517 -448
- package/skill/references/interfaces/CustomHeaderConfig.md +169 -0
- package/skill/references/interfaces/DialogProps.md +385 -385
- package/skill/references/interfaces/DragSortConfig.md +115 -0
- package/skill/references/interfaces/EditingConfig.md +196 -0
- package/skill/references/interfaces/FilteringConfig.md +250 -0
- package/skill/references/interfaces/FixedColumnConfig.md +88 -0
- package/skill/references/interfaces/FlexItemProps.md +116 -116
- package/skill/references/interfaces/FlexProps.md +224 -224
- package/skill/references/interfaces/GridItemProps.md +143 -143
- package/skill/references/interfaces/GridProps.md +143 -143
- package/skill/references/interfaces/IDMT_BoardItem.md +171 -171
- package/skill/references/interfaces/IDMT_BriefProjectItem.md +171 -171
- package/skill/references/interfaces/IDMT_EditorDocumentItem.md +169 -169
- package/skill/references/interfaces/IDMT_EditorSplitScreenItem.md +173 -173
- package/skill/references/interfaces/IDMT_EditorTabItem.md +169 -169
- package/skill/references/interfaces/IDMT_FolderItem.md +225 -225
- package/skill/references/interfaces/IDMT_IndicatorMarkerShape.md +393 -393
- package/skill/references/interfaces/IDMT_PanelItem.md +144 -144
- package/skill/references/interfaces/IDMT_PcbItem.md +171 -171
- package/skill/references/interfaces/IDMT_ProjectItem.md +143 -143
- package/skill/references/interfaces/IDMT_SchematicItem.md +225 -225
- package/skill/references/interfaces/IDMT_SchematicPageItem.md +198 -198
- package/skill/references/interfaces/IDMT_TeamItem.md +144 -144
- package/skill/references/interfaces/IDMT_WorkspaceItem.md +117 -117
- package/skill/references/interfaces/IDesignPortal.md +103 -103
- package/skill/references/interfaces/ILIB_3DModelItem.md +198 -198
- package/skill/references/interfaces/ILIB_3DModelSearchItem.md +277 -277
- package/skill/references/interfaces/ILIB_CbbItem.md +225 -225
- package/skill/references/interfaces/ILIB_CbbSearchItem.md +277 -277
- package/skill/references/interfaces/ILIB_ClassificationIndex.md +150 -150
- package/skill/references/interfaces/ILIB_ClassificationNode.md +98 -0
- package/skill/references/interfaces/ILIB_DeviceAssociationItem.md +210 -210
- package/skill/references/interfaces/ILIB_DeviceExtendPropertyItem.md +304 -304
- package/skill/references/interfaces/ILIB_DeviceItem.md +279 -279
- package/skill/references/interfaces/ILIB_DevicePropertiesForSearch.md +250 -250
- package/skill/references/interfaces/ILIB_DeviceSearchItem.md +521 -521
- package/skill/references/interfaces/ILIB_ExtendLibrary3DModelFunctions.md +64 -64
- package/skill/references/interfaces/ILIB_ExtendLibraryCbbFunctions.md +93 -99
- package/skill/references/interfaces/ILIB_ExtendLibraryClassificationIndex.md +150 -150
- package/skill/references/interfaces/ILIB_ExtendLibraryDeviceFunctions.md +143 -157
- package/skill/references/interfaces/ILIB_ExtendLibraryFootprintFunctions.md +63 -63
- package/skill/references/interfaces/ILIB_ExtendLibraryFunctions.md +123 -123
- package/skill/references/interfaces/ILIB_ExtendLibraryItem.md +97 -97
- package/skill/references/interfaces/ILIB_ExtendLibraryItemIndex.md +98 -98
- package/skill/references/interfaces/ILIB_ExtendLibrarySearchProperty.md +115 -115
- package/skill/references/interfaces/ILIB_ExtendLibrarySearchResult.md +169 -169
- package/skill/references/interfaces/ILIB_ExtendLibrarySearchResultDataLine.md +234 -234
- package/skill/references/interfaces/ILIB_ExtendLibrarySymbolFunctions.md +91 -105
- package/skill/references/interfaces/ILIB_ExtendLibraryUserIndex.md +96 -96
- package/skill/references/interfaces/ILIB_FootprintItem.md +256 -198
- package/skill/references/interfaces/ILIB_FootprintPropertiesForSearch.md +61 -61
- package/skill/references/interfaces/ILIB_FootprintSearchItem.md +277 -277
- package/skill/references/interfaces/ILIB_LibraryInfo.md +92 -92
- package/skill/references/interfaces/ILIB_LibraryItem.md +115 -115
- package/skill/references/interfaces/ILIB_PanelLibraryItem.md +198 -198
- package/skill/references/interfaces/ILIB_PanelLibrarySearchItem.md +277 -277
- package/skill/references/interfaces/ILIB_RegisterExtendLibraryProps.md +71 -0
- package/skill/references/interfaces/ILIB_SimulationModelItem.md +306 -306
- package/skill/references/interfaces/ILIB_SimulationModelSearchItem.md +304 -304
- package/skill/references/interfaces/ILIB_SymbolItem.md +306 -279
- package/skill/references/interfaces/ILIB_SymbolPropertiesForSearch.md +61 -61
- package/skill/references/interfaces/ILIB_SymbolSearchItem.md +304 -304
- package/skill/references/interfaces/IPCB_AutoLayoutResult.md +169 -169
- package/skill/references/interfaces/IPCB_AutoRoutingProps.md +220 -220
- package/skill/references/interfaces/IPCB_AutoRoutingResult.md +169 -169
- package/skill/references/interfaces/IPCB_BomPropertiesTableColumns.md +169 -169
- package/skill/references/interfaces/IPCB_DifferentialPairItem.md +115 -115
- package/skill/references/interfaces/IPCB_DiscretizeOptions.md +65 -65
- package/skill/references/interfaces/IPCB_DiscretizedPoint.md +88 -88
- package/skill/references/interfaces/IPCB_EqualLengthNetGroupItem.md +115 -115
- package/skill/references/interfaces/IPCB_LayerItem.md +277 -277
- package/skill/references/interfaces/IPCB_NetClassItem.md +115 -115
- package/skill/references/interfaces/IPCB_NetInfo.md +115 -115
- package/skill/references/interfaces/IPCB_PadPairGroupItem.md +88 -88
- package/skill/references/interfaces/IPCB_PadPairMinWireLengthItem.md +88 -88
- package/skill/references/interfaces/IPCB_PhysicalStackingConfiguration.md +115 -115
- package/skill/references/interfaces/IPCB_Primitive.md +218 -218
- package/skill/references/interfaces/IPCB_PrimitiveAPI.md +174 -175
- package/skill/references/interfaces/IPCB_PrimitivePadHeatWelding.md +151 -151
- package/skill/references/interfaces/IPCB_PrimitivePouredPourFill.md +142 -142
- package/skill/references/interfaces/IPCB_PrimitiveSolderMaskAndPasteMaskExpansion.md +154 -154
- package/skill/references/interfaces/IPCB_RayTracerBackgroundConfig.md +223 -0
- package/skill/references/interfaces/IPCB_RayTracerLightConfig.md +412 -0
- package/skill/references/interfaces/IPCB_RayTracerMaterialConfig.md +547 -0
- package/skill/references/interfaces/IPCB_RayTracerPcbMaterialConfig.md +196 -0
- package/skill/references/interfaces/IPCB_RayTracerRenderConfigurations.md +200 -0
- package/skill/references/interfaces/IPCB_RayTracerRendererConfig.md +196 -0
- package/skill/references/interfaces/IPCB_RayTracerSceneElement.md +115 -0
- package/skill/references/interfaces/IPCB_RayTracerSceneElementTransform.md +123 -0
- package/skill/references/interfaces/IPCB_RayTracerTexture.md +88 -0
- package/skill/references/interfaces/IPCB_SubstratePhysicalProperties.md +88 -88
- package/skill/references/interfaces/IRawNet.md +103 -103
- package/skill/references/interfaces/IRawPureSchematic.md +80 -80
- package/skill/references/interfaces/IRawSchematic.md +103 -103
- package/skill/references/interfaces/IRawWire.md +149 -149
- package/skill/references/interfaces/ISCH_DrcError.md +142 -142
- package/skill/references/interfaces/ISCH_DrcErrorPrimitive.md +142 -142
- package/skill/references/interfaces/ISCH_ExportPngResolution.md +94 -94
- package/skill/references/interfaces/ISCH_NetInfo.md +88 -88
- package/skill/references/interfaces/ISCH_Primitive.md +218 -219
- package/skill/references/interfaces/ISCH_PrimitiveAPI.md +174 -175
- package/skill/references/interfaces/ISCH_ProjectNetInfo.md +142 -142
- package/skill/references/interfaces/ISCH_WireInfo.md +169 -169
- package/skill/references/interfaces/ISYS_ComparisonResponse.md +115 -0
- package/skill/references/interfaces/ISYS_ExtensionExternalApiIndex.md +13 -0
- package/skill/references/interfaces/ISYS_ExtensionRegisteredExternalApis.md +13 -0
- package/skill/references/interfaces/ISYS_ExternalApiHelp.md +173 -0
- package/skill/references/interfaces/ISYS_ExternalApiRegistration.md +146 -0
- package/skill/references/interfaces/ISYS_FileSystemFileList.md +169 -169
- package/skill/references/interfaces/ISYS_HeaderMenuSub1MenuItem.md +205 -174
- package/skill/references/interfaces/ISYS_HeaderMenuSub2MenuItem.md +178 -147
- package/skill/references/interfaces/ISYS_HeaderMenuTopMenuItem.md +115 -115
- package/skill/references/interfaces/ISYS_HeaderMenus.md +408 -408
- package/skill/references/interfaces/ISYS_HelpAudienceEntry.md +92 -0
- package/skill/references/interfaces/ISYS_HelpClassSummary.md +205 -0
- package/skill/references/interfaces/ISYS_HelpData.md +92 -0
- package/skill/references/interfaces/ISYS_HelpMethodDetail.md +310 -0
- package/skill/references/interfaces/ISYS_JobHandle.md +65 -0
- package/skill/references/interfaces/ISYS_JobLogEntry.md +142 -0
- package/skill/references/interfaces/ISYS_JobStatus.md +176 -0
- package/skill/references/interfaces/ISYS_LogLine.md +115 -115
- package/skill/references/interfaces/ISYS_MathBBox.md +142 -142
- package/skill/references/interfaces/ISYS_MathPoint.md +88 -88
- package/skill/references/interfaces/ISYS_MathPolygonWithHoles.md +92 -92
- package/skill/references/interfaces/ISYS_MessageBusTask.md +115 -115
- package/skill/references/interfaces/ISYS_MultilingualLanguagesData.md +12 -12
- package/skill/references/interfaces/ISYS_RightClickMenuItem.md +174 -174
- package/skill/references/interfaces/ISYS_ShortcutKeyData.md +169 -169
- package/skill/references/interfaces/ISYS_ShortcutKeyDataWithCallFn.md +62 -62
- package/skill/references/interfaces/ISYS_ShortcutKeyDataWithUserDefinedShortcutKey.md +62 -62
- package/skill/references/interfaces/ISYS_WindowEventListenerRemovableObject.md +109 -109
- package/skill/references/interfaces/IconProps.md +88 -88
- package/skill/references/interfaces/ImageProps.md +115 -115
- package/skill/references/interfaces/InputEditConfig.md +182 -0
- package/skill/references/interfaces/InputProps.md +547 -520
- package/skill/references/interfaces/KeyboardConfig.md +61 -0
- package/skill/references/interfaces/ListChildren.md +223 -223
- package/skill/references/interfaces/ListProps.md +250 -223
- package/skill/references/interfaces/ModalProps.md +358 -358
- package/skill/references/interfaces/NumberEditConfig.md +234 -0
- package/skill/references/interfaces/RadioGroupProps.md +196 -196
- package/skill/references/interfaces/RadioItem.md +115 -115
- package/skill/references/interfaces/RichTableProps.md +1357 -0
- package/skill/references/interfaces/RowMetaConfig.md +142 -0
- package/skill/references/interfaces/ScrollerProps.md +169 -169
- package/skill/references/interfaces/SelectEditConfig.md +211 -0
- package/skill/references/interfaces/SelectListItem.md +142 -142
- package/skill/references/interfaces/SelectOption.md +142 -0
- package/skill/references/interfaces/SelectProps.md +169 -169
- package/skill/references/interfaces/SelectionConfig.md +358 -0
- package/skill/references/interfaces/SliderProps.md +142 -0
- package/skill/references/interfaces/SlotProps.md +88 -88
- package/skill/references/interfaces/SortState.md +88 -0
- package/skill/references/interfaces/SortingConfig.md +169 -0
- package/skill/references/interfaces/StyleProps.md +439 -385
- package/skill/references/interfaces/TextAreaProps.md +196 -196
- package/skill/references/interfaces/TextProps.md +169 -169
- package/skill/references/interfaces/TextareaEditConfig.md +182 -0
- package/skill/references/interfaces/ValidationRule.md +223 -0
- package/skill/references/interfaces/VirtualScrollConfig.md +115 -0
- package/skill/references/types/Align.md +9 -0
- package/skill/references/types/CellContentType.md +9 -0
- package/skill/references/types/ColumnDefOrGroup.md +12 -0
- package/skill/references/types/ColumnEditConfig.md +13 -0
- package/skill/references/types/ColumnType.md +9 -0
- package/skill/references/types/DataChangeType.md +9 -0
- package/skill/references/types/FilterMatchMode.md +9 -0
- package/skill/references/types/RichTableRow.md +12 -0
- package/skill/references/types/Serializable.md +10 -0
- package/skill/references/types/SerializablePrimitive.md +9 -0
- package/skill/references/types/SortOrder.md +9 -0
- package/skill/references/types/TPCB_LayerTypesOfInnerLayer.md +11 -11
- package/skill/references/types/TPCB_LayersInTheSelectable.md +42 -42
- package/skill/references/types/TPCB_LayersOfComponent.md +11 -11
- package/skill/references/types/TPCB_LayersOfCopper.md +15 -15
- package/skill/references/types/TPCB_LayersOfCustom.md +41 -41
- package/skill/references/types/TPCB_LayersOfDimension.md +16 -16
- package/skill/references/types/TPCB_LayersOfFill.md +28 -28
- package/skill/references/types/TPCB_LayersOfImage.md +22 -22
- package/skill/references/types/TPCB_LayersOfInner.md +41 -41
- package/skill/references/types/TPCB_LayersOfLine.md +25 -25
- package/skill/references/types/TPCB_LayersOfObject.md +12 -12
- package/skill/references/types/TPCB_LayersOfPad.md +11 -11
- package/skill/references/types/TPCB_LayersOfRegion.md +11 -11
- package/skill/references/types/TPCB_NumberOfCopperLayers.md +9 -9
- package/skill/references/types/TPCB_PolygonSourceArray.md +85 -83
- package/skill/references/types/TPCB_PrimitiveDimensionCoordinateSet.md +66 -66
- package/skill/references/types/TPCB_PrimitivePadHole.md +30 -30
- package/skill/references/types/TPCB_PrimitivePadShape.md +61 -61
- package/skill/references/types/TPCB_PrimitiveSpecialPadShape.md +19 -19
- package/skill/references/types/TSYS_ComparisonErrorCode.md +15 -0
- package/skill/references/types/TSYS_LanguageKeyValuePairs.md +13 -0
- package/skill/references/types/TSYS_MathPolygonGroup.md +15 -15
- package/skill/references/types/TSYS_MathPolygonInput.md +20 -20
- package/skill/references/types/TSYS_ShortcutKeys.md +96 -96
- package/skill/user-guide/using-extension.md +47 -47
- package/src/json-gen.test.js +430 -0
- package/skill/guide/ancillary-projects/pro-api-sdk.md +0 -1
- package/skill/references/interfaces/ISYS_PcbComparisonResponse.md +0 -115
- package/skill/references/types/ISYS_LanguageKeyValuePairs.md +0 -13
- package/skill/references/types/TSYS_PcbComparisonErrorCode.md +0 -10
|
@@ -1,306 +1,306 @@
|
|
|
1
|
-
# Common Format
|
|
2
|
-
|
|
3
|
-
This chapter details the format specification of the EasyEDA PCB file. PCB files mainly consist of the following parts:
|
|
4
|
-
|
|
5
|
-
- **Common Format**: Document header, canvas, layer, physical layer, preferences, etc.
|
|
6
|
-
- **Partition Format**: Partition definitions.
|
|
7
|
-
- **Basic Primitives**: Nets, primitive configurations, groups, silkscreen configurations, associations, attributes, etc.
|
|
8
|
-
- **Pads and Vias**: Pads and vias.
|
|
9
|
-
- **Shape Primitives**: Lines, arcs, polygon systems, polylines, fills, regions, copper pours, images, teardrops, etc.
|
|
10
|
-
- **Binary Objects**: Embedded objects.
|
|
11
|
-
- **3D Shell**: Shells, creases, entities, bosses.
|
|
12
|
-
- **Text System**: Text.
|
|
13
|
-
- **Attributes**: Attributes.
|
|
14
|
-
- **Dimension Tools**: Dimension annotations.
|
|
15
|
-
- **Footprint System**: Component instances.
|
|
16
|
-
- **Panelization**: Panelization parameters.
|
|
17
|
-
- **Design Rules**: Rule templates, rules.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
## Document Header
|
|
22
|
-
|
|
23
|
-
```json
|
|
24
|
-
{ "type": "DOCHEAD" }||{ "docType": "PCB", "uuid": "UUID", "client": "clientID" }|
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
```json
|
|
28
|
-
{ "type": "DOCHEAD" }||{ "docType": "FOOTPRINT", "uuid": "UUID", "client": "clientID" }|
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
- type: "DOCHEAD", document header identifier.
|
|
32
|
-
- docType: document type, "PCB" PCB, "FOOTPRINT" footprint.
|
|
33
|
-
- uuid: document unique ID, unique within the project.
|
|
34
|
-
- client: terminal identifier for eventual consistency.
|
|
35
|
-
|
|
36
|
-
## CANVAS Canvas Configuration
|
|
37
|
-
|
|
38
|
-
```json
|
|
39
|
-
{ "type": "CANVAS", "ticket": 1 }||
|
|
40
|
-
{
|
|
41
|
-
"originX":0,
|
|
42
|
-
"originY":0,
|
|
43
|
-
"unit":"mm",
|
|
44
|
-
"gridXSize":10,
|
|
45
|
-
"gridYSize":10,
|
|
46
|
-
"snapXSize":1,
|
|
47
|
-
"snapYSize":1,
|
|
48
|
-
"altSnapXSize":0.1,
|
|
49
|
-
"altSnapYSize":0.1,
|
|
50
|
-
"gridType":1,
|
|
51
|
-
"multiGridType":0,
|
|
52
|
-
"multiGridRatio":5,
|
|
53
|
-
}|
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
1. type canvas configuration `CANVAS`.
|
|
57
|
-
2. ticket logical clock.
|
|
58
|
-
3. originX canvas origin X.
|
|
59
|
-
4. originY canvas origin Y.
|
|
60
|
-
5. unit **display** unit (does not affect the unit of data in the format).
|
|
61
|
-
6. gridXSize grid size X.
|
|
62
|
-
7. gridYSize grid size Y.
|
|
63
|
-
8. snapXSize snap size X.
|
|
64
|
-
9. snapYSize snap size Y.
|
|
65
|
-
10. altSnapXSize Alt snap size X.
|
|
66
|
-
11. altSnapYSize Alt snap size Y.
|
|
67
|
-
12. gridType grid type: `0` none, `1` grid, `2` dot.
|
|
68
|
-
13. multiGridType bold grid type: `0` none, `1` grid, `2` dot.
|
|
69
|
-
14. multiGridRatio bold grid ratio: number.
|
|
70
|
-
|
|
71
|
-
## LAYER Layer Configuration
|
|
72
|
-
|
|
73
|
-
- The order in which `SIGNAL`, `PLANE`, and `SUBSTRATE` appear implies their physical stacking order.
|
|
74
|
-
- The number of `SIGNAL`, `PLANE`, and `SUBSTRATE` layers is unlimited.
|
|
75
|
-
- The format does not assume a stable relationship between layer number and layer; specific implementation is decided by the tool.
|
|
76
|
-
|
|
77
|
-
```json
|
|
78
|
-
{ "type": "LAYER","id": 0, "ticket": 1 }||
|
|
79
|
-
{
|
|
80
|
-
"layerType":"TOP",
|
|
81
|
-
"layerName":"Top Layer",
|
|
82
|
-
"status":1,
|
|
83
|
-
"activeColor":"#FF0000",
|
|
84
|
-
"activateTransparency":0.5,
|
|
85
|
-
"inactiveColor":"#880000",
|
|
86
|
-
"inactiveTransparency":0.3,
|
|
87
|
-
}|
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
1. type layer `LAYER`.
|
|
91
|
-
2. id layer number, unique.
|
|
92
|
-
3. ticket logical clock.
|
|
93
|
-
4. layerType layer type.
|
|
94
|
-
5. layerName layer alias, must be unique.
|
|
95
|
-
6. status status: `1` used, `2` displayed, `4` locked. Can be combined by addition, e.g.
|
|
96
|
-
- used and displayed: 3 = 1 + 2
|
|
97
|
-
- used and locked but not displayed: 5 = 1 + 4
|
|
98
|
-
- used, displayed, and locked: 7 = 1 + 2 + 4
|
|
99
|
-
7. activeColor active color.
|
|
100
|
-
8. activateTransparency active transparency.
|
|
101
|
-
9. inactiveColor inactive color.
|
|
102
|
-
10. inactiveTransparency inactive transparency.
|
|
103
|
-
|
|
104
|
-
```json
|
|
105
|
-
["LAYER",2,"BOTTOM","Bottom Layer",1,"#0000ff",1,"#00007f",1]
|
|
106
|
-
["LAYER",3,"TOP_SILK","Top Silkscreen Layer",1,"#ffcc00",1,"#7f6600",1]
|
|
107
|
-
["LAYER",4,"BOT_SILK","Bottom Silkscreen Layer",1,"#66cc33",1,"#336619",1]
|
|
108
|
-
["LAYER",5,"TOP_SOLDER_MASK","Top Solder Mask Layer",1,"#800080",1,"#400040",1]
|
|
109
|
-
["LAYER",6,"BOT_SOLDER_MASK","Bottom Solder Mask Layer",1,"#aa00ff",1,"#55007f",1]
|
|
110
|
-
["LAYER",7,"TOP_PASTE_MASK","Top Paste Mask Layer",1,"#808080",1,"#404040",1]
|
|
111
|
-
["LAYER",8,"BOT_PASTE_MASK","Bottom Paste Mask Layer",1,"#800000",1,"#400000",1]
|
|
112
|
-
["LAYER",9,"TOP_ASSEMBLY","Top Assembly Layer",1,"#33cc99",1,"#19664c",1]
|
|
113
|
-
["LAYER",10,"BOT_ASSEMBLY","Bottom Assembly Layer",1,"#5555ff",1,"#2a2a7f",1]
|
|
114
|
-
["LAYER",11,"OUTLINE","Board Outline Layer",1,"#ff00ff",1,"#7f007f",1]
|
|
115
|
-
["LAYER",12,"MULTI","Multi-Layer",1,"#c0c0c0",1,"#606060",1]
|
|
116
|
-
["LAYER",13,"DOCUMENT","Document Layer",1,"#ffffff",1,"#7f7f7f",1]
|
|
117
|
-
["LAYER",14,"MECHANICAL","Mechanical Layer",1,"#f022f0",1,"#781178",1]
|
|
118
|
-
["LAYER",50,"SUBSTRATE","Dialectric1",3,"#999966",1,"#4c4c33",1]
|
|
119
|
-
["LAYER",15,"SIGNAL","Inner1",3,"#999966",1,"#4c4c33",1]
|
|
120
|
-
["LAYER",52,"SUBSTRATE","Dialectric3",3,"#999966",1,"#4c4c33",1]
|
|
121
|
-
["LAYER",51,"SUBSTRATE","Dialectric2",3,"#999966",1,"#4c4c33",1]
|
|
122
|
-
["LAYER",17,"SIGNAL","Inner2",3,"#008000",1,"#004000",1]
|
|
123
|
-
["LAYER",58,"SUBSTRATE","Dialectric9",3,"#999966",1,"#4c4c33",1]
|
|
124
|
-
["LAYER",16,"SIGNAL","Inner3",3,"#999966",1,"#4c4c33",1]
|
|
125
|
-
["LAYER",53,"SUBSTRATE","Dialectric4",3,"#999966",1,"#4c4c33",1]
|
|
126
|
-
["LAYER",47,"HOLE","Hole Layer",1,"#222222",1,"#111111",1]
|
|
127
|
-
["LAYER",48,"SHELL","3D Shell Layer",1,"#222222",1,"#111111",1]
|
|
128
|
-
["LAYER",49,"TOP_SHELL","Top 3D Shell Layer",1,"#222222",1,"#111111",1]
|
|
129
|
-
["LAYER",50,"BOT_SHELL","Bottom 3D Shell Layer",1,"#222222",1,"#111111",1]
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
## LAYER_PHYS Layer Physical Properties Configuration
|
|
133
|
-
|
|
134
|
-
```json
|
|
135
|
-
{ "type": "LAYER_PHYS","id": 0, "ticket": 1 }||
|
|
136
|
-
{
|
|
137
|
-
"material":"COPPER",
|
|
138
|
-
"thickness":1,
|
|
139
|
-
"permittivity":0,
|
|
140
|
-
"lossTangent":0,
|
|
141
|
-
"isKeepIsland":0,
|
|
142
|
-
}|
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
1. type layer physical properties `LAYER_PHYS`.
|
|
146
|
-
2. id layer number.
|
|
147
|
-
3. ticket logical clock.
|
|
148
|
-
4. material layer material.
|
|
149
|
-
5. thickness thickness.
|
|
150
|
-
6. permittivity permittivity.
|
|
151
|
-
7. lossTangent loss tangent.
|
|
152
|
-
8. isKeepIsland whether to keep islands on internal plane layers.
|
|
153
|
-
|
|
154
|
-
```json
|
|
155
|
-
{ "type": "LAYER_PHYS","id": 2, "ticket": 1 }||
|
|
156
|
-
{
|
|
157
|
-
"material":"COPPER",
|
|
158
|
-
"thickness":1,
|
|
159
|
-
"permittivity":0,
|
|
160
|
-
"lossTangent":0,
|
|
161
|
-
"isKeepIsland":0,
|
|
162
|
-
}|
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
```json
|
|
166
|
-
{ "type": "LAYER_PHYS","id": 15, "ticket": 1 }||
|
|
167
|
-
{
|
|
168
|
-
"material":"COPPER",
|
|
169
|
-
"thickness":1,
|
|
170
|
-
"permittivity":0,
|
|
171
|
-
"lossTangent":0,
|
|
172
|
-
"isKeepIsland":1,
|
|
173
|
-
}|
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
```json
|
|
177
|
-
{ "type": "LAYER_PHYS","id": 50, "ticket": 1 }||
|
|
178
|
-
{
|
|
179
|
-
"material":"COPPER",
|
|
180
|
-
"thickness":10,
|
|
181
|
-
"permittivity":4.5,
|
|
182
|
-
"lossTangent":0.02,
|
|
183
|
-
"isKeepIsland":0,
|
|
184
|
-
}|
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
## ACTIVE_LAYER Active Layer Configuration
|
|
188
|
-
|
|
189
|
-
```json
|
|
190
|
-
{ "type": "ACTIVE_LAYER", "ticket": 1 }||
|
|
191
|
-
{
|
|
192
|
-
"layerId":0,
|
|
193
|
-
}|
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
1. type current active layer `ACTIVE_LAYER`.
|
|
197
|
-
2. ticket logical clock.
|
|
198
|
-
3. layerId layer index.
|
|
199
|
-
|
|
200
|
-
## SILK_OPTS Silkscreen Configuration
|
|
201
|
-
|
|
202
|
-
Silkscreen configuration is currently mainly used for colored silkscreen processes.
|
|
203
|
-
|
|
204
|
-
```json
|
|
205
|
-
{ "type": "SILK_OPTS","id": 3, "ticket": 1 }||
|
|
206
|
-
{
|
|
207
|
-
"defaultColor":"#ffffff",
|
|
208
|
-
"baseColor":"#000000",
|
|
209
|
-
}|
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
1. type silkscreen configuration: SILK_OPTS.
|
|
213
|
-
2. id layer number: only top silkscreen and bottom silkscreen.
|
|
214
|
-
3. ticket logical clock.
|
|
215
|
-
4. defaultColor default color.
|
|
216
|
-
5. baseColor base color.
|
|
217
|
-
|
|
218
|
-
```json
|
|
219
|
-
{ "type": "SILK_OPTS","id": 4, "ticket": 1 }||
|
|
220
|
-
{
|
|
221
|
-
"defaultColor":"#020202",
|
|
222
|
-
"baseColor":"#aaaaaa",
|
|
223
|
-
}|
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
## PREFERENCE Preferences
|
|
227
|
-
|
|
228
|
-
```json
|
|
229
|
-
{ "type": "PREFERENCE", "ticket": 1 }||
|
|
230
|
-
{
|
|
231
|
-
"startTrackWidthFollowLast":0,
|
|
232
|
-
"lastTrackWidth":10,
|
|
233
|
-
"startViaSizeFollowLast":0,
|
|
234
|
-
"lastViaInnerDiameter":39.37,
|
|
235
|
-
"lastViaDiameter":78.74,
|
|
236
|
-
"snap":1,
|
|
237
|
-
"routingMode":2,
|
|
238
|
-
"routingCorner":"L45",
|
|
239
|
-
"removeLoop":1,
|
|
240
|
-
"rotatingObject":0,
|
|
241
|
-
"trackFollow":0,
|
|
242
|
-
"stretchTrackMinCorner":1,
|
|
243
|
-
"preferenceConfig":null,
|
|
244
|
-
"realTimeUpdateUnusedLayers":0,
|
|
245
|
-
"unusedPadRange":3,
|
|
246
|
-
"pushVia":"OPTIMIZA_OPEN",
|
|
247
|
-
"pathOptimization4BePushed":0,
|
|
248
|
-
"currentPathOptimization4BePushed":"OPTIMIZA_WEAK",
|
|
249
|
-
"removeCircuitsContainingVias":1,
|
|
250
|
-
"removeAntenna":1,
|
|
251
|
-
}|
|
|
252
|
-
```
|
|
253
|
-
|
|
254
|
-
1. type preferences `PREFERENCE`.
|
|
255
|
-
2. ticket logical clock.
|
|
256
|
-
3. startTrackWidthFollowLast whether starting track width follows last setting.
|
|
257
|
-
4. lastTrackWidth last track width.
|
|
258
|
-
5. startViaSizeFollowLast whether starting via size follows last setting.
|
|
259
|
-
6. lastViaInnerDiameter last via inner diameter.
|
|
260
|
-
7. lastViaDiameter last via outer diameter.
|
|
261
|
-
8. snap whether auto-snap.
|
|
262
|
-
9. routingMode routing mode: `0` none, `1` push, `2` hug, `3` block.
|
|
263
|
-
10. routingCorner routing corner mode.
|
|
264
|
-
- `"L45"` line 45 degrees.
|
|
265
|
-
- `"L90"` line 90 degrees.
|
|
266
|
-
- `"R45"` arc 45 degrees.
|
|
267
|
-
- `"R90"` arc 90 degrees.
|
|
268
|
-
- `"L"` free-angle line.
|
|
269
|
-
- `"R"` free-angle arc.
|
|
270
|
-
11. removeLoop whether routing automatically removes loops.
|
|
271
|
-
12. rotatingObject whether single-object rotation.
|
|
272
|
-
13. trackFollow whether tracks follow footprint movement.
|
|
273
|
-
14. stretchTrackMinCorner stretch track minimum corner ratio (to track width).
|
|
274
|
-
15. preferenceConfig layer stack preference source.
|
|
275
|
-
16. realTimeUpdateUnusedLayers whether to automatically remove unused pads.
|
|
276
|
-
17. unusedPadRange range for removing unused pads.
|
|
277
|
-
1. all.
|
|
278
|
-
2. pads only.
|
|
279
|
-
3. vias only.
|
|
280
|
-
18. pushVia push via.
|
|
281
|
-
19. pathOptimization4BePushed path optimization (single segment / whole segment).
|
|
282
|
-
20. currentPathOptimization4BePushed current track path optimization.
|
|
283
|
-
21. removeCircuitsContainingVias whether to remove loops containing vias.
|
|
284
|
-
22. removeAntenna whether to remove antennas.
|
|
285
|
-
|
|
286
|
-
## ITEM_ORDER Primitive Order Suggestion
|
|
287
|
-
|
|
288
|
-
Provides a primitive order suggestion for the PCB. The PCB can arrange primitive order according to this information. This information can only appear once.
|
|
289
|
-
|
|
290
|
-
```json
|
|
291
|
-
{ "type": "ITEM_ORDER", "ticket": 1 }||{ "ids":["e2", "e1"] }|
|
|
292
|
-
```
|
|
293
|
-
|
|
294
|
-
1. type primitive order suggestion: ITEM_ORDER.
|
|
295
|
-
2. ticket logical clock.
|
|
296
|
-
3. ids primitive IDs, two encoding forms:
|
|
297
|
-
1. Normal ID: form `/^[a-z]+\d+$/i`, e.g. `e1`, `e123`.
|
|
298
|
-
2. Footprint instance ID: form `/^[a-z]+\d+[a-z]+\d+$/i`, used for silkscreen in footprints, e.g. `e1e5`, `e12e22`.
|
|
299
|
-
|
|
300
|
-
To explain why it is called a "suggestion": if `e1` is a top-layer primitive and `e2` is a bottom-layer primitive, then
|
|
301
|
-
|
|
302
|
-
```json
|
|
303
|
-
{ "type": "ITEM_ORDER", "ticket": 1 }||{ "ids":["e2", "e1"] }|
|
|
304
|
-
```
|
|
305
|
-
|
|
306
|
-
the default is still `e1` on top, unless some special operation causes the bottom layer to be brought to the front.
|
|
1
|
+
# Common Format
|
|
2
|
+
|
|
3
|
+
This chapter details the format specification of the EasyEDA PCB file. PCB files mainly consist of the following parts:
|
|
4
|
+
|
|
5
|
+
- **Common Format**: Document header, canvas, layer, physical layer, preferences, etc.
|
|
6
|
+
- **Partition Format**: Partition definitions.
|
|
7
|
+
- **Basic Primitives**: Nets, primitive configurations, groups, silkscreen configurations, associations, attributes, etc.
|
|
8
|
+
- **Pads and Vias**: Pads and vias.
|
|
9
|
+
- **Shape Primitives**: Lines, arcs, polygon systems, polylines, fills, regions, copper pours, images, teardrops, etc.
|
|
10
|
+
- **Binary Objects**: Embedded objects.
|
|
11
|
+
- **3D Shell**: Shells, creases, entities, bosses.
|
|
12
|
+
- **Text System**: Text.
|
|
13
|
+
- **Attributes**: Attributes.
|
|
14
|
+
- **Dimension Tools**: Dimension annotations.
|
|
15
|
+
- **Footprint System**: Component instances.
|
|
16
|
+
- **Panelization**: Panelization parameters.
|
|
17
|
+
- **Design Rules**: Rule templates, rules.
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
## Document Header
|
|
22
|
+
|
|
23
|
+
```json
|
|
24
|
+
{ "type": "DOCHEAD" }||{ "docType": "PCB", "uuid": "UUID", "client": "clientID" }|
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
```json
|
|
28
|
+
{ "type": "DOCHEAD" }||{ "docType": "FOOTPRINT", "uuid": "UUID", "client": "clientID" }|
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
- type: "DOCHEAD", document header identifier.
|
|
32
|
+
- docType: document type, "PCB" PCB, "FOOTPRINT" footprint.
|
|
33
|
+
- uuid: document unique ID, unique within the project.
|
|
34
|
+
- client: terminal identifier for eventual consistency.
|
|
35
|
+
|
|
36
|
+
## CANVAS Canvas Configuration
|
|
37
|
+
|
|
38
|
+
```json
|
|
39
|
+
{ "type": "CANVAS", "ticket": 1 }||
|
|
40
|
+
{
|
|
41
|
+
"originX":0,
|
|
42
|
+
"originY":0,
|
|
43
|
+
"unit":"mm",
|
|
44
|
+
"gridXSize":10,
|
|
45
|
+
"gridYSize":10,
|
|
46
|
+
"snapXSize":1,
|
|
47
|
+
"snapYSize":1,
|
|
48
|
+
"altSnapXSize":0.1,
|
|
49
|
+
"altSnapYSize":0.1,
|
|
50
|
+
"gridType":1,
|
|
51
|
+
"multiGridType":0,
|
|
52
|
+
"multiGridRatio":5,
|
|
53
|
+
}|
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
1. type canvas configuration `CANVAS`.
|
|
57
|
+
2. ticket logical clock.
|
|
58
|
+
3. originX canvas origin X.
|
|
59
|
+
4. originY canvas origin Y.
|
|
60
|
+
5. unit **display** unit (does not affect the unit of data in the format).
|
|
61
|
+
6. gridXSize grid size X.
|
|
62
|
+
7. gridYSize grid size Y.
|
|
63
|
+
8. snapXSize snap size X.
|
|
64
|
+
9. snapYSize snap size Y.
|
|
65
|
+
10. altSnapXSize Alt snap size X.
|
|
66
|
+
11. altSnapYSize Alt snap size Y.
|
|
67
|
+
12. gridType grid type: `0` none, `1` grid, `2` dot.
|
|
68
|
+
13. multiGridType bold grid type: `0` none, `1` grid, `2` dot.
|
|
69
|
+
14. multiGridRatio bold grid ratio: number.
|
|
70
|
+
|
|
71
|
+
## LAYER Layer Configuration
|
|
72
|
+
|
|
73
|
+
- The order in which `SIGNAL`, `PLANE`, and `SUBSTRATE` appear implies their physical stacking order.
|
|
74
|
+
- The number of `SIGNAL`, `PLANE`, and `SUBSTRATE` layers is unlimited.
|
|
75
|
+
- The format does not assume a stable relationship between layer number and layer; specific implementation is decided by the tool.
|
|
76
|
+
|
|
77
|
+
```json
|
|
78
|
+
{ "type": "LAYER","id": 0, "ticket": 1 }||
|
|
79
|
+
{
|
|
80
|
+
"layerType":"TOP",
|
|
81
|
+
"layerName":"Top Layer",
|
|
82
|
+
"status":1,
|
|
83
|
+
"activeColor":"#FF0000",
|
|
84
|
+
"activateTransparency":0.5,
|
|
85
|
+
"inactiveColor":"#880000",
|
|
86
|
+
"inactiveTransparency":0.3,
|
|
87
|
+
}|
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
1. type layer `LAYER`.
|
|
91
|
+
2. id layer number, unique.
|
|
92
|
+
3. ticket logical clock.
|
|
93
|
+
4. layerType layer type.
|
|
94
|
+
5. layerName layer alias, must be unique.
|
|
95
|
+
6. status status: `1` used, `2` displayed, `4` locked. Can be combined by addition, e.g.
|
|
96
|
+
- used and displayed: 3 = 1 + 2
|
|
97
|
+
- used and locked but not displayed: 5 = 1 + 4
|
|
98
|
+
- used, displayed, and locked: 7 = 1 + 2 + 4
|
|
99
|
+
7. activeColor active color.
|
|
100
|
+
8. activateTransparency active transparency.
|
|
101
|
+
9. inactiveColor inactive color.
|
|
102
|
+
10. inactiveTransparency inactive transparency.
|
|
103
|
+
|
|
104
|
+
```json
|
|
105
|
+
["LAYER",2,"BOTTOM","Bottom Layer",1,"#0000ff",1,"#00007f",1]
|
|
106
|
+
["LAYER",3,"TOP_SILK","Top Silkscreen Layer",1,"#ffcc00",1,"#7f6600",1]
|
|
107
|
+
["LAYER",4,"BOT_SILK","Bottom Silkscreen Layer",1,"#66cc33",1,"#336619",1]
|
|
108
|
+
["LAYER",5,"TOP_SOLDER_MASK","Top Solder Mask Layer",1,"#800080",1,"#400040",1]
|
|
109
|
+
["LAYER",6,"BOT_SOLDER_MASK","Bottom Solder Mask Layer",1,"#aa00ff",1,"#55007f",1]
|
|
110
|
+
["LAYER",7,"TOP_PASTE_MASK","Top Paste Mask Layer",1,"#808080",1,"#404040",1]
|
|
111
|
+
["LAYER",8,"BOT_PASTE_MASK","Bottom Paste Mask Layer",1,"#800000",1,"#400000",1]
|
|
112
|
+
["LAYER",9,"TOP_ASSEMBLY","Top Assembly Layer",1,"#33cc99",1,"#19664c",1]
|
|
113
|
+
["LAYER",10,"BOT_ASSEMBLY","Bottom Assembly Layer",1,"#5555ff",1,"#2a2a7f",1]
|
|
114
|
+
["LAYER",11,"OUTLINE","Board Outline Layer",1,"#ff00ff",1,"#7f007f",1]
|
|
115
|
+
["LAYER",12,"MULTI","Multi-Layer",1,"#c0c0c0",1,"#606060",1]
|
|
116
|
+
["LAYER",13,"DOCUMENT","Document Layer",1,"#ffffff",1,"#7f7f7f",1]
|
|
117
|
+
["LAYER",14,"MECHANICAL","Mechanical Layer",1,"#f022f0",1,"#781178",1]
|
|
118
|
+
["LAYER",50,"SUBSTRATE","Dialectric1",3,"#999966",1,"#4c4c33",1]
|
|
119
|
+
["LAYER",15,"SIGNAL","Inner1",3,"#999966",1,"#4c4c33",1]
|
|
120
|
+
["LAYER",52,"SUBSTRATE","Dialectric3",3,"#999966",1,"#4c4c33",1]
|
|
121
|
+
["LAYER",51,"SUBSTRATE","Dialectric2",3,"#999966",1,"#4c4c33",1]
|
|
122
|
+
["LAYER",17,"SIGNAL","Inner2",3,"#008000",1,"#004000",1]
|
|
123
|
+
["LAYER",58,"SUBSTRATE","Dialectric9",3,"#999966",1,"#4c4c33",1]
|
|
124
|
+
["LAYER",16,"SIGNAL","Inner3",3,"#999966",1,"#4c4c33",1]
|
|
125
|
+
["LAYER",53,"SUBSTRATE","Dialectric4",3,"#999966",1,"#4c4c33",1]
|
|
126
|
+
["LAYER",47,"HOLE","Hole Layer",1,"#222222",1,"#111111",1]
|
|
127
|
+
["LAYER",48,"SHELL","3D Shell Layer",1,"#222222",1,"#111111",1]
|
|
128
|
+
["LAYER",49,"TOP_SHELL","Top 3D Shell Layer",1,"#222222",1,"#111111",1]
|
|
129
|
+
["LAYER",50,"BOT_SHELL","Bottom 3D Shell Layer",1,"#222222",1,"#111111",1]
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## LAYER_PHYS Layer Physical Properties Configuration
|
|
133
|
+
|
|
134
|
+
```json
|
|
135
|
+
{ "type": "LAYER_PHYS","id": 0, "ticket": 1 }||
|
|
136
|
+
{
|
|
137
|
+
"material":"COPPER",
|
|
138
|
+
"thickness":1,
|
|
139
|
+
"permittivity":0,
|
|
140
|
+
"lossTangent":0,
|
|
141
|
+
"isKeepIsland":0,
|
|
142
|
+
}|
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
1. type layer physical properties `LAYER_PHYS`.
|
|
146
|
+
2. id layer number.
|
|
147
|
+
3. ticket logical clock.
|
|
148
|
+
4. material layer material.
|
|
149
|
+
5. thickness thickness.
|
|
150
|
+
6. permittivity permittivity.
|
|
151
|
+
7. lossTangent loss tangent.
|
|
152
|
+
8. isKeepIsland whether to keep islands on internal plane layers.
|
|
153
|
+
|
|
154
|
+
```json
|
|
155
|
+
{ "type": "LAYER_PHYS","id": 2, "ticket": 1 }||
|
|
156
|
+
{
|
|
157
|
+
"material":"COPPER",
|
|
158
|
+
"thickness":1,
|
|
159
|
+
"permittivity":0,
|
|
160
|
+
"lossTangent":0,
|
|
161
|
+
"isKeepIsland":0,
|
|
162
|
+
}|
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
```json
|
|
166
|
+
{ "type": "LAYER_PHYS","id": 15, "ticket": 1 }||
|
|
167
|
+
{
|
|
168
|
+
"material":"COPPER",
|
|
169
|
+
"thickness":1,
|
|
170
|
+
"permittivity":0,
|
|
171
|
+
"lossTangent":0,
|
|
172
|
+
"isKeepIsland":1,
|
|
173
|
+
}|
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
```json
|
|
177
|
+
{ "type": "LAYER_PHYS","id": 50, "ticket": 1 }||
|
|
178
|
+
{
|
|
179
|
+
"material":"COPPER",
|
|
180
|
+
"thickness":10,
|
|
181
|
+
"permittivity":4.5,
|
|
182
|
+
"lossTangent":0.02,
|
|
183
|
+
"isKeepIsland":0,
|
|
184
|
+
}|
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## ACTIVE_LAYER Active Layer Configuration
|
|
188
|
+
|
|
189
|
+
```json
|
|
190
|
+
{ "type": "ACTIVE_LAYER", "ticket": 1 }||
|
|
191
|
+
{
|
|
192
|
+
"layerId":0,
|
|
193
|
+
}|
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
1. type current active layer `ACTIVE_LAYER`.
|
|
197
|
+
2. ticket logical clock.
|
|
198
|
+
3. layerId layer index.
|
|
199
|
+
|
|
200
|
+
## SILK_OPTS Silkscreen Configuration
|
|
201
|
+
|
|
202
|
+
Silkscreen configuration is currently mainly used for colored silkscreen processes.
|
|
203
|
+
|
|
204
|
+
```json
|
|
205
|
+
{ "type": "SILK_OPTS","id": 3, "ticket": 1 }||
|
|
206
|
+
{
|
|
207
|
+
"defaultColor":"#ffffff",
|
|
208
|
+
"baseColor":"#000000",
|
|
209
|
+
}|
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
1. type silkscreen configuration: SILK_OPTS.
|
|
213
|
+
2. id layer number: only top silkscreen and bottom silkscreen.
|
|
214
|
+
3. ticket logical clock.
|
|
215
|
+
4. defaultColor default color.
|
|
216
|
+
5. baseColor base color.
|
|
217
|
+
|
|
218
|
+
```json
|
|
219
|
+
{ "type": "SILK_OPTS","id": 4, "ticket": 1 }||
|
|
220
|
+
{
|
|
221
|
+
"defaultColor":"#020202",
|
|
222
|
+
"baseColor":"#aaaaaa",
|
|
223
|
+
}|
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
## PREFERENCE Preferences
|
|
227
|
+
|
|
228
|
+
```json
|
|
229
|
+
{ "type": "PREFERENCE", "ticket": 1 }||
|
|
230
|
+
{
|
|
231
|
+
"startTrackWidthFollowLast":0,
|
|
232
|
+
"lastTrackWidth":10,
|
|
233
|
+
"startViaSizeFollowLast":0,
|
|
234
|
+
"lastViaInnerDiameter":39.37,
|
|
235
|
+
"lastViaDiameter":78.74,
|
|
236
|
+
"snap":1,
|
|
237
|
+
"routingMode":2,
|
|
238
|
+
"routingCorner":"L45",
|
|
239
|
+
"removeLoop":1,
|
|
240
|
+
"rotatingObject":0,
|
|
241
|
+
"trackFollow":0,
|
|
242
|
+
"stretchTrackMinCorner":1,
|
|
243
|
+
"preferenceConfig":null,
|
|
244
|
+
"realTimeUpdateUnusedLayers":0,
|
|
245
|
+
"unusedPadRange":3,
|
|
246
|
+
"pushVia":"OPTIMIZA_OPEN",
|
|
247
|
+
"pathOptimization4BePushed":0,
|
|
248
|
+
"currentPathOptimization4BePushed":"OPTIMIZA_WEAK",
|
|
249
|
+
"removeCircuitsContainingVias":1,
|
|
250
|
+
"removeAntenna":1,
|
|
251
|
+
}|
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
1. type preferences `PREFERENCE`.
|
|
255
|
+
2. ticket logical clock.
|
|
256
|
+
3. startTrackWidthFollowLast whether starting track width follows last setting.
|
|
257
|
+
4. lastTrackWidth last track width.
|
|
258
|
+
5. startViaSizeFollowLast whether starting via size follows last setting.
|
|
259
|
+
6. lastViaInnerDiameter last via inner diameter.
|
|
260
|
+
7. lastViaDiameter last via outer diameter.
|
|
261
|
+
8. snap whether auto-snap.
|
|
262
|
+
9. routingMode routing mode: `0` none, `1` push, `2` hug, `3` block.
|
|
263
|
+
10. routingCorner routing corner mode.
|
|
264
|
+
- `"L45"` line 45 degrees.
|
|
265
|
+
- `"L90"` line 90 degrees.
|
|
266
|
+
- `"R45"` arc 45 degrees.
|
|
267
|
+
- `"R90"` arc 90 degrees.
|
|
268
|
+
- `"L"` free-angle line.
|
|
269
|
+
- `"R"` free-angle arc.
|
|
270
|
+
11. removeLoop whether routing automatically removes loops.
|
|
271
|
+
12. rotatingObject whether single-object rotation.
|
|
272
|
+
13. trackFollow whether tracks follow footprint movement.
|
|
273
|
+
14. stretchTrackMinCorner stretch track minimum corner ratio (to track width).
|
|
274
|
+
15. preferenceConfig layer stack preference source.
|
|
275
|
+
16. realTimeUpdateUnusedLayers whether to automatically remove unused pads.
|
|
276
|
+
17. unusedPadRange range for removing unused pads.
|
|
277
|
+
1. all.
|
|
278
|
+
2. pads only.
|
|
279
|
+
3. vias only.
|
|
280
|
+
18. pushVia push via.
|
|
281
|
+
19. pathOptimization4BePushed path optimization (single segment / whole segment).
|
|
282
|
+
20. currentPathOptimization4BePushed current track path optimization.
|
|
283
|
+
21. removeCircuitsContainingVias whether to remove loops containing vias.
|
|
284
|
+
22. removeAntenna whether to remove antennas.
|
|
285
|
+
|
|
286
|
+
## ITEM_ORDER Primitive Order Suggestion
|
|
287
|
+
|
|
288
|
+
Provides a primitive order suggestion for the PCB. The PCB can arrange primitive order according to this information. This information can only appear once.
|
|
289
|
+
|
|
290
|
+
```json
|
|
291
|
+
{ "type": "ITEM_ORDER", "ticket": 1 }||{ "ids":["e2", "e1"] }|
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
1. type primitive order suggestion: ITEM_ORDER.
|
|
295
|
+
2. ticket logical clock.
|
|
296
|
+
3. ids primitive IDs, two encoding forms:
|
|
297
|
+
1. Normal ID: form `/^[a-z]+\d+$/i`, e.g. `e1`, `e123`.
|
|
298
|
+
2. Footprint instance ID: form `/^[a-z]+\d+[a-z]+\d+$/i`, used for silkscreen in footprints, e.g. `e1e5`, `e12e22`.
|
|
299
|
+
|
|
300
|
+
To explain why it is called a "suggestion": if `e1` is a top-layer primitive and `e2` is a bottom-layer primitive, then
|
|
301
|
+
|
|
302
|
+
```json
|
|
303
|
+
{ "type": "ITEM_ORDER", "ticket": 1 }||{ "ids":["e2", "e1"] }|
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
the default is still `e1` on top, unless some special operation causes the bottom layer to be brought to the front.
|