EasyEDA is a free, zero-install, Web and cloud-based EDA tool suite, integrating powerful schematic capture, mixed-mode circuit simulation and PCB layout.
EasyEDA team try to make our users happy, we provide a open ASCII file format. with these file format, you can create a schematic or PCB some codes, even a Notepad. When you try to add hundreds LEDs to schematic or PCB batch, you will find out to use codes to create an EasyEDA file, then import to EasyEDA. It is funny and quickly.
EasyEDA's file is a JSON file, but we compress all of the shape's attributes to a simply string, which will make the file size is small and save to server faster, more important, with this solution You can create some very big designs. Most of the browser will crash when try to decode the big JSON files. But EasyEDA will provide API to let you to access the EasyEDA friendly JSON object, you can hack the designs in EasyEDA editor.
Ok, let's explain them with examples.
check it via github gist Schematic json
check it via github gist PCB json
From the above JSON source, you can find there are lots of `, ~, ^^ and #@$
characters. These characters are used as delimiter mark. These characters are not used frequently in design.
Note: although these characters are not picked property at the very begin, we can't change these, EasyEDA has already lots of designs
~ is used to separate the attributes of the shapes. Taking rectangle as an example.
R~170~100~10~10~200~130~#99FF00~1~0~none~gge36~, when use pure JSON file, it should be look like below,
check it via github gist rect json.
So EasyEDA's source is small in file size and will trans from internet more faster.
` is used to separate the custom attributes.
package`LED3MM stands package:LED3MM
^^ is used to join segments, just used in netFlag , Pin and pAD.
Union the characters #@$ as a supper mark, it will be used to implode the shapes to a string, it just be used in Schlib and PCBLIB.
check it via github gist document type
The canvas is a two-dimensional grid.
The upper-left corner of the canvas has coordinate (0,0)
EasyEDA uses Scalable Vector Graphics (SVG) which is an XML-based vector image format for two-dimensional graphics to realize the shapes.
Check the EasyEDA source dialog out, copy the text to text area, then click the
Apply button. That is all.