用于组合电路和PCB布局的库
pycircuit的Python项目详细描述
#电路描述库
《Joule'joule'u贼贼贼.py `
《pyrocircuircuircuircuircuircuircuircuircuircuircuircuircuircuircuircuicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicilibimpimpimp*
封装尺寸=(5.9,3.4,5.9,3.4),焊盘尺寸=(0.9,1.35))
>器件('tdk act45b,'tdk act45b','tdk act45b','br/>>器件('tdk act45b','变压器‘1p'1p'1s,'tdk act45b',
('1','l1.1'),映射('2','l2.1'),映射('2','l2.1'),映射('3','l2.2'),映射('2','l2.2.2'),映射('3','2.2','2','1,'4','l1'l我是说,N3=网络('VCC GND N 1 N 1 N 2 N 3 N 1 N 2 N 1 1 N 2 1 1 1 1 N 2 N 3’)
,'npn sot23')['b','c','e']=n2,n3,接地
仪表('LED1','D','LED RED 0805')['A','C']=N3,gnd
```
`build.py`
``python
从pycircuit导入joule_贼
。build import builder
从pycircuit导入编译器
从pycircuit.library.design_rules导入oshpark_layer
从placer导入placer
从路由器导入路由器
从pykicad.pcb导入区
def compile文件输出:
compiler=compiler()
compiler.compile(filein,fileout)
def place(filein,fileout):
placer=placer()
placer.place(filein,fileout)
def route(filein,fileout):
router=router()
route(filein,fileout)
def post-kpcb):
xmin,ymin,xmax,ymax=pcb.boundary()
coords=[(xmin,ymin),(xmin,ymax),(xmax,ymax),(xmax,ymin)]
zone=zone(net_name='gnd',layer='f.cu',
polygon=coords,净空=0.3)
返回kpcb
后处理).build()
````
`makefile`
``` make
pycircuit=../..
build:
python3 build.py
视图:
节点$(pycircuit)/viewer/app.js 3000 net.dot.svg pcb.svg
kicad:
pcbnew*.kicad\u pcb&;/dev/null&;
干净:
rm-f*.net*.hash*.dot*.svg*.place*.route*.pro*.kicad_pcb
。虚假:构建视图kicad干净
````
![查看器](https://user images.githubusercontent.com/741807/34364054-39b1362e-ea82-11e7-94b7-baf712e1aeb.png)
![KICAD](https://user images.githubusercontent.com/741807/34364057-43e7ee62-ea82-11e7-9787-84fefaecbc49.png)
如果上述
版权声明和本许可声明出现在所有副本中。
本软件按“原样”提供,并且作者否认对本软件的所有
保证,包括对适销性
和适用性的所有暗示保证。在任何情况下,作者均不对任何特殊的、直接的、间接的或后果性的损害,或因使用或执行本软件而导致的或与之相关的使用、数据或利润的损失,无论是在合同诉讼、疏忽或其他侵权诉讼中。
《Joule'joule'u贼贼贼.py `
《pyrocircuircuircuircuircuircuircuircuircuircuircuircuircuircuircuircuicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicilibimpimpimp*
封装尺寸=(5.9,3.4,5.9,3.4),焊盘尺寸=(0.9,1.35))
>器件('tdk act45b,'tdk act45b','tdk act45b','br/>>器件('tdk act45b','变压器‘1p'1p'1s,'tdk act45b',
('1','l1.1'),映射('2','l2.1'),映射('2','l2.1'),映射('3','l2.2'),映射('2','l2.2.2'),映射('3','2.2','2','1,'4','l1'l我是说,N3=网络('VCC GND N 1 N 1 N 2 N 3 N 1 N 2 N 1 1 N 2 1 1 1 1 N 2 N 3’)
,'npn sot23')['b','c','e']=n2,n3,接地
仪表('LED1','D','LED RED 0805')['A','C']=N3,gnd
```
`build.py`
``python
从pycircuit导入joule_贼
。build import builder
从pycircuit导入编译器
从pycircuit.library.design_rules导入oshpark_layer
从placer导入placer
从路由器导入路由器
从pykicad.pcb导入区
def compile文件输出:
compiler=compiler()
compiler.compile(filein,fileout)
def place(filein,fileout):
placer=placer()
placer.place(filein,fileout)
def route(filein,fileout):
router=router()
route(filein,fileout)
def post-kpcb):
xmin,ymin,xmax,ymax=pcb.boundary()
coords=[(xmin,ymin),(xmin,ymax),(xmax,ymax),(xmax,ymin)]
zone=zone(net_name='gnd',layer='f.cu',
polygon=coords,净空=0.3)
后处理).build()
````
`makefile`
``` make
pycircuit=../..
build:
python3 build.py
视图:
节点$(pycircuit)/viewer/app.js 3000 net.dot.svg pcb.svg
kicad:
pcbnew*.kicad\u pcb&;/dev/null&;
干净:
rm-f*.net*.hash*.dot*.svg*.place*.route*.pro*.kicad_pcb
。虚假:构建视图kicad干净
````
![查看器](https://user images.githubusercontent.com/741807/34364054-39b1362e-ea82-11e7-94b7-baf712e1aeb.png)
![KICAD](https://user images.githubusercontent.com/741807/34364057-43e7ee62-ea82-11e7-9787-84fefaecbc49.png)
如果上述
版权声明和本许可声明出现在所有副本中。
本软件按“原样”提供,并且作者否认对本软件的所有
保证,包括对适销性
和适用性的所有暗示保证。在任何情况下,作者均不对任何特殊的、直接的、间接的或后果性的损害,或因使用或执行本软件而导致的或与之相关的使用、数据或利润的损失,无论是在合同诉讼、疏忽或其他侵权诉讼中。