aboutsummaryrefslogtreecommitdiff
path: root/cvlp_format.txt
blob: 0a5347d5916c9ce4b0f8c95b76c533b469126f0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// CuVoodoo Land Pattern files (.cvlp) define the land pattern (aka. footprint) of electronic components (used in printed circuit boards)
// it is intended to be used in web applications, thus it uses the JSON file format
// it can then be rendered to various other formats, such as SVG, gEDA pcb, KiCAD, or eagleCAD
// the coordinate system origin is arbitrary, but the cvlp_lib.js library provided exports uses the 0,0 origin as the top left corner
// all position and dimensions as float values, except when otherwise specified
{
  // name of the land pattern (for the electronic component)
  "name": "CuVoodoo Land Pattern template",
  // name of the author
  "author": "King Kevin",
  // version of the file
  "version": 0,
  // date of creation (RFC 3339 seconds format)
  "date": "2015-04-11 13:58:46+02:00",
  // unit of dimensions: millimeter (mm), inches (in), or mil/thou (mil)
  "unit": "mm",
  // the parts of the land pattern
  "elements" : [
    {
      "type": "line", // a line (on silk screen layer)
      "x1": 0, // start horizontal position of line
      "y1": 0, // start vertical position of line
      "x2": 100, // end horizontal position of line
      "y2": 100, // end vertical position of the line
      "thickness": 10, // thickness of line (positive)
    },
    {
      "type": "arc", // a circle arc (on silk screen layer)
      "x": 50, // center horizontal position of circle
      "y": 50, // center vertical position of circle
      "radius": 20, // radius of circle
      "start": 0, // start point of arc in degrees (0=east, 90=south, 180=west, 270=north)
      "angle": 0, // angle of clockwise arc in degrees (can be negative)
      "thickness": 10, // thickness of trace (positive)
    },
    {
      "type": "pad" // a pad (on copper layer). angled pads are not supported
      "number": 0, // pad number or name
      "x": 0, // center horizontal position of pad
      "y": 0, // center vertical position of pad
      "width": 100, // end position of pad (positive)
      "height": 100, // end position of pad (positive)
      "round": true, // round or square edges to start/stop of pad
    },
    {
      "type": "pin" // a pin with a drill hole (on copper layer). non square/round pins are not supported
      "number": 0; // pin number or name
      "x": 50, // center horizontal position of pin
      "y": 50, // center vertical position of pin
      "thickness": 30, // diameter/width of copper pin (positive, >= drill diameter/width)
      "hole": 20, // diameter of hole
      "round": true, // shape of pin: round or square
    }
  ]
}