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.
- 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
dsn_geocontains a function to load drawings and define layers
- Class Footprint now can call function
from_file(path,ref)to load footprint from a
- 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
refof the module.
- Netclass is easy to write from scripting.
Test auto-routing on generated
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)