Compare commits
No commits in common. "b7933c94036efe4e25e4beae07a2099694b2ff74" and "95ce28f16437111d3c9822044a93be5f8c96b317" have entirely different histories.
b7933c9403
...
95ce28f164
Binary file not shown.
|
@ -115,8 +115,8 @@ func dPadAdapter() sdf.SDF3 {
|
|||
|
||||
screwHole, _ := sdf.Circle2D(3.5 / 2)
|
||||
holes := sdf.Union2D(
|
||||
sdf.Transform2D(screwHole, sdf.Translate2d(v2.Vec{X: base2D.BoundingBox().Max.X - screwHole.BoundingBox().Max.X - 7.6, Y: base2D.BoundingBox().Max.Y - screwHole.BoundingBox().Max.Y - 7.6})),
|
||||
sdf.Transform2D(screwHole, sdf.Translate2d(v2.Vec{X: -base2D.BoundingBox().Max.X - (-screwHole.BoundingBox().Max.X) - (-7.6), Y: -base2D.BoundingBox().Max.Y - (-screwHole.BoundingBox().Max.Y) - (-7.6)})),
|
||||
sdf.Transform2D(screwHole, sdf.Translate2d(v2.Vec{X: base2D.BoundingBox().Max.X - screwHole.BoundingBox().Max.X - 9.1, Y: base2D.BoundingBox().Max.Y - screwHole.BoundingBox().Max.Y - 9.1})),
|
||||
sdf.Transform2D(screwHole, sdf.Translate2d(v2.Vec{X: -base2D.BoundingBox().Max.X - (-screwHole.BoundingBox().Max.X) - (-9.1), Y: -base2D.BoundingBox().Max.Y - (-screwHole.BoundingBox().Max.Y) - (-9.1)})),
|
||||
)
|
||||
base2D = sdf.Difference2D(base2D, holes)
|
||||
|
||||
|
|
|
@ -1,89 +0,0 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"github.com/deadsy/sdfx/sdf"
|
||||
v2 "github.com/deadsy/sdfx/vec/v2"
|
||||
v3 "github.com/deadsy/sdfx/vec/v3"
|
||||
)
|
||||
|
||||
// button interface impliments the 3 seperate sections of a choc keycap
|
||||
type button interface {
|
||||
Rim2D(size float64) sdf.SDF2
|
||||
Top2D(size float64) sdf.SDF2
|
||||
Size() float64
|
||||
}
|
||||
|
||||
// 3D
|
||||
|
||||
// create combines all the 2d parts of a choc buttons and creates a 3d model of the button
|
||||
func create(b button) sdf.SDF3 {
|
||||
top, err := sdf.ExtrudeRounded3D(b.Top2D(b.Size()-ROUND*2), TOP_Z, ROUND)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
mid, err := sdf.ExtrudeRounded3D(b.Rim2D(b.Size()-ROUND*2), MID_Z, ROUND)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
stem := stem()
|
||||
|
||||
button := sdf.Union3D(
|
||||
sdf.Transform3D(top, sdf.Translate3d(v3.Vec{X: 0, Y: 0, Z: -STEM_Z/2 + TOP_Z/2})),
|
||||
sdf.Transform3D(mid, sdf.Translate3d(v3.Vec{X: 0, Y: 0, Z: -STEM_Z/2 + MID_Z/2})),
|
||||
sdf.Transform3D(stem, sdf.Translate3d(v3.Vec{X: 0, Y: 0, Z: TOP_Z / 3})),
|
||||
)
|
||||
|
||||
//button = sdf.Transform3D(button, sdf.RotateX(sdf.DtoR(180)))
|
||||
return button
|
||||
}
|
||||
|
||||
// stem is the 2d stem of the button
|
||||
func stem() sdf.SDF3 {
|
||||
stem2D := stem2D()
|
||||
stem := sdf.Extrude3D(stem2D, STEM_Z)
|
||||
// this was intended to make it easier to print vertically, but i later gave up on the idea.
|
||||
// you can use this to narrow the stem towards the end so that its a smaller surface area that is easier to remove from supports
|
||||
/* cutoutDiameter := 1.0
|
||||
cutout2D, err := sdf.Circle2D(cutoutDiameter / 2)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
cutout2D = sdf.Union2D(
|
||||
sdf.Transform2D(cutout2D, sdf.Translate2d(v2.Vec{X: stem2D.BoundingBox().Size().Y / 2, Y: -stem2D.BoundingBox().Size().Y - (-cutoutDiameter / 4)})),
|
||||
sdf.Transform2D(cutout2D, sdf.Translate2d(v2.Vec{X: -stem2D.BoundingBox().Size().Y / 2, Y: -stem2D.BoundingBox().Size().Y - (-cutoutDiameter / 4)})),
|
||||
)
|
||||
|
||||
cutout := sdf.Extrude3D(cutout2D, stem2D.BoundingBox().Size().X*2)
|
||||
cutout = sdf.Transform3D(cutout, sdf.RotateY(sdf.DtoR(90)))
|
||||
cutout = sdf.Transform3D(cutout, sdf.RotateX(sdf.DtoR(90)))
|
||||
|
||||
cutout = sdf.Union3D(
|
||||
sdf.Transform3D(cutout, sdf.Translate3d(v3.Vec{X: 0, Y: stem2D.BoundingBox().Size().X / 2, Z: 0})),
|
||||
sdf.Transform3D(cutout, sdf.Translate3d(v3.Vec{X: 0, Y: -stem2D.BoundingBox().Size().X / 2, Z: 0})),
|
||||
)
|
||||
stem = sdf.Difference3D(stem, cutout) */
|
||||
return stem
|
||||
}
|
||||
|
||||
//2D
|
||||
|
||||
// stem2D is a top down view of the keycap's stem, it has cutouts to make it easier to remove/insert the keycap from the stem.
|
||||
// This is supposed to make it less likely you'll break the stem removing it.
|
||||
func stem2D() sdf.SDF2 {
|
||||
x, y := 1.1, 2.8
|
||||
spacing := 5.8
|
||||
cutout := sdf.Box2D(v2.Vec{X: x / 1.8, Y: y / 1.5}, 0)
|
||||
stem := sdf.Box2D(v2.Vec{X: x, Y: y}, 0)
|
||||
cutout = sdf.Union2D(
|
||||
sdf.Transform2D(cutout, sdf.Translate2d(v2.Vec{X: -x / 2, Y: 0})),
|
||||
sdf.Transform2D(cutout, sdf.Translate2d(v2.Vec{X: x / 2, Y: 0})),
|
||||
)
|
||||
stem = sdf.Difference2D(stem, cutout)
|
||||
stems := sdf.Union2D(
|
||||
sdf.Transform2D(stem, sdf.Translate2d(v2.Vec{X: -spacing / 2, Y: 0})),
|
||||
sdf.Transform2D(stem, sdf.Translate2d(v2.Vec{X: spacing / 2, Y: 0})),
|
||||
)
|
||||
return sdf.Center2D(stems)
|
||||
}
|
Binary file not shown.
|
@ -1,43 +0,0 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"github.com/deadsy/sdfx/sdf"
|
||||
)
|
||||
|
||||
type Circle struct {
|
||||
size float64
|
||||
rimSize float64
|
||||
}
|
||||
|
||||
// member functions
|
||||
|
||||
func (c Circle) Top2D(size float64) sdf.SDF2 {
|
||||
circle, err := sdf.Circle2D(size / 2)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
return circle
|
||||
}
|
||||
|
||||
func (c Circle) Rim2D(size float64) sdf.SDF2 {
|
||||
rimNegative, err := sdf.Circle2D((size - c.rimSize) / 2)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
return sdf.Difference2D(c.Top2D(size), rimNegative)
|
||||
}
|
||||
|
||||
func (c Circle) Size() float64 {
|
||||
return c.size
|
||||
}
|
||||
|
||||
// new
|
||||
|
||||
func circleNew(size, rimSize float64) Circle {
|
||||
var c Circle
|
||||
c.size = size
|
||||
c.rimSize = rimSize
|
||||
return c
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
module git.jade.moe/oct2pus/arcade/choc-caps
|
||||
|
||||
go 1.19
|
||||
|
||||
require (
|
||||
github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b // indirect
|
||||
github.com/deadsy/sdfx v0.0.0-20230124001612-cfdc46c611ed // indirect
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
|
||||
github.com/hpinc/go3mf v0.24.1 // indirect
|
||||
github.com/llgcode/draw2d v0.0.0-20210904075650-80aa0a2a901d // indirect
|
||||
github.com/qmuntal/opc v0.7.10 // indirect
|
||||
github.com/yofu/dxf v0.0.0-20190710012328-5a6d1e83f16c // indirect
|
||||
golang.org/x/image v0.0.0-20220902085622-e7cb96979f69 // indirect
|
||||
gonum.org/v1/gonum v0.12.0 // indirect
|
||||
)
|
135
choc-caps/go.sum
135
choc-caps/go.sum
|
@ -1,135 +0,0 @@
|
|||
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
|
||||
gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8=
|
||||
git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc=
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
|
||||
github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY=
|
||||
github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk=
|
||||
github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
|
||||
github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b h1:slYM766cy2nI3BwyRiyQj/Ud48djTMtMebDqepE95rw=
|
||||
github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM=
|
||||
github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
|
||||
github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/deadsy/sdfx v0.0.0-20230124001612-cfdc46c611ed h1:ICCc8L4udEjvRqcWYiiE3REieslesgeB30qUHfcn7QM=
|
||||
github.com/deadsy/sdfx v0.0.0-20230124001612-cfdc46c611ed/go.mod h1:yqeU6qWfzYX7lxp9/60IuMWropG47IWaq+hPXZndVwQ=
|
||||
github.com/dhconnelly/rtreego v1.1.0/go.mod h1:SDozu0Fjy17XH1svEXJgdYq8Tah6Zjfa/4Q33Z80+KM=
|
||||
github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
|
||||
github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
|
||||
github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g=
|
||||
github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks=
|
||||
github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY=
|
||||
github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY=
|
||||
github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY=
|
||||
github.com/go-gl/gl v0.0.0-20180407155706-68e253793080/go.mod h1:482civXOzJJCPzJ4ZOX/pwvXBWSnzD4OKMdH4ClKGbk=
|
||||
github.com/go-gl/glfw v0.0.0-20180426074136-46a8d530c326/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
|
||||
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
|
||||
github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U=
|
||||
github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk=
|
||||
github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M=
|
||||
github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M=
|
||||
github.com/go-test/deep v1.0.7/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8=
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
|
||||
github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
|
||||
github.com/hpinc/go3mf v0.24.1 h1:DPZ0bSlvMuqaCcmzjt5DxryV42zTZ+S+Rfv+dcBE/lA=
|
||||
github.com/hpinc/go3mf v0.24.1/go.mod h1:QtHqY8cmfyaSuT4J+fi6UTIQPzqxBdvlSwWzcLlmeQI=
|
||||
github.com/hschendel/stl v1.0.4/go.mod h1:XQFFLKrq9YTaBpmouDui4JSaxMyAYkpD7elGSSj/y3M=
|
||||
github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
|
||||
github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
|
||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||
github.com/llgcode/draw2d v0.0.0-20210904075650-80aa0a2a901d h1:4/ycg+VrwjGurTqiHv2xM/h6Qm81qSra+KbfT4FH2FA=
|
||||
github.com/llgcode/draw2d v0.0.0-20210904075650-80aa0a2a901d/go.mod h1:mVa0dA29Db2S4LVqDYLlsePDzRJLDfdhVZiI15uY0FA=
|
||||
github.com/llgcode/ps v0.0.0-20150911083025-f1443b32eedb/go.mod h1:1l8ky+Ew27CMX29uG+a2hNOKpeNYEQjjtiALiBlFQbY=
|
||||
github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY=
|
||||
github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
|
||||
github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
|
||||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/qmuntal/opc v0.7.10 h1:zbUhx7/qDcgJCQahz2SHV9HHLBKgtaaFWNxEMmXPKAs=
|
||||
github.com/qmuntal/opc v0.7.10/go.mod h1:jYcgCT/xuTl5oMYeS/nSrfRe9gNrrsAPPeOFE2oRVaQ=
|
||||
github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w=
|
||||
github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/yofu/dxf v0.0.0-20190710012328-5a6d1e83f16c h1:qgsxLgTXCVH8Dxar36HI5af2ZfinVz5vF8erPpyzM+A=
|
||||
github.com/yofu/dxf v0.0.0-20190710012328-5a6d1e83f16c/go.mod h1:gnT4GQzgKW8+TLI0xheUgdmNV4dsAN0WJUVnztRZkfI=
|
||||
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE=
|
||||
golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
|
||||
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
||||
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
|
||||
golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
|
||||
golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
|
||||
golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
|
||||
golang.org/x/image v0.0.0-20220902085622-e7cb96979f69 h1:Lj6HJGCSn5AjxRAH2+r35Mir4icalbqku+CLUtjnvXY=
|
||||
golang.org/x/image v0.0.0-20220902085622-e7cb96979f69/go.mod h1:doUCurBvlfPMKfmIpRIywoHmhN3VyhnoFDbvIEWF4hY=
|
||||
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
|
||||
golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
|
||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||
golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
|
||||
golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
|
||||
gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0=
|
||||
gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0=
|
||||
gonum.org/v1/gonum v0.12.0 h1:xKuo6hzt+gMav00meVPUlXwSdoEJP46BR+wdxQEFK2o=
|
||||
gonum.org/v1/gonum v0.12.0/go.mod h1:73TDxJfAAHeA8Mk9mf8NlIppyhQNo5GLTcYeqgo2lvY=
|
||||
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
|
||||
gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
|
||||
gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY=
|
||||
gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las=
|
||||
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
|
|
@ -1,45 +0,0 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"github.com/deadsy/sdfx/render"
|
||||
"github.com/deadsy/sdfx/render/dc"
|
||||
)
|
||||
|
||||
const (
|
||||
// these values are designed to fit into the default flatbox,
|
||||
// tinker with the values to find the size you need.
|
||||
OCTOGON_SIZE_SMALL = 20.25
|
||||
OCTOGON_SIZE_LARGE = 25.75
|
||||
CIRCLE_SIZE_SMALL = 22.5
|
||||
CIRCLE_SIZE_LARGE = 28.5
|
||||
// A larger value equals a wider rim, this is subtractive.
|
||||
RIM_SIZE = 1.0
|
||||
// These control how tall each individual element is. Keep in mind these values are absolute,
|
||||
// not relative. For example, the default MID_Z extends 2.0mm past the TOP_Z.
|
||||
TOP_Z = 1.5
|
||||
MID_Z = 3.5
|
||||
STEM_Z = 5
|
||||
// ROUND determines the radius of curves, 0 is sharp edges.
|
||||
// keep that in mind if you're modifying this program.
|
||||
// each individual Z height *must* be greater than round * 2.
|
||||
ROUND = 0.5
|
||||
)
|
||||
|
||||
// Larger values in render.ToSTL will produce higher quality models, but also larger filesizes
|
||||
// the larger you make it, the more computationally intensive it is.
|
||||
// this model uses dc.NewDualContouringDefault
|
||||
// this renders very slowly and is more computationally intensive
|
||||
// than two other renderers. i find it has the best visual clarity when 300 or above
|
||||
// which produces a smaller filesize that I can actually share online
|
||||
// the other two renderers are render.NewMarchingCubesOctree and NewMarchingCubesUniform
|
||||
// they compile faster but need significantly higher values for acceptable clarity,
|
||||
// which in turn creates significantly larger file sizes.
|
||||
|
||||
func main() {
|
||||
oS, oL := octogonNew(OCTOGON_SIZE_SMALL, RIM_SIZE), octogonNew(OCTOGON_SIZE_LARGE, RIM_SIZE)
|
||||
cS, cL := circleNew(CIRCLE_SIZE_SMALL, RIM_SIZE), circleNew(CIRCLE_SIZE_LARGE, RIM_SIZE)
|
||||
render.ToSTL(create(cS), "circularSmall.stl", dc.NewDualContouringDefault(300))
|
||||
render.ToSTL(create(cL), "circularLarge.stl", dc.NewDualContouringDefault(300))
|
||||
render.ToSTL(create(oS), "octogonalSmall.stl", dc.NewDualContouringDefault(300))
|
||||
render.ToSTL(create(oL), "octogonalLarge.stl", dc.NewDualContouringDefault(300))
|
||||
}
|
|
@ -1,64 +0,0 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"github.com/deadsy/sdfx/sdf"
|
||||
v2 "github.com/deadsy/sdfx/vec/v2"
|
||||
)
|
||||
|
||||
// Octogon impliments the button interface, which is designed to create an octogonal button.
|
||||
type Octogon struct {
|
||||
size float64
|
||||
rimSize float64
|
||||
}
|
||||
|
||||
// member functions
|
||||
|
||||
// Top2D is a topdown view of the top of a keycap.
|
||||
func (o Octogon) Top2D(size float64) sdf.SDF2 {
|
||||
return octogon(size, size)
|
||||
}
|
||||
|
||||
// Rim2D is a topdown view of the sides of a keycap.
|
||||
func (o Octogon) Rim2D(size float64) sdf.SDF2 {
|
||||
rimNegative := octogon(size-o.rimSize, size-o.rimSize)
|
||||
return sdf.Difference2D(o.Top2D(size), rimNegative)
|
||||
}
|
||||
|
||||
// Size returns the size value of the Octogon struct.
|
||||
func (o Octogon) Size() float64 {
|
||||
return o.size
|
||||
}
|
||||
|
||||
// new
|
||||
|
||||
// octogonNew creates an Octogon struct, which impliments the button interface.
|
||||
func octogonNew(size, rimSize float64) Octogon {
|
||||
var o Octogon
|
||||
o.size = size
|
||||
o.rimSize = rimSize
|
||||
|
||||
return o
|
||||
}
|
||||
|
||||
// helper functions
|
||||
|
||||
// octogon draws an octogon in a 2D plane with a given X and Y value.
|
||||
func octogon(X, Y float64) sdf.SDF2 {
|
||||
dimensions := []v2.Vec{
|
||||
{X: -X / 4, Y: -Y / 2},
|
||||
{X: -X / 2, Y: -Y / 4},
|
||||
{X: -X / 2, Y: Y / 4},
|
||||
{X: -X / 4, Y: Y / 2},
|
||||
{X: X / 4, Y: Y / 2},
|
||||
{X: X / 2, Y: Y / 4},
|
||||
{X: X / 2, Y: -Y / 4},
|
||||
{X: X / 4, Y: -Y / 2},
|
||||
}
|
||||
octogon, err := sdf.Polygon2D(dimensions)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
return sdf.Center2D(octogon)
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
(footprint "SolderWirePad_1x01_SMD_1x2mm" (version 20211014) (generator pcbnew)
|
||||
(layer "F.Cu")
|
||||
(tedit 5DD6EB27)
|
||||
(descr "Wire Pad, Square, SMD Pad, 5mm x 10mm,")
|
||||
(tags "MesurementPoint Square SMDPad 5mmx10mm ")
|
||||
(attr exclude_from_pos_files exclude_from_bom)
|
||||
(fp_text reference "REF**" (at 0 -2.54) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp c513d75c-f6ed-495d-806e-bd1e447b8baa)
|
||||
)
|
||||
(fp_text value "SolderWirePad_1x01_SMD_1x2mm" (at 0 2.54) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp d5554df8-8ad7-42a8-b421-37915f92965e)
|
||||
)
|
||||
(fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 81017862-5d6d-4bbb-a792-b664ab664d9b)
|
||||
)
|
||||
(fp_line (start 0.63 1.27) (end 0.63 -1.27) (layer "F.CrtYd") (width 0.05) (tstamp 0026c015-74bf-47ae-85a7-428cafd7c72d))
|
||||
(fp_line (start -0.63 1.27) (end 0.63 1.27) (layer "F.CrtYd") (width 0.05) (tstamp 41dee653-4456-41f6-9b74-34afed28fe62))
|
||||
(fp_line (start 0.63 -1.27) (end -0.63 -1.27) (layer "F.CrtYd") (width 0.05) (tstamp 5d857655-5d77-4195-a830-c7d6422d2cfb))
|
||||
(fp_line (start -0.63 -1.27) (end -0.63 1.27) (layer "F.CrtYd") (width 0.05) (tstamp 69514380-d0f6-420c-a8a0-77db0e3ae7ba))
|
||||
(fp_line (start 0.63 -1.27) (end 0.63 1.27) (layer "F.Fab") (width 0.1) (tstamp 01ff3dae-6121-4719-a263-2fe2b66c0a7c))
|
||||
(fp_line (start -0.63 1.27) (end -0.63 -1.27) (layer "F.Fab") (width 0.1) (tstamp c3303755-6b86-4034-9918-6a6f09872260))
|
||||
(fp_line (start -0.63 -1.27) (end 0.63 -1.27) (layer "F.Fab") (width 0.1) (tstamp d626f3c1-3651-47fb-81cd-853227702efa))
|
||||
(fp_line (start 0.63 1.27) (end -0.63 1.27) (layer "F.Fab") (width 0.1) (tstamp ec9932cb-12c5-4503-8821-fc70807b25e3))
|
||||
(pad "1" smd roundrect (at 0 0) (size 1 2) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 9b1c97f7-ae17-44f3-9424-a07cf2ecd34d))
|
||||
)
|
|
@ -1,28 +0,0 @@
|
|||
(footprint "membrane button" (version 20211014) (generator pcbnew)
|
||||
(layer "F.Cu")
|
||||
(tedit 5DD6EB27)
|
||||
(descr "Wire Pad, Square, SMD Pad, 5mm x 10mm,")
|
||||
(tags "MesurementPoint Square SMDPad 5mmx10mm ")
|
||||
(attr exclude_from_pos_files exclude_from_bom)
|
||||
(fp_text reference "REF**" (at 0 -2.54) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp c513d75c-f6ed-495d-806e-bd1e447b8baa)
|
||||
)
|
||||
(fp_text value "membrane button" (at 0 2.54) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp d5554df8-8ad7-42a8-b421-37915f92965e)
|
||||
)
|
||||
(fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 81017862-5d6d-4bbb-a792-b664ab664d9b)
|
||||
)
|
||||
(fp_line (start 0.63 1.27) (end 0.63 -1.27) (layer "F.CrtYd") (width 0.05) (tstamp 0026c015-74bf-47ae-85a7-428cafd7c72d))
|
||||
(fp_line (start -0.63 1.27) (end 0.63 1.27) (layer "F.CrtYd") (width 0.05) (tstamp 41dee653-4456-41f6-9b74-34afed28fe62))
|
||||
(fp_line (start 0.63 -1.27) (end -0.63 -1.27) (layer "F.CrtYd") (width 0.05) (tstamp 5d857655-5d77-4195-a830-c7d6422d2cfb))
|
||||
(fp_line (start -0.63 -1.27) (end -0.63 1.27) (layer "F.CrtYd") (width 0.05) (tstamp 69514380-d0f6-420c-a8a0-77db0e3ae7ba))
|
||||
(fp_line (start 0.63 -1.27) (end 0.63 1.27) (layer "F.Fab") (width 0.1) (tstamp 01ff3dae-6121-4719-a263-2fe2b66c0a7c))
|
||||
(fp_line (start -0.63 1.27) (end -0.63 -1.27) (layer "F.Fab") (width 0.1) (tstamp c3303755-6b86-4034-9918-6a6f09872260))
|
||||
(fp_line (start -0.63 -1.27) (end 0.63 -1.27) (layer "F.Fab") (width 0.1) (tstamp d626f3c1-3651-47fb-81cd-853227702efa))
|
||||
(fp_line (start 0.63 1.27) (end -0.63 1.27) (layer "F.Fab") (width 0.1) (tstamp ec9932cb-12c5-4503-8821-fc70807b25e3))
|
||||
(pad "1" smd roundrect (at 0 0) (size 1 2) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 9b1c97f7-ae17-44f3-9424-a07cf2ecd34d))
|
||||
)
|
|
@ -1,45 +0,0 @@
|
|||
(footprint "membrane_button" (version 20211014) (generator pcbnew)
|
||||
(layer "F.Cu")
|
||||
(tedit 0)
|
||||
(fp_text reference "REF**" (at -2.562 -2.1 unlocked) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 6e2ea278-c29c-4db1-be02-5a748b658f65)
|
||||
)
|
||||
(fp_text value "membrane_button" (at -2.562 -0.6 unlocked) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp aeb0ae77-8fe7-491f-b6d8-90dc75341196)
|
||||
)
|
||||
(fp_text user "${REFERENCE}" (at -2.562 0.9 unlocked) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp c7e0af33-ed46-4a41-a219-a8a07c791547)
|
||||
)
|
||||
(fp_rect (start -1.8 4.2) (end -5.6 4.6) (layer "F.Mask") (width 0.2) (fill solid) (tstamp 1481dcaa-226e-4963-bf4c-17f89bc7c150))
|
||||
(fp_rect (start -1.8 1) (end -5.6 1.4) (layer "F.Mask") (width 0.2) (fill solid) (tstamp 4f2d6430-88c3-4ffc-9d51-4abf04f5560f))
|
||||
(fp_rect (start -5.962 0.2) (end -2.2 0.6) (layer "F.Mask") (width 0.2) (fill solid) (tstamp 59e4169d-ba02-4a70-8e89-2b5f30371b7b))
|
||||
(fp_rect (start -5.962 0.2) (end -7.562 4.6) (layer "F.Mask") (width 0.2) (fill solid) (tstamp 6501aa7f-c79c-46ae-9a84-8f6bee465ea8))
|
||||
(fp_rect (start -0.2 0.2) (end -1.8 4.6) (layer "F.Mask") (width 0.2) (fill solid) (tstamp 884c7f94-f969-447c-a3e1-9539d9688faf))
|
||||
(fp_rect (start -6 1.8) (end -2.2 2.2) (layer "F.Mask") (width 0.2) (fill solid) (tstamp 91449e71-5992-4b49-905c-d712733cba78))
|
||||
(fp_rect (start -6 3.4) (end -2.2 3.8) (layer "F.Mask") (width 0.2) (fill solid) (tstamp 99aa8134-d1cd-4953-89b9-aef0b4a350d7))
|
||||
(fp_rect (start -5.6 2.6) (end -1.8 3) (layer "F.Mask") (width 0.2) (fill solid) (tstamp e0028e6b-ce86-4cb4-b85d-282bc284818b))
|
||||
(pad "1" smd custom (at -7.8 4) (size 1.524 1.524) (layers "F.Cu" "F.Mask")
|
||||
(options (clearance outline) (anchor circle))
|
||||
(primitives
|
||||
) (tstamp fbd3305c-7006-4781-b50d-62c921384e6b))
|
||||
(pad "2" smd custom (at 0 0.8) (size 1.524 1.524) (layers "F.Cu" "F.Mask")
|
||||
(options (clearance outline) (anchor circle))
|
||||
(primitives
|
||||
) (tstamp a095414b-38ce-485d-ab8f-1158e3276771))
|
||||
(group "" (id 45e2e9b8-8d8f-45e1-ad74-5dcdea8ae3e0)
|
||||
(members
|
||||
a095414b-38ce-485d-ab8f-1158e3276771
|
||||
)
|
||||
)
|
||||
(group "" (id c4928cce-7ffe-41c0-afe5-164d46583c09)
|
||||
(members
|
||||
59e4169d-ba02-4a70-8e89-2b5f30371b7b
|
||||
6501aa7f-c79c-46ae-9a84-8f6bee465ea8
|
||||
91449e71-5992-4b49-905c-d712733cba78
|
||||
99aa8134-d1cd-4953-89b9-aef0b4a350d7
|
||||
)
|
||||
)
|
||||
)
|
File diff suppressed because it is too large
Load Diff
|
@ -1,3 +0,0 @@
|
|||
(fp_lib_table
|
||||
(lib (name "components")(type "KiCad")(uri "${KIPRJMOD}/components.pretty")(options "")(descr ""))
|
||||
)
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,548 +0,0 @@
|
|||
(kicad_pcb (version 20211014) (generator pcbnew)
|
||||
|
||||
(general
|
||||
(thickness 1.6)
|
||||
)
|
||||
|
||||
(paper "A4")
|
||||
(layers
|
||||
(0 "F.Cu" signal)
|
||||
(31 "B.Cu" signal)
|
||||
(32 "B.Adhes" user "B.Adhesive")
|
||||
(33 "F.Adhes" user "F.Adhesive")
|
||||
(34 "B.Paste" user)
|
||||
(35 "F.Paste" user)
|
||||
(36 "B.SilkS" user "B.Silkscreen")
|
||||
(37 "F.SilkS" user "F.Silkscreen")
|
||||
(38 "B.Mask" user)
|
||||
(39 "F.Mask" user)
|
||||
(40 "Dwgs.User" user "User.Drawings")
|
||||
(41 "Cmts.User" user "User.Comments")
|
||||
(42 "Eco1.User" user "User.Eco1")
|
||||
(43 "Eco2.User" user "User.Eco2")
|
||||
(44 "Edge.Cuts" user)
|
||||
(45 "Margin" user)
|
||||
(46 "B.CrtYd" user "B.Courtyard")
|
||||
(47 "F.CrtYd" user "F.Courtyard")
|
||||
(48 "B.Fab" user)
|
||||
(49 "F.Fab" user)
|
||||
(50 "User.1" user)
|
||||
(51 "User.2" user)
|
||||
(52 "User.3" user)
|
||||
(53 "User.4" user)
|
||||
(54 "User.5" user)
|
||||
(55 "User.6" user)
|
||||
(56 "User.7" user)
|
||||
(57 "User.8" user)
|
||||
(58 "User.9" user)
|
||||
)
|
||||
|
||||
(setup
|
||||
(pad_to_mask_clearance 0)
|
||||
(pcbplotparams
|
||||
(layerselection 0x00010fc_ffffffff)
|
||||
(disableapertmacros false)
|
||||
(usegerberextensions false)
|
||||
(usegerberattributes true)
|
||||
(usegerberadvancedattributes true)
|
||||
(creategerberjobfile true)
|
||||
(svguseinch false)
|
||||
(svgprecision 6)
|
||||
(excludeedgelayer true)
|
||||
(plotframeref false)
|
||||
(viasonmask false)
|
||||
(mode 1)
|
||||
(useauxorigin false)
|
||||
(hpglpennumber 1)
|
||||
(hpglpenspeed 20)
|
||||
(hpglpendiameter 15.000000)
|
||||
(dxfpolygonmode true)
|
||||
(dxfimperialunits true)
|
||||
(dxfusepcbnewfont true)
|
||||
(psnegative false)
|
||||
(psa4output false)
|
||||
(plotreference true)
|
||||
(plotvalue true)
|
||||
(plotinvisibletext false)
|
||||
(sketchpadsonfab false)
|
||||
(subtractmaskfromsilk false)
|
||||
(outputformat 1)
|
||||
(mirror false)
|
||||
(drillshape 1)
|
||||
(scaleselection 1)
|
||||
(outputdirectory "")
|
||||
)
|
||||
)
|
||||
|
||||
(net 0 "")
|
||||
(net 1 "b1")
|
||||
(net 2 "b2")
|
||||
(net 3 "b3")
|
||||
(net 4 "GND")
|
||||
(net 5 "GP15")
|
||||
(net 6 "LED")
|
||||
(net 7 "3v3")
|
||||
|
||||
(footprint "components:membrane_button" (layer "F.Cu")
|
||||
(tedit 0) (tstamp 013c09fb-49ba-4c13-9356-0d7b86c6ca88)
|
||||
(at 73.95 117.144)
|
||||
(property "Sheetfile" "toppanel.kicad_sch")
|
||||
(property "Sheetname" "")
|
||||
(path "/3f61b5cf-ca64-4cc8-ab25-f37ba0f89305")
|
||||
(fp_text reference "SW2" (at -2.562 -2.1 unlocked) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp d9c7b7ee-dda1-4534-a841-0ce4ec0bd901)
|
||||
)
|
||||
(fp_text value "SW_Home" (at -2.562 -0.6 unlocked) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp d89fa4ae-0b54-421e-b394-3990c9beaea1)
|
||||
)
|
||||
(fp_text user "${REFERENCE}" (at -2.562 0.9 unlocked) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 3dc42c2f-2204-45c2-904c-784028cebc30)
|
||||
)
|
||||
(fp_rect (start -5.6 2.6) (end -1.8 3) (layer "F.Mask") (width 0.2) (fill solid) (tstamp 0e33523b-7e6c-45d1-bfda-ed16cd599c2e))
|
||||
(fp_rect (start -1.8 4.2) (end -5.6 4.6) (layer "F.Mask") (width 0.2) (fill solid) (tstamp 1050119b-6778-4c0c-b53b-89069666c550))
|
||||
(fp_rect (start -6 3.4) (end -2.2 3.8) (layer "F.Mask") (width 0.2) (fill solid) (tstamp 27bdd998-0a8e-41ac-a25c-3155801d5d0e))
|
||||
(fp_rect (start -5.962 0.2) (end -2.2 0.6) (layer "F.Mask") (width 0.2) (fill solid) (tstamp 4c170860-5523-42fb-a443-2b3137beda91))
|
||||
(fp_rect (start -5.962 0.2) (end -7.562 4.6) (layer "F.Mask") (width 0.2) (fill solid) (tstamp 64ee2cdd-96c4-49e4-81e6-35347d5329f6))
|
||||
(fp_rect (start -0.2 0.2) (end -1.8 4.6) (layer "F.Mask") (width 0.2) (fill solid) (tstamp 91e926be-63c6-44a5-afa3-5874aee85e3e))
|
||||
(fp_rect (start -1.8 1) (end -5.6 1.4) (layer "F.Mask") (width 0.2) (fill solid) (tstamp acf74b25-0d3a-4cbc-9e7c-323d70114f0a))
|
||||
(fp_rect (start -6 1.8) (end -2.2 2.2) (layer "F.Mask") (width 0.2) (fill solid) (tstamp e1a4ce57-037d-4cd1-8cb5-9f0b929106a6))
|
||||
(pad "1" smd custom (at -7.8 4) (size 1.524 1.524) (layers "F.Cu" "F.Mask")
|
||||
(net 2 "b2") (pinfunction "A") (pintype "passive")
|
||||
(options (clearance outline) (anchor circle))
|
||||
(primitives
|
||||
) (tstamp 28a11181-98e8-4aea-909a-769fb9f7fe13))
|
||||
(pad "2" smd custom (at 0 0.8) (size 1.524 1.524) (layers "F.Cu" "F.Mask")
|
||||
(net 4 "GND") (pinfunction "B") (pintype "passive")
|
||||
(options (clearance outline) (anchor circle))
|
||||
(primitives
|
||||
) (tstamp dd6cfe5f-7e83-43ec-b58e-f038d645cce0))
|
||||
(group "" (id 286d03dd-8d78-4a54-9f5c-03f6e3d9d8c8)
|
||||
(members
|
||||
27bdd998-0a8e-41ac-a25c-3155801d5d0e
|
||||
4c170860-5523-42fb-a443-2b3137beda91
|
||||
64ee2cdd-96c4-49e4-81e6-35347d5329f6
|
||||
e1a4ce57-037d-4cd1-8cb5-9f0b929106a6
|
||||
)
|
||||
)
|
||||
(group "" (id 59992d03-845a-41bc-a928-c3ecf139f951)
|
||||
(members
|
||||
dd6cfe5f-7e83-43ec-b58e-f038d645cce0
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(footprint "components:membrane_button" (layer "F.Cu")
|
||||
(tedit 0) (tstamp 0e6864af-ee95-4174-9b7b-102e335e716a)
|
||||
(at 64.55 117.15)
|
||||
(property "Sheetfile" "toppanel.kicad_sch")
|
||||
(property "Sheetname" "")
|
||||
(path "/b73d7091-ef5f-40b4-a95d-fc8c4b1364b5")
|
||||
(fp_text reference "SW3" (at -2.562 -2.1 unlocked) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp d2e6cd32-1d80-46e2-8e4c-57043f022031)
|
||||
)
|
||||
(fp_text value "SW_Turbo" (at -2.562 -0.6 unlocked) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 647ee10d-6c1b-4f3b-9711-28d0cc23a1b7)
|
||||
)
|
||||
(fp_text user "${REFERENCE}" (at -2.562 0.9 unlocked) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 119b14a6-829d-4b81-9cc4-583b012e5817)
|
||||
)
|
||||
(fp_rect (start -5.962 0.2) (end -7.562 4.6) (layer "F.Mask") (width 0.2) (fill solid) (tstamp 034bb93b-4cb0-407e-98d7-b57c424bea5c))
|
||||
(fp_rect (start -0.2 0.2) (end -1.8 4.6) (layer "F.Mask") (width 0.2) (fill solid) (tstamp 62c02151-d43b-44de-aa92-bead78453538))
|
||||
(fp_rect (start -1.8 1) (end -5.6 1.4) (layer "F.Mask") (width 0.2) (fill solid) (tstamp 66b580ac-7784-4bc3-ae5a-7446b8dfe71f))
|
||||
(fp_rect (start -5.6 2.6) (end -1.8 3) (layer "F.Mask") (width 0.2) (fill solid) (tstamp 9c22cd1f-1de2-4231-ac8d-c4e4d631066f))
|
||||
(fp_rect (start -6 1.8) (end -2.2 2.2) (layer "F.Mask") (width 0.2) (fill solid) (tstamp cc9b68c7-7dbd-4bfe-9c0a-556a7e879016))
|
||||
(fp_rect (start -1.8 4.2) (end -5.6 4.6) (layer "F.Mask") (width 0.2) (fill solid) (tstamp d2ddde5e-2a46-4a92-a32c-7737f6047b74))
|
||||
(fp_rect (start -5.962 0.2) (end -2.2 0.6) (layer "F.Mask") (width 0.2) (fill solid) (tstamp dc3c9cfb-b841-40d1-a522-2edf5411e126))
|
||||
(fp_rect (start -6 3.4) (end -2.2 3.8) (layer "F.Mask") (width 0.2) (fill solid) (tstamp ea345e80-00de-4fce-b543-de32326933ac))
|
||||
(pad "1" smd custom (at -7.8 4) (size 1.524 1.524) (layers "F.Cu" "F.Mask")
|
||||
(net 3 "b3") (pinfunction "A") (pintype "passive")
|
||||
(options (clearance outline) (anchor circle))
|
||||
(primitives
|
||||
) (tstamp 63f413e5-9604-4c9a-8c89-c2b931f9f60c))
|
||||
(pad "2" smd custom (at 0 0.8) (size 1.524 1.524) (layers "F.Cu" "F.Mask")
|
||||
(net 4 "GND") (pinfunction "B") (pintype "passive")
|
||||
(options (clearance outline) (anchor circle))
|
||||
(primitives
|
||||
) (tstamp 72b9bf30-4bba-4e2f-bab7-f247ef13cd33))
|
||||
(group "" (id 961e18c4-42bb-4b16-aa4a-ec80aeedc9ed)
|
||||
(members
|
||||
72b9bf30-4bba-4e2f-bab7-f247ef13cd33
|
||||
)
|
||||
)
|
||||
(group "" (id d8960c2b-fcc3-428b-82f7-959414cf177c)
|
||||
(members
|
||||
034bb93b-4cb0-407e-98d7-b57c424bea5c
|
||||
cc9b68c7-7dbd-4bfe-9c0a-556a7e879016
|
||||
dc3c9cfb-b841-40d1-a522-2edf5411e126
|
||||
ea345e80-00de-4fce-b543-de32326933ac
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(footprint "components:membrane_button" (layer "F.Cu")
|
||||
(tedit 0) (tstamp 41b3a4be-7962-443b-b1dc-880386569fc1)
|
||||
(at 83.125 117.169)
|
||||
(property "Sheetfile" "toppanel.kicad_sch")
|
||||
(property "Sheetname" "")
|
||||
(path "/36ac71ea-af8d-410c-a509-b331c46703f8")
|
||||
(fp_text reference "SW1" (at -2.562 -2.1 unlocked) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp f7ab3335-f248-4716-9fa1-65c6c696a551)
|
||||
)
|
||||
(fp_text value "SW_Select" (at -2.562 -0.6 unlocked) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp f5948fc6-2817-40ab-a898-f85018fc2ed3)
|
||||
)
|
||||
(fp_text user "${REFERENCE}" (at -2.562 0.9 unlocked) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 4129f920-9aea-4f62-a04c-3b9dec9708d3)
|
||||
)
|
||||
(fp_rect (start -1.8 1) (end -5.6 1.4) (layer "F.Mask") (width 0.2) (fill solid) (tstamp 386644eb-b1f9-412d-b054-996c03a878ec))
|
||||
(fp_rect (start -5.962 0.2) (end -7.562 4.6) (layer "F.Mask") (width 0.2) (fill solid) (tstamp 3ecf358b-b8ba-480c-b407-0f13209facae))
|
||||
(fp_rect (start -6 1.8) (end -2.2 2.2) (layer "F.Mask") (width 0.2) (fill solid) (tstamp afeb1fec-988a-4d11-b215-27ba04f8b3dc))
|
||||
(fp_rect (start -5.6 2.6) (end -1.8 3) (layer "F.Mask") (width 0.2) (fill solid) (tstamp b68395c5-c614-431c-b66f-f4d09a62c3d4))
|
||||
(fp_rect (start -1.8 4.2) (end -5.6 4.6) (layer "F.Mask") (width 0.2) (fill solid) (tstamp d4de84da-02eb-4c49-af1d-f44afbfaa4b4))
|
||||
(fp_rect (start -6 3.4) (end -2.2 3.8) (layer "F.Mask") (width 0.2) (fill solid) (tstamp d7a71dc4-fe58-4b3a-95d1-857c9d07c065))
|
||||
(fp_rect (start -0.2 0.2) (end -1.8 4.6) (layer "F.Mask") (width 0.2) (fill solid) (tstamp e3137edb-19e0-4022-a8f9-5500cd64528e))
|
||||
(fp_rect (start -5.962 0.2) (end -2.2 0.6) (layer "F.Mask") (width 0.2) (fill solid) (tstamp ea04f01d-85d5-46f3-87e5-749b851a6d1d))
|
||||
(pad "1" smd custom (at -7.8 4) (size 1.524 1.524) (layers "F.Cu" "F.Mask")
|
||||
(net 1 "b1") (pinfunction "A") (pintype "passive")
|
||||
(options (clearance outline) (anchor circle))
|
||||
(primitives
|
||||
) (tstamp 801507cb-2f68-4321-b333-7e1781a9b3e4))
|
||||
(pad "2" smd custom (at 0 0.8) (size 1.524 1.524) (layers "F.Cu" "F.Mask")
|
||||
(net 4 "GND") (pinfunction "B") (pintype "passive")
|
||||
(options (clearance outline) (anchor circle))
|
||||
(primitives
|
||||
) (tstamp 847ae839-3d65-4465-ab22-0f7a25ecd5b7))
|
||||
(group "" (id 5691ba4f-5804-4f31-b25c-fbf8826a6c7a)
|
||||
(members
|
||||
847ae839-3d65-4465-ab22-0f7a25ecd5b7
|
||||
)
|
||||
)
|
||||
(group "" (id a8c52e4e-aae1-4fcf-b2b0-724f8c5560d8)
|
||||
(members
|
||||
3ecf358b-b8ba-480c-b407-0f13209facae
|
||||
afeb1fec-988a-4d11-b215-27ba04f8b3dc
|
||||
d7a71dc4-fe58-4b3a-95d1-857c9d07c065
|
||||
ea04f01d-85d5-46f3-87e5-749b851a6d1d
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(footprint "Connector_PinHeader_1.00mm:PinHeader_1x06_P1.00mm_Horizontal" (layer "F.Cu")
|
||||
(tedit 59FED737) (tstamp 521244c9-cbad-408b-aebd-4e3d6e3d0f5d)
|
||||
(at 54.5 130.915 -90)
|
||||
(descr "Through hole angled pin header, 1x06, 1.00mm pitch, 2.0mm pin length, single row")
|
||||
(tags "Through hole angled pin header THT 1x06 1.00mm single row")
|
||||
(property "Sheetfile" "toppanel.kicad_sch")
|
||||
(property "Sheetname" "")
|
||||
(path "/bd9fee7e-d5ce-4572-93e3-b2500ea109d3")
|
||||
(attr through_hole)
|
||||
(fp_text reference "J1" (at 1.375 -1.5 90) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 20952a4b-a060-46c9-81bc-503278fcad82)
|
||||
)
|
||||
(fp_text value "Conn_02x03_Top_Bottom" (at 1.375 6.5 90) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 9c8ad65a-9821-4dcb-ae10-6a4b94db5b5b)
|
||||
)
|
||||
(fp_text user "${REFERENCE}" (at 0.75 2.5) (layer "F.Fab")
|
||||
(effects (font (size 0.6 0.6) (thickness 0.09)))
|
||||
(tstamp 75bdce38-4343-4bdc-9c88-1e04e851689f)
|
||||
)
|
||||
(fp_line (start 3.31 5.21) (end 1.31 5.21) (layer "F.SilkS") (width 0.12) (tstamp 031a9530-a830-47f9-8898-fcb0be4e9a81))
|
||||
(fp_line (start 0.468215 2.5) (end 1.31 2.5) (layer "F.SilkS") (width 0.12) (tstamp 06dc897f-a01e-4925-ba93-a5cf5d799cc4))
|
||||
(fp_line (start 1.31 3.79) (end 3.31 3.79) (layer "F.SilkS") (width 0.12) (tstamp 23dfb37a-0cf5-4ade-a75b-2a85e3f6a64c))
|
||||
(fp_line (start 3.31 1.21) (end 1.31 1.21) (layer "F.SilkS") (width 0.12) (tstamp 2ac37ed4-4ce7-4c4a-b352-058bc0647b9f))
|
||||
(fp_line (start 0.685 -0.56) (end 1.31 -0.56) (layer "F.SilkS") (width 0.12) (tstamp 2b656991-47cc-40a8-9207-e4a06816ba5c))
|
||||
(fp_line (start 1.31 1.79) (end 3.31 1.79) (layer "F.SilkS") (width 0.12) (tstamp 2bd5ded8-49d5-400f-91f0-4a016efb3fce))
|
||||
(fp_line (start 3.31 3.21) (end 1.31 3.21) (layer "F.SilkS") (width 0.12) (tstamp 365f41d3-e436-45b7-adcd-08b4b924c372))
|
||||
(fp_line (start 3.31 1.79) (end 3.31 2.21) (layer "F.SilkS") (width 0.12) (tstamp 3ea3c3bd-654b-44a2-b06c-21e3c04f88e8))
|
||||
(fp_line (start 1.31 5.56) (end 0.394493 5.56) (layer "F.SilkS") (width 0.12) (tstamp 420517ae-0b10-43db-9842-32db8c3e69bb))
|
||||
(fp_line (start 3.31 2.21) (end 1.31 2.21) (layer "F.SilkS") (width 0.12) (tstamp 498a526c-8f79-4c06-bfdc-5d0cc71ea571))
|
||||
(fp_line (start 3.31 4.79) (end 3.31 5.21) (layer "F.SilkS") (width 0.12) (tstamp 4b341fd1-b8f8-4a93-82c6-540aacb7ab98))
|
||||
(fp_line (start 1.31 -0.21) (end 3.31 -0.21) (layer "F.SilkS") (width 0.12) (tstamp 4c1798b4-b195-4cd2-9d39-b7dc2ac03823))
|
||||
(fp_line (start 3.31 0.79) (end 3.31 1.21) (layer "F.SilkS") (width 0.12) (tstamp 4fe74f68-5fe2-43e8-8857-631e7c1bbb81))
|
||||
(fp_line (start 3.31 -0.21) (end 3.31 0.21) (layer "F.SilkS") (width 0.12) (tstamp 532c3c5a-3bf1-4859-8487-24e010b5b52e))
|
||||
(fp_line (start 0.685 0.5) (end 1.31 0.5) (layer "F.SilkS") (width 0.12) (tstamp 5586d323-d391-4ba7-9dd5-a155ffee8a2d))
|
||||
(fp_line (start 3.31 3.79) (end 3.31 4.21) (layer "F.SilkS") (width 0.12) (tstamp 61a0dcb9-d7a9-4227-a154-0e6c391147b1))
|
||||
(fp_line (start 1.31 4.79) (end 3.31 4.79) (layer "F.SilkS") (width 0.12) (tstamp 7eb3b985-899f-4325-9bc1-58d2ff356aca))
|
||||
(fp_line (start 1.31 -0.56) (end 1.31 5.56) (layer "F.SilkS") (width 0.12) (tstamp bb37e94d-0dbb-477a-bc4f-57ea3ce24aa0))
|
||||
(fp_line (start 0.468215 3.5) (end 1.31 3.5) (layer "F.SilkS") (width 0.12) (tstamp ceac7406-6863-42cd-a121-90556cc9261a))
|
||||
(fp_line (start 1.31 0.09) (end 3.31 0.09) (layer "F.SilkS") (width 0.12) (tstamp cec08789-ac0f-44e3-ab7d-3f44c22ed1f0))
|
||||
(fp_line (start -0.685 0) (end -0.685 -0.685) (layer "F.SilkS") (width 0.12) (tstamp d0d886cd-ccb6-4f3c-8f5f-0471a4cc7122))
|
||||
(fp_line (start 3.31 2.79) (end 3.31 3.21) (layer "F.SilkS") (width 0.12) (tstamp e2829319-7857-4e68-afca-867e380f9ad8))
|
||||
(fp_line (start 3.31 0.21) (end 1.31 0.21) (layer "F.SilkS") (width 0.12) (tstamp e529694c-4b2a-4184-88d2-673cbb1fe418))
|
||||
(fp_line (start 0.468215 1.5) (end 1.31 1.5) (layer "F.SilkS") (width 0.12) (tstamp e5c71d76-043d-4398-b423-e157769cecf8))
|
||||
(fp_line (start 1.31 2.79) (end 3.31 2.79) (layer "F.SilkS") (width 0.12) (tstamp e6674e41-6fd6-4154-a7c4-7b6e4d5e27d3))
|
||||
(fp_line (start -0.685 -0.685) (end 0 -0.685) (layer "F.SilkS") (width 0.12) (tstamp e7c6ce54-083d-41f6-be88-35eebe466fba))
|
||||
(fp_line (start 0.468215 4.5) (end 1.31 4.5) (layer "F.SilkS") (width 0.12) (tstamp e922a649-c68f-40a9-a504-4726efa76600))
|
||||
(fp_line (start 1.31 -0.15) (end 3.31 -0.15) (layer "F.SilkS") (width 0.12) (tstamp f3a37fc9-5928-4656-96ed-6e984febdfaa))
|
||||
(fp_line (start 1.31 -0.03) (end 3.31 -0.03) (layer "F.SilkS") (width 0.12) (tstamp f67dc90b-4668-4711-bfec-b84810b627dc))
|
||||
(fp_line (start 3.31 4.21) (end 1.31 4.21) (layer "F.SilkS") (width 0.12) (tstamp fd4cd23c-3d5e-4caa-ac6d-3abef35a734c))
|
||||
(fp_line (start 1.31 0.79) (end 3.31 0.79) (layer "F.SilkS") (width 0.12) (tstamp fea8097b-2ff2-4054-b81d-6b44a9a74dee))
|
||||
(fp_line (start 3.75 6) (end 3.75 -1) (layer "F.CrtYd") (width 0.05) (tstamp 29e2178a-3666-4f3c-8681-9a246053a26d))
|
||||
(fp_line (start -1 6) (end 3.75 6) (layer "F.CrtYd") (width 0.05) (tstamp 6571b6f4-9c50-4d3f-806b-79990468955a))
|
||||
(fp_line (start 3.75 -1) (end -1 -1) (layer "F.CrtYd") (width 0.05) (tstamp e87dea81-5ce2-4342-b032-c5dafde1910f))
|
||||
(fp_line (start -1 -1) (end -1 6) (layer "F.CrtYd") (width 0.05) (tstamp f8e800e3-bd65-40d2-84f4-c084ba629e3b))
|
||||
(fp_line (start 3.25 0.85) (end 3.25 1.15) (layer "F.Fab") (width 0.1) (tstamp 182c0a41-36a8-4d7b-be8c-06de07639294))
|
||||
(fp_line (start 0.25 -0.25) (end 0.5 -0.5) (layer "F.Fab") (width 0.1) (tstamp 265b8472-fae4-451e-aa0f-94d6288582b6))
|
||||
(fp_line (start -0.15 -0.15) (end -0.15 0.15) (layer "F.Fab") (width 0.1) (tstamp 27fed86a-5f1c-4d71-a029-8a3407c1091f))
|
||||
(fp_line (start -0.15 4.15) (end 0.25 4.15) (layer "F.Fab") (width 0.1) (tstamp 29973957-b3fb-450c-b0e1-600a78634e99))
|
||||
(fp_line (start 0.25 5.5) (end 0.25 -0.25) (layer "F.Fab") (width 0.1) (tstamp 2c096267-ad51-42b0-bb70-d4510017c982))
|
||||
(fp_line (start -0.15 2.15) (end 0.25 2.15) (layer "F.Fab") (width 0.1) (tstamp 3591b81e-d91f-43fe-83c8-c348368fe539))
|
||||
(fp_line (start 3.25 2.85) (end 3.25 3.15) (layer "F.Fab") (width 0.1) (tstamp 38e03aaa-b055-4eff-a710-132f16f7e4fe))
|
||||
(fp_line (start 1.25 1.15) (end 3.25 1.15) (layer "F.Fab") (width 0.1) (tstamp 38ebc9fe-bd9f-46a7-913f-0a77a2ebf359))
|
||||
(fp_line (start 1.25 5.15) (end 3.25 5.15) (layer "F.Fab") (width 0.1) (tstamp 3a07047a-8cc3-4d06-8de2-15d2a7a829cd))
|
||||
(fp_line (start 3.25 1.85) (end 3.25 2.15) (layer "F.Fab") (width 0.1) (tstamp 3d491eba-bd04-455b-a02a-0bb9cd04430b))
|
||||
(fp_line (start 1.25 0.15) (end 3.25 0.15) (layer "F.Fab") (width 0.1) (tstamp 3f534e87-4255-408c-a5fe-7969f8ac56b6))
|
||||
(fp_line (start -0.15 4.85) (end -0.15 5.15) (layer "F.Fab") (width 0.1) (tstamp 401d9e6d-e596-4164-926f-079eaff2265d))
|
||||
(fp_line (start -0.15 1.85) (end -0.15 2.15) (layer "F.Fab") (width 0.1) (tstamp 41f2cdaa-d3ba-4cc4-ade8-d19e1cde05af))
|
||||
(fp_line (start -0.15 -0.15) (end 0.25 -0.15) (layer "F.Fab") (width 0.1) (tstamp 4a8bd481-f75e-48cb-a0fc-abe68caca6a0))
|
||||
(fp_line (start -0.15 0.85) (end 0.25 0.85) (layer "F.Fab") (width 0.1) (tstamp 50af84a8-7d36-43b1-9283-b5ce61973310))
|
||||
(fp_line (start 1.25 5.5) (end 0.25 5.5) (layer "F.Fab") (width 0.1) (tstamp 55d945e0-e02f-4d70-adbe-b806b170f365))
|
||||
(fp_line (start 1.25 1.85) (end 3.25 1.85) (layer "F.Fab") (width 0.1) (tstamp 5941bca9-d766-49be-b648-35efe3e2b663))
|
||||
(fp_line (start -0.15 0.85) (end -0.15 1.15) (layer "F.Fab") (width 0.1) (tstamp 594a45b5-fd4a-4102-bb9c-7982a488b365))
|
||||
(fp_line (start 1.25 4.85) (end 3.25 4.85) (layer "F.Fab") (width 0.1) (tstamp 609101f1-948d-4b7d-a7c2-67d8d9c4e57f))
|
||||
(fp_line (start 1.25 0.85) (end 3.25 0.85) (layer "F.Fab") (width 0.1) (tstamp 66b93f10-0a23-4b0b-9b53-60d19cd0c189))
|
||||
(fp_line (start 3.25 -0.15) (end 3.25 0.15) (layer "F.Fab") (width 0.1) (tstamp 71bcec3c-1cd9-4182-81f8-2334ca2243dc))
|
||||
(fp_line (start 1.25 3.85) (end 3.25 3.85) (layer "F.Fab") (width 0.1) (tstamp 7fb0dd58-ad4e-4e3e-aada-20845a6246f0))
|
||||
(fp_line (start -0.15 5.15) (end 0.25 5.15) (layer "F.Fab") (width 0.1) (tstamp a0f1b9c9-1bef-4b06-8a97-26db6e32f9e6))
|
||||
(fp_line (start 1.25 3.15) (end 3.25 3.15) (layer "F.Fab") (width 0.1) (tstamp a227376d-7c12-435c-a918-a9b8433936ec))
|
||||
(fp_line (start -0.15 2.85) (end -0.15 3.15) (layer "F.Fab") (width 0.1) (tstamp a8a5c93b-d3ad-4614-a3cc-6a7965f64e1c))
|
||||
(fp_line (start -0.15 2.85) (end 0.25 2.85) (layer "F.Fab") (width 0.1) (tstamp a8c80fed-badb-48b4-8f3c-52b74c756ae6))
|
||||
(fp_line (start 3.25 3.85) (end 3.25 4.15) (layer "F.Fab") (width 0.1) (tstamp b07da02d-50e7-4482-84e1-a14a56c754d0))
|
||||
(fp_line (start 1.25 2.85) (end 3.25 2.85) (layer "F.Fab") (width 0.1) (tstamp b1a83bd4-6ed6-4c68-aab5-7f46aa1719e2))
|
||||
(fp_line (start -0.15 3.15) (end 0.25 3.15) (layer "F.Fab") (width 0.1) (tstamp bd2a5e90-c24f-4cc2-9bbc-e9d9d0b2c3cc))
|
||||
(fp_line (start -0.15 4.85) (end 0.25 4.85) (layer "F.Fab") (width 0.1) (tstamp c50694cc-cc0c-4b8c-a53d-053110c3b5e8))
|
||||
(fp_line (start -0.15 1.85) (end 0.25 1.85) (layer "F.Fab") (width 0.1) (tstamp c9d0c7a1-126c-410a-8e33-9710bcb1ed6d))
|
||||
(fp_line (start 1.25 -0.5) (end 1.25 5.5) (layer "F.Fab") (width 0.1) (tstamp d5dcaa01-8d5d-4b17-aba3-73b29e07848f))
|
||||
(fp_line (start 0.5 -0.5) (end 1.25 -0.5) (layer "F.Fab") (width 0.1) (tstamp d8850bf8-f687-44a7-9f39-192a5f228818))
|
||||
(fp_line (start 1.25 2.15) (end 3.25 2.15) (layer "F.Fab") (width 0.1) (tstamp da54a474-032c-4b34-90e9-7d9ea331fe89))
|
||||
(fp_line (start -0.15 0.15) (end 0.25 0.15) (layer "F.Fab") (width 0.1) (tstamp dbfa048e-f34f-4360-b623-bebc18498bd7))
|
||||
(fp_line (start -0.15 3.85) (end 0.25 3.85) (layer "F.Fab") (width 0.1) (tstamp e335237c-9052-49b9-8e58-937ab31436d1))
|
||||
(fp_line (start 1.25 -0.15) (end 3.25 -0.15) (layer "F.Fab") (width 0.1) (tstamp e498b60f-1e60-415d-941a-67b9e0ef90e3))
|
||||
(fp_line (start 3.25 4.85) (end 3.25 5.15) (layer "F.Fab") (width 0.1) (tstamp f01e5677-ce21-432a-b354-7afdeb27be13))
|
||||
(fp_line (start -0.15 1.15) (end 0.25 1.15) (layer "F.Fab") (width 0.1) (tstamp fa019163-ad21-4899-afda-3a21ccd19b21))
|
||||
(fp_line (start 1.25 4.15) (end 3.25 4.15) (layer "F.Fab") (width 0.1) (tstamp fd132074-a2a0-4aec-a685-24d09bd47acb))
|
||||
(fp_line (start -0.15 3.85) (end -0.15 4.15) (layer "F.Fab") (width 0.1) (tstamp fe4362cf-7a45-4f13-ad2b-bd48b41be4ae))
|
||||
(pad "1" thru_hole rect (at 0 0 270) (size 0.85 0.85) (drill 0.5) (layers *.Cu *.Mask)
|
||||
(net 4 "GND") (pinfunction "Pin_1") (pintype "passive") (tstamp 50eb2350-b407-403c-8a38-9aa081797342))
|
||||
(pad "2" thru_hole oval (at 0 1 270) (size 0.85 0.85) (drill 0.5) (layers *.Cu *.Mask)
|
||||
(net 1 "b1") (pinfunction "Pin_2") (pintype "passive") (tstamp b50adee9-fd48-4c47-8066-ebe3accc42f6))
|
||||
(pad "3" thru_hole oval (at 0 2 270) (size 0.85 0.85) (drill 0.5) (layers *.Cu *.Mask)
|
||||
(net 2 "b2") (pinfunction "Pin_3") (pintype "passive") (tstamp 82c614c2-5b37-4863-afa2-1f778227ccd3))
|
||||
(pad "4" thru_hole oval (at 0 3 270) (size 0.85 0.85) (drill 0.5) (layers *.Cu *.Mask)
|
||||
(net 3 "b3") (pinfunction "Pin_4") (pintype "passive") (tstamp 1432f55d-d3cf-4438-a5f6-ebf9ee633cd2))
|
||||
(pad "5" thru_hole oval (at 0 4 270) (size 0.85 0.85) (drill 0.5) (layers *.Cu *.Mask)
|
||||
(net 5 "GP15") (pinfunction "Pin_5") (pintype "passive") (tstamp 5fd94636-526a-42d5-8b4c-c686e14e57ae))
|
||||
(pad "6" thru_hole oval (at 0 5 270) (size 0.85 0.85) (drill 0.5) (layers *.Cu *.Mask)
|
||||
(net 7 "3v3") (pinfunction "Pin_6") (pintype "passive") (tstamp 70c159dd-be62-4916-af02-5f90608f7761))
|
||||
(model "${KICAD6_3DMODEL_DIR}/Connector_PinHeader_1.00mm.3dshapes/PinHeader_1x06_P1.00mm_Horizontal.wrl"
|
||||
(offset (xyz 0 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
||||
|
||||
(footprint "LED_THT:LED_D5.0mm" (layer "F.Cu")
|
||||
(tedit 5995936A) (tstamp 81d3ab9f-ebe2-4925-8dc9-ac2fa7a34e51)
|
||||
(at 53.34 119.38 180)
|
||||
(descr "LED, diameter 5.0mm, 2 pins, http://cdn-reichelt.de/documents/datenblatt/A500/LL-504BC2E-009.pdf")
|
||||
(tags "LED diameter 5.0mm 2 pins")
|
||||
(property "Sheetfile" "toppanel.kicad_sch")
|
||||
(property "Sheetname" "")
|
||||
(path "/f28a6601-27bc-47be-ada0-793c3b6f793c")
|
||||
(attr through_hole)
|
||||
(fp_text reference "LED_TURBO1" (at 1.27 -3.96) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp b5f667d0-ffec-4dfc-85f0-eb61ef426b23)
|
||||
)
|
||||
(fp_text value "LED" (at 1.27 3.96) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp cfdd8bb2-8682-4dfe-83ee-1849c8cfc2e1)
|
||||
)
|
||||
(fp_text user "${REFERENCE}" (at 1.25 0) (layer "F.Fab")
|
||||
(effects (font (size 0.8 0.8) (thickness 0.2)))
|
||||
(tstamp 66f39b47-eaac-4bb8-a36e-8ba4a5764ef7)
|
||||
)
|
||||
(fp_line (start -1.29 -1.545) (end -1.29 1.545) (layer "F.SilkS") (width 0.12) (tstamp 8ca7bee7-0046-438f-99d6-b46e2a979341))
|
||||
(fp_arc (start 4.26 -0.000462) (mid 2.072002 2.880433) (end -1.29 1.54483) (layer "F.SilkS") (width 0.12) (tstamp cb12f717-1624-4311-8ba6-e125e83ee9f1))
|
||||
(fp_arc (start -1.29 -1.54483) (mid 2.072002 -2.880433) (end 4.26 0.000462) (layer "F.SilkS") (width 0.12) (tstamp f682779c-f5d1-4a51-9c19-8da2e09de3e0))
|
||||
(fp_circle (center 1.27 0) (end 3.77 0) (layer "F.SilkS") (width 0.12) (fill none) (tstamp b1ee728c-7be6-4571-a5ee-5d359cd073a0))
|
||||
(fp_line (start 4.5 3.25) (end 4.5 -3.25) (layer "F.CrtYd") (width 0.05) (tstamp 01a8c6b7-d1b9-4fd1-a4c2-744786c20432))
|
||||
(fp_line (start 4.5 -3.25) (end -1.95 -3.25) (layer "F.CrtYd") (width 0.05) (tstamp 512d9e99-ba44-4244-a9b5-54859c6e5a97))
|
||||
(fp_line (start -1.95 -3.25) (end -1.95 3.25) (layer "F.CrtYd") (width 0.05) (tstamp 9b2dcdbc-fbd0-4f92-9a54-0770e67af091))
|
||||
(fp_line (start -1.95 3.25) (end 4.5 3.25) (layer "F.CrtYd") (width 0.05) (tstamp daf7da94-1063-4ca4-8418-c05f6f31d75b))
|
||||
(fp_line (start -1.23 -1.469694) (end -1.23 1.469694) (layer "F.Fab") (width 0.1) (tstamp ff41e9d3-6528-47e7-988e-fec17784654d))
|
||||
(fp_arc (start -1.23 -1.469694) (mid 4.17 0.000016) (end -1.230016 1.469666) (layer "F.Fab") (width 0.1) (tstamp c7beb16a-0e9d-459e-a0f0-036b5da5314e))
|
||||
(fp_circle (center 1.27 0) (end 3.77 0) (layer "F.Fab") (width 0.1) (fill none) (tstamp b3110ae1-ac4e-4219-91ee-a6ce2c092d51))
|
||||
(pad "1" thru_hole rect (at 0 0 180) (size 1.8 1.8) (drill 0.9) (layers *.Cu *.Mask)
|
||||
(net 5 "GP15") (pinfunction "K") (pintype "passive") (tstamp 4f4fc4ea-93a4-4d9e-b2b1-5882b85aa614))
|
||||
(pad "2" thru_hole circle (at 2.54 0 180) (size 1.8 1.8) (drill 0.9) (layers *.Cu *.Mask)
|
||||
(net 6 "LED") (pinfunction "A") (pintype "passive") (tstamp 7b115041-ec16-4bb6-80c7-dfc04f70551c))
|
||||
(model "${KICAD6_3DMODEL_DIR}/LED_THT.3dshapes/LED_D5.0mm.wrl"
|
||||
(offset (xyz 0 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
||||
|
||||
(footprint "Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal" (layer "F.Cu")
|
||||
(tedit 5AE5139B) (tstamp d6d4b48d-6d3c-4597-bc52-14e80d94fcbd)
|
||||
(at 45.72 115.57 -90)
|
||||
(descr "Resistor, Axial_DIN0207 series, Axial, Horizontal, pin pitch=7.62mm, 0.25W = 1/4W, length*diameter=6.3*2.5mm^2, http://cdn-reichelt.de/documents/datenblatt/B400/1_4W%23YAG.pdf")
|
||||
(tags "Resistor Axial_DIN0207 series Axial Horizontal pin pitch 7.62mm 0.25W = 1/4W length 6.3mm diameter 2.5mm")
|
||||
(property "Sheetfile" "toppanel.kicad_sch")
|
||||
(property "Sheetname" "")
|
||||
(path "/2183ed17-47fe-4d01-ab18-f3386abe1b21")
|
||||
(attr through_hole)
|
||||
(fp_text reference "R1" (at 3.81 -2.37 90) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 3ffde5a1-b4c1-4367-9f03-4d8e623664cf)
|
||||
)
|
||||
(fp_text value "R_LED" (at 3.81 2.37 90) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 11e2bf78-3b62-494c-97fa-431020c6b4aa)
|
||||
)
|
||||
(fp_text user "${REFERENCE}" (at 3.81 0 90) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp edac2906-6a5c-461b-a9af-ad8fc2510da3)
|
||||
)
|
||||
(fp_line (start 7.08 1.37) (end 7.08 1.04) (layer "F.SilkS") (width 0.12) (tstamp 39e382e9-9d6a-484b-bf24-68969b641a1d))
|
||||
(fp_line (start 0.54 1.37) (end 7.08 1.37) (layer "F.SilkS") (width 0.12) (tstamp 7908994d-e2f9-4324-ba3a-a10cb5db346e))
|
||||
(fp_line (start 0.54 -1.04) (end 0.54 -1.37) (layer "F.SilkS") (width 0.12) (tstamp 901d0a6e-9f9e-40a4-94ff-252307c1898d))
|
||||
(fp_line (start 0.54 -1.37) (end 7.08 -1.37) (layer "F.SilkS") (width 0.12) (tstamp c2c18bb2-cdb7-44ff-9677-0e0712d149be))
|
||||
(fp_line (start 7.08 -1.37) (end 7.08 -1.04) (layer "F.SilkS") (width 0.12) (tstamp c4087a59-19ae-45b3-8f03-66839f10adf9))
|
||||
(fp_line (start 0.54 1.04) (end 0.54 1.37) (layer "F.SilkS") (width 0.12) (tstamp c7c265b4-1934-4f15-b215-60faee7c127a))
|
||||
(fp_line (start 8.67 -1.5) (end -1.05 -1.5) (layer "F.CrtYd") (width 0.05) (tstamp 36b08c5e-83bf-4367-a2b9-13c8686f2d48))
|
||||
(fp_line (start 8.67 1.5) (end 8.67 -1.5) (layer "F.CrtYd") (width 0.05) (tstamp 54f72465-eeee-4267-8958-05c8007c104b))
|
||||
(fp_line (start -1.05 1.5) (end 8.67 1.5) (layer "F.CrtYd") (width 0.05) (tstamp 7e9dec03-9782-48ec-a5ab-71c17dad7da8))
|
||||
(fp_line (start -1.05 -1.5) (end -1.05 1.5) (layer "F.CrtYd") (width 0.05) (tstamp eb3b380a-5047-421a-a32f-84bb22345439))
|
||||
(fp_line (start 0.66 -1.25) (end 0.66 1.25) (layer "F.Fab") (width 0.1) (tstamp 0331cd60-4dc8-4e80-9e5e-9bec4619a443))
|
||||
(fp_line (start 0.66 1.25) (end 6.96 1.25) (layer "F.Fab") (width 0.1) (tstamp 17f39e4f-6793-4502-9b74-b908211ac4fd))
|
||||
(fp_line (start 7.62 0) (end 6.96 0) (layer "F.Fab") (width 0.1) (tstamp 5b51096f-4448-4365-bae5-538af40937a2))
|
||||
(fp_line (start 6.96 -1.25) (end 0.66 -1.25) (layer "F.Fab") (width 0.1) (tstamp 964da2c6-846e-4a6e-adb1-aab25ae39cf9))
|
||||
(fp_line (start 6.96 1.25) (end 6.96 -1.25) (layer "F.Fab") (width 0.1) (tstamp a2ea2e39-d304-4cd9-b4dc-0a20be60d094))
|
||||
(fp_line (start 0 0) (end 0.66 0) (layer "F.Fab") (width 0.1) (tstamp eb6b12ee-b15b-4c84-8d55-d1fbaf3417a8))
|
||||
(pad "1" thru_hole circle (at 0 0 270) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask)
|
||||
(net 6 "LED") (pintype "passive") (tstamp cbe3fc5b-9dba-4cd8-a49b-b6b4f9b1e601))
|
||||
(pad "2" thru_hole oval (at 7.62 0 270) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask)
|
||||
(net 7 "3v3") (pintype "passive") (tstamp bd19711b-0736-4361-95ad-2ad255b21cd3))
|
||||
(model "${KICAD6_3DMODEL_DIR}/Resistor_THT.3dshapes/R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal.wrl"
|
||||
(offset (xyz 0 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
||||
|
||||
(gr_rect (start 58.625 117.75) (end 62.375 117.35) (layer "F.Cu") (width 0.2) (fill solid) (tstamp 1498d958-6517-42d8-bf9a-e7eeae162db2))
|
||||
(gr_rect (start 77.225 117.775) (end 80.975 117.375) (layer "F.Cu") (width 0.2) (fill solid) (tstamp 1600135c-4641-44a0-9346-941ab8a67e17))
|
||||
(gr_rect (start 72.075 121.35) (end 68.325 121.75) (layer "F.Cu") (width 0.2) (fill solid) (tstamp 1aed0667-9da7-42e0-8f89-2a77701dfd54))
|
||||
(gr_rect (start 62.625 118.55) (end 58.95 118.15) (layer "F.Cu") (width 0.2) (fill solid) (tstamp 1e6080cd-b978-45b0-bb94-cbe61cdd5452))
|
||||
(gr_rect (start 68.1 118.95) (end 71.75 119.35) (layer "F.Cu") (width 0.2) (fill solid) (tstamp 216887a4-5225-4f2e-b25e-245b28a17630))
|
||||
(gr_rect (start 68.075 120.55) (end 71.75 120.95) (layer "F.Cu") (width 0.2) (fill solid) (tstamp 2e619702-df06-4428-a718-99100448c38f))
|
||||
(gr_rect (start 68.025 117.75) (end 71.775 117.35) (layer "F.Cu") (width 0.2) (fill solid) (tstamp 46cca8ac-7d9a-4913-a378-9f18302876eb))
|
||||
(gr_rect (start 58.675 120.55) (end 62.35 120.95) (layer "F.Cu") (width 0.2) (fill solid) (tstamp 4ecf6269-7491-418c-a646-d898f54c5a3b))
|
||||
(gr_rect (start 77.2 121.775) (end 75.575 117.375) (layer "F.Cu") (width 0.2) (fill solid) (tstamp 62be6570-7f21-4a0d-9f64-afc4b2d87ec6))
|
||||
(gr_rect (start 62.675 121.35) (end 58.925 121.75) (layer "F.Cu") (width 0.2) (fill solid) (tstamp 68111dd2-1a75-444b-b1ca-1b9b187bdc94))
|
||||
(gr_rect (start 77.3 118.975) (end 80.95 119.375) (layer "F.Cu") (width 0.2) (fill solid) (tstamp 78270ae8-ea19-4eca-9bb2-0f8b45720634))
|
||||
(gr_rect (start 62.7 117.35) (end 64.325 121.75) (layer "F.Cu") (width 0.2) (fill solid) (tstamp 85ce2bc6-2e2f-4741-8c2b-75fc3332bb86))
|
||||
(gr_rect (start 72.025 118.55) (end 68.35 118.15) (layer "F.Cu") (width 0.2) (fill solid) (tstamp 946ca03d-bceb-44a3-958d-fdb64d11e873))
|
||||
(gr_rect (start 77.275 120.575) (end 80.95 120.975) (layer "F.Cu") (width 0.2) (fill solid) (tstamp a1303c81-f303-4ee5-af4d-1b00f76a89c1))
|
||||
(gr_rect (start 62.6 120.15) (end 58.95 119.75) (layer "F.Cu") (width 0.2) (fill solid) (tstamp ac38cdda-8bca-4ccf-8b60-91ef6746f799))
|
||||
(gr_rect (start 72.1 117.35) (end 73.725 121.75) (layer "F.Cu") (width 0.2) (fill solid) (tstamp c3ec618c-4fbb-4d56-9e3e-ff8ee7d464b8))
|
||||
(gr_rect (start 58.7 118.95) (end 62.35 119.35) (layer "F.Cu") (width 0.2) (fill solid) (tstamp d420e2e9-55c1-4630-89e2-153f268166d8))
|
||||
(gr_rect (start 72 120.15) (end 68.35 119.75) (layer "F.Cu") (width 0.2) (fill solid) (tstamp db6515ba-be10-42d4-aa54-72b1cbc641cd))
|
||||
(gr_rect (start 58.6 121.75) (end 56.975 117.35) (layer "F.Cu") (width 0.2) (fill solid) (tstamp e284bbf6-c4cd-4302-b93c-e5331bc0cc23))
|
||||
(gr_rect (start 68 121.75) (end 66.375 117.35) (layer "F.Cu") (width 0.2) (fill solid) (tstamp f5b9547a-0fb2-4699-b4ef-7a5bd9a66072))
|
||||
|
||||
(segment (start 66.329 130.165) (end 53.66 130.165) (width 0.25) (layer "F.Cu") (net 1) (tstamp 47a7efb9-5996-47c4-bcf8-a7e762eb3337))
|
||||
(segment (start 53.66 130.165) (end 53.5 130.325) (width 0.25) (layer "F.Cu") (net 1) (tstamp 5fff36c5-2f2e-416a-b271-52247e71c4d0))
|
||||
(segment (start 53.5 130.325) (end 53.5 130.915) (width 0.25) (layer "F.Cu") (net 1) (tstamp 91179b8b-cc52-4108-82e9-ca10f0ccdde8))
|
||||
(segment (start 75.325 121.169) (end 66.329 130.165) (width 0.25) (layer "F.Cu") (net 1) (tstamp bb2883a2-90c1-4641-85dd-af63d7d4f0af))
|
||||
(segment (start 65.875 129.715) (end 53.473604 129.715) (width 0.25) (layer "F.Cu") (net 2) (tstamp 091ba09c-ce07-4a48-a562-81278dbddaff))
|
||||
(segment (start 66.15 129.44) (end 65.875 129.715) (width 0.25) (layer "F.Cu") (net 2) (tstamp 2333a3da-25e0-4cf0-a5fd-8ea981d17b52))
|
||||
(segment (start 66.15 121.144) (end 66.15 129.44) (width 0.25) (layer "F.Cu") (net 2) (tstamp 4aa2e74f-4856-44a8-a80b-e80ca1fad1f8))
|
||||
(segment (start 53.473604 129.715) (end 52.5 130.688604) (width 0.25) (layer "F.Cu") (net 2) (tstamp 902cee0e-8a54-4cd2-96f1-3bb9439d62d1))
|
||||
(segment (start 52.5 130.688604) (end 52.5 130.915) (width 0.25) (layer "F.Cu") (net 2) (tstamp f3d46a01-3b65-4f62-a963-5c967786480d))
|
||||
(segment (start 56.75 121.15) (end 56.75 129.265) (width 0.25) (layer "F.Cu") (net 3) (tstamp 0f6f4afb-96ad-47f3-a33d-4a0044417e63))
|
||||
(segment (start 56.75 129.265) (end 53.089339 129.265) (width 0.25) (layer "F.Cu") (net 3) (tstamp 2ac87238-516b-45a7-85ea-93ae760ebd16))
|
||||
(segment (start 53.089339 129.265) (end 51.5 130.854339) (width 0.25) (layer "F.Cu") (net 3) (tstamp 8fe2046f-e4a0-43d9-bac3-721b4ea4aa36))
|
||||
(segment (start 51.5 130.854339) (end 51.5 130.915) (width 0.25) (layer "F.Cu") (net 3) (tstamp bf77eb52-aa56-4602-9814-08dca38e6936))
|
||||
(segment (start 83.125 117.969) (end 83.894 117.969) (width 0.25) (layer "F.Cu") (net 4) (tstamp 126dc5e8-fce8-4054-8144-818aca45961c))
|
||||
(segment (start 82.15 123.95) (end 73.325 123.95) (width 0.25) (layer "F.Cu") (net 4) (tstamp 2393413f-a44a-4d36-acd8-86507b1ec96d))
|
||||
(segment (start 64.725 116.525) (end 64.65 116.6) (width 0.25) (layer "F.Cu") (net 4) (tstamp 3add6320-9309-424d-94ec-f3384e61074b))
|
||||
(segment (start 83.125 117.969) (end 83.9 117.194) (width 0.25) (layer "F.Cu") (net 4) (tstamp 4231a4cb-7188-40d4-b42c-d71c8f70178e))
|
||||
(segment (start 74.1 116.525) (end 73.95 116.675) (width 0.25) (layer "F.Cu") (net 4) (tstamp 5fea8b23-3b3e-4637-b4db-22fb408cddce))
|
||||
(segment (start 64.75 116.7) (end 64.75 117.526041) (width 0.25) (layer "F.Cu") (net 4) (tstamp 6299fcc6-61da-4510-973a-8f5af0f6dafe))
|
||||
(segment (start 73.325 123.95) (end 66.36 130.915) (width 0.25) (layer "F.Cu") (net 4) (tstamp 66682e79-b05b-40be-a2ac-d0bf27936ebd))
|
||||
(segment (start 83.9 117.125) (end 83.3 116.525) (width 0.25) (layer "F.Cu") (net 4) (tstamp 6f74c7ef-bf73-42e0-8ba6-0e1487f0290c))
|
||||
(segment (start 83.894 117.969) (end 83.95 118.025) (width 0.25) (layer "F.Cu") (net 4) (tstamp 7bfb9885-002c-4786-b32f-9cefd281f2de))
|
||||
(segment (start 83.3 116.525) (end 74.1 116.525) (width 0.25) (layer "F.Cu") (net 4) (tstamp 93587934-86a6-4682-9138-c76419927cf9))
|
||||
(segment (start 73.95 116.675) (end 73.95 117.944) (width 0.25) (layer "F.Cu") (net 4) (tstamp 9f6615ef-89cd-41d1-b874-e92880b0788d))
|
||||
(segment (start 74.1 116.525) (end 64.725 116.525) (width 0.25) (layer "F.Cu") (net 4) (tstamp af624578-ff00-47b0-92fa-b37babf59a48))
|
||||
(segment (start 66.36 130.915) (end 54.5 130.915) (width 0.25) (layer "F.Cu") (net 4) (tstamp c2786427-f2f0-43a4-9bbf-46928c136744))
|
||||
(segment (start 83.9 117.194) (end 83.9 117.125) (width 0.25) (layer "F.Cu") (net 4) (tstamp d9270772-cca4-46e7-a254-b9ea5904b83d))
|
||||
(segment (start 64.65 116.6) (end 64.75 116.7) (width 0.25) (layer "F.Cu") (net 4) (tstamp eec861f8-a631-44b6-8220-a72fe816d78c))
|
||||
(segment (start 83.95 122.15) (end 82.15 123.95) (width 0.25) (layer "F.Cu") (net 4) (tstamp f3d108e5-6c81-4d8f-9bac-776d5385503d))
|
||||
(segment (start 83.95 118.025) (end 83.95 122.15) (width 0.25) (layer "F.Cu") (net 4) (tstamp fab271e5-d8f9-48d5-8d01-fff8707d3b11))
|
||||
(segment (start 50.5 130.31396) (end 51.99896 128.815) (width 0.25) (layer "F.Cu") (net 5) (tstamp 00b2fec7-d559-4e34-ad1e-8e63b79a5974))
|
||||
(segment (start 50.5 130.915) (end 50.5 130.31396) (width 0.25) (layer "F.Cu") (net 5) (tstamp 3c04a1b3-7c0f-45fd-93c2-3183959cafac))
|
||||
(segment (start 53.34 119.64) (end 53.34 119.38) (width 0.25) (layer "F.Cu") (net 5) (tstamp 3f14d83c-c1f7-4999-a3a4-2cbbadff1610))
|
||||
(segment (start 56.3 122.6) (end 53.34 119.64) (width 0.25) (layer "F.Cu") (net 5) (tstamp c3d11352-e939-43f5-9785-4d8210fd58cc))
|
||||
(segment (start 56.3 128.815) (end 56.3 122.6) (width 0.25) (layer "F.Cu") (net 5) (tstamp d72d9383-5f9e-4aad-aa62-b276fb593967))
|
||||
(segment (start 51.99896 128.815) (end 56.3 128.815) (width 0.25) (layer "F.Cu") (net 5) (tstamp f97732c7-4d0a-41a9-a55a-15f204440370))
|
||||
(segment (start 46.99 115.57) (end 50.8 119.38) (width 0.25) (layer "F.Cu") (net 6) (tstamp 9bde084a-145a-4ab0-aea1-3cc12f5645a2))
|
||||
(segment (start 45.72 115.57) (end 46.99 115.57) (width 0.25) (layer "F.Cu") (net 6) (tstamp c177497f-468b-4ba9-988e-ef0486f84eca))
|
||||
(segment (start 49.5 126.97) (end 45.72 123.19) (width 0.25) (layer "F.Cu") (net 7) (tstamp 1c702b45-8c1d-48bc-8dec-a499617813c3))
|
||||
(segment (start 49.5 130.915) (end 49.5 126.97) (width 0.25) (layer "F.Cu") (net 7) (tstamp 8ba2bdf9-e9bb-4682-89b5-7a23daa86ddf))
|
||||
|
||||
(group "" (id 6b826b14-aa81-4387-8114-ee3ca511f888)
|
||||
(members
|
||||
1aed0667-9da7-42e0-8f89-2a77701dfd54
|
||||
946ca03d-bceb-44a3-958d-fdb64d11e873
|
||||
c3ec618c-4fbb-4d56-9e3e-ff8ee7d464b8
|
||||
db6515ba-be10-42d4-aa54-72b1cbc641cd
|
||||
)
|
||||
)
|
||||
(group "" (id aca3ae97-09e6-47c0-9017-318e7a5f0286)
|
||||
(members
|
||||
1498d958-6517-42d8-bf9a-e7eeae162db2
|
||||
4ecf6269-7491-418c-a646-d898f54c5a3b
|
||||
d420e2e9-55c1-4630-89e2-153f268166d8
|
||||
e284bbf6-c4cd-4302-b93c-e5331bc0cc23
|
||||
)
|
||||
)
|
||||
(group "" (id afcc2883-9af6-4eec-843c-6f250f35dec3)
|
||||
(members
|
||||
216887a4-5225-4f2e-b25e-245b28a17630
|
||||
2e619702-df06-4428-a718-99100448c38f
|
||||
46cca8ac-7d9a-4913-a378-9f18302876eb
|
||||
f5b9547a-0fb2-4699-b4ef-7a5bd9a66072
|
||||
)
|
||||
)
|
||||
(group "" (id c3bb1c97-35fc-4785-98c5-8c8eb1db694f)
|
||||
(members
|
||||
1600135c-4641-44a0-9346-941ab8a67e17
|
||||
62be6570-7f21-4a0d-9f64-afc4b2d87ec6
|
||||
78270ae8-ea19-4eca-9bb2-0f8b45720634
|
||||
a1303c81-f303-4ee5-af4d-1b00f76a89c1
|
||||
)
|
||||
)
|
||||
(group "" (id fe7c33a9-fe64-43b4-a8a8-f837ca4d1a51)
|
||||
(members
|
||||
1e6080cd-b978-45b0-bb94-cbe61cdd5452
|
||||
68111dd2-1a75-444b-b1ca-1b9b187bdc94
|
||||
85ce2bc6-2e2f-4741-8c2b-75fc3332bb86
|
||||
ac38cdda-8bca-4ccf-8b60-91ef6746f799
|
||||
)
|
||||
)
|
||||
)
|
|
@ -1,75 +0,0 @@
|
|||
{
|
||||
"board": {
|
||||
"active_layer": 0,
|
||||
"active_layer_preset": "All Layers",
|
||||
"auto_track_width": true,
|
||||
"hidden_nets": [],
|
||||
"high_contrast_mode": 0,
|
||||
"net_color_mode": 1,
|
||||
"opacity": {
|
||||
"pads": 1.0,
|
||||
"tracks": 1.0,
|
||||
"vias": 1.0,
|
||||
"zones": 0.6
|
||||
},
|
||||
"ratsnest_display_mode": 0,
|
||||
"selection_filter": {
|
||||
"dimensions": true,
|
||||
"footprints": true,
|
||||
"graphics": true,
|
||||
"keepouts": true,
|
||||
"lockedItems": true,
|
||||
"otherItems": true,
|
||||
"pads": true,
|
||||
"text": true,
|
||||
"tracks": true,
|
||||
"vias": true,
|
||||
"zones": true
|
||||
},
|
||||
"visible_items": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
8,
|
||||
9,
|
||||
10,
|
||||
11,
|
||||
12,
|
||||
13,
|
||||
14,
|
||||
15,
|
||||
16,
|
||||
17,
|
||||
18,
|
||||
19,
|
||||
20,
|
||||
21,
|
||||
22,
|
||||
23,
|
||||
24,
|
||||
25,
|
||||
26,
|
||||
27,
|
||||
28,
|
||||
29,
|
||||
30,
|
||||
32,
|
||||
33,
|
||||
34,
|
||||
35,
|
||||
36
|
||||
],
|
||||
"visible_layers": "fffffff_ffffffff",
|
||||
"zone_display_mode": 0
|
||||
},
|
||||
"meta": {
|
||||
"filename": "toppanel.kicad_prl",
|
||||
"version": 3
|
||||
},
|
||||
"project": {
|
||||
"files": []
|
||||
}
|
||||
}
|
|
@ -1,420 +0,0 @@
|
|||
{
|
||||
"board": {
|
||||
"design_settings": {
|
||||
"defaults": {
|
||||
"board_outline_line_width": 0.09999999999999999,
|
||||
"copper_line_width": 0.19999999999999998,
|
||||
"copper_text_italic": false,
|
||||
"copper_text_size_h": 1.5,
|
||||
"copper_text_size_v": 1.5,
|
||||
"copper_text_thickness": 0.3,
|
||||
"copper_text_upright": false,
|
||||
"courtyard_line_width": 0.049999999999999996,
|
||||
"dimension_precision": 4,
|
||||
"dimension_units": 3,
|
||||
"dimensions": {
|
||||
"arrow_length": 1270000,
|
||||
"extension_offset": 500000,
|
||||
"keep_text_aligned": true,
|
||||
"suppress_zeroes": false,
|
||||
"text_position": 0,
|
||||
"units_format": 1
|
||||
},
|
||||
"fab_line_width": 0.09999999999999999,
|
||||
"fab_text_italic": false,
|
||||
"fab_text_size_h": 1.0,
|
||||
"fab_text_size_v": 1.0,
|
||||
"fab_text_thickness": 0.15,
|
||||
"fab_text_upright": false,
|
||||
"other_line_width": 0.15,
|
||||
"other_text_italic": false,
|
||||
"other_text_size_h": 1.0,
|
||||
"other_text_size_v": 1.0,
|
||||
"other_text_thickness": 0.15,
|
||||
"other_text_upright": false,
|
||||
"pads": {
|
||||
"drill": 0.762,
|
||||
"height": 1.524,
|
||||
"width": 1.524
|
||||
},
|
||||
"silk_line_width": 0.15,
|
||||
"silk_text_italic": false,
|
||||
"silk_text_size_h": 1.0,
|
||||
"silk_text_size_v": 1.0,
|
||||
"silk_text_thickness": 0.15,
|
||||
"silk_text_upright": false,
|
||||
"zones": {
|
||||
"45_degree_only": false,
|
||||
"min_clearance": 0.508
|
||||
}
|
||||
},
|
||||
"diff_pair_dimensions": [],
|
||||
"drc_exclusions": [],
|
||||
"meta": {
|
||||
"version": 2
|
||||
},
|
||||
"rule_severities": {
|
||||
"annular_width": "error",
|
||||
"clearance": "error",
|
||||
"copper_edge_clearance": "error",
|
||||
"courtyards_overlap": "error",
|
||||
"diff_pair_gap_out_of_range": "error",
|
||||
"diff_pair_uncoupled_length_too_long": "error",
|
||||
"drill_out_of_range": "error",
|
||||
"duplicate_footprints": "warning",
|
||||
"extra_footprint": "warning",
|
||||
"footprint_type_mismatch": "error",
|
||||
"hole_clearance": "error",
|
||||
"hole_near_hole": "error",
|
||||
"invalid_outline": "error",
|
||||
"item_on_disabled_layer": "error",
|
||||
"items_not_allowed": "error",
|
||||
"length_out_of_range": "error",
|
||||
"malformed_courtyard": "error",
|
||||
"microvia_drill_out_of_range": "error",
|
||||
"missing_courtyard": "ignore",
|
||||
"missing_footprint": "warning",
|
||||
"net_conflict": "warning",
|
||||
"npth_inside_courtyard": "ignore",
|
||||
"padstack": "error",
|
||||
"pth_inside_courtyard": "ignore",
|
||||
"shorting_items": "error",
|
||||
"silk_over_copper": "warning",
|
||||
"silk_overlap": "warning",
|
||||
"skew_out_of_range": "error",
|
||||
"through_hole_pad_without_hole": "error",
|
||||
"too_many_vias": "error",
|
||||
"track_dangling": "warning",
|
||||
"track_width": "error",
|
||||
"tracks_crossing": "error",
|
||||
"unconnected_items": "error",
|
||||
"unresolved_variable": "error",
|
||||
"via_dangling": "warning",
|
||||
"zone_has_empty_net": "error",
|
||||
"zones_intersect": "error"
|
||||
},
|
||||
"rules": {
|
||||
"allow_blind_buried_vias": false,
|
||||
"allow_microvias": false,
|
||||
"max_error": 0.005,
|
||||
"min_clearance": 0.0,
|
||||
"min_copper_edge_clearance": 0.0,
|
||||
"min_hole_clearance": 0.25,
|
||||
"min_hole_to_hole": 0.25,
|
||||
"min_microvia_diameter": 0.19999999999999998,
|
||||
"min_microvia_drill": 0.09999999999999999,
|
||||
"min_silk_clearance": 0.0,
|
||||
"min_through_hole_diameter": 0.3,
|
||||
"min_track_width": 0.19999999999999998,
|
||||
"min_via_annular_width": 0.049999999999999996,
|
||||
"min_via_diameter": 0.39999999999999997,
|
||||
"solder_mask_clearance": 0.0,
|
||||
"solder_mask_min_width": 0.0,
|
||||
"use_height_for_length_calcs": true
|
||||
},
|
||||
"track_widths": [],
|
||||
"via_dimensions": [],
|
||||
"zones_allow_external_fillets": false,
|
||||
"zones_use_no_outline": true
|
||||
},
|
||||
"layer_presets": []
|
||||
},
|
||||
"boards": [],
|
||||
"cvpcb": {
|
||||
"equivalence_files": []
|
||||
},
|
||||
"erc": {
|
||||
"erc_exclusions": [],
|
||||
"meta": {
|
||||
"version": 0
|
||||
},
|
||||
"pin_map": [
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
2,
|
||||
1,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
1,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
]
|
||||
],
|
||||
"rule_severities": {
|
||||
"bus_definition_conflict": "error",
|
||||
"bus_entry_needed": "error",
|
||||
"bus_label_syntax": "error",
|
||||
"bus_to_bus_conflict": "error",
|
||||
"bus_to_net_conflict": "error",
|
||||
"different_unit_footprint": "error",
|
||||
"different_unit_net": "error",
|
||||
"duplicate_reference": "error",
|
||||
"duplicate_sheet_names": "error",
|
||||
"extra_units": "error",
|
||||
"global_label_dangling": "warning",
|
||||
"hier_label_mismatch": "error",
|
||||
"label_dangling": "error",
|
||||
"lib_symbol_issues": "warning",
|
||||
"multiple_net_names": "warning",
|
||||
"net_not_bus_member": "warning",
|
||||
"no_connect_connected": "warning",
|
||||
"no_connect_dangling": "warning",
|
||||
"pin_not_connected": "error",
|
||||
"pin_not_driven": "error",
|
||||
"pin_to_pin": "warning",
|
||||
"power_pin_not_driven": "error",
|
||||
"similar_labels": "warning",
|
||||
"unannotated": "error",
|
||||
"unit_value_mismatch": "error",
|
||||
"unresolved_variable": "error",
|
||||
"wire_dangling": "error"
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"pinned_footprint_libs": [],
|
||||
"pinned_symbol_libs": []
|
||||
},
|
||||
"meta": {
|
||||
"filename": "toppanel.kicad_pro",
|
||||
"version": 1
|
||||
},
|
||||
"net_settings": {
|
||||
"classes": [
|
||||
{
|
||||
"bus_width": 12.0,
|
||||
"clearance": 0.2,
|
||||
"diff_pair_gap": 0.25,
|
||||
"diff_pair_via_gap": 0.25,
|
||||
"diff_pair_width": 0.2,
|
||||
"line_style": 0,
|
||||
"microvia_diameter": 0.3,
|
||||
"microvia_drill": 0.1,
|
||||
"name": "Default",
|
||||
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
||||
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||
"track_width": 0.25,
|
||||
"via_diameter": 0.8,
|
||||
"via_drill": 0.4,
|
||||
"wire_width": 6.0
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"version": 2
|
||||
},
|
||||
"net_colors": null
|
||||
},
|
||||
"pcbnew": {
|
||||
"last_paths": {
|
||||
"gencad": "",
|
||||
"idf": "",
|
||||
"netlist": "",
|
||||
"specctra_dsn": "",
|
||||
"step": "",
|
||||
"vrml": ""
|
||||
},
|
||||
"page_layout_descr_file": ""
|
||||
},
|
||||
"schematic": {
|
||||
"annotate_start_num": 0,
|
||||
"drawing": {
|
||||
"default_line_thickness": 6.0,
|
||||
"default_text_size": 50.0,
|
||||
"field_names": [],
|
||||
"intersheets_ref_own_page": false,
|
||||
"intersheets_ref_prefix": "",
|
||||
"intersheets_ref_short": false,
|
||||
"intersheets_ref_show": false,
|
||||
"intersheets_ref_suffix": "",
|
||||
"junction_size_choice": 3,
|
||||
"label_size_ratio": 0.375,
|
||||
"pin_symbol_size": 25.0,
|
||||
"text_offset_ratio": 0.15
|
||||
},
|
||||
"legacy_lib_dir": "",
|
||||
"legacy_lib_list": [],
|
||||
"meta": {
|
||||
"version": 1
|
||||
},
|
||||
"net_format_name": "",
|
||||
"ngspice": {
|
||||
"fix_include_paths": true,
|
||||
"fix_passive_vals": false,
|
||||
"meta": {
|
||||
"version": 0
|
||||
},
|
||||
"model_mode": 0,
|
||||
"workbook_filename": ""
|
||||
},
|
||||
"page_layout_descr_file": "",
|
||||
"plot_directory": "",
|
||||
"spice_adjust_passive_values": false,
|
||||
"spice_external_command": "spice \"%I\"",
|
||||
"subpart_first_id": 65,
|
||||
"subpart_id_separator": 0
|
||||
},
|
||||
"sheets": [
|
||||
[
|
||||
"4f8f2bae-746c-4420-82b6-a208151802e4",
|
||||
""
|
||||
]
|
||||
],
|
||||
"text_variables": {}
|
||||
}
|
|
@ -1,587 +0,0 @@
|
|||
(kicad_sch (version 20211123) (generator eeschema)
|
||||
|
||||
(uuid 4f8f2bae-746c-4420-82b6-a208151802e4)
|
||||
|
||||
(paper "A4")
|
||||
|
||||
(lib_symbols
|
||||
(symbol "Connector_Generic:Conn_02x03_Top_Bottom" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
|
||||
(property "Reference" "J" (id 0) (at 1.27 5.08 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Value" "Conn_02x03_Top_Bottom" (id 1) (at 1.27 -5.08 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Footprint" "" (id 2) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "~" (id 3) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_keywords" "connector" (id 4) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_description" "Generic connector, double row, 02x03, top/bottom pin numbering scheme (row 1: 1...pins_per_row, row2: pins_per_row+1 ... num_pins), script generated (kicad-library-utils/schlib/autogen/connector/)" (id 5) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_fp_filters" "Connector*:*_2x??_*" (id 6) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(symbol "Conn_02x03_Top_Bottom_1_1"
|
||||
(rectangle (start -1.27 -2.413) (end 0 -2.667)
|
||||
(stroke (width 0.1524) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
(rectangle (start -1.27 0.127) (end 0 -0.127)
|
||||
(stroke (width 0.1524) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
(rectangle (start -1.27 2.667) (end 0 2.413)
|
||||
(stroke (width 0.1524) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
(rectangle (start -1.27 3.81) (end 3.81 -3.81)
|
||||
(stroke (width 0.254) (type default) (color 0 0 0 0))
|
||||
(fill (type background))
|
||||
)
|
||||
(rectangle (start 3.81 -2.413) (end 2.54 -2.667)
|
||||
(stroke (width 0.1524) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
(rectangle (start 3.81 0.127) (end 2.54 -0.127)
|
||||
(stroke (width 0.1524) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
(rectangle (start 3.81 2.667) (end 2.54 2.413)
|
||||
(stroke (width 0.1524) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
(pin passive line (at -5.08 2.54 0) (length 3.81)
|
||||
(name "Pin_1" (effects (font (size 1.27 1.27))))
|
||||
(number "1" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at -5.08 0 0) (length 3.81)
|
||||
(name "Pin_2" (effects (font (size 1.27 1.27))))
|
||||
(number "2" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at -5.08 -2.54 0) (length 3.81)
|
||||
(name "Pin_3" (effects (font (size 1.27 1.27))))
|
||||
(number "3" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 7.62 2.54 180) (length 3.81)
|
||||
(name "Pin_4" (effects (font (size 1.27 1.27))))
|
||||
(number "4" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 7.62 0 180) (length 3.81)
|
||||
(name "Pin_5" (effects (font (size 1.27 1.27))))
|
||||
(number "5" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 7.62 -2.54 180) (length 3.81)
|
||||
(name "Pin_6" (effects (font (size 1.27 1.27))))
|
||||
(number "6" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
)
|
||||
)
|
||||
(symbol "Device:LED" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
|
||||
(property "Reference" "D" (id 0) (at 0 2.54 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Value" "LED" (id 1) (at 0 -2.54 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Footprint" "" (id 2) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "~" (id 3) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_keywords" "LED diode" (id 4) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_description" "Light emitting diode" (id 5) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_fp_filters" "LED* LED_SMD:* LED_THT:*" (id 6) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(symbol "LED_0_1"
|
||||
(polyline
|
||||
(pts
|
||||
(xy -1.27 -1.27)
|
||||
(xy -1.27 1.27)
|
||||
)
|
||||
(stroke (width 0.254) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -1.27 0)
|
||||
(xy 1.27 0)
|
||||
)
|
||||
(stroke (width 0) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 1.27 -1.27)
|
||||
(xy 1.27 1.27)
|
||||
(xy -1.27 0)
|
||||
(xy 1.27 -1.27)
|
||||
)
|
||||
(stroke (width 0.254) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -3.048 -0.762)
|
||||
(xy -4.572 -2.286)
|
||||
(xy -3.81 -2.286)
|
||||
(xy -4.572 -2.286)
|
||||
(xy -4.572 -1.524)
|
||||
)
|
||||
(stroke (width 0) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -1.778 -0.762)
|
||||
(xy -3.302 -2.286)
|
||||
(xy -2.54 -2.286)
|
||||
(xy -3.302 -2.286)
|
||||
(xy -3.302 -1.524)
|
||||
)
|
||||
(stroke (width 0) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
)
|
||||
(symbol "LED_1_1"
|
||||
(pin passive line (at -3.81 0 0) (length 2.54)
|
||||
(name "K" (effects (font (size 1.27 1.27))))
|
||||
(number "1" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 3.81 0 180) (length 2.54)
|
||||
(name "A" (effects (font (size 1.27 1.27))))
|
||||
(number "2" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
)
|
||||
)
|
||||
(symbol "Device:R" (pin_numbers hide) (pin_names (offset 0)) (in_bom yes) (on_board yes)
|
||||
(property "Reference" "R" (id 0) (at 2.032 0 90)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Value" "R" (id 1) (at 0 0 90)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Footprint" "" (id 2) (at -1.778 0 90)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "~" (id 3) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_keywords" "R res resistor" (id 4) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_description" "Resistor" (id 5) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_fp_filters" "R_*" (id 6) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(symbol "R_0_1"
|
||||
(rectangle (start -1.016 -2.54) (end 1.016 2.54)
|
||||
(stroke (width 0.254) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
)
|
||||
(symbol "R_1_1"
|
||||
(pin passive line (at 0 3.81 270) (length 1.27)
|
||||
(name "~" (effects (font (size 1.27 1.27))))
|
||||
(number "1" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 0 -3.81 90) (length 1.27)
|
||||
(name "~" (effects (font (size 1.27 1.27))))
|
||||
(number "2" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
)
|
||||
)
|
||||
(symbol "Switch:SW_SPST" (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
|
||||
(property "Reference" "SW" (id 0) (at 0 3.175 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Value" "SW_SPST" (id 1) (at 0 -2.54 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Footprint" "" (id 2) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "~" (id 3) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_keywords" "switch lever" (id 4) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_description" "Single Pole Single Throw (SPST) switch" (id 5) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(symbol "SW_SPST_0_0"
|
||||
(circle (center -2.032 0) (radius 0.508)
|
||||
(stroke (width 0) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -1.524 0.254)
|
||||
(xy 1.524 1.778)
|
||||
)
|
||||
(stroke (width 0) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
(circle (center 2.032 0) (radius 0.508)
|
||||
(stroke (width 0) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
)
|
||||
(symbol "SW_SPST_1_1"
|
||||
(pin passive line (at -5.08 0 0) (length 2.54)
|
||||
(name "A" (effects (font (size 1.27 1.27))))
|
||||
(number "1" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 5.08 0 180) (length 2.54)
|
||||
(name "B" (effects (font (size 1.27 1.27))))
|
||||
(number "2" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
)
|
||||
)
|
||||
(symbol "power:GND" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
|
||||
(property "Reference" "#PWR" (id 0) (at 0 -6.35 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Value" "GND" (id 1) (at 0 -3.81 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Footprint" "" (id 2) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "" (id 3) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_keywords" "power-flag" (id 4) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_description" "Power symbol creates a global label with name \"GND\" , ground" (id 5) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(symbol "GND_0_1"
|
||||
(polyline
|
||||
(pts
|
||||
(xy 0 0)
|
||||
(xy 0 -1.27)
|
||||
(xy 1.27 -1.27)
|
||||
(xy 0 -2.54)
|
||||
(xy -1.27 -1.27)
|
||||
(xy 0 -1.27)
|
||||
)
|
||||
(stroke (width 0) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
)
|
||||
(symbol "GND_1_1"
|
||||
(pin power_in line (at 0 0 270) (length 0) hide
|
||||
(name "GND" (effects (font (size 1.27 1.27))))
|
||||
(number "1" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(global_label "b3" (shape input) (at 90.17 97.79 180) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify right))
|
||||
(uuid 001664bf-9c00-4b3c-9843-4a3a3f4366a1)
|
||||
(property "Intersheet References" "${INTERSHEET_REFS}" (id 0) (at 85.3983 97.7106 0)
|
||||
(effects (font (size 1.27 1.27)) (justify right) hide)
|
||||
)
|
||||
)
|
||||
(global_label "b1" (shape input) (at 121.92 104.14 180) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify right))
|
||||
(uuid 0074defb-7625-4982-994e-41abb8445a00)
|
||||
(property "Intersheet References" "${INTERSHEET_REFS}" (id 0) (at 117.1483 104.0606 0)
|
||||
(effects (font (size 1.27 1.27)) (justify right) hide)
|
||||
)
|
||||
)
|
||||
(global_label "GP15" (shape input) (at 58.42 83.82 0) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
(uuid 0fedd5dc-ce73-4d3f-a3b0-eb8619f949f3)
|
||||
(property "Intersheet References" "${INTERSHEET_REFS}" (id 0) (at 65.7921 83.7406 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left) hide)
|
||||
)
|
||||
)
|
||||
(global_label "LED" (shape input) (at 50.8 83.82 180) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify right))
|
||||
(uuid 47824ba3-b656-4e65-bb17-aa0ee9e49cd6)
|
||||
(property "Intersheet References" "${INTERSHEET_REFS}" (id 0) (at 44.9398 83.8994 0)
|
||||
(effects (font (size 1.27 1.27)) (justify right) hide)
|
||||
)
|
||||
)
|
||||
(global_label "3v3" (shape input) (at 134.62 106.68 0) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
(uuid 6f9a3117-4688-44ba-a3ef-78e7fcf57707)
|
||||
(property "Intersheet References" "${INTERSHEET_REFS}" (id 0) (at 140.4198 106.6006 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left) hide)
|
||||
)
|
||||
)
|
||||
(global_label "3v3" (shape input) (at 38.1 95.25 270) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify right))
|
||||
(uuid 7173c943-38d4-4114-87de-a7158e30584b)
|
||||
(property "Intersheet References" "${INTERSHEET_REFS}" (id 0) (at 38.0206 101.0498 90)
|
||||
(effects (font (size 1.27 1.27)) (justify right) hide)
|
||||
)
|
||||
)
|
||||
(global_label "b2" (shape input) (at 72.39 86.36 180) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify right))
|
||||
(uuid 99ffef1d-a483-4ee7-aa5f-50960bb7e74f)
|
||||
(property "Intersheet References" "${INTERSHEET_REFS}" (id 0) (at 67.6183 86.2806 0)
|
||||
(effects (font (size 1.27 1.27)) (justify right) hide)
|
||||
)
|
||||
)
|
||||
(global_label "b2" (shape input) (at 121.92 106.68 180) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify right))
|
||||
(uuid ad51b55e-060d-40e5-ad74-2bac92eddf31)
|
||||
(property "Intersheet References" "${INTERSHEET_REFS}" (id 0) (at 117.1483 106.6006 0)
|
||||
(effects (font (size 1.27 1.27)) (justify right) hide)
|
||||
)
|
||||
)
|
||||
(global_label "b1" (shape input) (at 57.15 97.79 180) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify right))
|
||||
(uuid af72469c-ef06-48d4-9913-5f6fc269aa1a)
|
||||
(property "Intersheet References" "${INTERSHEET_REFS}" (id 0) (at 52.3783 97.7106 0)
|
||||
(effects (font (size 1.27 1.27)) (justify right) hide)
|
||||
)
|
||||
)
|
||||
(global_label "b3" (shape input) (at 134.62 101.6 0) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
(uuid bbacf4c5-b796-48ac-817d-5f7ef749e498)
|
||||
(property "Intersheet References" "${INTERSHEET_REFS}" (id 0) (at 139.3917 101.6794 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left) hide)
|
||||
)
|
||||
)
|
||||
(global_label "LED" (shape input) (at 38.1 87.63 90) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
(uuid beeef4fe-4128-4bd1-bd91-9e13e6393e88)
|
||||
(property "Intersheet References" "${INTERSHEET_REFS}" (id 0) (at 38.0206 81.7698 90)
|
||||
(effects (font (size 1.27 1.27)) (justify left) hide)
|
||||
)
|
||||
)
|
||||
(global_label "GP15" (shape input) (at 134.62 104.14 0) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
(uuid c2dfdefd-d11e-40e7-9c11-5ecb95d6b3f0)
|
||||
(property "Intersheet References" "${INTERSHEET_REFS}" (id 0) (at 141.9921 104.0606 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left) hide)
|
||||
)
|
||||
)
|
||||
|
||||
(symbol (lib_id "power:GND") (at 100.33 97.79 90) (unit 1)
|
||||
(in_bom yes) (on_board yes) (fields_autoplaced)
|
||||
(uuid 01572907-e353-4b24-9f03-f76c12573158)
|
||||
(property "Reference" "#PWR0101" (id 0) (at 106.68 97.79 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Value" "GND" (id 1) (at 104.14 97.7899 90)
|
||||
(effects (font (size 1.27 1.27)) (justify right))
|
||||
)
|
||||
(property "Footprint" "" (id 2) (at 100.33 97.79 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "" (id 3) (at 100.33 97.79 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid 3a0377e2-447a-447f-838d-cb3917bff70e))
|
||||
)
|
||||
|
||||
(symbol (lib_id "power:GND") (at 121.92 101.6 180) (unit 1)
|
||||
(in_bom yes) (on_board yes) (fields_autoplaced)
|
||||
(uuid 15b6c45a-f7f6-499c-a2ab-84a6164c2c3e)
|
||||
(property "Reference" "#PWR0102" (id 0) (at 121.92 95.25 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Value" "GND" (id 1) (at 121.92 96.52 0))
|
||||
(property "Footprint" "" (id 2) (at 121.92 101.6 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "" (id 3) (at 121.92 101.6 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid b1e6ccee-2ea3-4ddd-b0d6-59b76313bada))
|
||||
)
|
||||
|
||||
(symbol (lib_id "Device:R") (at 38.1 91.44 0) (unit 1)
|
||||
(in_bom yes) (on_board yes) (fields_autoplaced)
|
||||
(uuid 2183ed17-47fe-4d01-ab18-f3386abe1b21)
|
||||
(property "Reference" "R1" (id 0) (at 40.64 90.1699 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
)
|
||||
(property "Value" "R_LED" (id 1) (at 40.64 92.7099 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
)
|
||||
(property "Footprint" "Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal" (id 2) (at 36.322 91.44 90)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "~" (id 3) (at 38.1 91.44 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid b657a69a-69ab-4b0a-aa71-24dac19060b3))
|
||||
(pin "2" (uuid 9be82686-a362-4ca8-9100-ad9abc74d621))
|
||||
)
|
||||
|
||||
(symbol (lib_id "Switch:SW_SPST") (at 62.23 97.79 0) (unit 1)
|
||||
(in_bom yes) (on_board yes) (fields_autoplaced)
|
||||
(uuid 36ac71ea-af8d-410c-a509-b331c46703f8)
|
||||
(property "Reference" "SW1" (id 0) (at 62.23 91.44 0))
|
||||
(property "Value" "SW_Select" (id 1) (at 62.23 93.98 0))
|
||||
(property "Footprint" "components:membrane_button" (id 2) (at 62.23 97.79 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "~" (id 3) (at 62.23 97.79 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid 963a8aa5-c4b4-4418-b27a-add9e3ddcbbf))
|
||||
(pin "2" (uuid c2b76f39-82b1-4f26-838b-fcc0089e8734))
|
||||
)
|
||||
|
||||
(symbol (lib_id "Switch:SW_SPST") (at 77.47 86.36 0) (unit 1)
|
||||
(in_bom yes) (on_board yes) (fields_autoplaced)
|
||||
(uuid 3f61b5cf-ca64-4cc8-ab25-f37ba0f89305)
|
||||
(property "Reference" "SW2" (id 0) (at 77.47 80.01 0))
|
||||
(property "Value" "SW_Home" (id 1) (at 77.47 82.55 0))
|
||||
(property "Footprint" "components:membrane_button" (id 2) (at 77.47 86.36 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "~" (id 3) (at 77.47 86.36 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid 00d110fd-1b74-45a6-be93-7322d059f173))
|
||||
(pin "2" (uuid db4578e4-4bf1-49e9-bcb9-a707f132a843))
|
||||
)
|
||||
|
||||
(symbol (lib_id "power:GND") (at 67.31 97.79 90) (unit 1)
|
||||
(in_bom yes) (on_board yes) (fields_autoplaced)
|
||||
(uuid 6c6a02e2-4c14-4b81-82da-f62814a1a1e8)
|
||||
(property "Reference" "#PWR0103" (id 0) (at 73.66 97.79 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Value" "GND" (id 1) (at 71.12 97.7899 90)
|
||||
(effects (font (size 1.27 1.27)) (justify right))
|
||||
)
|
||||
(property "Footprint" "" (id 2) (at 67.31 97.79 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "" (id 3) (at 67.31 97.79 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid fca7f108-0069-4a6f-a94e-fda603af98d4))
|
||||
)
|
||||
|
||||
(symbol (lib_id "power:GND") (at 82.55 86.36 90) (unit 1)
|
||||
(in_bom yes) (on_board yes) (fields_autoplaced)
|
||||
(uuid 91107a4b-403f-41b2-bb70-6006ca3a2689)
|
||||
(property "Reference" "#PWR0104" (id 0) (at 88.9 86.36 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Value" "GND" (id 1) (at 86.36 86.3599 90)
|
||||
(effects (font (size 1.27 1.27)) (justify right))
|
||||
)
|
||||
(property "Footprint" "" (id 2) (at 82.55 86.36 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "" (id 3) (at 82.55 86.36 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid f8651f5b-4b4b-4bf4-bb85-ebf8197c5910))
|
||||
)
|
||||
|
||||
(symbol (lib_id "Switch:SW_SPST") (at 95.25 97.79 0) (unit 1)
|
||||
(in_bom yes) (on_board yes) (fields_autoplaced)
|
||||
(uuid b73d7091-ef5f-40b4-a95d-fc8c4b1364b5)
|
||||
(property "Reference" "SW3" (id 0) (at 95.25 91.44 0))
|
||||
(property "Value" "SW_Turbo" (id 1) (at 95.25 93.98 0))
|
||||
(property "Footprint" "components:membrane_button" (id 2) (at 95.25 97.79 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "~" (id 3) (at 95.25 97.79 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid ff583ed5-4d99-4701-a422-a98b4f52c3bd))
|
||||
(pin "2" (uuid 20390814-d251-4b12-b48c-e6e39cda9719))
|
||||
)
|
||||
|
||||
(symbol (lib_id "Connector_Generic:Conn_02x03_Top_Bottom") (at 127 104.14 0) (unit 1)
|
||||
(in_bom yes) (on_board yes) (fields_autoplaced)
|
||||
(uuid bd9fee7e-d5ce-4572-93e3-b2500ea109d3)
|
||||
(property "Reference" "J1" (id 0) (at 128.27 95.25 0))
|
||||
(property "Value" "Conn_02x03_Top_Bottom" (id 1) (at 128.27 97.79 0))
|
||||
(property "Footprint" "Connector_PinHeader_1.00mm:PinHeader_1x06_P1.00mm_Horizontal" (id 2) (at 127 104.14 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "~" (id 3) (at 127 104.14 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid b39e2f90-2367-4ec8-a2d9-45357aa3c8bf))
|
||||
(pin "2" (uuid 50e7a49d-33e4-4aa7-89d0-9f78061bf06b))
|
||||
(pin "3" (uuid 8e06abcf-cfbe-4f96-88e9-a2c1c6c90373))
|
||||
(pin "4" (uuid 7c4b0062-9df9-498c-a5ac-173aa0ff4aff))
|
||||
(pin "5" (uuid 6c99ccdd-6149-45c6-b55a-7eeeac07e8b4))
|
||||
(pin "6" (uuid dd35d5ab-6715-4005-b3b0-e6fd8f9549fe))
|
||||
)
|
||||
|
||||
(symbol (lib_id "Device:LED") (at 54.61 83.82 180) (unit 1)
|
||||
(in_bom yes) (on_board yes)
|
||||
(uuid f28a6601-27bc-47be-ada0-793c3b6f793c)
|
||||
(property "Reference" "LED_TURBO1" (id 0) (at 56.1975 90.17 0))
|
||||
(property "Value" "LED" (id 1) (at 56.1975 87.63 0))
|
||||
(property "Footprint" "LED_THT:LED_D5.0mm" (id 2) (at 54.61 83.82 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "~" (id 3) (at 54.61 83.82 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid c7400c35-a429-403b-8d0b-d2ac983bb418))
|
||||
(pin "2" (uuid 622e6e18-9b2c-49a0-bb89-54c93f7e6127))
|
||||
)
|
||||
|
||||
(sheet_instances
|
||||
(path "/" (page "1"))
|
||||
)
|
||||
|
||||
(symbol_instances
|
||||
(path "/01572907-e353-4b24-9f03-f76c12573158"
|
||||
(reference "#PWR0101") (unit 1) (value "GND") (footprint "")
|
||||
)
|
||||
(path "/15b6c45a-f7f6-499c-a2ab-84a6164c2c3e"
|
||||
(reference "#PWR0102") (unit 1) (value "GND") (footprint "")
|
||||
)
|
||||
(path "/6c6a02e2-4c14-4b81-82da-f62814a1a1e8"
|
||||
(reference "#PWR0103") (unit 1) (value "GND") (footprint "")
|
||||
)
|
||||
(path "/91107a4b-403f-41b2-bb70-6006ca3a2689"
|
||||
(reference "#PWR0104") (unit 1) (value "GND") (footprint "")
|
||||
)
|
||||
(path "/bd9fee7e-d5ce-4572-93e3-b2500ea109d3"
|
||||
(reference "J1") (unit 1) (value "Conn_02x03_Top_Bottom") (footprint "Connector_PinHeader_1.00mm:PinHeader_1x06_P1.00mm_Horizontal")
|
||||
)
|
||||
(path "/f28a6601-27bc-47be-ada0-793c3b6f793c"
|
||||
(reference "LED_TURBO1") (unit 1) (value "LED") (footprint "LED_THT:LED_D5.0mm")
|
||||
)
|
||||
(path "/2183ed17-47fe-4d01-ab18-f3386abe1b21"
|
||||
(reference "R1") (unit 1) (value "R_LED") (footprint "Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal")
|
||||
)
|
||||
(path "/36ac71ea-af8d-410c-a509-b331c46703f8"
|
||||
(reference "SW1") (unit 1) (value "SW_Select") (footprint "components:membrane_button")
|
||||
)
|
||||
(path "/3f61b5cf-ca64-4cc8-ab25-f37ba0f89305"
|
||||
(reference "SW2") (unit 1) (value "SW_Home") (footprint "components:membrane_button")
|
||||
)
|
||||
(path "/b73d7091-ef5f-40b4-a95d-fc8c4b1364b5"
|
||||
(reference "SW3") (unit 1) (value "SW_Turbo") (footprint "components:membrane_button")
|
||||
)
|
||||
)
|
||||
)
|
Binary file not shown.
|
@ -1,13 +0,0 @@
|
|||
module git.jade.moe/oct2pus/arcade/f300-build
|
||||
|
||||
go 1.19
|
||||
|
||||
require (
|
||||
github.com/ajstarks/svgo v0.0.0-20200725142600-7a3c8b57fecb // indirect
|
||||
github.com/deadsy/sdfx v0.0.0-20220508165057-718104295925 // indirect
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
|
||||
github.com/llgcode/draw2d v0.0.0-20200930101115-bfaf5d914d1e // indirect
|
||||
github.com/yofu/dxf v0.0.0-20190710012328-5a6d1e83f16c // indirect
|
||||
golang.org/x/image v0.0.0-20210216034530-4410531fe030 // indirect
|
||||
gonum.org/v1/gonum v0.9.3 // indirect
|
||||
)
|
|
@ -1,83 +0,0 @@
|
|||
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
|
||||
gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8=
|
||||
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
|
||||
github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
|
||||
github.com/ajstarks/svgo v0.0.0-20200725142600-7a3c8b57fecb h1:EVl3FJLQCzSbgBezKo/1A4ADnJ4mtJZ0RvnNzDJ44nY=
|
||||
github.com/ajstarks/svgo v0.0.0-20200725142600-7a3c8b57fecb/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
|
||||
github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/deadsy/sdfx v0.0.0-20220508165057-718104295925 h1:CvjyreOQIm7VeHt2U0mq6iP8J0ZcjiXoxpgzLcYNJwo=
|
||||
github.com/deadsy/sdfx v0.0.0-20220508165057-718104295925/go.mod h1:bjsFZRp7zdb9m29hIDXPN/V5H/AkjJ1AIr5iBuj7FcI=
|
||||
github.com/dhconnelly/rtreego v1.1.0/go.mod h1:SDozu0Fjy17XH1svEXJgdYq8Tah6Zjfa/4Q33Z80+KM=
|
||||
github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
|
||||
github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
|
||||
github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g=
|
||||
github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks=
|
||||
github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY=
|
||||
github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY=
|
||||
github.com/go-gl/gl v0.0.0-20180407155706-68e253793080/go.mod h1:482civXOzJJCPzJ4ZOX/pwvXBWSnzD4OKMdH4ClKGbk=
|
||||
github.com/go-gl/glfw v0.0.0-20180426074136-46a8d530c326/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
|
||||
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
|
||||
github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U=
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
|
||||
github.com/hschendel/stl v1.0.4/go.mod h1:XQFFLKrq9YTaBpmouDui4JSaxMyAYkpD7elGSSj/y3M=
|
||||
github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
|
||||
github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
|
||||
github.com/llgcode/draw2d v0.0.0-20200930101115-bfaf5d914d1e h1:YRRazju3DMGuZTSWEj0nE2SCRcK3DW/qdHQ4UQx7sgs=
|
||||
github.com/llgcode/draw2d v0.0.0-20200930101115-bfaf5d914d1e/go.mod h1:mVa0dA29Db2S4LVqDYLlsePDzRJLDfdhVZiI15uY0FA=
|
||||
github.com/llgcode/ps v0.0.0-20150911083025-f1443b32eedb/go.mod h1:1l8ky+Ew27CMX29uG+a2hNOKpeNYEQjjtiALiBlFQbY=
|
||||
github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY=
|
||||
github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
|
||||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/yofu/dxf v0.0.0-20190710012328-5a6d1e83f16c h1:qgsxLgTXCVH8Dxar36HI5af2ZfinVz5vF8erPpyzM+A=
|
||||
github.com/yofu/dxf v0.0.0-20190710012328-5a6d1e83f16c/go.mod h1:gnT4GQzgKW8+TLI0xheUgdmNV4dsAN0WJUVnztRZkfI=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE=
|
||||
golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
|
||||
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
||||
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20210216034530-4410531fe030 h1:lP9pYkih3DUSC641giIXa2XqfTIbbbRr0w2EOTA7wHA=
|
||||
golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
|
||||
golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
|
||||
gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0=
|
||||
gonum.org/v1/gonum v0.9.3 h1:DnoIG+QAMaF5NvxnGe/oKsgKcAc6PcUyl8q0VetfQ8s=
|
||||
gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0=
|
||||
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
|
||||
gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
|
||||
gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
|
|
@ -1,251 +0,0 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"github.com/deadsy/sdfx/render"
|
||||
"github.com/deadsy/sdfx/render/dc"
|
||||
"github.com/deadsy/sdfx/sdf"
|
||||
v2 "github.com/deadsy/sdfx/vec/v2"
|
||||
v3 "github.com/deadsy/sdfx/vec/v3"
|
||||
)
|
||||
|
||||
func main() {
|
||||
render.ToSTL(switchBoardMount(), 300, "switchBoardMount.stl", dc.NewDualContouringDefault())
|
||||
render.ToSTL(usbCMount(), 300, "usbCMount.stl", dc.NewDualContouringDefault())
|
||||
render.ToSTL(usbCCover(), 300, "usbCCover.stl", dc.NewDualContouringDefault())
|
||||
render.ToSTL(screenCover(), 300, "screenCover.stl", dc.NewDualContouringDefault())
|
||||
render.ToSTL(picoAdapter(), 300, "picoAdapter.stl", dc.NewDualContouringDefault())
|
||||
}
|
||||
|
||||
func picoAdapter() sdf.SDF3 {
|
||||
// body
|
||||
base2D := sdf.Box2D(v2.Vec{X: 78.9, Y: 39.7}, 0)
|
||||
hole2D, _ := sdf.Circle2D(4.9 / 2)
|
||||
|
||||
holes2D := make([]sdf.SDF2, 4)
|
||||
holesXOffset, holesYOffset := 4.7, 3.8
|
||||
holes2D[0] = sdf.Transform2D(hole2D, sdf.Translate2d(v2.Vec{X: base2D.BoundingBox().Max.X - holesXOffset, Y: base2D.BoundingBox().Max.Y - holesYOffset}))
|
||||
holes2D[1] = sdf.Transform2D(hole2D, sdf.Translate2d(v2.Vec{X: -base2D.BoundingBox().Max.X - (-holesXOffset), Y: base2D.BoundingBox().Max.Y - holesYOffset}))
|
||||
holes2D[2] = sdf.Transform2D(hole2D, sdf.Translate2d(v2.Vec{X: -base2D.BoundingBox().Max.X - (-holesXOffset), Y: -base2D.BoundingBox().Max.Y - (-holesYOffset)}))
|
||||
holes2D[3] = sdf.Transform2D(hole2D, sdf.Translate2d(v2.Vec{X: base2D.BoundingBox().Max.X - holesXOffset, Y: -base2D.BoundingBox().Max.Y - (-holesYOffset)}))
|
||||
screwHoles2D := sdf.Union2D(holes2D...)
|
||||
|
||||
base2D = sdf.Difference2D(base2D, screwHoles2D)
|
||||
|
||||
// pico pegs
|
||||
m2Diameter := 2.0
|
||||
innerCircle, _ := sdf.Circle2D(m2Diameter / 2)
|
||||
outerCircle, _ := sdf.Circle2D(m2Diameter * 2 / 2)
|
||||
peg2D := sdf.Difference2D(outerCircle, innerCircle)
|
||||
|
||||
pegs2D := make([]sdf.SDF2, 6)
|
||||
pegsXDistance, pegsYDistance := 47.0, 11.40
|
||||
pegs2D[0] = sdf.Transform2D(peg2D, sdf.Translate2d(v2.Vec{X: pegsXDistance / 2, Y: pegsYDistance / 2}))
|
||||
pegs2D[1] = sdf.Transform2D(peg2D, sdf.Translate2d(v2.Vec{X: -pegsXDistance / 2, Y: pegsYDistance / 2}))
|
||||
pegs2D[2] = sdf.Transform2D(peg2D, sdf.Translate2d(v2.Vec{X: -pegsXDistance / 2, Y: -pegsYDistance / 2}))
|
||||
pegs2D[3] = sdf.Transform2D(peg2D, sdf.Translate2d(v2.Vec{X: pegsXDistance / 2, Y: -pegsYDistance / 2}))
|
||||
mount2D := sdf.Union2D(pegs2D...)
|
||||
|
||||
// extrude
|
||||
baseZ, pegsZ := 1.6, 3.0
|
||||
base := sdf.Extrude3D(base2D, baseZ)
|
||||
mount := sdf.Extrude3D(mount2D, pegsZ)
|
||||
mount = sdf.Transform3D(mount, sdf.Translate3d(v3.Vec{X: 0, Y: 0, Z: baseZ/2 + pegsZ/2}))
|
||||
|
||||
return sdf.Union3D(base, mount)
|
||||
}
|
||||
|
||||
func screenCover() sdf.SDF3 {
|
||||
// cover
|
||||
z := 2.2
|
||||
holeX, holeY := 32.4, 19.2 // -0.2 for clearance
|
||||
screenX, screenY := 23.744, 12.864 // screen V/A
|
||||
holderOffsetX, holderOffsetY := 1.75, 2.0
|
||||
|
||||
hole := sdf.Box2D(v2.Vec{X: holeX, Y: holeY}, 0)
|
||||
screen := sdf.Box2D(v2.Vec{X: screenX, Y: screenY}, 0)
|
||||
|
||||
body2D := sdf.Difference2D(hole, screen)
|
||||
|
||||
body := sdf.Extrude3D(body2D, z)
|
||||
|
||||
lrEdge2D := sdf.Box2D(v2.Vec{X: (holeX - screenX) / 1.5, Y: holeY - 1.4}, 1)
|
||||
lrEdge := sdf.Extrude3D(lrEdge2D, z/2)
|
||||
lrEdges := make([]sdf.SDF3, 2)
|
||||
lrEdges[0] = sdf.Transform3D(lrEdge, sdf.Translate3d(v3.Vec{X: -holeX/2 - (-(holeX - screenX) / 6), Y: 1.4 / 2, Z: z / 2}))
|
||||
lrEdges[1] = sdf.Transform3D(lrEdge, sdf.Translate3d(v3.Vec{X: holeX/2 - ((holeX - screenX) / 6), Y: 1.4 / 2, Z: z / 2}))
|
||||
|
||||
tbEdge2D := sdf.Box2D(v2.Vec{X: holeX, Y: (holeY - screenY) / 2}, 0)
|
||||
tbEdge := sdf.Extrude3D(tbEdge2D, z/2)
|
||||
tbEdges := make([]sdf.SDF3, 2)
|
||||
tbEdges[0] = sdf.Transform3D(tbEdge, sdf.Translate3d(v3.Vec{X: 0, Y: -holeY/2 - (-(holeY - screenY) / 4), Z: z / 2}))
|
||||
tbEdges[1] = sdf.Transform3D(tbEdge, sdf.Translate3d(v3.Vec{X: 0, Y: holeY/2 - ((holeY - screenY) / 4), Z: z / 2}))
|
||||
|
||||
body = sdf.Union3D(body, lrEdges[0], lrEdges[1], tbEdges[0], tbEdges[1])
|
||||
|
||||
body = sdf.Transform3D(body, sdf.RotateX(sdf.DtoR(180)))
|
||||
|
||||
// screen mounting
|
||||
|
||||
m2HoleDiameter := 2.0
|
||||
PCBHoleX, PCBHoleY := 23.5, 23.8
|
||||
|
||||
m2Hole, _ := sdf.Circle2D(m2HoleDiameter / 2)
|
||||
|
||||
m2Holes := sdf.Union2D(
|
||||
sdf.Transform2D(m2Hole, sdf.Translate2d(v2.Vec{X: PCBHoleX / 2, Y: PCBHoleY / 2})),
|
||||
sdf.Transform2D(m2Hole, sdf.Translate2d(v2.Vec{X: PCBHoleX / 2, Y: -PCBHoleY / 2})),
|
||||
sdf.Transform2D(m2Hole, sdf.Translate2d(v2.Vec{X: -PCBHoleX / 2, Y: -PCBHoleY / 2})),
|
||||
sdf.Transform2D(m2Hole, sdf.Translate2d(v2.Vec{X: -PCBHoleX / 2, Y: PCBHoleY / 2})),
|
||||
)
|
||||
// screen mount pegs
|
||||
|
||||
m2PegFrame2D, _ := sdf.Circle2D(m2HoleDiameter)
|
||||
|
||||
m2PegFrames2D := sdf.Union2D(
|
||||
sdf.Transform2D(m2PegFrame2D, sdf.Translate2d(v2.Vec{X: PCBHoleX / 2, Y: -PCBHoleY / 2})),
|
||||
sdf.Transform2D(m2PegFrame2D, sdf.Translate2d(v2.Vec{X: -PCBHoleX / 2, Y: -PCBHoleY / 2})),
|
||||
)
|
||||
m2Pegs2D := sdf.Difference2D(m2PegFrames2D, m2Holes)
|
||||
m2Pegs := sdf.Extrude3D(m2Pegs2D, z)
|
||||
m2Pegs = sdf.Transform3D(m2Pegs, sdf.Translate3d(v3.Vec{X: 0, Y: 1.5, Z: z}))
|
||||
|
||||
body = sdf.Union3D(body, m2Pegs)
|
||||
|
||||
// peg attachers
|
||||
|
||||
pegHolder, err := sdf.Box3D(v3.Vec{X: 2, Y: holeY / 2, Z: z}, 0)
|
||||
if err != nil {
|
||||
log.Printf("Model error.\n")
|
||||
}
|
||||
|
||||
pegHolders := sdf.Union3D(
|
||||
sdf.Transform3D(pegHolder, sdf.Translate3d(v3.Vec{X: (holeX / 2) - holderOffsetX, Y: -holeY/2 + holderOffsetY, Z: z})),
|
||||
sdf.Transform3D(pegHolder, sdf.Translate3d(v3.Vec{X: (-holeX / 2) - (-holderOffsetX), Y: -holeY/2 + holderOffsetY, Z: z})),
|
||||
)
|
||||
|
||||
body = sdf.Union3D(body, pegHolders)
|
||||
return body
|
||||
}
|
||||
|
||||
func usbCCover() sdf.SDF3 {
|
||||
|
||||
usbcWidth := 9.15
|
||||
usbcHeight := 3.42
|
||||
outHoleX, outHoleY := 14.6, 7.2
|
||||
catchX, catchY := 17.0, 9.2
|
||||
z := 3.6
|
||||
|
||||
usbCcutout2D := sdf.Box2D(v2.Vec{X: usbcWidth, Y: usbcHeight}, 0.25)
|
||||
|
||||
usbAplug2D := sdf.Box2D(v2.Vec{X: outHoleX, Y: outHoleY}, 1)
|
||||
usbAplug2D = sdf.Difference2D(usbAplug2D, usbCcutout2D)
|
||||
|
||||
catch2D := sdf.Box2D(v2.Vec{X: catchX, Y: catchY}, 1)
|
||||
catch2D = sdf.Difference2D(catch2D, usbCcutout2D)
|
||||
|
||||
usbAplug := sdf.Extrude3D(usbAplug2D, z)
|
||||
catch := sdf.Extrude3D(catch2D, z/6)
|
||||
|
||||
catch = sdf.Transform3D(catch, sdf.Translate3d(v3.Vec{X: 0, Y: 0, Z: -z / 2}))
|
||||
|
||||
return sdf.Union3D(usbAplug, catch)
|
||||
}
|
||||
|
||||
func usbCMount() sdf.SDF3 {
|
||||
pcbholeSpacing := 0.65 * sdf.MillimetresPerInch
|
||||
//pcbholeDiameter := 0.13 * sdf.MillimetresPerInch
|
||||
standoffSpacing := 21.4
|
||||
standoffToWallFull, standoffToWallHole := 18.0, 13.0
|
||||
m25ScrewHoleDiameter := 2.5
|
||||
baseZ, pegsZ := 3.4, 2.6
|
||||
|
||||
base2D := sdf.Box2D(v2.Vec{X: standoffToWallFull, Y: standoffSpacing + 6.0}, 0)
|
||||
standOffHole2D, _ := sdf.Circle2D(m25ScrewHoleDiameter / 2)
|
||||
standOffHoles2D := sdf.Union2D(
|
||||
sdf.Transform2D(standOffHole2D, sdf.Translate2d(v2.Vec{X: (standoffToWallFull-standoffToWallHole)/2 - (m25ScrewHoleDiameter / 2), Y: standoffSpacing / 2})),
|
||||
sdf.Transform2D(standOffHole2D, sdf.Translate2d(v2.Vec{X: (standoffToWallFull-standoffToWallHole)/2 - (m25ScrewHoleDiameter / 2), Y: -standoffSpacing / 2})),
|
||||
)
|
||||
base2D = sdf.Difference2D(base2D, standOffHoles2D)
|
||||
|
||||
peg2D, _ := sdf.Circle2D(m25ScrewHoleDiameter)
|
||||
pegHoles2D := sdf.Union2D(
|
||||
sdf.Transform2D(standOffHole2D, sdf.Translate2d(v2.Vec{X: 0, Y: pcbholeSpacing / 2})),
|
||||
sdf.Transform2D(standOffHole2D, sdf.Translate2d(v2.Vec{X: 0, Y: -pcbholeSpacing / 2})),
|
||||
)
|
||||
pegs2D := sdf.Union2D(
|
||||
sdf.Transform2D(peg2D, sdf.Translate2d(v2.Vec{X: 0, Y: pcbholeSpacing / 2})),
|
||||
sdf.Transform2D(peg2D, sdf.Translate2d(v2.Vec{X: 0, Y: -pcbholeSpacing / 2})),
|
||||
)
|
||||
pegs2D = sdf.Difference2D(pegs2D, pegHoles2D)
|
||||
|
||||
pegs := sdf.Extrude3D(pegs2D, baseZ)
|
||||
base := sdf.Extrude3D(base2D, pegsZ)
|
||||
|
||||
pegs = sdf.Transform3D(pegs, sdf.Translate3d(v3.Vec{X: -standoffToWallFull/2 - (-m25ScrewHoleDiameter / 4), Y: 0, Z: baseZ/2 + pegsZ/2}))
|
||||
|
||||
return sdf.Union3D(base, pegs)
|
||||
}
|
||||
|
||||
func switchBoardMount() sdf.SDF3 {
|
||||
bodyX, bodyY := 57.0, 26.0
|
||||
holeDiameter := 2.7
|
||||
holeXSpacing, holeYSpacing := 35.3, 18.7
|
||||
chocHole := 13.8
|
||||
z := 3.0
|
||||
LEDMountDiameter, LEDMountWallThickness := 5.9, 1.2
|
||||
LEDLegCutoutX, LEDLegCutoutY := 3.1, 1.0
|
||||
|
||||
// base body for part
|
||||
|
||||
body2D := sdf.Box2D(v2.Vec{X: bodyX, Y: bodyY}, 0)
|
||||
|
||||
mount, _ := sdf.Circle2D(holeDiameter / 2)
|
||||
mounts := sdf.Union2D(
|
||||
sdf.Transform2D(mount, sdf.Translate2d(v2.Vec{X: -holeXSpacing/2 + bodyX/8, Y: -holeYSpacing / 2})),
|
||||
sdf.Transform2D(mount, sdf.Translate2d(v2.Vec{X: holeXSpacing/2 + bodyX/8, Y: holeYSpacing / 2})),
|
||||
)
|
||||
|
||||
choc := sdf.Box2D(v2.Vec{X: chocHole, Y: chocHole}, 0)
|
||||
chocs := sdf.Union2D(
|
||||
sdf.Transform2D(choc, sdf.Translate2d(v2.Vec{X: 15, Y: 0})),
|
||||
sdf.Transform2D(choc, sdf.Translate2d(v2.Vec{X: -15, Y: 0})),
|
||||
choc,
|
||||
)
|
||||
chocs = sdf.Transform2D(chocs, sdf.Translate2d(v2.Vec{X: -chocHole / 4, Y: 0}))
|
||||
|
||||
LedThroughHole2D := sdf.Box2D(v2.Vec{X: LEDLegCutoutX, Y: LEDLegCutoutY}, 0)
|
||||
LedThroughHole2D = sdf.Transform2D(LedThroughHole2D, sdf.Translate2d(v2.Vec{X: bodyX / 2.55, Y: 0}))
|
||||
|
||||
body2D = sdf.Difference2D(body2D, mounts)
|
||||
body2D = sdf.Difference2D(body2D, chocs)
|
||||
body2D = sdf.Difference2D(body2D, LedThroughHole2D)
|
||||
|
||||
// Pegs to provide spacing for choc switches
|
||||
|
||||
peg2D, _ := sdf.Circle2D(holeDiameter / 1.5)
|
||||
pegs2D := sdf.Union2D(
|
||||
sdf.Transform2D(peg2D, sdf.Translate2d(v2.Vec{X: -holeXSpacing/2 + bodyX/8, Y: -holeYSpacing / 2})),
|
||||
sdf.Transform2D(peg2D, sdf.Translate2d(v2.Vec{X: holeXSpacing/2 + bodyX/8, Y: holeYSpacing / 2})),
|
||||
)
|
||||
pegs2D = sdf.Difference2D(pegs2D, mounts)
|
||||
|
||||
pegs := sdf.Extrude3D(pegs2D, z/2)
|
||||
body := sdf.Extrude3D(body2D, z)
|
||||
|
||||
pegs = sdf.Transform3D(pegs, sdf.Translate3d(v3.Vec{X: 0, Y: 0, Z: z - z/4}))
|
||||
body = sdf.Union3D(body, pegs)
|
||||
|
||||
// Mounting for the LED
|
||||
|
||||
LEDInner, _ := sdf.Circle2D(LEDMountDiameter / 2)
|
||||
LEDOutter, _ := sdf.Circle2D((LEDMountDiameter + LEDMountWallThickness) / 2)
|
||||
LED2D := sdf.Difference2D(LEDOutter, LEDInner)
|
||||
|
||||
LED := sdf.Extrude3D(LED2D, z/2)
|
||||
|
||||
LED = sdf.Transform3D(LED, sdf.Translate3d(v3.Vec{X: bodyX / 2.55, Y: 0, Z: z - z/4}))
|
||||
body = sdf.Union3D(body, LED)
|
||||
return body
|
||||
}
|
17
plugs/go.mod
17
plugs/go.mod
|
@ -1,17 +0,0 @@
|
|||
module git.jade.moe/oct2pus/arcade/plugs
|
||||
|
||||
go 1.19
|
||||
|
||||
require github.com/deadsy/sdfx v0.0.0-20221003152700-eb9f43e3cb31
|
||||
|
||||
require (
|
||||
github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b // indirect
|
||||
github.com/dhconnelly/rtreego v1.1.0 // indirect
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
|
||||
github.com/hpinc/go3mf v0.24.1 // indirect
|
||||
github.com/hschendel/stl v1.0.4 // indirect
|
||||
github.com/llgcode/draw2d v0.0.0-20210904075650-80aa0a2a901d // indirect
|
||||
github.com/qmuntal/opc v0.7.10 // indirect
|
||||
github.com/yofu/dxf v0.0.0-20190710012328-5a6d1e83f16c // indirect
|
||||
golang.org/x/image v0.0.0-20220902085622-e7cb96979f69 // indirect
|
||||
)
|
143
plugs/go.sum
143
plugs/go.sum
|
@ -1,143 +0,0 @@
|
|||
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
|
||||
gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8=
|
||||
git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc=
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
|
||||
github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY=
|
||||
github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk=
|
||||
github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
|
||||
github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b h1:slYM766cy2nI3BwyRiyQj/Ud48djTMtMebDqepE95rw=
|
||||
github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM=
|
||||
github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
|
||||
github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
|
||||
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/deadsy/sdfx v0.0.0-20221003152700-eb9f43e3cb31 h1:RlxjuxpH65ldEz8TS4iV+f6rhk/8cOkzewGFwkTyZgU=
|
||||
github.com/deadsy/sdfx v0.0.0-20221003152700-eb9f43e3cb31/go.mod h1:jltBzutSTqZUOfuSyb5xzW0jtHmpaYAprrtyJRSeW+8=
|
||||
github.com/dhconnelly/rtreego v1.1.0 h1:ejMaqN03N1s6Bdg6peGkNgBnYYSBHzcK8yhSPCB+rHE=
|
||||
github.com/dhconnelly/rtreego v1.1.0/go.mod h1:SDozu0Fjy17XH1svEXJgdYq8Tah6Zjfa/4Q33Z80+KM=
|
||||
github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
|
||||
github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
|
||||
github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g=
|
||||
github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks=
|
||||
github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY=
|
||||
github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY=
|
||||
github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY=
|
||||
github.com/go-gl/gl v0.0.0-20180407155706-68e253793080/go.mod h1:482civXOzJJCPzJ4ZOX/pwvXBWSnzD4OKMdH4ClKGbk=
|
||||
github.com/go-gl/glfw v0.0.0-20180426074136-46a8d530c326/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
|
||||
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
|
||||
github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U=
|
||||
github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk=
|
||||
github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M=
|
||||
github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M=
|
||||
github.com/go-test/deep v1.0.7 h1:/VSMRlnY/JSyqxQUzQLKVMAskpY/NZKFA5j2P+0pP2M=
|
||||
github.com/go-test/deep v1.0.7/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8=
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
|
||||
github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
|
||||
github.com/hpinc/go3mf v0.24.1 h1:DPZ0bSlvMuqaCcmzjt5DxryV42zTZ+S+Rfv+dcBE/lA=
|
||||
github.com/hpinc/go3mf v0.24.1/go.mod h1:QtHqY8cmfyaSuT4J+fi6UTIQPzqxBdvlSwWzcLlmeQI=
|
||||
github.com/hschendel/stl v1.0.4 h1:DXT5rkiXMUkbKw4Ndi1OYZ/a5SLR35TzxGj46p5Qyf8=
|
||||
github.com/hschendel/stl v1.0.4/go.mod h1:XQFFLKrq9YTaBpmouDui4JSaxMyAYkpD7elGSSj/y3M=
|
||||
github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
|
||||
github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
|
||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||
github.com/llgcode/draw2d v0.0.0-20210904075650-80aa0a2a901d h1:4/ycg+VrwjGurTqiHv2xM/h6Qm81qSra+KbfT4FH2FA=
|
||||
github.com/llgcode/draw2d v0.0.0-20210904075650-80aa0a2a901d/go.mod h1:mVa0dA29Db2S4LVqDYLlsePDzRJLDfdhVZiI15uY0FA=
|
||||
github.com/llgcode/ps v0.0.0-20150911083025-f1443b32eedb h1:61ndUreYSlWFeCY44JxDDkngVoI7/1MVhEl98Nm0KOk=
|
||||
github.com/llgcode/ps v0.0.0-20150911083025-f1443b32eedb/go.mod h1:1l8ky+Ew27CMX29uG+a2hNOKpeNYEQjjtiALiBlFQbY=
|
||||
github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY=
|
||||
github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
|
||||
github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
|
||||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/qmuntal/opc v0.7.10 h1:zbUhx7/qDcgJCQahz2SHV9HHLBKgtaaFWNxEMmXPKAs=
|
||||
github.com/qmuntal/opc v0.7.10/go.mod h1:jYcgCT/xuTl5oMYeS/nSrfRe9gNrrsAPPeOFE2oRVaQ=
|
||||
github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w=
|
||||
github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk=
|
||||
github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
|
||||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/yofu/dxf v0.0.0-20190710012328-5a6d1e83f16c h1:qgsxLgTXCVH8Dxar36HI5af2ZfinVz5vF8erPpyzM+A=
|
||||
github.com/yofu/dxf v0.0.0-20190710012328-5a6d1e83f16c/go.mod h1:gnT4GQzgKW8+TLI0xheUgdmNV4dsAN0WJUVnztRZkfI=
|
||||
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE=
|
||||
golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
|
||||
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
||||
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
|
||||
golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
|
||||
golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
|
||||
golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
|
||||
golang.org/x/image v0.0.0-20220902085622-e7cb96979f69 h1:Lj6HJGCSn5AjxRAH2+r35Mir4icalbqku+CLUtjnvXY=
|
||||
golang.org/x/image v0.0.0-20220902085622-e7cb96979f69/go.mod h1:doUCurBvlfPMKfmIpRIywoHmhN3VyhnoFDbvIEWF4hY=
|
||||
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
|
||||
golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
|
||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||
golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
|
||||
golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
|
||||
gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0=
|
||||
gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0=
|
||||
gonum.org/v1/gonum v0.12.0/go.mod h1:73TDxJfAAHeA8Mk9mf8NlIppyhQNo5GLTcYeqgo2lvY=
|
||||
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
|
||||
gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
|
||||
gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY=
|
||||
gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las=
|
||||
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
|
|
@ -1,35 +0,0 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"github.com/deadsy/sdfx/obj"
|
||||
"github.com/deadsy/sdfx/render"
|
||||
"github.com/deadsy/sdfx/sdf"
|
||||
v3 "github.com/deadsy/sdfx/vec/v3"
|
||||
)
|
||||
|
||||
func main() {
|
||||
plug24mm := plug(26, 23, 25)
|
||||
render.ToSTL(plug24mm, "24mm_plug.stl", render.NewMarchingCubesUniform(300))
|
||||
render.ToSTL(nut(32, 6, plug24mm), "24mm_nut.stl", render.NewMarchingCubesUniform(300))
|
||||
}
|
||||
|
||||
func plug(capDimeter, plugDiameter, length float64) sdf.SDF3 {
|
||||
thread, _ := sdf.ISOThread(plugDiameter/2, 2, true)
|
||||
plug, _ := sdf.Screw3D(thread, length, 0, 2, 1)
|
||||
|
||||
cRad1, _ := sdf.Circle2D((capDimeter - 4) / 2)
|
||||
cRad2, _ := sdf.Circle2D(capDimeter / 2)
|
||||
|
||||
cap, _ := sdf.Loft3D(cRad1, cRad2, 3.75, 1)
|
||||
cap = sdf.Transform3D(cap, sdf.RotateX(sdf.DtoR(180)))
|
||||
cap = sdf.Transform3D(cap, sdf.Translate3d(v3.Vec{X: 0, Y: 0, Z: -length/2 - (3.75)/2}))
|
||||
return sdf.Union3D(cap, plug)
|
||||
}
|
||||
|
||||
func nut(headDiameter, height float64, plug sdf.SDF3) sdf.SDF3 {
|
||||
nut, _ := obj.HexHead3D(headDiameter/2, height, "tb")
|
||||
nut = sdf.Difference3D(nut, plug)
|
||||
|
||||
nut = sdf.Transform3D(nut, sdf.Scale3d(v3.Vec{X: 1.05, Y: 1.05, Z: 1}))
|
||||
return nut
|
||||
}
|
BIN
plugs/plugs
BIN
plugs/plugs
Binary file not shown.
|
@ -1,13 +0,0 @@
|
|||
module git.jade.moe/oct2pus/arcade/sanwa-caps
|
||||
|
||||
go 1.19
|
||||
|
||||
require (
|
||||
github.com/ajstarks/svgo v0.0.0-20200725142600-7a3c8b57fecb // indirect
|
||||
github.com/deadsy/sdfx v0.0.0-20220508165057-718104295925 // indirect
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
|
||||
github.com/llgcode/draw2d v0.0.0-20200930101115-bfaf5d914d1e // indirect
|
||||
github.com/yofu/dxf v0.0.0-20190710012328-5a6d1e83f16c // indirect
|
||||
golang.org/x/image v0.0.0-20210216034530-4410531fe030 // indirect
|
||||
gonum.org/v1/gonum v0.9.3 // indirect
|
||||
)
|
|
@ -1,83 +0,0 @@
|
|||
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
|
||||
gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8=
|
||||
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
|
||||
github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
|
||||
github.com/ajstarks/svgo v0.0.0-20200725142600-7a3c8b57fecb h1:EVl3FJLQCzSbgBezKo/1A4ADnJ4mtJZ0RvnNzDJ44nY=
|
||||
github.com/ajstarks/svgo v0.0.0-20200725142600-7a3c8b57fecb/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
|
||||
github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/deadsy/sdfx v0.0.0-20220508165057-718104295925 h1:CvjyreOQIm7VeHt2U0mq6iP8J0ZcjiXoxpgzLcYNJwo=
|
||||
github.com/deadsy/sdfx v0.0.0-20220508165057-718104295925/go.mod h1:bjsFZRp7zdb9m29hIDXPN/V5H/AkjJ1AIr5iBuj7FcI=
|
||||
github.com/dhconnelly/rtreego v1.1.0/go.mod h1:SDozu0Fjy17XH1svEXJgdYq8Tah6Zjfa/4Q33Z80+KM=
|
||||
github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
|
||||
github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
|
||||
github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g=
|
||||
github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks=
|
||||
github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY=
|
||||
github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY=
|
||||
github.com/go-gl/gl v0.0.0-20180407155706-68e253793080/go.mod h1:482civXOzJJCPzJ4ZOX/pwvXBWSnzD4OKMdH4ClKGbk=
|
||||
github.com/go-gl/glfw v0.0.0-20180426074136-46a8d530c326/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
|
||||
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
|
||||
github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U=
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
|
||||
github.com/hschendel/stl v1.0.4/go.mod h1:XQFFLKrq9YTaBpmouDui4JSaxMyAYkpD7elGSSj/y3M=
|
||||
github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
|
||||
github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
|
||||
github.com/llgcode/draw2d v0.0.0-20200930101115-bfaf5d914d1e h1:YRRazju3DMGuZTSWEj0nE2SCRcK3DW/qdHQ4UQx7sgs=
|
||||
github.com/llgcode/draw2d v0.0.0-20200930101115-bfaf5d914d1e/go.mod h1:mVa0dA29Db2S4LVqDYLlsePDzRJLDfdhVZiI15uY0FA=
|
||||
github.com/llgcode/ps v0.0.0-20150911083025-f1443b32eedb/go.mod h1:1l8ky+Ew27CMX29uG+a2hNOKpeNYEQjjtiALiBlFQbY=
|
||||
github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY=
|
||||
github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
|
||||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/yofu/dxf v0.0.0-20190710012328-5a6d1e83f16c h1:qgsxLgTXCVH8Dxar36HI5af2ZfinVz5vF8erPpyzM+A=
|
||||
github.com/yofu/dxf v0.0.0-20190710012328-5a6d1e83f16c/go.mod h1:gnT4GQzgKW8+TLI0xheUgdmNV4dsAN0WJUVnztRZkfI=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE=
|
||||
golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
|
||||
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
||||
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.0.0-20210216034530-4410531fe030 h1:lP9pYkih3DUSC641giIXa2XqfTIbbbRr0w2EOTA7wHA=
|
||||
golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
|
||||
golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
|
||||
gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0=
|
||||
gonum.org/v1/gonum v0.9.3 h1:DnoIG+QAMaF5NvxnGe/oKsgKcAc6PcUyl8q0VetfQ8s=
|
||||
gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0=
|
||||
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
|
||||
gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
|
||||
gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
|
|
@ -1,65 +0,0 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"github.com/deadsy/sdfx/render"
|
||||
"github.com/deadsy/sdfx/render/dc"
|
||||
"github.com/deadsy/sdfx/sdf"
|
||||
v2 "github.com/deadsy/sdfx/vec/v2"
|
||||
v3 "github.com/deadsy/sdfx/vec/v3"
|
||||
)
|
||||
|
||||
func main() {
|
||||
round := 1.0
|
||||
topDiameter := 28.0 - round*2
|
||||
innerDiameter := 26.5 - round*2
|
||||
stemInnerX, stemInnerY := 6.05, 1.6 //0.25 tolerance X, 0.1 tolerance Y
|
||||
stemOuterDiameter := 7.6
|
||||
z := 4.2
|
||||
|
||||
// Top
|
||||
|
||||
top2D, err := sdf.Circle2D(topDiameter / 2)
|
||||
if err != nil {
|
||||
log.Fatalf("Error: %v\n", err)
|
||||
}
|
||||
|
||||
// Inside
|
||||
|
||||
inner2D, err := sdf.Circle2D(innerDiameter / 2)
|
||||
if err != nil {
|
||||
log.Fatalf("Error: %v\n", err)
|
||||
}
|
||||
|
||||
inner2D = sdf.Difference2D(top2D, inner2D)
|
||||
|
||||
// Stem
|
||||
|
||||
stem2D, err := sdf.Circle2D(stemOuterDiameter / 2)
|
||||
if err != nil {
|
||||
log.Fatalf("Error: %v\n", err)
|
||||
}
|
||||
|
||||
stemInner2D := sdf.Box2D(v2.Vec{X: stemInnerX, Y: stemInnerY}, 0)
|
||||
|
||||
stem2D = sdf.Difference2D(stem2D, stemInner2D)
|
||||
|
||||
// Assembly
|
||||
|
||||
//buttCap, err := sdf.ExtrudeRounded3D(top2D, z/4, 0.5)
|
||||
buttCap, err := sdf.Loft3D(top2D, inner2D, z, round)
|
||||
if err != nil {
|
||||
log.Fatalf("Error: %v\n", err)
|
||||
}
|
||||
//body := sdf.Extrude3D(inner2D, z)
|
||||
stem := sdf.Extrude3D(stem2D, z)
|
||||
|
||||
buttCap = sdf.Union3D(
|
||||
buttCap,
|
||||
// sdf.Transform3D(body, sdf.Translate3d(v3.Vec{X: 0, Y: 0, Z: z/8 + z/2})),
|
||||
sdf.Transform3D(stem, sdf.Translate3d(v3.Vec{X: 0, Y: 0, Z: z / 2})),
|
||||
)
|
||||
|
||||
render.ToSTL(buttCap, 200, "cap.stl", dc.NewDualContouringDefault())
|
||||
}
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue