@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,441 +1,441 @@
|
|
|
1
|
-
# Shape Primitives
|
|
2
|
-
|
|
3
|
-
## LINE Line
|
|
4
|
-
|
|
5
|
-
```json
|
|
6
|
-
{ "type": "LINE", "id":"UUID", "ticket": 1 }||
|
|
7
|
-
{
|
|
8
|
-
"partitionId":null,
|
|
9
|
-
"groupId":0,
|
|
10
|
-
"locked":1,
|
|
11
|
-
"zIndex":9.223,
|
|
12
|
-
"netName":"GND",
|
|
13
|
-
"layerId":1,
|
|
14
|
-
"startX":100,
|
|
15
|
-
"startY":200,
|
|
16
|
-
"endX":400,
|
|
17
|
-
"endY":300,
|
|
18
|
-
"width":0.7,
|
|
19
|
-
}|
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
1. type line `LINE`.
|
|
23
|
-
2. id primitive ID, unique within the document.
|
|
24
|
-
3. ticket logical clock.
|
|
25
|
-
4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
|
|
26
|
-
5. groupId group ID: 0 no group, non-zero is the group flag, same flag means same group.
|
|
27
|
-
6. locked whether locked.
|
|
28
|
-
7. zIndex Z-axis height.
|
|
29
|
-
8. netName net.
|
|
30
|
-
9. layerId layer.
|
|
31
|
-
10. startX start X.
|
|
32
|
-
11. startY start Y.
|
|
33
|
-
12. endX end X.
|
|
34
|
-
13. endY end Y.
|
|
35
|
-
14. width line width.
|
|
36
|
-
|
|
37
|
-
## ARC/CARC Arc Line
|
|
38
|
-
|
|
39
|
-
The arc borrows Eagle's mathematical model, described based on `start` and `end`.
|
|
40
|
-
|
|
41
|
-
```json
|
|
42
|
-
{ "type": "ARC", "id":"UUID", "ticket": 1 }||
|
|
43
|
-
{
|
|
44
|
-
"partitionId":null,
|
|
45
|
-
"groupId":0,
|
|
46
|
-
"locked":1,
|
|
47
|
-
"zIndex":2.866,
|
|
48
|
-
"netName":"GND",
|
|
49
|
-
"layerId":1,
|
|
50
|
-
"startX":100,
|
|
51
|
-
"startY":200,
|
|
52
|
-
"endX":300,
|
|
53
|
-
"endY":400,
|
|
54
|
-
"angle":-170,
|
|
55
|
-
"width":10,
|
|
56
|
-
}|
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
1. type arc line.
|
|
60
|
-
- `ARC` two-point interaction mode.
|
|
61
|
-
- `CARC` center-arc interaction mode.
|
|
62
|
-
2. id primitive ID, unique within the document.
|
|
63
|
-
3. ticket logical clock.
|
|
64
|
-
4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
|
|
65
|
-
5. groupId group ID: 0 no group, non-zero is the group flag, same flag means same group.
|
|
66
|
-
6. locked whether locked.
|
|
67
|
-
7. zIndex Z-axis height.
|
|
68
|
-
8. netName net.
|
|
69
|
-
9. layerId layer.
|
|
70
|
-
10. startX start X.
|
|
71
|
-
11. startY start Y.
|
|
72
|
-
12. endX end X.
|
|
73
|
-
13. endY end Y.
|
|
74
|
-
14. angle arc angle, positive counter-clockwise, negative clockwise.
|
|
75
|
-
15. width line width.
|
|
76
|
-
|
|
77
|
-
## Polygon System
|
|
78
|
-
|
|
79
|
-
SVG's path is an excellent abstraction for polygons.
|
|
80
|
-
However, because relative position and other features are not needed in PCB, and a more convenient parsing method can be designed conditionally, a polygon expression similar to SVG path was created.
|
|
81
|
-
Within the polygon system, `POLY`, `REGION`, and `POUR` support mutual conversion.
|
|
82
|
-
|
|
83
|
-
### Single Polygon Definition
|
|
84
|
-
|
|
85
|
-
A single polygon is a region described by an uninterrupted line whose start and end coincide. If start and end do not coincide, they are automatically closed.
|
|
86
|
-
|
|
87
|
-
```json
|
|
88
|
-
[300, 200, "L", 400, 200, "ARC", 400, 220, 15, "C", 200, 500, 400, 300, 100, 100]
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
```json
|
|
92
|
-
["R", 100, 200, 300, 300, 0]
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
```json
|
|
96
|
-
["CIRCLE", 100, 200, 5, 1]
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
#### L Line Mode
|
|
100
|
-
|
|
101
|
-
`X Y L X Y X Y ...` mode is line mode. All coordinates are connected by straight lines.
|
|
102
|
-
|
|
103
|
-
#### ARC/CARC Arc Mode
|
|
104
|
-
|
|
105
|
-
`startX startY ARC angle endX endY` mode is arc mode.
|
|
106
|
-
|
|
107
|
-
- startX/startY start coordinates.
|
|
108
|
-
- angle: arc angle, positive counter-clockwise, negative clockwise.
|
|
109
|
-
- endX/endY end coordinates.
|
|
110
|
-
|
|
111
|
-
`startX startY CARC angle endX endY` center-arc interaction mode.
|
|
112
|
-
|
|
113
|
-
#### C Cubic Bezier Mode
|
|
114
|
-
|
|
115
|
-
`X1 Y1 C X2 Y2 X3 Y3 X4 Y4 ...` mode is cubic Bezier mode. All coordinates are control points.
|
|
116
|
-
|
|
117
|
-
#### R Rectangle Mode
|
|
118
|
-
|
|
119
|
-
`R X Y width height rot isCCW round` rectangle mode is independent from other modes.
|
|
120
|
-
|
|
121
|
-
- X/Y: top-left coordinate.
|
|
122
|
-
- width: width.
|
|
123
|
-
- height: height.
|
|
124
|
-
- rot: rotation angle.
|
|
125
|
-
- isCCW: whether counter-clockwise.
|
|
126
|
-
- round: corner radius.
|
|
127
|
-
|
|
128
|
-
#### CIRCLE Circle Mode
|
|
129
|
-
|
|
130
|
-
`CIRCLE cx cy r isCCW` circle mode is independent from other modes.
|
|
131
|
-
|
|
132
|
-
- cx/cy: center point coordinates.
|
|
133
|
-
- r: radius.
|
|
134
|
-
- isCCW: whether counter-clockwise.
|
|
135
|
-
|
|
136
|
-
### Complex Polygon Definition
|
|
137
|
-
|
|
138
|
-
```json
|
|
139
|
-
[[single polygon 1: outer frame], [single polygon 2: inner hole]]
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
A complex polygon can contain multiple single polygons. The first polygon is clockwise and represents the outer frame; all subsequent polygons are counter-clockwise and represent inner holes.
|
|
143
|
-
|
|
144
|
-
## POLY Polyline
|
|
145
|
-
|
|
146
|
-
The polyline is similar to `LINE` and `ARC`, but it preserves the concept of a continuous single line drawn at one time, and can be converted with `REGION`, `FILL`, and `POUR`.
|
|
147
|
-
|
|
148
|
-
```json
|
|
149
|
-
{ "type": "POLY", "id":"UUID", "ticket": 1 }||
|
|
150
|
-
{
|
|
151
|
-
"partitionId":null,
|
|
152
|
-
"groupId":0,
|
|
153
|
-
"locked":1,
|
|
154
|
-
"zIndex":6.417,
|
|
155
|
-
"netName":"GND",
|
|
156
|
-
"layerId":1,
|
|
157
|
-
"width":0.5,
|
|
158
|
-
"path":["single polygon"],
|
|
159
|
-
}|
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
1. type polyline `POLY`.
|
|
163
|
-
2. id primitive ID, unique within the document.
|
|
164
|
-
3. ticket logical clock.
|
|
165
|
-
4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
|
|
166
|
-
5. groupId group ID: 0 no group, non-zero is the group flag, same flag means same group.
|
|
167
|
-
6. locked whether locked.
|
|
168
|
-
7. zIndex Z-axis height.
|
|
169
|
-
8. netName net.
|
|
170
|
-
9. layerId layer.
|
|
171
|
-
10. width line width.
|
|
172
|
-
11. path see single polygon.
|
|
173
|
-
|
|
174
|
-
## FILL Fill
|
|
175
|
-
|
|
176
|
-
```json
|
|
177
|
-
{ "type": "FILL", "id":"UUID", "ticket": 1 }||
|
|
178
|
-
{
|
|
179
|
-
"partitionId":null,
|
|
180
|
-
"groupId":0,
|
|
181
|
-
"locked":1,
|
|
182
|
-
"zIndex": 0.794,
|
|
183
|
-
"netName":"GND",
|
|
184
|
-
"layerId":3,
|
|
185
|
-
"width":10,
|
|
186
|
-
"fillStyle":0,
|
|
187
|
-
"path":["complex polygon"],
|
|
188
|
-
}|
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
1. type fill `FILL`.
|
|
192
|
-
2. id primitive ID, unique within the document.
|
|
193
|
-
3. ticket logical clock.
|
|
194
|
-
4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
|
|
195
|
-
5. groupId group ID: 0 no group, non-zero is the group flag, same flag means same group.
|
|
196
|
-
6. locked whether locked.
|
|
197
|
-
7. zIndex Z-axis height.
|
|
198
|
-
8. netName net.
|
|
199
|
-
9. layerId layer.
|
|
200
|
-
10. width line width.
|
|
201
|
-
11. fillStyle fill style: 0 solid fill, 1 grid fill, 2 internal plane fill.
|
|
202
|
-
12. path see complex polygon chapter.
|
|
203
|
-
1. For a polygon drawn in one go, there is only one single polygon here.
|
|
204
|
-
2. For polygons drawn in combination mode, there are multiple single polygons here.
|
|
205
|
-
|
|
206
|
-
## REGION Region
|
|
207
|
-
|
|
208
|
-
Keepout regions are an important future feature. In addition to assisting manual design, they can also assist automatic placement and routing by providing automation tools with constraint information on area ranges in addition to design rules.
|
|
209
|
-
|
|
210
|
-
```json
|
|
211
|
-
{ "type": "REGION", "id":"UUID", "ticket": 1 }||
|
|
212
|
-
{
|
|
213
|
-
"partitionId":null,
|
|
214
|
-
"groupId":0,
|
|
215
|
-
"locked":1,
|
|
216
|
-
"zIndex":0.901,
|
|
217
|
-
"layerId":3,
|
|
218
|
-
"width":1,
|
|
219
|
-
"prohibitType":[1, 2, 5],
|
|
220
|
-
"path":["complex polygon"],
|
|
221
|
-
"name":"aa constraint",
|
|
222
|
-
|
|
223
|
-
}|
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
1. type region `REGION`.
|
|
227
|
-
2. id primitive ID, unique within the document.
|
|
228
|
-
3. ticket logical clock.
|
|
229
|
-
4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
|
|
230
|
-
5. groupId group ID: 0 no group, non-zero is the group flag, same flag means same group.
|
|
231
|
-
6. locked whether locked.
|
|
232
|
-
7. zIndex Z-axis height.
|
|
233
|
-
8. layerId layer.
|
|
234
|
-
9. width line width.
|
|
235
|
-
10. prohibitType prohibit types, multiple can exist simultaneously.
|
|
236
|
-
1. \*prohibit routing and placing fill regions (deprecated, but keep compatible when parsing)
|
|
237
|
-
2. prohibit components
|
|
238
|
-
3. prohibit vias
|
|
239
|
-
4. \*prohibit copper pours and internal planes (deprecated, but keep compatible when parsing)
|
|
240
|
-
5. prohibit routing
|
|
241
|
-
6. prohibit placing fill regions
|
|
242
|
-
7. prohibit copper pours
|
|
243
|
-
8. prohibit internal planes
|
|
244
|
-
11. path see complex polygon chapter.
|
|
245
|
-
1. For a polygon drawn in one go, there is only one single polygon here.
|
|
246
|
-
2. For polygons drawn in combination mode, there are multiple single polygons here.
|
|
247
|
-
12. name name (optional).
|
|
248
|
-
|
|
249
|
-
## POUR Copper Pour Border
|
|
250
|
-
|
|
251
|
-
A substantial difference from previous copper pours is that complex polygons are supported, meaning copper pour regions can contain holes. In theory, polygons converted from text paths can be used as copper pour regions.
|
|
252
|
-
Copper pours are filled in the order they appear in the format.
|
|
253
|
-
|
|
254
|
-
```json
|
|
255
|
-
{ "type": "POUR", "id":"UUID", "ticket": 1 }||
|
|
256
|
-
{
|
|
257
|
-
"partitionId":null,
|
|
258
|
-
"groupId":0,
|
|
259
|
-
"locked":1,
|
|
260
|
-
"zIndex":0.779,
|
|
261
|
-
"netName":"GND",
|
|
262
|
-
"layerId":1,
|
|
263
|
-
"width":1,
|
|
264
|
-
"name":"TOPGND",
|
|
265
|
-
"order":4,
|
|
266
|
-
"path":["complex polygon"],
|
|
267
|
-
"pourType":["pour type"],
|
|
268
|
-
"keepIsland":1,
|
|
269
|
-
}|
|
|
270
|
-
["POUR", "e100", 5, 1, 0.779, "GND", 1, 1, "TOPGND", 4, complex polygon, [pour type], 1]
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
1. type copper pour `POUR`.
|
|
274
|
-
2. id primitive ID, unique within the document.
|
|
275
|
-
3. ticket logical clock.
|
|
276
|
-
4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
|
|
277
|
-
5. groupId group ID: 0 no group, non-zero is the group flag, same flag means same group.
|
|
278
|
-
6. locked whether locked.
|
|
279
|
-
7. zIndex Z-axis height.
|
|
280
|
-
8. netName net.
|
|
281
|
-
9. layerId layer.
|
|
282
|
-
10. width line width.
|
|
283
|
-
11. name copper pour name.
|
|
284
|
-
12. order copper pour priority.
|
|
285
|
-
13. path see complex polygon chapter.
|
|
286
|
-
14. pourType see pour types.
|
|
287
|
-
15. keepIsland whether to keep islands.
|
|
288
|
-
|
|
289
|
-
#### Pour Types
|
|
290
|
-
|
|
291
|
-
##### SOLID Solid Fill
|
|
292
|
-
|
|
293
|
-
```json
|
|
294
|
-
["SOLID", 2]
|
|
295
|
-
```
|
|
296
|
-
|
|
297
|
-
1. solid fill `SOLID`.
|
|
298
|
-
2. minimum copper pour neck width (production optimization; 0 means no production optimization).
|
|
299
|
-
|
|
300
|
-
```json
|
|
301
|
-
["POUR", "e100", "GND", 1, "BOTGND", 2, complex polygon, ["SOLID", 2], 1, 0]
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
```json
|
|
305
|
-
["POUR", "e100", "GND", 1, "BOTGND", 2, complex polygon, ["SOLID", 0], 1, 0]
|
|
306
|
-
```
|
|
307
|
-
|
|
308
|
-
##### LINE Line Fill
|
|
309
|
-
|
|
310
|
-
```json
|
|
311
|
-
["LINE", 0, 0, 10, 20]
|
|
312
|
-
```
|
|
313
|
-
|
|
314
|
-
1. line fill `LINE`.
|
|
315
|
-
2. fill mode: `0` grid, `1` horizontal, `2` vertical.
|
|
316
|
-
3. rotation angle.
|
|
317
|
-
4. line width.
|
|
318
|
-
5. line spacing.
|
|
319
|
-
|
|
320
|
-
```json
|
|
321
|
-
["POUR", "e100", "GND", 1, "", 9, complex polygon, ["LINE", 0, 0, 10, 20], 0.6, 1, 0, 0]
|
|
322
|
-
```
|
|
323
|
-
|
|
324
|
-
## POURED Copper Pour Result
|
|
325
|
-
|
|
326
|
-
```json
|
|
327
|
-
{ "type": "POURED", "id":"UUID", "ticket": 1 }||
|
|
328
|
-
{
|
|
329
|
-
"partitionId":null,
|
|
330
|
-
"targetId":"e100",
|
|
331
|
-
"strokeWidth":0,
|
|
332
|
-
"fill":1,
|
|
333
|
-
"path":["complex polygon"],
|
|
334
|
-
}|
|
|
335
|
-
```
|
|
336
|
-
|
|
337
|
-
1. type copper pour result `POURED`.
|
|
338
|
-
2. id primitive ID.
|
|
339
|
-
3. ticket logical clock.
|
|
340
|
-
4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
|
|
341
|
-
5. targetId ID of the parent copper pour border `POUR`.
|
|
342
|
-
6. strokeWidth stroke width: 0 means no stroke.
|
|
343
|
-
7. fill whether filled.
|
|
344
|
-
8. path path, complex polygon.
|
|
345
|
-
|
|
346
|
-
## IMAGE Image
|
|
347
|
-
|
|
348
|
-
`IMAGE` is very similar to `REGION`, but in operation, `IMAGE` has no control points and cannot freely change its shape, only overall scaling, rotation, flipping, and translation.
|
|
349
|
-
When `IMAGE` is on a signal layer, from the DRC perspective it is a net-less rectangular area defined by `start`, `end`, `rotation angle`, and `whether mirrored`.
|
|
350
|
-
|
|
351
|
-
```json
|
|
352
|
-
{ "type": "IMAGE", "id":"UUID", "ticket": 1 }||
|
|
353
|
-
{
|
|
354
|
-
"partitionId":null,
|
|
355
|
-
"groupId":0,
|
|
356
|
-
"locked":1,
|
|
357
|
-
"zIndex":5.5464,
|
|
358
|
-
"layerId":31,
|
|
359
|
-
"startX":200,
|
|
360
|
-
"startY":200,
|
|
361
|
-
"width":400,
|
|
362
|
-
"height":400,
|
|
363
|
-
"angle":45,
|
|
364
|
-
"mirror":1,
|
|
365
|
-
"path":["complex polygon"],
|
|
366
|
-
}|
|
|
367
|
-
```
|
|
368
|
-
|
|
369
|
-
1. type image `IMAGE`.
|
|
370
|
-
2. id primitive ID, unique within the document.
|
|
371
|
-
3. ticket logical clock.
|
|
372
|
-
4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
|
|
373
|
-
5. groupId group ID: 0 no group, non-zero is the group flag, same flag means same group.
|
|
374
|
-
6. locked whether locked.
|
|
375
|
-
7. zIndex Z-axis height.
|
|
376
|
-
8. layerId layer.
|
|
377
|
-
9. startX top-left X.
|
|
378
|
-
10. startY top-left Y.
|
|
379
|
-
11. width width.
|
|
380
|
-
12. height height.
|
|
381
|
-
13. angle rotation angle, around `start` point.
|
|
382
|
-
14. mirror whether the original image is horizontally mirrored. Mirroring is performed around the center of the original image's BBox.
|
|
383
|
-
15. path multiple complex polygons, see complex polygon chapter. Raw data is stored here; no adjustment is needed throughout the lifecycle.
|
|
384
|
-
|
|
385
|
-
## TEARDROP Teardrop
|
|
386
|
-
|
|
387
|
-
Teardrops cannot be selected or directly operated. When any associated primitive changes, EDA should automatically make them disappear.
|
|
388
|
-
|
|
389
|
-
```json
|
|
390
|
-
{ "type": "TEARDROP", "id":"UUID", "ticket": 1 }||
|
|
391
|
-
{
|
|
392
|
-
"partitionId":null,
|
|
393
|
-
"netName":"GND",
|
|
394
|
-
"layerId":3,
|
|
395
|
-
"path":"simple polygon",
|
|
396
|
-
"groupId":0,
|
|
397
|
-
}|
|
|
398
|
-
```
|
|
399
|
-
|
|
400
|
-
1. type teardrop `TEARDROP`.
|
|
401
|
-
2. id ID.
|
|
402
|
-
3. ticket logical clock.
|
|
403
|
-
4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
|
|
404
|
-
5. netName net.
|
|
405
|
-
6. layerId layer.
|
|
406
|
-
7. path simple polygon.
|
|
407
|
-
8. groupId group ID: 0 no group, non-zero is the group flag, same flag means same group.
|
|
408
|
-
|
|
409
|
-
## FPC_FILL FPC Reinforcement Fill
|
|
410
|
-
|
|
411
|
-
```json
|
|
412
|
-
{ "type": "FPC_FILL", "id":"UUID", "ticket": 1 }||
|
|
413
|
-
{
|
|
414
|
-
"partitionId":null,
|
|
415
|
-
"groupId":0,
|
|
416
|
-
"locked":1,
|
|
417
|
-
"zIndex":7.7845,
|
|
418
|
-
"layerId":3,
|
|
419
|
-
"material":"3M468",
|
|
420
|
-
"thickness":7.874,
|
|
421
|
-
"path":"complex polygon",
|
|
422
|
-
}|
|
|
423
|
-
```
|
|
424
|
-
|
|
425
|
-
1. type fill `FPC_FILL`.
|
|
426
|
-
2. id primitive ID, unique within the document.
|
|
427
|
-
3. ticket logical clock.
|
|
428
|
-
4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
|
|
429
|
-
5. groupId group ID: 0 no group, non-zero is the group flag, same flag means same group.
|
|
430
|
-
6. locked whether locked.
|
|
431
|
-
7. zIndex Z-axis height.
|
|
432
|
-
8. layerId layer.
|
|
433
|
-
9. material material.
|
|
434
|
-
- PI
|
|
435
|
-
- STEEL
|
|
436
|
-
- FR4
|
|
437
|
-
- 3M468
|
|
438
|
-
- 3M9077
|
|
439
|
-
- EMI_Shielding_Film
|
|
440
|
-
10. thickness thickness (note the unit is the same as other primitives).
|
|
441
|
-
11. path see complex polygon chapter.
|
|
1
|
+
# Shape Primitives
|
|
2
|
+
|
|
3
|
+
## LINE Line
|
|
4
|
+
|
|
5
|
+
```json
|
|
6
|
+
{ "type": "LINE", "id":"UUID", "ticket": 1 }||
|
|
7
|
+
{
|
|
8
|
+
"partitionId":null,
|
|
9
|
+
"groupId":0,
|
|
10
|
+
"locked":1,
|
|
11
|
+
"zIndex":9.223,
|
|
12
|
+
"netName":"GND",
|
|
13
|
+
"layerId":1,
|
|
14
|
+
"startX":100,
|
|
15
|
+
"startY":200,
|
|
16
|
+
"endX":400,
|
|
17
|
+
"endY":300,
|
|
18
|
+
"width":0.7,
|
|
19
|
+
}|
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
1. type line `LINE`.
|
|
23
|
+
2. id primitive ID, unique within the document.
|
|
24
|
+
3. ticket logical clock.
|
|
25
|
+
4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
|
|
26
|
+
5. groupId group ID: 0 no group, non-zero is the group flag, same flag means same group.
|
|
27
|
+
6. locked whether locked.
|
|
28
|
+
7. zIndex Z-axis height.
|
|
29
|
+
8. netName net.
|
|
30
|
+
9. layerId layer.
|
|
31
|
+
10. startX start X.
|
|
32
|
+
11. startY start Y.
|
|
33
|
+
12. endX end X.
|
|
34
|
+
13. endY end Y.
|
|
35
|
+
14. width line width.
|
|
36
|
+
|
|
37
|
+
## ARC/CARC Arc Line
|
|
38
|
+
|
|
39
|
+
The arc borrows Eagle's mathematical model, described based on `start` and `end`.
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{ "type": "ARC", "id":"UUID", "ticket": 1 }||
|
|
43
|
+
{
|
|
44
|
+
"partitionId":null,
|
|
45
|
+
"groupId":0,
|
|
46
|
+
"locked":1,
|
|
47
|
+
"zIndex":2.866,
|
|
48
|
+
"netName":"GND",
|
|
49
|
+
"layerId":1,
|
|
50
|
+
"startX":100,
|
|
51
|
+
"startY":200,
|
|
52
|
+
"endX":300,
|
|
53
|
+
"endY":400,
|
|
54
|
+
"angle":-170,
|
|
55
|
+
"width":10,
|
|
56
|
+
}|
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
1. type arc line.
|
|
60
|
+
- `ARC` two-point interaction mode.
|
|
61
|
+
- `CARC` center-arc interaction mode.
|
|
62
|
+
2. id primitive ID, unique within the document.
|
|
63
|
+
3. ticket logical clock.
|
|
64
|
+
4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
|
|
65
|
+
5. groupId group ID: 0 no group, non-zero is the group flag, same flag means same group.
|
|
66
|
+
6. locked whether locked.
|
|
67
|
+
7. zIndex Z-axis height.
|
|
68
|
+
8. netName net.
|
|
69
|
+
9. layerId layer.
|
|
70
|
+
10. startX start X.
|
|
71
|
+
11. startY start Y.
|
|
72
|
+
12. endX end X.
|
|
73
|
+
13. endY end Y.
|
|
74
|
+
14. angle arc angle, positive counter-clockwise, negative clockwise.
|
|
75
|
+
15. width line width.
|
|
76
|
+
|
|
77
|
+
## Polygon System
|
|
78
|
+
|
|
79
|
+
SVG's path is an excellent abstraction for polygons.
|
|
80
|
+
However, because relative position and other features are not needed in PCB, and a more convenient parsing method can be designed conditionally, a polygon expression similar to SVG path was created.
|
|
81
|
+
Within the polygon system, `POLY`, `REGION`, and `POUR` support mutual conversion.
|
|
82
|
+
|
|
83
|
+
### Single Polygon Definition
|
|
84
|
+
|
|
85
|
+
A single polygon is a region described by an uninterrupted line whose start and end coincide. If start and end do not coincide, they are automatically closed.
|
|
86
|
+
|
|
87
|
+
```json
|
|
88
|
+
[300, 200, "L", 400, 200, "ARC", 400, 220, 15, "C", 200, 500, 400, 300, 100, 100]
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
```json
|
|
92
|
+
["R", 100, 200, 300, 300, 0]
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
```json
|
|
96
|
+
["CIRCLE", 100, 200, 5, 1]
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
#### L Line Mode
|
|
100
|
+
|
|
101
|
+
`X Y L X Y X Y ...` mode is line mode. All coordinates are connected by straight lines.
|
|
102
|
+
|
|
103
|
+
#### ARC/CARC Arc Mode
|
|
104
|
+
|
|
105
|
+
`startX startY ARC angle endX endY` mode is arc mode.
|
|
106
|
+
|
|
107
|
+
- startX/startY start coordinates.
|
|
108
|
+
- angle: arc angle, positive counter-clockwise, negative clockwise.
|
|
109
|
+
- endX/endY end coordinates.
|
|
110
|
+
|
|
111
|
+
`startX startY CARC angle endX endY` center-arc interaction mode.
|
|
112
|
+
|
|
113
|
+
#### C Cubic Bezier Mode
|
|
114
|
+
|
|
115
|
+
`X1 Y1 C X2 Y2 X3 Y3 X4 Y4 ...` mode is cubic Bezier mode. All coordinates are control points.
|
|
116
|
+
|
|
117
|
+
#### R Rectangle Mode
|
|
118
|
+
|
|
119
|
+
`R X Y width height rot isCCW round` rectangle mode is independent from other modes.
|
|
120
|
+
|
|
121
|
+
- X/Y: top-left coordinate.
|
|
122
|
+
- width: width.
|
|
123
|
+
- height: height.
|
|
124
|
+
- rot: rotation angle.
|
|
125
|
+
- isCCW: whether counter-clockwise.
|
|
126
|
+
- round: corner radius.
|
|
127
|
+
|
|
128
|
+
#### CIRCLE Circle Mode
|
|
129
|
+
|
|
130
|
+
`CIRCLE cx cy r isCCW` circle mode is independent from other modes.
|
|
131
|
+
|
|
132
|
+
- cx/cy: center point coordinates.
|
|
133
|
+
- r: radius.
|
|
134
|
+
- isCCW: whether counter-clockwise.
|
|
135
|
+
|
|
136
|
+
### Complex Polygon Definition
|
|
137
|
+
|
|
138
|
+
```json
|
|
139
|
+
[[single polygon 1: outer frame], [single polygon 2: inner hole]]
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
A complex polygon can contain multiple single polygons. The first polygon is clockwise and represents the outer frame; all subsequent polygons are counter-clockwise and represent inner holes.
|
|
143
|
+
|
|
144
|
+
## POLY Polyline
|
|
145
|
+
|
|
146
|
+
The polyline is similar to `LINE` and `ARC`, but it preserves the concept of a continuous single line drawn at one time, and can be converted with `REGION`, `FILL`, and `POUR`.
|
|
147
|
+
|
|
148
|
+
```json
|
|
149
|
+
{ "type": "POLY", "id":"UUID", "ticket": 1 }||
|
|
150
|
+
{
|
|
151
|
+
"partitionId":null,
|
|
152
|
+
"groupId":0,
|
|
153
|
+
"locked":1,
|
|
154
|
+
"zIndex":6.417,
|
|
155
|
+
"netName":"GND",
|
|
156
|
+
"layerId":1,
|
|
157
|
+
"width":0.5,
|
|
158
|
+
"path":["single polygon"],
|
|
159
|
+
}|
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
1. type polyline `POLY`.
|
|
163
|
+
2. id primitive ID, unique within the document.
|
|
164
|
+
3. ticket logical clock.
|
|
165
|
+
4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
|
|
166
|
+
5. groupId group ID: 0 no group, non-zero is the group flag, same flag means same group.
|
|
167
|
+
6. locked whether locked.
|
|
168
|
+
7. zIndex Z-axis height.
|
|
169
|
+
8. netName net.
|
|
170
|
+
9. layerId layer.
|
|
171
|
+
10. width line width.
|
|
172
|
+
11. path see single polygon.
|
|
173
|
+
|
|
174
|
+
## FILL Fill
|
|
175
|
+
|
|
176
|
+
```json
|
|
177
|
+
{ "type": "FILL", "id":"UUID", "ticket": 1 }||
|
|
178
|
+
{
|
|
179
|
+
"partitionId":null,
|
|
180
|
+
"groupId":0,
|
|
181
|
+
"locked":1,
|
|
182
|
+
"zIndex": 0.794,
|
|
183
|
+
"netName":"GND",
|
|
184
|
+
"layerId":3,
|
|
185
|
+
"width":10,
|
|
186
|
+
"fillStyle":0,
|
|
187
|
+
"path":["complex polygon"],
|
|
188
|
+
}|
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
1. type fill `FILL`.
|
|
192
|
+
2. id primitive ID, unique within the document.
|
|
193
|
+
3. ticket logical clock.
|
|
194
|
+
4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
|
|
195
|
+
5. groupId group ID: 0 no group, non-zero is the group flag, same flag means same group.
|
|
196
|
+
6. locked whether locked.
|
|
197
|
+
7. zIndex Z-axis height.
|
|
198
|
+
8. netName net.
|
|
199
|
+
9. layerId layer.
|
|
200
|
+
10. width line width.
|
|
201
|
+
11. fillStyle fill style: 0 solid fill, 1 grid fill, 2 internal plane fill.
|
|
202
|
+
12. path see complex polygon chapter.
|
|
203
|
+
1. For a polygon drawn in one go, there is only one single polygon here.
|
|
204
|
+
2. For polygons drawn in combination mode, there are multiple single polygons here.
|
|
205
|
+
|
|
206
|
+
## REGION Region
|
|
207
|
+
|
|
208
|
+
Keepout regions are an important future feature. In addition to assisting manual design, they can also assist automatic placement and routing by providing automation tools with constraint information on area ranges in addition to design rules.
|
|
209
|
+
|
|
210
|
+
```json
|
|
211
|
+
{ "type": "REGION", "id":"UUID", "ticket": 1 }||
|
|
212
|
+
{
|
|
213
|
+
"partitionId":null,
|
|
214
|
+
"groupId":0,
|
|
215
|
+
"locked":1,
|
|
216
|
+
"zIndex":0.901,
|
|
217
|
+
"layerId":3,
|
|
218
|
+
"width":1,
|
|
219
|
+
"prohibitType":[1, 2, 5],
|
|
220
|
+
"path":["complex polygon"],
|
|
221
|
+
"name":"aa constraint",
|
|
222
|
+
|
|
223
|
+
}|
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
1. type region `REGION`.
|
|
227
|
+
2. id primitive ID, unique within the document.
|
|
228
|
+
3. ticket logical clock.
|
|
229
|
+
4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
|
|
230
|
+
5. groupId group ID: 0 no group, non-zero is the group flag, same flag means same group.
|
|
231
|
+
6. locked whether locked.
|
|
232
|
+
7. zIndex Z-axis height.
|
|
233
|
+
8. layerId layer.
|
|
234
|
+
9. width line width.
|
|
235
|
+
10. prohibitType prohibit types, multiple can exist simultaneously.
|
|
236
|
+
1. \*prohibit routing and placing fill regions (deprecated, but keep compatible when parsing)
|
|
237
|
+
2. prohibit components
|
|
238
|
+
3. prohibit vias
|
|
239
|
+
4. \*prohibit copper pours and internal planes (deprecated, but keep compatible when parsing)
|
|
240
|
+
5. prohibit routing
|
|
241
|
+
6. prohibit placing fill regions
|
|
242
|
+
7. prohibit copper pours
|
|
243
|
+
8. prohibit internal planes
|
|
244
|
+
11. path see complex polygon chapter.
|
|
245
|
+
1. For a polygon drawn in one go, there is only one single polygon here.
|
|
246
|
+
2. For polygons drawn in combination mode, there are multiple single polygons here.
|
|
247
|
+
12. name name (optional).
|
|
248
|
+
|
|
249
|
+
## POUR Copper Pour Border
|
|
250
|
+
|
|
251
|
+
A substantial difference from previous copper pours is that complex polygons are supported, meaning copper pour regions can contain holes. In theory, polygons converted from text paths can be used as copper pour regions.
|
|
252
|
+
Copper pours are filled in the order they appear in the format.
|
|
253
|
+
|
|
254
|
+
```json
|
|
255
|
+
{ "type": "POUR", "id":"UUID", "ticket": 1 }||
|
|
256
|
+
{
|
|
257
|
+
"partitionId":null,
|
|
258
|
+
"groupId":0,
|
|
259
|
+
"locked":1,
|
|
260
|
+
"zIndex":0.779,
|
|
261
|
+
"netName":"GND",
|
|
262
|
+
"layerId":1,
|
|
263
|
+
"width":1,
|
|
264
|
+
"name":"TOPGND",
|
|
265
|
+
"order":4,
|
|
266
|
+
"path":["complex polygon"],
|
|
267
|
+
"pourType":["pour type"],
|
|
268
|
+
"keepIsland":1,
|
|
269
|
+
}|
|
|
270
|
+
["POUR", "e100", 5, 1, 0.779, "GND", 1, 1, "TOPGND", 4, complex polygon, [pour type], 1]
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
1. type copper pour `POUR`.
|
|
274
|
+
2. id primitive ID, unique within the document.
|
|
275
|
+
3. ticket logical clock.
|
|
276
|
+
4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
|
|
277
|
+
5. groupId group ID: 0 no group, non-zero is the group flag, same flag means same group.
|
|
278
|
+
6. locked whether locked.
|
|
279
|
+
7. zIndex Z-axis height.
|
|
280
|
+
8. netName net.
|
|
281
|
+
9. layerId layer.
|
|
282
|
+
10. width line width.
|
|
283
|
+
11. name copper pour name.
|
|
284
|
+
12. order copper pour priority.
|
|
285
|
+
13. path see complex polygon chapter.
|
|
286
|
+
14. pourType see pour types.
|
|
287
|
+
15. keepIsland whether to keep islands.
|
|
288
|
+
|
|
289
|
+
#### Pour Types
|
|
290
|
+
|
|
291
|
+
##### SOLID Solid Fill
|
|
292
|
+
|
|
293
|
+
```json
|
|
294
|
+
["SOLID", 2]
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
1. solid fill `SOLID`.
|
|
298
|
+
2. minimum copper pour neck width (production optimization; 0 means no production optimization).
|
|
299
|
+
|
|
300
|
+
```json
|
|
301
|
+
["POUR", "e100", "GND", 1, "BOTGND", 2, complex polygon, ["SOLID", 2], 1, 0]
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
```json
|
|
305
|
+
["POUR", "e100", "GND", 1, "BOTGND", 2, complex polygon, ["SOLID", 0], 1, 0]
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
##### LINE Line Fill
|
|
309
|
+
|
|
310
|
+
```json
|
|
311
|
+
["LINE", 0, 0, 10, 20]
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
1. line fill `LINE`.
|
|
315
|
+
2. fill mode: `0` grid, `1` horizontal, `2` vertical.
|
|
316
|
+
3. rotation angle.
|
|
317
|
+
4. line width.
|
|
318
|
+
5. line spacing.
|
|
319
|
+
|
|
320
|
+
```json
|
|
321
|
+
["POUR", "e100", "GND", 1, "", 9, complex polygon, ["LINE", 0, 0, 10, 20], 0.6, 1, 0, 0]
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
## POURED Copper Pour Result
|
|
325
|
+
|
|
326
|
+
```json
|
|
327
|
+
{ "type": "POURED", "id":"UUID", "ticket": 1 }||
|
|
328
|
+
{
|
|
329
|
+
"partitionId":null,
|
|
330
|
+
"targetId":"e100",
|
|
331
|
+
"strokeWidth":0,
|
|
332
|
+
"fill":1,
|
|
333
|
+
"path":["complex polygon"],
|
|
334
|
+
}|
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
1. type copper pour result `POURED`.
|
|
338
|
+
2. id primitive ID.
|
|
339
|
+
3. ticket logical clock.
|
|
340
|
+
4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
|
|
341
|
+
5. targetId ID of the parent copper pour border `POUR`.
|
|
342
|
+
6. strokeWidth stroke width: 0 means no stroke.
|
|
343
|
+
7. fill whether filled.
|
|
344
|
+
8. path path, complex polygon.
|
|
345
|
+
|
|
346
|
+
## IMAGE Image
|
|
347
|
+
|
|
348
|
+
`IMAGE` is very similar to `REGION`, but in operation, `IMAGE` has no control points and cannot freely change its shape, only overall scaling, rotation, flipping, and translation.
|
|
349
|
+
When `IMAGE` is on a signal layer, from the DRC perspective it is a net-less rectangular area defined by `start`, `end`, `rotation angle`, and `whether mirrored`.
|
|
350
|
+
|
|
351
|
+
```json
|
|
352
|
+
{ "type": "IMAGE", "id":"UUID", "ticket": 1 }||
|
|
353
|
+
{
|
|
354
|
+
"partitionId":null,
|
|
355
|
+
"groupId":0,
|
|
356
|
+
"locked":1,
|
|
357
|
+
"zIndex":5.5464,
|
|
358
|
+
"layerId":31,
|
|
359
|
+
"startX":200,
|
|
360
|
+
"startY":200,
|
|
361
|
+
"width":400,
|
|
362
|
+
"height":400,
|
|
363
|
+
"angle":45,
|
|
364
|
+
"mirror":1,
|
|
365
|
+
"path":["complex polygon"],
|
|
366
|
+
}|
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
1. type image `IMAGE`.
|
|
370
|
+
2. id primitive ID, unique within the document.
|
|
371
|
+
3. ticket logical clock.
|
|
372
|
+
4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
|
|
373
|
+
5. groupId group ID: 0 no group, non-zero is the group flag, same flag means same group.
|
|
374
|
+
6. locked whether locked.
|
|
375
|
+
7. zIndex Z-axis height.
|
|
376
|
+
8. layerId layer.
|
|
377
|
+
9. startX top-left X.
|
|
378
|
+
10. startY top-left Y.
|
|
379
|
+
11. width width.
|
|
380
|
+
12. height height.
|
|
381
|
+
13. angle rotation angle, around `start` point.
|
|
382
|
+
14. mirror whether the original image is horizontally mirrored. Mirroring is performed around the center of the original image's BBox.
|
|
383
|
+
15. path multiple complex polygons, see complex polygon chapter. Raw data is stored here; no adjustment is needed throughout the lifecycle.
|
|
384
|
+
|
|
385
|
+
## TEARDROP Teardrop
|
|
386
|
+
|
|
387
|
+
Teardrops cannot be selected or directly operated. When any associated primitive changes, EDA should automatically make them disappear.
|
|
388
|
+
|
|
389
|
+
```json
|
|
390
|
+
{ "type": "TEARDROP", "id":"UUID", "ticket": 1 }||
|
|
391
|
+
{
|
|
392
|
+
"partitionId":null,
|
|
393
|
+
"netName":"GND",
|
|
394
|
+
"layerId":3,
|
|
395
|
+
"path":"simple polygon",
|
|
396
|
+
"groupId":0,
|
|
397
|
+
}|
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
1. type teardrop `TEARDROP`.
|
|
401
|
+
2. id ID.
|
|
402
|
+
3. ticket logical clock.
|
|
403
|
+
4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
|
|
404
|
+
5. netName net.
|
|
405
|
+
6. layerId layer.
|
|
406
|
+
7. path simple polygon.
|
|
407
|
+
8. groupId group ID: 0 no group, non-zero is the group flag, same flag means same group.
|
|
408
|
+
|
|
409
|
+
## FPC_FILL FPC Reinforcement Fill
|
|
410
|
+
|
|
411
|
+
```json
|
|
412
|
+
{ "type": "FPC_FILL", "id":"UUID", "ticket": 1 }||
|
|
413
|
+
{
|
|
414
|
+
"partitionId":null,
|
|
415
|
+
"groupId":0,
|
|
416
|
+
"locked":1,
|
|
417
|
+
"zIndex":7.7845,
|
|
418
|
+
"layerId":3,
|
|
419
|
+
"material":"3M468",
|
|
420
|
+
"thickness":7.874,
|
|
421
|
+
"path":"complex polygon",
|
|
422
|
+
}|
|
|
423
|
+
```
|
|
424
|
+
|
|
425
|
+
1. type fill `FPC_FILL`.
|
|
426
|
+
2. id primitive ID, unique within the document.
|
|
427
|
+
3. ticket logical clock.
|
|
428
|
+
4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
|
|
429
|
+
5. groupId group ID: 0 no group, non-zero is the group flag, same flag means same group.
|
|
430
|
+
6. locked whether locked.
|
|
431
|
+
7. zIndex Z-axis height.
|
|
432
|
+
8. layerId layer.
|
|
433
|
+
9. material material.
|
|
434
|
+
- PI
|
|
435
|
+
- STEEL
|
|
436
|
+
- FR4
|
|
437
|
+
- 3M468
|
|
438
|
+
- 3M9077
|
|
439
|
+
- EMI_Shielding_Film
|
|
440
|
+
10. thickness thickness (note the unit is the same as other primitives).
|
|
441
|
+
11. path see complex polygon chapter.
|