you can create a custom template where those layers are turned off
I have actually. I use the “import settings from another board” option for every new project that I start
I think what Mineotopia is suggesting is that you make a template project where those layers are already turned off, so you don’t have to import settings from another board every time.
Omg I completely forgot. I have once let chatGpt reverse engineer me a python script on my PC which I can call from anywere (global executable) which makes me a brand new Kicad project. I think I can redo this process after adding the the board as well as schematic settings. Than I can start me a project with all the things that I want.
I can even add the bus aliasses I hope. Safes the the hassle from making me the same I2C bus over and over again
#!/usr/bin/env python
import os
def create_kicad_pro(project_name):
return f"""{{
"board": {{
"design_settings": {{
"defaults": {{}},
"diff_pair_dimensions": [],
"drc_exclusions": [],
"rules": {{}},
"track_widths": [],
"via_dimensions": []
}}
}},
"boards": [],
"libraries": {{
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
}},
"meta": {{
"filename": "{project_name}.kicad_pro",
"version": 1
}},
"net_settings": {{
"classes": [],
"meta": {{
"version": 0
}}
}},
"pcbnew": {{
"page_layout_descr_file": ""
}},
"sheets": [],
"text_variables": {{}}
}}"""
def create_kicad_sch():
return """(kicad_sch (version 20231120) (generator "eeschema") (generator_version "8.0")
(paper "A4")
(lib_symbols)
(symbol_instances)
)"""
def create_kicad_pcb():
return """(kicad_pcb (version 20240108) (generator "pcbnew") (generator_version "8.0")
)"""
def create_kicad_project(project_name):
print(f"Creating project folder: {project_name}")
os.makedirs(project_name, exist_ok=True)
# File paths
pro_file_path = os.path.join(project_name, f"{project_name}.kicad_pro")
sch_file_path = os.path.join(project_name, f"{project_name}.kicad_sch")
pcb_file_path = os.path.join(project_name, f"{project_name}.kicad_pcb")
print("Writing .kicad_pro file")
with open(pro_file_path, 'w') as pro_file:
pro_file.write(create_kicad_pro(project_name))
print("Writing .kicad_sch file")
with open(sch_file_path, 'w') as sch_file:
sch_file.write(create_kicad_sch())
print("Writing .kicad_pcb file")
with open(pcb_file_path, 'w') as pcb_file:
pcb_file.write(create_kicad_pcb())
print(f"KiCad project '{project_name}' created successfully.")
#if __name__ == "__main__":
project_name = input("Enter the project name: ")
print("name entered!")
create_kicad_project(project_name)
I’d love to see bus routing, routing auto complete, and support for circular coordinate routing.
“Routing auto complete”… Is that similar to the f hotkey, which finishes a track when pressed during routing to the nearest pad?
Find similar objects - yes please