adapt svg export to new pad definition
This commit is contained in:
parent
3f00f109ac
commit
0ece4c294c
57
cvlp_lib.js
57
cvlp_lib.js
|
@ -75,7 +75,7 @@ function cvlp_polyline(points, thickness, closed=false) {
|
|||
}
|
||||
|
||||
// create a set of elements representing a rectangle
|
||||
// provide top corner, size, an radius of corner
|
||||
// provide top left corner position, size, and radius of corner
|
||||
function cvlp_rectangle(x, y, width, height, thickness, radius=0, round=true) {
|
||||
var rectangle = []
|
||||
rectangle = rectangle.concat(cvlp_line(x+radius, y, x+width-radius, y, thickness, round))
|
||||
|
@ -210,44 +210,51 @@ function json2svg(json) {
|
|||
layers['silkscreen'].appendChild(arc)
|
||||
break
|
||||
case 'pad':
|
||||
var copper = document.createElementNS(svgNS,'line')
|
||||
copper.style.setProperty('stroke-width',element.thickness)
|
||||
var copper = document.createElementNS(svgNS,'rect')
|
||||
copper.style.setProperty('stroke-width',0)
|
||||
copper.setAttribute('x',element.x-element.width/2)
|
||||
copper.setAttribute('y',element.y-element.height/2)
|
||||
copper.setAttribute('width',element.width)
|
||||
copper.setAttribute('height',element.height)
|
||||
if (element.round) {
|
||||
copper.style.setProperty('stroke-linecap','round')
|
||||
copper.setAttribute('rx',Math.min(element.width,element.height)/2)
|
||||
copper.setAttribute('ry',Math.min(element.width,element.height)/2)
|
||||
} else {
|
||||
copper.style.setProperty('stroke-linecap','square')
|
||||
copper.setAttribute('rx',0)
|
||||
copper.setAttribute('ry',0)
|
||||
}
|
||||
copper.setAttribute('x1',element.x1)
|
||||
copper.setAttribute('y1',element.y1)
|
||||
copper.setAttribute('x2',element.x2)
|
||||
copper.setAttribute('y2',element.y2)
|
||||
layers['copper'].appendChild(copper)
|
||||
var clearance = document.createElementNS(svgNS,'line')
|
||||
clearance.style.setProperty('stroke-width',element.thickness+2*element.clearance)
|
||||
var clearance = document.createElementNS(svgNS,'rect')
|
||||
clearance.style.setProperty('stroke-width',0)
|
||||
clearance.setAttribute('x',element.x-element.width/2-element.clearance)
|
||||
clearance.setAttribute('y',element.y-element.height/2-element.clearance)
|
||||
clearance.setAttribute('width',element.width+element.clearance*2)
|
||||
clearance.setAttribute('height',element.height+element.clearance*2)
|
||||
if (element.round) {
|
||||
clearance.style.setProperty('stroke-linecap','round')
|
||||
clearance.setAttribute('rx',Math.min(element.width,element.height)/2+element.clearance)
|
||||
clearance.setAttribute('ry',Math.min(element.width,element.height)/2+element.clearance)
|
||||
} else {
|
||||
clearance.style.setProperty('stroke-linecap','square')
|
||||
clearance.setAttribute('rx',0)
|
||||
clearance.setAttribute('ry',0)
|
||||
}
|
||||
clearance.setAttribute('x1',element.x1)
|
||||
clearance.setAttribute('y1',element.y1)
|
||||
clearance.setAttribute('x2',element.x2)
|
||||
clearance.setAttribute('y2',element.y2)
|
||||
layers['clearance'].appendChild(clearance)
|
||||
var soldermask = document.createElementNS(svgNS,'line')
|
||||
soldermask.style.setProperty('stroke-width',element.soldermask)
|
||||
var soldermask = document.createElementNS(svgNS,'rect')
|
||||
soldermask.style.setProperty('stroke-width',0)
|
||||
soldermask.setAttribute('x',element.x-element.width/2-element.soldermask/2)
|
||||
soldermask.setAttribute('y',element.y-element.height/2-element.soldermask/2)
|
||||
soldermask.setAttribute('width',element.width+element.soldermask*2)
|
||||
soldermask.setAttribute('height',element.height+element.soldermask*2)
|
||||
if (element.round) {
|
||||
soldermask.style.setProperty('stroke-linecap','round')
|
||||
soldermask.setAttribute('rx',Math.min(element.width,element.height)/2+element.soldermask)
|
||||
soldermask.setAttribute('ry',Math.min(element.width,element.height)/2+element.soldermask)
|
||||
} else {
|
||||
soldermask.style.setProperty('stroke-linecap','square')
|
||||
soldermask.setAttribute('rx',0)
|
||||
soldermask.setAttribute('ry',0)
|
||||
}
|
||||
soldermask.setAttribute('x1',element.x1)
|
||||
soldermask.setAttribute('y1',element.y1)
|
||||
soldermask.setAttribute('x2',element.x2)
|
||||
soldermask.setAttribute('y2',element.y2)
|
||||
layers['soldermask'].appendChild(soldermask)
|
||||
break
|
||||
case 'pin':
|
||||
break
|
||||
var copper = document.createElementNS(svgNS,'rect')
|
||||
copper.style.setProperty('stroke-width',0)
|
||||
copper.setAttribute('x',element.x-element.thickness/2)
|
||||
|
|
Loading…
Reference in New Issue