@windypro-rourou/dsh-eda 0.1.0 → 0.1.1

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.
Files changed (407) hide show
  1. package/README.md +71 -119
  2. package/cordis.patch.yml +9 -7
  3. package/lib/board.js +80 -0
  4. package/lib/client.js +2 -2
  5. package/lib/index.js +339 -11
  6. package/lib/installer.js +4 -4
  7. package/lib/skill.js +138 -0
  8. package/package.json +12 -2
  9. package/skill/INDEX.md +193 -0
  10. package/skill/README.official.md +125 -0
  11. package/skill/README.zh-Hans.official.md +125 -0
  12. package/skill/SKILL.md +746 -0
  13. package/skill/format/index.md +152 -0
  14. package/skill/format/pcb/3d.md +166 -0
  15. package/skill/format/pcb/attr.md +63 -0
  16. package/skill/format/pcb/common.md +306 -0
  17. package/skill/format/pcb/component.md +132 -0
  18. package/skill/format/pcb/dimension.md +58 -0
  19. package/skill/format/pcb/index.md +17 -0
  20. package/skill/format/pcb/obj.md +43 -0
  21. package/skill/format/pcb/pad_via.md +151 -0
  22. package/skill/format/pcb/panel.md +64 -0
  23. package/skill/format/pcb/partition.md +43 -0
  24. package/skill/format/pcb/primitive.md +196 -0
  25. package/skill/format/pcb/rule.md +71 -0
  26. package/skill/format/pcb/shape.md +441 -0
  27. package/skill/format/pcb/text.md +62 -0
  28. package/skill/format/project/blob.md +30 -0
  29. package/skill/format/project/common.md +42 -0
  30. package/skill/format/project/group.md +62 -0
  31. package/skill/format/project/index.md +12 -0
  32. package/skill/format/project/instance.md +32 -0
  33. package/skill/format/project/meta.md +189 -0
  34. package/skill/format/project/variant.md +30 -0
  35. package/skill/format/schematic/attr.md +41 -0
  36. package/skill/format/schematic/common.md +47 -0
  37. package/skill/format/schematic/component.md +91 -0
  38. package/skill/format/schematic/index.md +14 -0
  39. package/skill/format/schematic/obj.md +41 -0
  40. package/skill/format/schematic/pin.md +59 -0
  41. package/skill/format/schematic/shape.md +231 -0
  42. package/skill/format/schematic/structure.md +53 -0
  43. package/skill/format/schematic/table.md +109 -0
  44. package/skill/format/schematic/text.md +47 -0
  45. package/skill/format/schematic/wire.md +132 -0
  46. package/skill/guide/ancillary-projects/pro-api-sdk.md +1 -0
  47. package/skill/guide/ancillary-projects/pro-api-types.md +5 -0
  48. package/skill/guide/ancillary-projects.md +10 -0
  49. package/skill/guide/error-handling.md +38 -0
  50. package/skill/guide/extension-json.md +135 -0
  51. package/skill/guide/extensions-marketplace.md +61 -0
  52. package/skill/guide/how-to-start.md +301 -0
  53. package/skill/guide/i18n.md +57 -0
  54. package/skill/guide/index.md +7 -0
  55. package/skill/guide/inline-frame.md +20 -0
  56. package/skill/guide/invoke-apis.md +81 -0
  57. package/skill/guide/stability.md +37 -0
  58. package/skill/references/_index.md +398 -0
  59. package/skill/references/_quick-reference.md +3028 -0
  60. package/skill/references/classes/DMT_Board.md +533 -0
  61. package/skill/references/classes/DMT_EditorControl.md +1736 -0
  62. package/skill/references/classes/DMT_Event.md +356 -0
  63. package/skill/references/classes/DMT_Folder.md +775 -0
  64. package/skill/references/classes/DMT_Panel.md +531 -0
  65. package/skill/references/classes/DMT_Pcb.md +575 -0
  66. package/skill/references/classes/DMT_Project.md +573 -0
  67. package/skill/references/classes/DMT_Schematic.md +1477 -0
  68. package/skill/references/classes/DMT_SelectControl.md +96 -0
  69. package/skill/references/classes/DMT_Team.md +172 -0
  70. package/skill/references/classes/DMT_Workspace.md +198 -0
  71. package/skill/references/classes/EDA.md +961 -0
  72. package/skill/references/classes/IPCB_ComplexPolygon.md +299 -0
  73. package/skill/references/classes/IPCB_Polygon.md +175 -0
  74. package/skill/references/classes/IPCB_PrimitiveArc.md +1901 -0
  75. package/skill/references/classes/IPCB_PrimitiveAttribute.md +2993 -0
  76. package/skill/references/classes/IPCB_PrimitiveComponent.md +2627 -0
  77. package/skill/references/classes/IPCB_PrimitiveComponentPad.md +410 -0
  78. package/skill/references/classes/IPCB_PrimitiveDimension.md +1419 -0
  79. package/skill/references/classes/IPCB_PrimitiveFill.md +1325 -0
  80. package/skill/references/classes/IPCB_PrimitiveImage.md +1461 -0
  81. package/skill/references/classes/IPCB_PrimitiveLine.md +1639 -0
  82. package/skill/references/classes/IPCB_PrimitiveObject.md +1700 -0
  83. package/skill/references/classes/IPCB_PrimitivePad.md +3155 -0
  84. package/skill/references/classes/IPCB_PrimitivePolyline.md +1193 -0
  85. package/skill/references/classes/IPCB_PrimitivePour.md +1858 -0
  86. package/skill/references/classes/IPCB_PrimitivePoured.md +556 -0
  87. package/skill/references/classes/IPCB_PrimitiveRegion.md +1332 -0
  88. package/skill/references/classes/IPCB_PrimitiveString.md +2315 -0
  89. package/skill/references/classes/IPCB_PrimitiveVia.md +1588 -0
  90. package/skill/references/classes/ISCH_PrimitiveArc.md +1676 -0
  91. package/skill/references/classes/ISCH_PrimitiveAttribute.md +2541 -0
  92. package/skill/references/classes/ISCH_PrimitiveBus.md +973 -0
  93. package/skill/references/classes/ISCH_PrimitiveCbbSymbolComponent.md +260 -0
  94. package/skill/references/classes/ISCH_PrimitiveCircle.md +1392 -0
  95. package/skill/references/classes/ISCH_PrimitiveComponent.md +2913 -0
  96. package/skill/references/classes/ISCH_PrimitiveComponentPin.md +155 -0
  97. package/skill/references/classes/ISCH_PrimitiveObject.md +960 -0
  98. package/skill/references/classes/ISCH_PrimitivePin.md +2402 -0
  99. package/skill/references/classes/ISCH_PrimitivePolygon.md +1028 -0
  100. package/skill/references/classes/ISCH_PrimitiveRectangle.md +1777 -0
  101. package/skill/references/classes/ISCH_PrimitiveText.md +1771 -0
  102. package/skill/references/classes/ISCH_PrimitiveWire.md +973 -0
  103. package/skill/references/classes/LIB_3DModel.md +780 -0
  104. package/skill/references/classes/LIB_Cbb.md +957 -0
  105. package/skill/references/classes/LIB_Classification.md +965 -0
  106. package/skill/references/classes/LIB_Device.md +1221 -0
  107. package/skill/references/classes/LIB_Footprint.md +1153 -0
  108. package/skill/references/classes/LIB_LibrariesList.md +329 -0
  109. package/skill/references/classes/LIB_PanelLibrary.md +855 -0
  110. package/skill/references/classes/LIB_SelectControl.md +89 -0
  111. package/skill/references/classes/LIB_SimulationModel.md +821 -0
  112. package/skill/references/classes/LIB_Symbol.md +1195 -0
  113. package/skill/references/classes/PCB_Document.md +1754 -0
  114. package/skill/references/classes/PCB_Drc.md +3375 -0
  115. package/skill/references/classes/PCB_Event.md +1081 -0
  116. package/skill/references/classes/PCB_Layer.md +1911 -0
  117. package/skill/references/classes/PCB_ManufactureData.md +2968 -0
  118. package/skill/references/classes/PCB_MathPolygon.md +785 -0
  119. package/skill/references/classes/PCB_Net.md +1128 -0
  120. package/skill/references/classes/PCB_Primitive.md +217 -0
  121. package/skill/references/classes/PCB_PrimitiveArc.md +894 -0
  122. package/skill/references/classes/PCB_PrimitiveAttribute.md +717 -0
  123. package/skill/references/classes/PCB_PrimitiveComponent.md +1050 -0
  124. package/skill/references/classes/PCB_PrimitiveDimension.md +833 -0
  125. package/skill/references/classes/PCB_PrimitiveFill.md +861 -0
  126. package/skill/references/classes/PCB_PrimitiveImage.md +875 -0
  127. package/skill/references/classes/PCB_PrimitiveLine.md +858 -0
  128. package/skill/references/classes/PCB_PrimitiveObject.md +800 -0
  129. package/skill/references/classes/PCB_PrimitivePad.md +944 -0
  130. package/skill/references/classes/PCB_PrimitivePolyline.md +819 -0
  131. package/skill/references/classes/PCB_PrimitivePour.md +845 -0
  132. package/skill/references/classes/PCB_PrimitivePoured.md +363 -0
  133. package/skill/references/classes/PCB_PrimitiveRegion.md +799 -0
  134. package/skill/references/classes/PCB_PrimitiveString.md +910 -0
  135. package/skill/references/classes/PCB_PrimitiveVia.md +765 -0
  136. package/skill/references/classes/PCB_RayTracerEngine.md +263 -0
  137. package/skill/references/classes/PCB_SelectControl.md +495 -0
  138. package/skill/references/classes/PNL_Document.md +83 -0
  139. package/skill/references/classes/SCH_Document.md +809 -0
  140. package/skill/references/classes/SCH_Drc.md +242 -0
  141. package/skill/references/classes/SCH_Event.md +583 -0
  142. package/skill/references/classes/SCH_ManufactureData.md +1205 -0
  143. package/skill/references/classes/SCH_Net.md +200 -0
  144. package/skill/references/classes/SCH_Netlist.md +191 -0
  145. package/skill/references/classes/SCH_Primitive.md +337 -0
  146. package/skill/references/classes/SCH_PrimitiveArc.md +692 -0
  147. package/skill/references/classes/SCH_PrimitiveAttribute.md +590 -0
  148. package/skill/references/classes/SCH_PrimitiveBus.md +624 -0
  149. package/skill/references/classes/SCH_PrimitiveCircle.md +683 -0
  150. package/skill/references/classes/SCH_PrimitiveComponent.md +2240 -0
  151. package/skill/references/classes/SCH_PrimitiveObject.md +666 -0
  152. package/skill/references/classes/SCH_PrimitivePin.md +754 -0
  153. package/skill/references/classes/SCH_PrimitivePolygon.md +627 -0
  154. package/skill/references/classes/SCH_PrimitiveRectangle.md +731 -0
  155. package/skill/references/classes/SCH_PrimitiveText.md +746 -0
  156. package/skill/references/classes/SCH_PrimitiveWire.md +703 -0
  157. package/skill/references/classes/SCH_SelectControl.md +520 -0
  158. package/skill/references/classes/SCH_SimulationEngine.md +133 -0
  159. package/skill/references/classes/SCH_Utils.md +121 -0
  160. package/skill/references/classes/SYS_ClientUrl.md +173 -0
  161. package/skill/references/classes/SYS_Dialog.md +825 -0
  162. package/skill/references/classes/SYS_Environment.md +502 -0
  163. package/skill/references/classes/SYS_FileManager.md +1686 -0
  164. package/skill/references/classes/SYS_FileSystem.md +1171 -0
  165. package/skill/references/classes/SYS_FontManager.md +224 -0
  166. package/skill/references/classes/SYS_FormatConversion.md +349 -0
  167. package/skill/references/classes/SYS_HeaderMenu.md +479 -0
  168. package/skill/references/classes/SYS_I18n.md +861 -0
  169. package/skill/references/classes/SYS_IFrame.md +535 -0
  170. package/skill/references/classes/SYS_LoadingAndProgressBar.md +246 -0
  171. package/skill/references/classes/SYS_Log.md +424 -0
  172. package/skill/references/classes/SYS_Math.md +1565 -0
  173. package/skill/references/classes/SYS_Message.md +363 -0
  174. package/skill/references/classes/SYS_MessageBox.md +285 -0
  175. package/skill/references/classes/SYS_MessageBus.md +1618 -0
  176. package/skill/references/classes/SYS_PanelControl.md +696 -0
  177. package/skill/references/classes/SYS_RightClickMenu.md +175 -0
  178. package/skill/references/classes/SYS_Setting.md +85 -0
  179. package/skill/references/classes/SYS_ShortcutKey.md +623 -0
  180. package/skill/references/classes/SYS_Storage.md +484 -0
  181. package/skill/references/classes/SYS_Timer.md +447 -0
  182. package/skill/references/classes/SYS_ToastMessage.md +194 -0
  183. package/skill/references/classes/SYS_Tool.md +241 -0
  184. package/skill/references/classes/SYS_Unit.md +594 -0
  185. package/skill/references/classes/SYS_WebSocket.md +401 -0
  186. package/skill/references/classes/SYS_Window.md +850 -0
  187. package/skill/references/enums/EDMT_EditorDocumentType.md +279 -0
  188. package/skill/references/enums/EDMT_EditorSplitScreenDirection.md +48 -0
  189. package/skill/references/enums/EDMT_EditorTabEventType.md +63 -0
  190. package/skill/references/enums/EDMT_IndicatorMarkerType.md +81 -0
  191. package/skill/references/enums/EDMT_ItemType.md +158 -0
  192. package/skill/references/enums/EDMT_ProjectCollaborationMode.md +48 -0
  193. package/skill/references/enums/ELIB_DeviceJlcLibraryCategory.md +48 -0
  194. package/skill/references/enums/ELIB_LibraryType.md +114 -0
  195. package/skill/references/enums/ELIB_PreviewType.md +70 -0
  196. package/skill/references/enums/ELIB_SimulationModelType.md +48 -0
  197. package/skill/references/enums/ELIB_SymbolType.md +125 -0
  198. package/skill/references/enums/EPCB_AutoRoutingCornerStyle.md +48 -0
  199. package/skill/references/enums/EPCB_AutoRoutingExistingPrimitiveMode.md +48 -0
  200. package/skill/references/enums/EPCB_AutoRoutingOptimization.md +48 -0
  201. package/skill/references/enums/EPCB_DocumentCanvasUpdateCalculationActiveStatus.md +48 -0
  202. package/skill/references/enums/EPCB_DocumentRatlineCalculatingActiveStatus.md +52 -0
  203. package/skill/references/enums/EPCB_InactiveLayerDisplayMode.md +59 -0
  204. package/skill/references/enums/EPCB_LayerColorConfiguration.md +81 -0
  205. package/skill/references/enums/EPCB_LayerId.md +882 -0
  206. package/skill/references/enums/EPCB_LayerStatus.md +59 -0
  207. package/skill/references/enums/EPCB_LayerType.md +114 -0
  208. package/skill/references/enums/EPCB_MouseEventType.md +59 -0
  209. package/skill/references/enums/EPCB_NetEventType.md +59 -0
  210. package/skill/references/enums/EPCB_PcbPlateType.md +48 -0
  211. package/skill/references/enums/EPCB_PdfOutputMethod.md +59 -0
  212. package/skill/references/enums/EPCB_PrimitiveArcInteractiveMode.md +48 -0
  213. package/skill/references/enums/EPCB_PrimitiveDimensionType.md +59 -0
  214. package/skill/references/enums/EPCB_PrimitiveEventType.md +59 -0
  215. package/skill/references/enums/EPCB_PrimitiveFillMode.md +63 -0
  216. package/skill/references/enums/EPCB_PrimitivePadHeatWeldingConnectionMethod.md +59 -0
  217. package/skill/references/enums/EPCB_PrimitivePadHoleType.md +59 -0
  218. package/skill/references/enums/EPCB_PrimitivePadShapeType.md +81 -0
  219. package/skill/references/enums/EPCB_PrimitivePadType.md +59 -0
  220. package/skill/references/enums/EPCB_PrimitivePourFillMethod.md +59 -0
  221. package/skill/references/enums/EPCB_PrimitiveRegionRuleType.md +96 -0
  222. package/skill/references/enums/EPCB_PrimitiveStringAlignMode.md +125 -0
  223. package/skill/references/enums/EPCB_PrimitiveType.md +202 -0
  224. package/skill/references/enums/EPCB_PrimitiveViaType.md +59 -0
  225. package/skill/references/enums/ESCH_DynamicSimulationEnginePullEventType.md +103 -0
  226. package/skill/references/enums/ESCH_DynamicSimulationEnginePushEventType.md +81 -0
  227. package/skill/references/enums/ESCH_ExportDocumentFileType.md +59 -0
  228. package/skill/references/enums/ESCH_MouseEventType.md +48 -0
  229. package/skill/references/enums/ESCH_PrimitiveComponentType.md +125 -0
  230. package/skill/references/enums/ESCH_PrimitiveEventType.md +70 -0
  231. package/skill/references/enums/ESCH_PrimitiveFillStyle.md +114 -0
  232. package/skill/references/enums/ESCH_PrimitiveLineType.md +70 -0
  233. package/skill/references/enums/ESCH_PrimitivePinShape.md +70 -0
  234. package/skill/references/enums/ESCH_PrimitivePinType.md +147 -0
  235. package/skill/references/enums/ESCH_PrimitiveTextAlignMode.md +125 -0
  236. package/skill/references/enums/ESCH_PrimitiveType.md +180 -0
  237. package/skill/references/enums/ESCH_SimulationNetlistType.md +37 -0
  238. package/skill/references/enums/ESCH_SpiceSimulationEnginePullEventType.md +48 -0
  239. package/skill/references/enums/ESCH_SpiceSimulationEnginePushEventType.md +70 -0
  240. package/skill/references/enums/ESYS_BottomPanelTab.md +81 -0
  241. package/skill/references/enums/ESYS_HeaderMenuEnvironment.md +158 -0
  242. package/skill/references/enums/ESYS_ImportProjectBoardOutlineSource.md +52 -0
  243. package/skill/references/enums/ESYS_ImportProjectImportOption.md +59 -0
  244. package/skill/references/enums/ESYS_ImportProjectSchematicObjectStyle.md +48 -0
  245. package/skill/references/enums/ESYS_ImportProjectViaSolderMaskExpansion.md +52 -0
  246. package/skill/references/enums/ESYS_LeftPanelTab.md +81 -0
  247. package/skill/references/enums/ESYS_LogType.md +103 -0
  248. package/skill/references/enums/ESYS_NetlistType.md +114 -0
  249. package/skill/references/enums/ESYS_RightPanelTab.md +202 -0
  250. package/skill/references/enums/ESYS_ShortcutKeyEffectiveEditorRange.md +191 -0
  251. package/skill/references/enums/ESYS_ShortcutKeyEffectiveEditorScene.md +92 -0
  252. package/skill/references/enums/ESYS_StartPageQuickStartItem.md +206 -0
  253. package/skill/references/enums/ESYS_Theme.md +48 -0
  254. package/skill/references/enums/ESYS_ToastMessageType.md +81 -0
  255. package/skill/references/enums/ESYS_Unit.md +103 -0
  256. package/skill/references/enums/ESYS_WindowEventType.md +48 -0
  257. package/skill/references/enums/ESYS_WindowOpenTarget.md +48 -0
  258. package/skill/references/enums/NetportDeviceName.md +147 -0
  259. package/skill/references/enums/SchToolBarDeviceName.md +279 -0
  260. package/skill/references/interfaces/BoardProps.md +169 -0
  261. package/skill/references/interfaces/ButtonProps.md +169 -0
  262. package/skill/references/interfaces/CheckBoxProps.md +196 -0
  263. package/skill/references/interfaces/ComponentPropsMap.md +448 -0
  264. package/skill/references/interfaces/DialogProps.md +385 -0
  265. package/skill/references/interfaces/FlexItemProps.md +116 -0
  266. package/skill/references/interfaces/FlexProps.md +224 -0
  267. package/skill/references/interfaces/GridItemProps.md +143 -0
  268. package/skill/references/interfaces/GridProps.md +143 -0
  269. package/skill/references/interfaces/IDMT_BoardItem.md +171 -0
  270. package/skill/references/interfaces/IDMT_BriefProjectItem.md +171 -0
  271. package/skill/references/interfaces/IDMT_EditorDocumentItem.md +169 -0
  272. package/skill/references/interfaces/IDMT_EditorSplitScreenItem.md +173 -0
  273. package/skill/references/interfaces/IDMT_EditorTabItem.md +169 -0
  274. package/skill/references/interfaces/IDMT_FolderItem.md +225 -0
  275. package/skill/references/interfaces/IDMT_IndicatorMarkerShape.md +393 -0
  276. package/skill/references/interfaces/IDMT_PanelItem.md +144 -0
  277. package/skill/references/interfaces/IDMT_PcbItem.md +171 -0
  278. package/skill/references/interfaces/IDMT_ProjectItem.md +143 -0
  279. package/skill/references/interfaces/IDMT_SchematicItem.md +225 -0
  280. package/skill/references/interfaces/IDMT_SchematicPageItem.md +198 -0
  281. package/skill/references/interfaces/IDMT_TeamItem.md +144 -0
  282. package/skill/references/interfaces/IDMT_WorkspaceItem.md +117 -0
  283. package/skill/references/interfaces/IDesignPortal.md +103 -0
  284. package/skill/references/interfaces/ILIB_3DModelItem.md +198 -0
  285. package/skill/references/interfaces/ILIB_3DModelSearchItem.md +277 -0
  286. package/skill/references/interfaces/ILIB_CbbItem.md +225 -0
  287. package/skill/references/interfaces/ILIB_CbbSearchItem.md +277 -0
  288. package/skill/references/interfaces/ILIB_ClassificationIndex.md +150 -0
  289. package/skill/references/interfaces/ILIB_DeviceAssociationItem.md +210 -0
  290. package/skill/references/interfaces/ILIB_DeviceExtendPropertyItem.md +304 -0
  291. package/skill/references/interfaces/ILIB_DeviceItem.md +279 -0
  292. package/skill/references/interfaces/ILIB_DevicePropertiesForSearch.md +250 -0
  293. package/skill/references/interfaces/ILIB_DeviceSearchItem.md +521 -0
  294. package/skill/references/interfaces/ILIB_ExtendLibrary3DModelFunctions.md +64 -0
  295. package/skill/references/interfaces/ILIB_ExtendLibraryCbbFunctions.md +99 -0
  296. package/skill/references/interfaces/ILIB_ExtendLibraryClassificationIndex.md +150 -0
  297. package/skill/references/interfaces/ILIB_ExtendLibraryDeviceFunctions.md +157 -0
  298. package/skill/references/interfaces/ILIB_ExtendLibraryFootprintFunctions.md +63 -0
  299. package/skill/references/interfaces/ILIB_ExtendLibraryFunctions.md +123 -0
  300. package/skill/references/interfaces/ILIB_ExtendLibraryItem.md +97 -0
  301. package/skill/references/interfaces/ILIB_ExtendLibraryItemIndex.md +98 -0
  302. package/skill/references/interfaces/ILIB_ExtendLibrarySearchProperty.md +115 -0
  303. package/skill/references/interfaces/ILIB_ExtendLibrarySearchResult.md +169 -0
  304. package/skill/references/interfaces/ILIB_ExtendLibrarySearchResultDataLine.md +234 -0
  305. package/skill/references/interfaces/ILIB_ExtendLibrarySymbolFunctions.md +105 -0
  306. package/skill/references/interfaces/ILIB_ExtendLibraryUserIndex.md +96 -0
  307. package/skill/references/interfaces/ILIB_FootprintItem.md +198 -0
  308. package/skill/references/interfaces/ILIB_FootprintPropertiesForSearch.md +61 -0
  309. package/skill/references/interfaces/ILIB_FootprintSearchItem.md +277 -0
  310. package/skill/references/interfaces/ILIB_LibraryInfo.md +92 -0
  311. package/skill/references/interfaces/ILIB_LibraryItem.md +115 -0
  312. package/skill/references/interfaces/ILIB_PanelLibraryItem.md +198 -0
  313. package/skill/references/interfaces/ILIB_PanelLibrarySearchItem.md +277 -0
  314. package/skill/references/interfaces/ILIB_SimulationModelItem.md +306 -0
  315. package/skill/references/interfaces/ILIB_SimulationModelSearchItem.md +304 -0
  316. package/skill/references/interfaces/ILIB_SymbolItem.md +279 -0
  317. package/skill/references/interfaces/ILIB_SymbolPropertiesForSearch.md +61 -0
  318. package/skill/references/interfaces/ILIB_SymbolSearchItem.md +304 -0
  319. package/skill/references/interfaces/IPCB_AutoLayoutResult.md +169 -0
  320. package/skill/references/interfaces/IPCB_AutoRoutingProps.md +220 -0
  321. package/skill/references/interfaces/IPCB_AutoRoutingResult.md +169 -0
  322. package/skill/references/interfaces/IPCB_BomPropertiesTableColumns.md +169 -0
  323. package/skill/references/interfaces/IPCB_DifferentialPairItem.md +115 -0
  324. package/skill/references/interfaces/IPCB_DiscretizeOptions.md +65 -0
  325. package/skill/references/interfaces/IPCB_DiscretizedPoint.md +88 -0
  326. package/skill/references/interfaces/IPCB_EqualLengthNetGroupItem.md +115 -0
  327. package/skill/references/interfaces/IPCB_LayerItem.md +277 -0
  328. package/skill/references/interfaces/IPCB_NetClassItem.md +115 -0
  329. package/skill/references/interfaces/IPCB_NetInfo.md +115 -0
  330. package/skill/references/interfaces/IPCB_PadPairGroupItem.md +88 -0
  331. package/skill/references/interfaces/IPCB_PadPairMinWireLengthItem.md +88 -0
  332. package/skill/references/interfaces/IPCB_PhysicalStackingConfiguration.md +115 -0
  333. package/skill/references/interfaces/IPCB_Primitive.md +218 -0
  334. package/skill/references/interfaces/IPCB_PrimitiveAPI.md +175 -0
  335. package/skill/references/interfaces/IPCB_PrimitivePadHeatWelding.md +151 -0
  336. package/skill/references/interfaces/IPCB_PrimitivePouredPourFill.md +142 -0
  337. package/skill/references/interfaces/IPCB_PrimitiveSolderMaskAndPasteMaskExpansion.md +154 -0
  338. package/skill/references/interfaces/IPCB_SubstratePhysicalProperties.md +88 -0
  339. package/skill/references/interfaces/IRawNet.md +103 -0
  340. package/skill/references/interfaces/IRawPureSchematic.md +80 -0
  341. package/skill/references/interfaces/IRawSchematic.md +103 -0
  342. package/skill/references/interfaces/IRawWire.md +149 -0
  343. package/skill/references/interfaces/ISCH_DrcError.md +142 -0
  344. package/skill/references/interfaces/ISCH_DrcErrorPrimitive.md +142 -0
  345. package/skill/references/interfaces/ISCH_ExportPngResolution.md +94 -0
  346. package/skill/references/interfaces/ISCH_NetInfo.md +88 -0
  347. package/skill/references/interfaces/ISCH_Primitive.md +219 -0
  348. package/skill/references/interfaces/ISCH_PrimitiveAPI.md +175 -0
  349. package/skill/references/interfaces/ISCH_ProjectNetInfo.md +142 -0
  350. package/skill/references/interfaces/ISCH_WireInfo.md +169 -0
  351. package/skill/references/interfaces/ISYS_FileSystemFileList.md +169 -0
  352. package/skill/references/interfaces/ISYS_HeaderMenuSub1MenuItem.md +174 -0
  353. package/skill/references/interfaces/ISYS_HeaderMenuSub2MenuItem.md +147 -0
  354. package/skill/references/interfaces/ISYS_HeaderMenuTopMenuItem.md +115 -0
  355. package/skill/references/interfaces/ISYS_HeaderMenus.md +408 -0
  356. package/skill/references/interfaces/ISYS_LogLine.md +115 -0
  357. package/skill/references/interfaces/ISYS_MathBBox.md +142 -0
  358. package/skill/references/interfaces/ISYS_MathPoint.md +88 -0
  359. package/skill/references/interfaces/ISYS_MathPolygonWithHoles.md +92 -0
  360. package/skill/references/interfaces/ISYS_MessageBusTask.md +115 -0
  361. package/skill/references/interfaces/ISYS_MultilingualLanguagesData.md +13 -0
  362. package/skill/references/interfaces/ISYS_PcbComparisonResponse.md +115 -0
  363. package/skill/references/interfaces/ISYS_RightClickMenuItem.md +174 -0
  364. package/skill/references/interfaces/ISYS_ShortcutKeyData.md +169 -0
  365. package/skill/references/interfaces/ISYS_ShortcutKeyDataWithCallFn.md +62 -0
  366. package/skill/references/interfaces/ISYS_ShortcutKeyDataWithUserDefinedShortcutKey.md +62 -0
  367. package/skill/references/interfaces/ISYS_WindowEventListenerRemovableObject.md +109 -0
  368. package/skill/references/interfaces/IconProps.md +88 -0
  369. package/skill/references/interfaces/ImageProps.md +115 -0
  370. package/skill/references/interfaces/InputProps.md +520 -0
  371. package/skill/references/interfaces/ListChildren.md +223 -0
  372. package/skill/references/interfaces/ListProps.md +223 -0
  373. package/skill/references/interfaces/ModalProps.md +358 -0
  374. package/skill/references/interfaces/RadioGroupProps.md +196 -0
  375. package/skill/references/interfaces/RadioItem.md +115 -0
  376. package/skill/references/interfaces/ScrollerProps.md +169 -0
  377. package/skill/references/interfaces/SelectListItem.md +142 -0
  378. package/skill/references/interfaces/SelectProps.md +169 -0
  379. package/skill/references/interfaces/SlotProps.md +88 -0
  380. package/skill/references/interfaces/StyleProps.md +385 -0
  381. package/skill/references/interfaces/TextAreaProps.md +196 -0
  382. package/skill/references/interfaces/TextProps.md +169 -0
  383. package/skill/references/types/ISYS_LanguageKeyValuePairs.md +13 -0
  384. package/skill/references/types/TPCB_LayerTypesOfInnerLayer.md +12 -0
  385. package/skill/references/types/TPCB_LayersInTheSelectable.md +43 -0
  386. package/skill/references/types/TPCB_LayersOfComponent.md +12 -0
  387. package/skill/references/types/TPCB_LayersOfCopper.md +16 -0
  388. package/skill/references/types/TPCB_LayersOfCustom.md +42 -0
  389. package/skill/references/types/TPCB_LayersOfDimension.md +17 -0
  390. package/skill/references/types/TPCB_LayersOfFill.md +29 -0
  391. package/skill/references/types/TPCB_LayersOfImage.md +23 -0
  392. package/skill/references/types/TPCB_LayersOfInner.md +42 -0
  393. package/skill/references/types/TPCB_LayersOfLine.md +26 -0
  394. package/skill/references/types/TPCB_LayersOfObject.md +13 -0
  395. package/skill/references/types/TPCB_LayersOfPad.md +12 -0
  396. package/skill/references/types/TPCB_LayersOfRegion.md +12 -0
  397. package/skill/references/types/TPCB_NumberOfCopperLayers.md +10 -0
  398. package/skill/references/types/TPCB_PolygonSourceArray.md +83 -0
  399. package/skill/references/types/TPCB_PrimitiveDimensionCoordinateSet.md +67 -0
  400. package/skill/references/types/TPCB_PrimitivePadHole.md +31 -0
  401. package/skill/references/types/TPCB_PrimitivePadShape.md +62 -0
  402. package/skill/references/types/TPCB_PrimitiveSpecialPadShape.md +20 -0
  403. package/skill/references/types/TSYS_MathPolygonGroup.md +16 -0
  404. package/skill/references/types/TSYS_MathPolygonInput.md +21 -0
  405. package/skill/references/types/TSYS_PcbComparisonErrorCode.md +10 -0
  406. package/skill/references/types/TSYS_ShortcutKeys.md +97 -0
  407. package/skill/user-guide/using-extension.md +47 -0
