Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
pub
libraries
Commits
5c371cd0
Commit
5c371cd0
authored
Oct 08, 2018
by
Neil Gershenfeld
Browse files
wip
parent
22d310f7
Pipeline
#2606
passed with stage
in 1 second
Changes
4
Pipelines
1
Expand all
Hide whitespace changes
Inline
Side-by-side
eagle_png.py
→
eagle/
eagle_png.py
View file @
5c371cd0
File moved
index.html
View file @
5c371cd0
...
...
@@ -19,16 +19,20 @@ This repository holds libraries of components commonly used in fab classes and l
<div
style=
"margin-left:5%;margin-right:5%;"
>
<b><a
href=
https://
www.autodesk.com/products
/eagle
>
Eagle
</a>
:
</b>
<a
href=
"eagle/fab.lbr"
>
fab.lbr
</a>
<b><a
href=
https://
gitlab.cba.mit.edu/pub/libraries/tree/master
/eagle
>
Eagle
</a></b>
<p>
<b><a
href=
http://
kicad-pcb.org
>
KiCad
</a>
:
</b>
<a
href=
"kicad/fab.mod"
>
fab.mod
</a>
<a
href=
"kicad/fab.lib"
>
fab.lib
</a
>
<b><a
href=
http
s
://
gitlab.cba.mit.edu/pub/libraries/tree/master/kicad
>
KiCad
</a></b
>
<p>
<b><a
href=
http://
kokompe
.cba.mit.edu
>
Kokompe
</a>
:
</b>
<a
href=
kokompe/pcb.cad
>
pcb.cad
</
a
>
<b><a
href=
http
s
://
gitlab
.cba.mit.edu
/pub/libraries/tree/master/kokompe
>
Kokompe
</a>
</
b
>
<p>
<b><a
href=
https://www.mattkeeter.com/projects/kokopelli
>
Kokopelli
</a>
:
</b>
<a
href=
kokopelli/pcb.py
>
pcb.py
</a>
<b><a
href=
https://gitlab.cba.mit.edu/pub/libraries/tree/master/kokopelli
>
Kokopelli
</a></b>
<p>
<b><a
href=
>
Python</a
></b>
python/frep.py
0 → 100755
View file @
5c371cd0
#!/usr/bin/env python
#
# frep.py
# functional representation evaluation
#
# usage
# pcb.py | frep.py [dpi [filename]]
#
# Neil Gershenfeld 10/8/18
# (c) Massachusetts Institute of Technology 2018
#
# This work may be reproduced, modified, distributed,
# performed, and displayed for any purpose, but must
# acknowledge this project. Copyright is retained and
# must be preserved. The work is provided as is; no
# warranty is provided, and users accept all liability.
#
#
# import
#
import
json
,
sys
from
numpy
import
*
from
PIL
import
Image
#
# read input
#
frep
=
json
.
load
(
sys
.
stdin
)
#
# check arguments
#
if
(
frep
[
'zmin'
]
!=
frep
[
'zmax'
]):
print
(
'> 2D not (yet) supported'
)
sys
.
exit
()
if
(
frep
[
'type'
]
!=
'RGB'
):
print
(
'types other than RGB not (yet) supported'
)
sys
.
exit
()
if
(
len
(
sys
.
argv
)
==
1
):
print
(
'output to out.png at 100 DPI'
)
filename
=
'out.png'
dpi
=
100
elif
(
len
(
sys
.
argv
)
==
2
):
dpi
=
sys
.
argv
[
1
]
filename
=
'out.png'
print
(
'output to out.png at '
+
dpi
+
'DPI'
)
dpi
=
int
(
dpi
)
elif
(
len
(
sys
.
argv
)
==
3
):
dpi
=
sys
.
argv
[
1
]
filename
=
sys
.
argv
[
2
]
print
(
'output to '
+
filename
+
' at '
+
dpi
+
' DPI'
)
dpi
=
int
(
dpi
)
#
# evaluate
#
print
(
'evaluating ...'
)
xmin
=
frep
[
'xmin'
]
xmax
=
frep
[
'xmax'
]
ymin
=
frep
[
'ymin'
]
ymax
=
frep
[
'ymax'
]
units
=
float
(
frep
[
'mm_per_unit'
])
delta
=
(
25.4
/
dpi
)
/
units
x
=
arange
(
xmin
,
xmax
,
delta
)
y
=
flip
(
arange
(
ymin
,
ymax
,
delta
),
0
)
X
=
outer
(
ones
(
y
.
size
),
x
)
Y
=
outer
(
y
,
ones
(
x
.
size
))
Z
=
frep
[
'zmin'
]
f
=
eval
(
frep
[
'function'
])
#
# construct image
#
m
=
zeros
((
y
.
size
,
x
.
size
,
3
),
dtype
=
uint8
)
m
[:,:,
0
]
=
(
f
&
255
)
m
[:,:,
1
]
=
((
f
>>
8
)
&
255
)
m
[:,:,
2
]
=
((
f
>>
16
)
&
255
)
im
=
Image
.
fromarray
(
m
,
'RGB'
)
im
.
save
(
filename
,
dpi
=
[
dpi
,
dpi
])
python/pcb.py
0 → 100755
View file @
5c371cd0
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment