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_geocontains a function to load drawings and define layers
- 
 
- 
 
- 
Class Footprint now can call function from_file(path,ref)to load footprint from a.kicad_modfile
- 
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 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)