@@ -0,0 +1,132 @@
1
+ # Footprint System
2
+
3
+ PCB footprints use a Master/Instance model, describing footprints through override rules with minimal redundancy.
4
+
5
+ ## COMPONENT Component Instance
6
+
7
+ Instances only contain attributes. Attributes with the same `Key` in the instance will override those in the `FOOTPRINT`.
8
+
9
+ ```json
10
+ { "type": "COMPONENT", "id":"UUID", "ticket": 1 }||
11
+ {
12
+ "partitionId":null,
13
+ "groupId":0,
14
+ "locked":1,
15
+ "zIndex":0.22,
16
+ "layerId":1,
17
+ "positionX":150,
18
+ "positionY":200,
19
+ "angle":45,
20
+ "attrs":{ "3D Model": "uuid", "3D Model Transform": "20,10,0,0,15,45,0,0,20" },
21
+ }|
22
+ ```
23
+
24
+ 1. type instance `COMPONENT`.
25
+ 2. id primitive ID, unique within the document.
26
+ 3. ticket logical clock.
27
+ 4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
28
+ 5. groupId group ID: 0 no group, non-zero is the group flag, same flag means same group.
29
+ 6. locked whether locked.
30
+ 7. zIndex Z-axis height.
31
+ 8. layerId layer (only top and bottom).
32
+ 9. positionX position X.
33
+ 10. positionY position Y.
34
+ 11. angle rotation angle.
35
+ 12. attrs custom attributes.
36
+ - Fixed `3D Model` is the uuid of the 3D model. This uuid represents a record with doctype = 16 in the components table.
37
+ - Fixed `3D Model Transform` is the 3D model transformation parameters.
38
+
39
+ ```json
40
+ ["ATTR", "e102", 0, "e8", 1, "Designator", "U1", 0, 1, "SimSun", 50, 10, 0, 0, 0, 1, 2, 15, 1, 1]
41
+ ```
42
+
43
+ ```json
44
+ ["ATTR", "e103", 0, "e8", 1, "Footprint", "footprint-uuid", 0, 1, "SimSun", 50, 10, 0, 0, 0, 1, 2, 15, 1, 1]
45
+ ```
46
+
47
+ ```json
48
+ ["ATTR", "e104", 0, "e8", 1, "Device", "device-uuid", 0, 1, "SimSun", 50, 10, 0, 0, 0, 1, 2, 15, 1, 1]
49
+ ```
50
+
51
+ ### Pad-Net Mapping `PAD_NET`
52
+
53
+ ```json
54
+ { "type": "PAD_NET", "id":"COMPONENT_UUID", "ticket": 1 }||
55
+ {
56
+ "padNum":"a1",
57
+ "padNet":"GND",
58
+ "padId":"e125",
59
+ }|
60
+ ```
61
+
62
+ 1. type pad-net mapping `PAD_NET`.
63
+ 2. id parent component instance ID.
64
+ 3. ticket logical clock.
65
+ 4. padNum pad number.
66
+ 5. padNet net name.
67
+ 6. padId pad ID inside the footprint (optional).
68
+
69
+ ### Reuse Block Information `REUSE_BLOCK`
70
+
71
+ ```json
72
+ { "type": "REUSE_BLOCK", "id":"COMPONENT_UUID", "ticket": 1 }||
73
+ {
74
+ "groupId":"$1e16",
75
+ "channelId":"$2e5_$4e3",
76
+ }|
77
+ ```
78
+
79
+ 1. type reuse block information `REUSE_BLOCK`.
80
+ 2. id parent component instance ID.
81
+ 3. groupId group ID.
82
+ 4. channelId channel ID.
83
+
84
+ ### 3D Model Transform Special Notes
85
+
86
+ ```json
87
+ { "type": "COMPONENT", "id":"UUID", "ticket": 1 }||
88
+ {
89
+ "partitionId":null,
90
+ "groupId":0,
91
+ "locked":1,
92
+ "zIndex":0.22,
93
+ "layerId":1,
94
+ "positionX":150,
95
+ "positionY":200,
96
+ "angle":45,
97
+ "attrs":{ "3D Model": "uuid", "3D Model Transform": "20,10,0,0,15,45,0,0,20" },
98
+ }|
99
+ ```
100
+
101
+ In the device, `3D Model Transform` is fixed as the transformation parameters required for the 3D model to match the device when it is [on the top layer], at [coordinates 0,0], and [rotation angle 0].
102
+
103
+ The parameters are:
104
+
105
+ 1. sizeX: X-axis size.
106
+ 2. sizeY: Y-axis size.
107
+ 3. sizeZ: Z-axis size. There is a compatibility handling here: if 0, height is automatically adapted.
108
+ 4. rotZ: rotation angle around Z axis.
109
+ 5. rotX: rotation angle around X axis.
110
+ 6. rotY: rotation angle around Y axis.
111
+ 7. offX: X-axis offset.
112
+ 8. offY: Y-axis offset.
113
+ 9. offZ: Z-axis offset.
114
+
115
+ The algorithm for generating the 3D model transformation matrix from the 3D model transform parameters is as follows:
116
+
117
+ ```python
118
+ cx = X-axis midpoint of the 3D model
119
+ cy = Y-axis midpoint of the 3D model
120
+ bz = minimum Z value of the 3D model
121
+
122
+ wx = X-axis width of the 3D model
123
+ wy = Y-axis width of the 3D model
124
+ wz = Z-axis width of the 3D model
125
+
126
+ ORIGIN = translate(-cx, -cy, -bz)
127
+ SCALE = scale(sizeX / wx, sizeY / wy, sizeZ / wz)
128
+ ROT = rotateZXY(rotZ, rotX, rotY)
129
+ OFFSET = translate(offX, offY, offZ)
130
+
131
+ MATRIX = OFFSET X ROT X SCALE X ORIGIN
132
+ ```
@@ -0,0 +1,58 @@
1
+ # DIMENSION Dimension Tool Set
2
+
3
+ ```json
4
+ { "type": "DIMENSION", "id":"UUID", "ticket": 1 }||
5
+ {
6
+ "partitionId":null,
7
+ "groupId":0,
8
+ "locked":1,
9
+ "zIndex":2.221,
10
+ "type":"RADIUS",
11
+ "layerId":3,
12
+ "unit":"mm",
13
+ "strokeWidth":0.5,
14
+ "precision":3,
15
+ "textFollow":1,
16
+ "coords": [100 200 300 400 400 400],
17
+ }|
18
+ ["DIMENSION", "e101", 0, 1, 2.221, "RADIUS", 3, "mm", 0.5, 3, 1, [100 200 300 400 400 400]]
19
+ ```
20
+
21
+ 1. type dimension tool `DIMENSION`.
22
+ 2. id primitive ID, unique within the document.
23
+ 3. ticket logical clock.
24
+ 4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
25
+ 5. groupId group ID: 0 no group, non-zero is the group flag, same flag means same group.
26
+ 6. locked whether locked.
27
+ 7. zIndex Z-axis height.
28
+ 8. type dimension type: `RADIUS` radius, `LENGTH` length, `ANGLE` angle.
29
+ 9. layerId layer.
30
+ 10. unit unit: `mm`, `cm`, `inch`, `mil`.
31
+ 11. strokeWidth line width.
32
+ 12. precision precision.
33
+ 13. textFollow whether text follows: `1` tool automatically decides text position, `0` always use the position of `ATTR`.
34
+ 14. coords coordinate set X1 Y1 X2 Y2 X3 Y3 ... different dimension types define coordinates differently.
35
+
36
+ ```json
37
+ ["ATTR", "e102", 0, "e101", 1, 200, 150, "VALUE", "1234mm", 0, 1, "SimSun", 50, 10, 0, 0, 0, 2, 15, 1, 1]
38
+ ```
39
+
40
+ `DIMENSION` needs to be accompanied by an attribute with Key `VALUE` to express the text part of the dimension tool. EDA should ignore unnecessary properties such as `whether to display Key` and `whether to display Value`.
41
+
42
+ ### RADIUS Radius Tool
43
+
44
+ The first coordinate of the coordinate set is the endpoint touching the ARC, and the last coordinate is the default endpoint for displaying text, as shown below.
45
+
46
+ ![image](/storage/images/cn/format/pcb/dimension/dim_radius.png)
47
+
48
+ ### LENGTH Length Tool
49
+
50
+ The coordinate set only needs four points, as shown below.
51
+
52
+ ![image](/storage/images/cn/format/pcb/dimension/dim_length.png)
53
+
54
+ ### ANGLE Angle Tool
55
+
56
+ The coordinate set needs 3 points, as shown below.
57
+
58
+ ![image](/storage/images/cn/format/pcb/dimension/dim_angle.png)
@@ -0,0 +1,17 @@
1
+ # PCB Format Document
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](/en/format/pcb/common.md): document header, canvas, layers, physical layers, preferences, etc.
6
+ - [Partition Format](/en/format/pcb/partition.md): partition definitions.
7
+ - [Basic Primitives](/en/format/pcb/primitive.md): nets, primitive configurations, groups, silkscreen configurations, associations, attributes, etc.
8
+ - [Pads and Vias](/en/format/pcb/pad_via.md): pads and vias.
9
+ - [Shape Primitives](/en/format/pcb/shape.md): lines, arcs, polygon systems, polylines, fills, regions, copper pours, images, teardrops, etc.
10
+ - [Binary Objects](/en/format/pcb/obj.md): embedded objects.
11
+ - [3D Shell](/en/format/pcb/3d.md): shells, creases, entities, bosses.
12
+ - [Text System](/en/format/pcb/text.md): text.
13
+ - [Attributes](/en/format/pcb/attr.md): attributes.
14
+ - [Dimension Tools](/en/format/pcb/dimension.md): dimension annotations.
15
+ - [Footprint System](/en/format/pcb/component.md): component instances.
16
+ - [Design Rules](/en/format/pcb/rule.md): rule templates, rule definitions, rule selectors.
17
+ - [Panelization](/en/format/pcb/panel.md): panelization parameters.
@@ -0,0 +1,43 @@
1
+ # OBJ Binary Embedded Object
2
+
3
+ Files and other data are encoded into the following primitive to be embedded in the page as images and files, which can be downloaded as attachments or displayed directly.
4
+
5
+ ```json
6
+ { "type": "OBJ", "id":"UUID", "ticket": 1 }||
7
+ {
8
+ "partitionId":null,
9
+ "groupId":0,
10
+ "locked":1,
11
+ "zIndex":5.286,
12
+ "layerId":15,
13
+ "fileName":"a.png",
14
+ "startX":200,
15
+ "startY":300,
16
+ "width":10,
17
+ "height":20,
18
+ "angle":0,
19
+ "mirror":1,
20
+ "path":"blob:1234ade2f",
21
+ }|
22
+ ["OBJ", "e662", 0, 1, 5.286, 15, "a.png", 200, 300, 10, 20, 0, 1, "blob:1234ade2f"]
23
+ ```
24
+
25
+ 1. type binary embedded object identifier: OBJ.
26
+ 2. id primitive ID, unique within the document.
27
+ 3. ticket logical clock.
28
+ 4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
29
+ 5. groupId group ID: 0 no group, non-zero is the group flag, same flag means same group.
30
+ 6. locked whether locked.
31
+ 7. zIndex Z-axis height.
32
+ 8. layerId layer.
33
+ 9. fileName file name.
34
+ 10. startX top-left X.
35
+ 11. startY top-left Y.
36
+ 12. width width.
37
+ 13. height height.
38
+ 14. angle rotation angle, around `top-left`.
39
+ 15. mirror whether the original image is horizontally mirrored. Mirroring is performed around the center of the original image's BBox.
40
+ 16. path binary data.
41
+ 1. General format, compatible with `Data URLs`: `data:[<mediatype>][;base64],<data>`
42
+ - e.g. `data:image/png;base64,asdfasdfwer`
43
+ 2. BLOB reference format, `blob:hashid`.
@@ -0,0 +1,151 @@
1
+ # Pads and Vias
2
+
3
+ ## VIA Via
4
+
5
+ Vias are generally used to connect circuits between different layers.
6
+ For multi-layer boards, there are generally the following modes:
7
+ Through-hole: from `start layer` to `end layer`, through top and bottom.
8
+ Blind via: only one of `start layer` or `end layer` is top or bottom.
9
+ Buried via: neither `start layer` nor `end layer` is top or bottom.
10
+
11
+ ```json
12
+ { "type": "VIA", "id":"UUID", "ticket": 1 }||
13
+ {
14
+ "partitionId":null,
15
+ "groupId":0,
16
+ "locked":1,
17
+ "zIndex":3.223,
18
+ "netName":"GND",
19
+ "ruleName":"asdf",
20
+ "centerX":100,
21
+ "centerY":200,
22
+ "holeDiameter":5,
23
+ "viaDiameter":9,
24
+ "viaType":0,
25
+ "topSolderExpansion":null,
26
+ "bottomSolderExpansion":null,
27
+ "unusedInnerLayers":[17],
28
+ }|
29
+ ```
30
+
31
+ 1. type via `VIA`.
32
+ 2. id primitive ID, unique within the document.
33
+ 3. ticket logical clock.
34
+ 4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
35
+ 5. groupId group ID: 0 no group, non-zero is the group flag, same flag means same group.
36
+ 6. locked whether locked.
37
+ 7. zIndex Z-axis height.
38
+ 8. netName NET.
39
+ 9. ruleName via layer type: design rule name, defines start and end layers of the via.
40
+ 10. centerX coordinate X.
41
+ 11. centerY coordinate Y.
42
+ 12. holeDiameter hole diameter.
43
+ 13. viaDiameter pad diameter.
44
+ 14. viaType via type: 0 normal via, 1 stitching via.
45
+ 15. topSolderExpansion top solder mask expansion: `null` means follow rule.
46
+ 16. bottomSolderExpansion bottom solder mask expansion: `null` means follow rule.
47
+ 17. unusedInnerLayers hidden pad layers (optional): array of layers where pads are hidden.
48
+
49
+ ## PAD Pad
50
+
51
+ Pads are generally used for soldering components to the circuit board.
52
+ Pads either run through the entire board or only on the top or bottom layer, so there are only top, bottom, and multi-layer options.
53
+
54
+ ```json
55
+ { "type": "PAD", "id":"UUID", "ticket": 1 }||
56
+ {
57
+ "partitionId":null,
58
+ "groupId":0,
59
+ "locked":1,
60
+ "zIndex":6.234,
61
+ "netName":"GND",
62
+ "layerId":0,
63
+ "num":"1",
64
+ "centerX":100,
65
+ "centerY":200,
66
+ "padAngle":15,
67
+ "hole":["reference hole"],
68
+ "defaultPad":["reference pad"],
69
+ "specialPad":[[0, 1, ["reference pad"]]],
70
+ "padOffsetX":10,
71
+ "padOffsetY":-5,
72
+ "relativeAngle":30,
73
+ "plated":1,
74
+ "padType":null,
75
+ "topSolderExpansion":0.5,
76
+ "bottomSolderExpansion":0.4,
77
+ "topPasteExpansion":null,
78
+ "bottomPasteExpansion":0,
79
+ "connectMode":0,
80
+ "spokeSpace":10,
81
+ "spokeWidth":5,
82
+ "spokeAngle":45,
83
+ "unusedInnerLayers":[15, 17],
84
+ }|
85
+ ```
86
+
87
+ 1. type pad `PAD`.
88
+ 2. id primitive ID, unique within the document.
89
+ 3. ticket logical clock.
90
+ 4. partitionId partition ID it belongs to, null means no partition. Ignored for footprints.
91
+ 5. groupId group ID: 0 no group, non-zero is the group flag, same flag means same group.
92
+ 6. locked whether locked.
93
+ 7. zIndex Z-axis height.
94
+ 8. netName net.
95
+ 9. layerId layer (only top, bottom, multi-layer).
96
+ 10. num pad number.
97
+ 11. centerX pad origin X.
98
+ 12. centerY pad origin Y.
99
+ 13. padAngle pad rotation angle.
100
+ 14. hole hole: reference hole, `null` means no hole.
101
+ 15. defaultPad default pad: reference pad.
102
+ 16. specialPad special pads (multiple groups, each group defined as follows).
103
+ 1. start layer.
104
+ 2. end layer.
105
+ 3. reference pad.
106
+ 17. padOffsetX hole offset X.
107
+ 18. padOffsetY hole offset Y.
108
+ 19. relativeAngle hole rotation relative to pad.
109
+ 20. plated whether plated hole wall.
110
+ 21. padType pad function: 0 normal pad, 1 test point, 2 fiducial.
111
+ 22. topSolderExpansion top solder mask expansion: `null` means follow rule.
112
+ 23. bottomSolderExpansion bottom solder mask expansion: `null` means follow rule.
113
+ 24. topPasteExpansion top paste mask expansion: `null` means follow rule.
114
+ 25. bottomPasteExpansion bottom paste mask expansion: `null` means follow rule.
115
+ 26. connectMode thermal relief - connection mode: `null` means follow rule, other data same as design rules.
116
+ 27. spokeSpace thermal relief - spoke spacing: `null` means follow rule, other data same as design rules.
117
+ 28. spokeWidth thermal relief - spoke width: `null` means follow rule, other data same as design rules.
118
+ 29. spokeAngle thermal relief - spoke angle: `null` means follow rule, other data same as design rules.
119
+ 30. unusedInnerLayers hidden pad layers (optional): array of layers where pads are hidden.
120
+
121
+ ### Hole
122
+
123
+ 1. Slot hole
124
+ 1. Slot hole `ROUND`
125
+ 2. width
126
+ 3. height
127
+ 2. Square hole
128
+ 1. Square hole `RECT`
129
+ 2. width
130
+ 3. height
131
+
132
+ ### Pad
133
+
134
+ Hole rotation and pad rotation are independent.
135
+
136
+ 1. Oblong pad
137
+ 1. Oblong pad `ROUND`
138
+ 2. width
139
+ 3. height
140
+ 2. Square pad
141
+ 1. Square pad `RECT`
142
+ 2. width
143
+ 3. height
144
+ 4. corner radius
145
+ 3. Regular polygon pad
146
+ 1. Regular polygon pad `NGON` (name from 3DSMAX)
147
+ 2. diameter
148
+ 3. number of sides (> 2)
149
+ 4. Polygon pad
150
+ 1. Polygon pad `POLY`
151
+ 2. reference complex polygon, relative position to hole as origin
@@ -0,0 +1,64 @@
1
+ # Panelization
2
+
3
+ ```json
4
+ { "type": "PANELIZE", "ticket": 1 }||
5
+ {
6
+ "on":1,
7
+ "row":2,
8
+ "column":3,
9
+ "rowSpacing":5.5,
10
+ "columnSpacing":6.1,
11
+ "onlyOutline":1,
12
+ }|
13
+ ```
14
+
15
+ 1. type panelization `PANELIZE`.
16
+ 2. ticket logical clock.
17
+ 3. on whether enabled.
18
+ 4. row number of rows.
19
+ 5. column number of columns.
20
+ 6. rowSpacing row spacing.
21
+ 7. columnSpacing column spacing.
22
+ 8. onlyOutline whether to panelize outline only.
23
+
24
+ ```json
25
+ { "type": "PANELIZE_STAMP", "ticket": 1 }||
26
+ {
27
+ "direction":1,
28
+ "on":1,
29
+ "stampHoleGroupQuantity":3,
30
+ "stampHoleDiameter":8,
31
+ "stampHoleQuantityPerGroup":0,
32
+ "stampHoleSpacing":1,
33
+ }|
34
+ ```
35
+
36
+ 1. type stamp hole parameters: `PANELIZE_STAMP`.
37
+ 2. ticket logical clock.
38
+ 3. direction direction: `0` horizontal, `1` vertical.
39
+ 4. on whether enabled (if not enabled, V-CUT is used).
40
+ 5. stampHoleGroupQuantity number of stamp hole groups.
41
+ 6. stampHoleDiameter stamp hole diameter.
42
+ 7. stampHoleQuantityPerGroup number of stamp holes per group.
43
+ 8. stampHoleSpacing stamp hole spacing.
44
+
45
+ ```json
46
+ { "type": "PANELIZE_SIDE", "ticket": 1 }||
47
+ {
48
+ "direction":0,
49
+ "on":1,
50
+ "sideHeight":5,
51
+ "positionHoleDiameter":3,
52
+ "markDiameter":2,
53
+ "markExpansion":1,
54
+ }|
55
+ ```
56
+
57
+ 1. type process edge parameters: `PANELIZE_SIDE`.
58
+ 2. ticket logical clock.
59
+ 3. direction direction: `0` horizontal, `1` vertical.
60
+ 4. on whether enabled (if not enabled, process edge is not used).
61
+ 5. sideHeight process edge height.
62
+ 6. positionHoleDiameter positioning hole diameter (`0` means no positioning hole).
63
+ 7. markDiameter Mark dot diameter (`0` means Mark dot disabled).
64
+ 8. markExpansion Mark dot solder mask expansion.
@@ -0,0 +1,43 @@
1
+ # Partition Format
2
+
3
+ PCB introduces partition design. Partition design needs to mark partition information for many elements, so the following format is used.
4
+
5
+ ## PARTITION Partition Primitive
6
+
7
+ ```json
8
+ { "type": "LAYER_PHYS","id": "UUID", "ticket": 1 }||
9
+ {
10
+ "name":"Partition 1",
11
+ "fileUuid":"SUB-PCB-UUID",
12
+ "path":"complex polygon",
13
+ }|
14
+ ```
15
+
16
+ 1. type partition: `PARTITION`.
17
+ 2. id primitive ID.
18
+ 3. ticket logical clock.
19
+ 4. name partition name.
20
+ 5. fileUuid child drawing UUID.
21
+ 6. path partition shape.
22
+
23
+ All primitives belonging to a partition must carry the corresponding partition primitive ID.
24
+
25
+ ```json
26
+ { "type": "VIA", "id":"viaUuid", "ticket": 1 }||
27
+ {
28
+ "partitionId":"partitionId",// carries this id to indicate belonging to the corresponding partition
29
+ "groupId":0,
30
+ "locked":1,
31
+ "zIndex":3.223,
32
+ "netName":"GND",
33
+ "ruleName":"asdf",
34
+ "centerX":100,
35
+ "centerY":200,
36
+ "holeDiameter":5,
37
+ "viaDiameter":9,
38
+ "viaType":0,
39
+ "topSolderExpansion":null,
40
+ "bottomSolderExpansion":null,
41
+ "unusedInnerLayers":[17],
42
+ }|
43
+ ```