A python library dsnwritier was created to help users to do electrical design from python script. It contains simple functions to call to import drawing files (dxf/svg
), to load footprint based on kicad_mod
file, and to define netlist easily.
-
Package Dependencies:
- pykicad
- numpy
-
Class tree:
|--dsnwritter.py (top and second level structure)
|--dsn_module.py
|--module class
|--load module functions
|--dsn_rule.py
|--dsn_geo.py
|--boundary class
|--keepout class
|--load drawing functions
|--dsn_net.py
|--net class
|--netclass class
|--load netlist functions
-
Submodule
dsn_geo
contains a function to load drawings and define layers -
Class Footprint now can call function
from_file(path,ref)
to load footprint from a.kicad_mod
file -
Class Padstack now can call function 'auto_detact(path)` to guess information of pads and save as padstack class
- Via information needs to be defined by users. (default=None)
-
Placement class can be defined after the footprint is loaded and able to define the position of each component by calling
ref
of the module. -
Netclass is easy to write from scripting.
-
Test auto-routing on generated
dsn
-
Test on wire width change
Use dsnwriter in Roco
Mechanical drawings (dxf/svg)------------|
|
Module Footprints -----------------------|
|----> board design (dsn)
Electrical schematic design (netlist)----|
|
Board design details(rules,parameters)---|
----> board design (dsn)----> Auto-router (FreeRouting)----> routed board design (dsn)
----> wiring section ----> drawings with mechanical and electrical design (dxf/svg)