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 tries to make our users happy. We provide an open ASCII file format. With this file format, you can create a schematic or PCB using some codes, even with Notepad. When you try to add hundreds of LEDs to a schematic or PCB batch, you will find out that you can use codes to create an EasyEDA file, then import it to EasyEDA. It is fun and quick.
EasyEDA's file is a JSON file, but we compress all of the shape's attributes to a simple string, which will make the file size smaller and saving to server faster. More importantly, with this solution you can create some very big designs. Most browsers will crash when trying to decode the big JSON files. But EasyEDA will provide an API to let you to access the EasyEDA friendly JSON object, so you can hack the designs in the 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 were not picked properly at the very beginning, we can't change these, EasyEDA already has lots of existing 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 transfer from the internet 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's only 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 the 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.