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:

  • 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)

Next Post Previous Post