Initial commit
This commit is contained in:
312
kibot/colors/Altium_Theme.json
Normal file
312
kibot/colors/Altium_Theme.json
Normal file
@@ -0,0 +1,312 @@
|
||||
{
|
||||
"3d_viewer": {
|
||||
"background_bottom": "rgb(102, 102, 128)",
|
||||
"background_top": "rgb(204, 204, 230)",
|
||||
"board": "rgba(51, 43, 23, 0.902)",
|
||||
"copper": "rgb(179, 156, 0)",
|
||||
"silkscreen_bottom": "rgb(230, 230, 230)",
|
||||
"silkscreen_top": "rgb(230, 230, 230)",
|
||||
"soldermask_bottom": "rgba(20, 51, 36, 0.831)",
|
||||
"soldermask_top": "rgba(20, 51, 36, 0.831)",
|
||||
"solderpaste": "rgb(128, 128, 128)",
|
||||
"use_board_stackup_colors": true,
|
||||
"user_1": "rgb(194, 194, 194)",
|
||||
"user_10": "rgb(89, 148, 220)",
|
||||
"user_11": "rgb(180, 219, 210)",
|
||||
"user_12": "rgb(216, 200, 82)",
|
||||
"user_13": "rgb(194, 194, 194)",
|
||||
"user_14": "rgb(89, 148, 220)",
|
||||
"user_15": "rgb(180, 219, 210)",
|
||||
"user_16": "rgb(216, 200, 82)",
|
||||
"user_17": "rgb(194, 194, 194)",
|
||||
"user_18": "rgb(89, 148, 220)",
|
||||
"user_19": "rgb(180, 219, 210)",
|
||||
"user_2": "rgb(89, 148, 220)",
|
||||
"user_20": "rgb(216, 200, 82)",
|
||||
"user_21": "rgb(194, 194, 194)",
|
||||
"user_22": "rgb(89, 148, 220)",
|
||||
"user_23": "rgb(180, 219, 210)",
|
||||
"user_24": "rgb(216, 200, 82)",
|
||||
"user_25": "rgb(194, 194, 194)",
|
||||
"user_26": "rgb(89, 148, 220)",
|
||||
"user_27": "rgb(180, 219, 210)",
|
||||
"user_28": "rgb(216, 200, 82)",
|
||||
"user_29": "rgb(194, 194, 194)",
|
||||
"user_3": "rgb(180, 219, 210)",
|
||||
"user_30": "rgb(89, 148, 220)",
|
||||
"user_31": "rgb(180, 219, 210)",
|
||||
"user_32": "rgb(216, 200, 82)",
|
||||
"user_33": "rgb(194, 194, 194)",
|
||||
"user_34": "rgb(89, 148, 220)",
|
||||
"user_35": "rgb(180, 219, 210)",
|
||||
"user_36": "rgb(216, 200, 82)",
|
||||
"user_37": "rgb(194, 194, 194)",
|
||||
"user_38": "rgb(89, 148, 220)",
|
||||
"user_39": "rgb(180, 219, 210)",
|
||||
"user_4": "rgb(216, 200, 82)",
|
||||
"user_40": "rgb(216, 200, 82)",
|
||||
"user_41": "rgb(194, 194, 194)",
|
||||
"user_42": "rgb(89, 148, 220)",
|
||||
"user_43": "rgb(180, 219, 210)",
|
||||
"user_44": "rgb(216, 200, 82)",
|
||||
"user_45": "rgb(194, 194, 194)",
|
||||
"user_5": "rgb(194, 194, 194)",
|
||||
"user_6": "rgb(89, 148, 220)",
|
||||
"user_7": "rgb(180, 219, 210)",
|
||||
"user_8": "rgb(216, 200, 82)",
|
||||
"user_9": "rgb(232, 178, 167)"
|
||||
},
|
||||
"board": {
|
||||
"anchor": "rgb(255, 38, 226)",
|
||||
"aux_items": "rgb(255, 255, 255)",
|
||||
"b_adhes": "rgb(0, 0, 132)",
|
||||
"b_crtyd": "rgb(38, 233, 255)",
|
||||
"b_fab": "rgb(88, 93, 132)",
|
||||
"b_mask": "rgba(2, 255, 238, 0.400)",
|
||||
"b_paste": "rgba(0, 194, 194, 0.902)",
|
||||
"b_silks": "rgb(232, 178, 167)",
|
||||
"background": "rgb(0, 16, 35)",
|
||||
"cmts_user": "rgb(89, 148, 220)",
|
||||
"conflicts_shadow": "rgba(255, 0, 5, 0.502)",
|
||||
"copper": {
|
||||
"b": "rgb(77, 127, 196)",
|
||||
"f": "rgb(200, 52, 52)",
|
||||
"in1": "rgb(127, 200, 127)",
|
||||
"in10": "rgb(237, 124, 51)",
|
||||
"in11": "rgb(91, 195, 235)",
|
||||
"in12": "rgb(247, 111, 142)",
|
||||
"in13": "rgb(167, 165, 198)",
|
||||
"in14": "rgb(40, 204, 217)",
|
||||
"in15": "rgb(232, 178, 167)",
|
||||
"in16": "rgb(242, 237, 161)",
|
||||
"in17": "rgb(237, 124, 51)",
|
||||
"in18": "rgb(91, 195, 235)",
|
||||
"in19": "rgb(247, 111, 142)",
|
||||
"in2": "rgb(206, 125, 44)",
|
||||
"in20": "rgb(167, 165, 198)",
|
||||
"in21": "rgb(40, 204, 217)",
|
||||
"in22": "rgb(232, 178, 167)",
|
||||
"in23": "rgb(242, 237, 161)",
|
||||
"in24": "rgb(237, 124, 51)",
|
||||
"in25": "rgb(91, 195, 235)",
|
||||
"in26": "rgb(247, 111, 142)",
|
||||
"in27": "rgb(167, 165, 198)",
|
||||
"in28": "rgb(40, 204, 217)",
|
||||
"in29": "rgb(232, 178, 167)",
|
||||
"in3": "rgb(79, 203, 203)",
|
||||
"in30": "rgb(242, 237, 161)",
|
||||
"in4": "rgb(219, 98, 139)",
|
||||
"in5": "rgb(167, 165, 198)",
|
||||
"in6": "rgb(40, 204, 217)",
|
||||
"in7": "rgb(232, 178, 167)",
|
||||
"in8": "rgb(242, 237, 161)",
|
||||
"in9": "rgb(141, 203, 129)"
|
||||
},
|
||||
"cursor": "rgb(255, 255, 255)",
|
||||
"drc_error": "rgba(215, 91, 107, 0.800)",
|
||||
"drc_exclusion": "rgba(255, 255, 255, 0.800)",
|
||||
"drc_warning": "rgba(255, 208, 66, 0.800)",
|
||||
"dwgs_user": "rgb(194, 194, 194)",
|
||||
"eco1_user": "rgb(180, 219, 210)",
|
||||
"eco2_user": "rgb(216, 200, 82)",
|
||||
"edge_cuts": "rgb(208, 210, 205)",
|
||||
"f_adhes": "rgb(132, 0, 132)",
|
||||
"f_crtyd": "rgb(255, 38, 226)",
|
||||
"f_fab": "rgb(175, 175, 175)",
|
||||
"f_mask": "rgba(216, 100, 255, 0.400)",
|
||||
"f_paste": "rgba(180, 160, 154, 0.902)",
|
||||
"f_silks": "rgb(242, 237, 161)",
|
||||
"footprint_text_invisible": "rgb(132, 132, 132)",
|
||||
"grid": "rgb(132, 132, 132)",
|
||||
"grid_axes": "rgb(194, 194, 194)",
|
||||
"locked_shadow": "rgba(255, 38, 226, 0.502)",
|
||||
"margin": "rgb(255, 38, 226)",
|
||||
"pad_net_names": "rgba(255, 255, 255, 0.902)",
|
||||
"pad_plated_hole": "rgb(194, 194, 0)",
|
||||
"pad_through_hole": "rgb(227, 183, 46)",
|
||||
"page_limits": "rgb(132, 132, 132)",
|
||||
"plated_hole": "rgb(26, 196, 210)",
|
||||
"ratsnest": "rgba(0, 248, 255, 0.349)",
|
||||
"track_net_names": "rgba(255, 255, 255, 0.702)",
|
||||
"user_1": "rgb(194, 194, 194)",
|
||||
"user_10": "rgb(89, 148, 220)",
|
||||
"user_11": "rgb(180, 219, 210)",
|
||||
"user_12": "rgb(216, 200, 82)",
|
||||
"user_13": "rgb(194, 194, 194)",
|
||||
"user_14": "rgb(89, 148, 220)",
|
||||
"user_15": "rgb(180, 219, 210)",
|
||||
"user_16": "rgb(216, 200, 82)",
|
||||
"user_17": "rgb(194, 194, 194)",
|
||||
"user_18": "rgb(89, 148, 220)",
|
||||
"user_19": "rgb(180, 219, 210)",
|
||||
"user_2": "rgb(89, 148, 220)",
|
||||
"user_20": "rgb(216, 200, 82)",
|
||||
"user_21": "rgb(194, 194, 194)",
|
||||
"user_22": "rgb(89, 148, 220)",
|
||||
"user_23": "rgb(180, 219, 210)",
|
||||
"user_24": "rgb(216, 200, 82)",
|
||||
"user_25": "rgb(194, 194, 194)",
|
||||
"user_26": "rgb(89, 148, 220)",
|
||||
"user_27": "rgb(180, 219, 210)",
|
||||
"user_28": "rgb(216, 200, 82)",
|
||||
"user_29": "rgb(194, 194, 194)",
|
||||
"user_3": "rgb(180, 219, 210)",
|
||||
"user_30": "rgb(89, 148, 220)",
|
||||
"user_31": "rgb(180, 219, 210)",
|
||||
"user_32": "rgb(216, 200, 82)",
|
||||
"user_33": "rgb(194, 194, 194)",
|
||||
"user_34": "rgb(89, 148, 220)",
|
||||
"user_35": "rgb(180, 219, 210)",
|
||||
"user_36": "rgb(216, 200, 82)",
|
||||
"user_37": "rgb(194, 194, 194)",
|
||||
"user_38": "rgb(89, 148, 220)",
|
||||
"user_39": "rgb(180, 219, 210)",
|
||||
"user_4": "rgb(216, 200, 82)",
|
||||
"user_40": "rgb(216, 200, 82)",
|
||||
"user_41": "rgb(194, 194, 194)",
|
||||
"user_42": "rgb(89, 148, 220)",
|
||||
"user_43": "rgb(180, 219, 210)",
|
||||
"user_44": "rgb(216, 200, 82)",
|
||||
"user_45": "rgb(194, 194, 194)",
|
||||
"user_5": "rgb(194, 194, 194)",
|
||||
"user_6": "rgb(89, 148, 220)",
|
||||
"user_7": "rgb(180, 219, 210)",
|
||||
"user_8": "rgb(216, 200, 82)",
|
||||
"user_9": "rgb(232, 178, 167)",
|
||||
"via_blind_buried": "rgb(187, 151, 38)",
|
||||
"via_hole": "rgb(227, 183, 46)",
|
||||
"via_hole_walls": "rgb(236, 236, 236)",
|
||||
"via_micro": "rgb(0, 132, 132)",
|
||||
"via_net_names": "rgba(50, 50, 50, 0.902)",
|
||||
"via_through": "rgb(236, 236, 236)",
|
||||
"worksheet": "rgb(200, 114, 171)"
|
||||
},
|
||||
"gerbview": {
|
||||
"axes": "rgb(0, 0, 132)",
|
||||
"background": "rgb(0, 0, 0)",
|
||||
"dcodes": "rgb(255, 255, 255)",
|
||||
"grid": "rgb(132, 132, 132)",
|
||||
"layers": [
|
||||
"rgb(200, 52, 52)",
|
||||
"rgb(127, 200, 127)",
|
||||
"rgb(206, 125, 44)",
|
||||
"rgb(79, 203, 203)",
|
||||
"rgb(219, 98, 139)",
|
||||
"rgb(167, 165, 198)",
|
||||
"rgb(40, 204, 217)",
|
||||
"rgb(232, 178, 167)",
|
||||
"rgb(242, 237, 161)",
|
||||
"rgb(141, 203, 129)",
|
||||
"rgb(237, 124, 51)",
|
||||
"rgb(91, 195, 235)",
|
||||
"rgb(247, 111, 142)",
|
||||
"rgb(77, 127, 196)",
|
||||
"rgb(200, 52, 52)",
|
||||
"rgb(127, 200, 127)",
|
||||
"rgb(206, 125, 44)",
|
||||
"rgb(79, 203, 203)",
|
||||
"rgb(219, 98, 139)",
|
||||
"rgb(167, 165, 198)",
|
||||
"rgb(40, 204, 217)",
|
||||
"rgb(232, 178, 167)",
|
||||
"rgb(242, 237, 161)",
|
||||
"rgb(141, 203, 129)",
|
||||
"rgb(237, 124, 51)",
|
||||
"rgb(91, 195, 235)",
|
||||
"rgb(247, 111, 142)",
|
||||
"rgb(77, 127, 196)",
|
||||
"rgb(200, 52, 52)",
|
||||
"rgb(127, 200, 127)",
|
||||
"rgb(206, 125, 44)",
|
||||
"rgb(79, 203, 203)",
|
||||
"rgb(219, 98, 139)",
|
||||
"rgb(167, 165, 198)",
|
||||
"rgb(40, 204, 217)",
|
||||
"rgb(232, 178, 167)",
|
||||
"rgb(242, 237, 161)",
|
||||
"rgb(141, 203, 129)",
|
||||
"rgb(237, 124, 51)",
|
||||
"rgb(91, 195, 235)",
|
||||
"rgb(247, 111, 142)",
|
||||
"rgb(77, 127, 196)",
|
||||
"rgb(200, 52, 52)",
|
||||
"rgb(127, 200, 127)",
|
||||
"rgb(206, 125, 44)",
|
||||
"rgb(79, 203, 203)",
|
||||
"rgb(219, 98, 139)",
|
||||
"rgb(167, 165, 198)",
|
||||
"rgb(40, 204, 217)",
|
||||
"rgb(232, 178, 167)",
|
||||
"rgb(242, 237, 161)",
|
||||
"rgb(141, 203, 129)",
|
||||
"rgb(237, 124, 51)",
|
||||
"rgb(91, 195, 235)",
|
||||
"rgb(247, 111, 142)",
|
||||
"rgb(77, 127, 196)",
|
||||
"rgb(200, 52, 52)",
|
||||
"rgb(127, 200, 127)",
|
||||
"rgb(206, 125, 44)",
|
||||
"rgb(79, 203, 203)",
|
||||
"rgb(219, 98, 139)",
|
||||
"rgb(167, 165, 198)",
|
||||
"rgb(40, 204, 217)",
|
||||
"rgb(232, 178, 167)"
|
||||
],
|
||||
"negative_objects": "rgb(132, 132, 132)",
|
||||
"page_limits": "rgb(132, 132, 132)",
|
||||
"worksheet": "rgb(0, 0, 132)"
|
||||
},
|
||||
"meta": {
|
||||
"name": "Altium_Theme",
|
||||
"version": 5
|
||||
},
|
||||
"schematic": {
|
||||
"anchor": "rgb(0, 0, 255)",
|
||||
"aux_items": "rgb(0, 0, 0)",
|
||||
"background": "rgb(245, 244, 239)",
|
||||
"brightened": "rgb(255, 0, 255)",
|
||||
"bus": "rgb(0, 0, 132)",
|
||||
"bus_junction": "rgb(0, 0, 132)",
|
||||
"component_body": "rgb(255, 255, 194)",
|
||||
"component_outline": "rgb(132, 0, 0)",
|
||||
"cursor": "rgb(15, 15, 15)",
|
||||
"dnp_marker": "rgba(220, 9, 13, 0.851)",
|
||||
"erc_error": "rgba(230, 9, 13, 0.800)",
|
||||
"erc_exclusion": "rgba(94, 194, 194, 0.800)",
|
||||
"erc_warning": "rgba(209, 146, 0, 0.800)",
|
||||
"excluded_from_sim": "rgba(194, 194, 194, 0.949)",
|
||||
"fields": "rgb(132, 0, 132)",
|
||||
"grid": "rgb(181, 181, 181)",
|
||||
"grid_axes": "rgb(0, 0, 132)",
|
||||
"hidden": "rgb(94, 194, 194)",
|
||||
"hovered": "rgb(0, 0, 255)",
|
||||
"junction": "rgb(0, 0, 0)",
|
||||
"label_global": "rgb(132, 0, 0)",
|
||||
"label_hier": "rgb(114, 86, 0)",
|
||||
"label_local": "rgb(132, 0, 0)",
|
||||
"netclass_flag": "rgb(72, 72, 72)",
|
||||
"no_connect": "rgb(0, 0, 132)",
|
||||
"note": "rgb(0, 0, 194)",
|
||||
"note_background": "rgba(0, 0, 0, 0.000)",
|
||||
"op_currents": "rgb(224, 0, 12)",
|
||||
"op_voltages": "rgb(132, 0, 50)",
|
||||
"override_item_colors": false,
|
||||
"page_limits": "rgb(181, 181, 181)",
|
||||
"pin": "rgb(0, 0, 0)",
|
||||
"pin_name": "rgb(0, 0, 0)",
|
||||
"pin_number": "rgb(0, 0, 0)",
|
||||
"private_note": "rgb(72, 72, 255)",
|
||||
"reference": "rgb(0, 0, 194)",
|
||||
"rule_area": "rgb(255, 0, 0)",
|
||||
"shadow": "rgba(102, 179, 255, 0.800)",
|
||||
"sheet": "rgb(0, 0, 0)",
|
||||
"sheet_background": "rgba(255, 255, 255, 0.000)",
|
||||
"sheet_fields": "rgb(132, 0, 132)",
|
||||
"sheet_filename": "rgb(0, 0, 132)",
|
||||
"sheet_label": "rgb(0, 0, 0)",
|
||||
"sheet_name": "rgb(0, 0, 132)",
|
||||
"value": "rgb(0, 0, 194)",
|
||||
"wire": "rgb(0, 0, 0)",
|
||||
"worksheet": "rgb(0, 0, 0)"
|
||||
}
|
||||
}
|
||||
BIN
kibot/fonts/Arial Bold.ttf
Normal file
BIN
kibot/fonts/Arial Bold.ttf
Normal file
Binary file not shown.
BIN
kibot/fonts/Arial Narrow Bold.ttf
Normal file
BIN
kibot/fonts/Arial Narrow Bold.ttf
Normal file
Binary file not shown.
BIN
kibot/fonts/Arial Narrow.ttf
Normal file
BIN
kibot/fonts/Arial Narrow.ttf
Normal file
Binary file not shown.
BIN
kibot/fonts/Arial.ttf
Normal file
BIN
kibot/fonts/Arial.ttf
Normal file
Binary file not shown.
BIN
kibot/fonts/Inconsolata.ttf
Normal file
BIN
kibot/fonts/Inconsolata.ttf
Normal file
Binary file not shown.
27
kibot/scripts/bootstrap.sh
Normal file
27
kibot/scripts/bootstrap.sh
Normal file
@@ -0,0 +1,27 @@
|
||||
#!/bin/sh
|
||||
# ============================================================================
|
||||
# KiBot Template Bootstrapping Script
|
||||
# ============================================================================
|
||||
|
||||
# Create the Development Branch
|
||||
git checkout -b dev
|
||||
echo "Created Development Branch"
|
||||
|
||||
# Add the Asymworks KiCad Library
|
||||
git remote add -f asymworks-kicad-lib https://git.asymworks.com/asymworks/kicad-library
|
||||
git subtree add --prefix lib/asymworks asymworks-kicad-lib main --squash -m "[bootstrap] Add subtree 'Asymworks/KiCad-Library' at 'lib/asymworks'"
|
||||
echo "Added Asymworks KiCad Library"
|
||||
|
||||
# Rename the KiCad Project based on the directory name
|
||||
PROJ_NAME=$(basename "$PWD")
|
||||
git mv Asymworks_Template.kicad_pro "${PROJ_NAME}.kicad_pro"
|
||||
git mv Asymworks_Template.kicad_sch "${PROJ_NAME}.kicad_sch"
|
||||
git mv Asymworks_Template.kicad_pcb "${PROJ_NAME}.kicad_pcb"
|
||||
git commit -a -m 'Rename Project'
|
||||
echo "Renamed project to \"${PROJ_NAME}.kicad_pro\""
|
||||
|
||||
# Push the Develpment Branch to Gitea
|
||||
git push -u origin dev
|
||||
|
||||
# Bootstrap Complete
|
||||
echo "Bootstrap complete. Please run 'git pull' after the CI action finishes.'"
|
||||
49
kibot/scripts/get_sheet_title.py
Normal file
49
kibot/scripts/get_sheet_title.py
Normal file
@@ -0,0 +1,49 @@
|
||||
import argparse
|
||||
import xml.etree.ElementTree as ET
|
||||
import sys
|
||||
|
||||
def get_sheet_title(file_path, page_number, dots_number):
|
||||
try:
|
||||
tree = ET.parse(file_path)
|
||||
root = tree.getroot()
|
||||
|
||||
page_number = str(page_number)
|
||||
titles = []
|
||||
|
||||
for sheet in root.findall(".//sheet"):
|
||||
number = sheet.get("number")
|
||||
if number == page_number:
|
||||
# Get the last part of the 'name' attribute after '/'
|
||||
name = sheet.get("name")
|
||||
title_block = sheet.find("title_block")
|
||||
title = title_block.find("title").text if title_block is not None else None
|
||||
if name:
|
||||
titles.append(name.split("/")[-2 if name.endswith("/") else -1])
|
||||
|
||||
if not titles:
|
||||
print('.'*dots_number)
|
||||
|
||||
elif len(set(titles)) > 1:
|
||||
print("Conflicting page numbers")
|
||||
else:
|
||||
print(titles[0])
|
||||
except ET.ParseError:
|
||||
print("Error: Invalid XML format")
|
||||
except FileNotFoundError:
|
||||
print("Error: XML File not found")
|
||||
except Exception as e:
|
||||
print(f"Error: {e}")
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description="Get the sheet title based on page number from a KiCad XML file")
|
||||
parser.add_argument("-p", "--page-number", type=int, required=True, help="Page number to search")
|
||||
parser.add_argument("-f", "--file", type=str, required=True, help="Path to the schematic XML file")
|
||||
parser.add_argument("-d", "--dots-number", type=int, required=True, help="Number of dots for empty lines")
|
||||
|
||||
args = parser.parse_args()
|
||||
get_sheet_title(args.file, args.page_number, args.dots_number)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
0
kibot/templates/assembly_notes.txt
Normal file
0
kibot/templates/assembly_notes.txt
Normal file
55
kibot/templates/fabrication_notes.txt
Normal file
55
kibot/templates/fabrication_notes.txt
Normal file
@@ -0,0 +1,55 @@
|
||||
FABRICATION NOTES (UNLESS OTHERWISE SPECIFIED)
|
||||
|
||||
1) FABRICATE PER IPC-6012A CLASS 2.
|
||||
|
||||
2) OUTLINE DEFINED IN SEPARATE GERBER FILE WITH
|
||||
"Edge_Cuts.GBR" SUFFIX.
|
||||
|
||||
3) SEE SEPARATE DRILL FILES WITH ".DRL" SUFFIX
|
||||
FOR HOLE LOCATIONS.
|
||||
|
||||
SELECTED HOLE LOCATIONS SHOWN ON THIS DRAWING
|
||||
FOR REFERENCE ONLY.
|
||||
|
||||
4) SURFACE FINISH: ${pcb_finish_cap}
|
||||
|
||||
5) SOLDERMASK ON BOTH SIDES OF THE BOARD SHALL
|
||||
BE LPI, COLOR ${solder_mask_color_text_cap}.
|
||||
|
||||
6) SILK SCREEN LEGEND TO BE APPLIED PER LAYER
|
||||
STACKUP USING ${silk_screen_color_text_cap} NON-CONDUCTIVE EPOXY INK.
|
||||
|
||||
7) ALL VIAS ARE TENTED ON BOTH SIDES UNLESS
|
||||
SOLDERMASK OPENED IN GERBER.
|
||||
|
||||
8) RESERVED
|
||||
|
||||
9) PCB MATERIAL REQUIREMENTS:
|
||||
|
||||
A. FLAMMABILITY RATING MUST MEET OR EXCEED
|
||||
UL94V-0 REQUIREMENTS.
|
||||
B. Tg 135 C OR EQUIVALENT.
|
||||
|
||||
10) DESIGN GEOMETRY MINIMUM FEATURE SIZES:
|
||||
|
||||
BOARD SIZE ${bb_w_mm} × ${bb_h_mm} mm
|
||||
BOARD THICKNESS ${thickness_mm} mm
|
||||
TRACE WIDTH ${track_mm} mm
|
||||
TRACE TO TRACE ${clearance_mm} mm
|
||||
MIN. HOLE (PTH) ${drill_pth_real_mm} mm
|
||||
MIN. HOLE (NPTH) ${drill_npth_real_mm} mm
|
||||
ANNULAR RING ${oar_mm} mm
|
||||
COPPER TO HOLE ${c2h_mm} mm
|
||||
COPPER TO EDGE ${c2e_mm} mm
|
||||
HOLE TO HOLE ${h2h_mm} mm
|
||||
|
||||
11) ALL DIMENSIONS ARE IN MILLIMETERS UNLESS OTHERWISE
|
||||
SPECIFIED.
|
||||
#?stackup and impedance_controlled
|
||||
|
||||
#?stackup and impedance_controlled
|
||||
12) REFER TO IMPEDANCE TABLE FOR IMPEDANCE CONTROL REQUIREMENTS.
|
||||
#?stackup and impedance_controlled
|
||||
|
||||
#?stackup and impedance_controlled
|
||||
13) CONFIRM SPACE WIDTHS AND SPACINGS.
|
||||
0
kibot/templates/impedance_table.txt
Normal file
0
kibot/templates/impedance_table.txt
Normal file
1
kibot/templates/schematic_notes.txt
Normal file
1
kibot/templates/schematic_notes.txt
Normal file
@@ -0,0 +1 @@
|
||||
Unless otherwise specified, components Values are in ohms, µF, and µH.
|
||||
17
kibot/yaml/kibot_filt_exclude_testpoints.yaml
Normal file
17
kibot/yaml/kibot_filt_exclude_testpoints.yaml
Normal file
@@ -0,0 +1,17 @@
|
||||
# KiBot Filter for excluding testpoints
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
filters:
|
||||
- name: '@NAME@'
|
||||
comment: '@COMMENT@'
|
||||
type: generic
|
||||
exclude_any:
|
||||
- column: Reference
|
||||
regex: "TP"
|
||||
|
||||
...
|
||||
definitions:
|
||||
COMMENT: Exclude only testpoints
|
||||
NAME: exclude_testpoints
|
||||
21
kibot/yaml/kibot_filt_field_rename.yaml
Normal file
21
kibot/yaml/kibot_filt_field_rename.yaml
Normal file
@@ -0,0 +1,21 @@
|
||||
# KiBot Filter for renaming Manufacturer Part Number field
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
filters:
|
||||
- name: '@NAME@'
|
||||
comment: '@COMMENT@'
|
||||
type: field_rename
|
||||
rename:
|
||||
- field: '@MPN_FIELD@'
|
||||
name: manf#
|
||||
- field: '@MAN_FIELD@'
|
||||
name: manf
|
||||
|
||||
...
|
||||
definitions:
|
||||
COMMENT: Rename fields
|
||||
NAME: field_rename
|
||||
MPN_FIELD: 'Manufacturer PN'
|
||||
MAN_FIELD: 'Manufacturer'
|
||||
17
kibot/yaml/kibot_filt_lcsc_parts.yaml
Normal file
17
kibot/yaml/kibot_filt_lcsc_parts.yaml
Normal file
@@ -0,0 +1,17 @@
|
||||
# KiBot Filter for components with an LCSC Part Number
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
filters:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: generic
|
||||
include_only:
|
||||
- column: _field_lcsc_part
|
||||
regex: '^C\d+'
|
||||
|
||||
...
|
||||
definitions:
|
||||
COMMENT: Only parts with LCSC Part Number
|
||||
NAME: only_lcsc_parts
|
||||
25
kibot/yaml/kibot_filt_testpoints.yaml
Normal file
25
kibot/yaml/kibot_filt_testpoints.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
# KiBot Filter for testpoints
|
||||
# These filters are used for multiple outputs to highlight testpoints
|
||||
# or generate testpoint lists for top and bottom layers
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
filters:
|
||||
- name: '@NAME@'
|
||||
comment: '@COMMENT@'
|
||||
type: generic
|
||||
exclude_top: @EXCLUDE_TOP@
|
||||
exclude_bottom: @EXCLUDE_BOTTOM@
|
||||
include_only:
|
||||
- column: Reference
|
||||
regex: "TP"
|
||||
exclude_refs: @EXCLUDE_REFS@
|
||||
|
||||
...
|
||||
definitions:
|
||||
COMMENT: Select only testpoints
|
||||
NAME: only_testpoints
|
||||
EXCLUDE_TOP: false
|
||||
EXCLUDE_BOTTOM: false
|
||||
EXCLUDE_REFS: '[MB*]'
|
||||
20
kibot/yaml/kibot_globals.yaml
Normal file
20
kibot/yaml/kibot_globals.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
# KiBot Globals
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/global.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
global:
|
||||
resources_dir: 'kibot'
|
||||
out_dir: '@OUTPUT_DIR@'
|
||||
dnp_cross_top_layer: '@LAYER_DNP_TOP@'
|
||||
dnp_cross_bottom_layer: '@LAYER_DNP_BOTTOM@'
|
||||
disable_kicad_cross_on_fab: true
|
||||
extra_pth_drill: 0 # for annular ring computation.
|
||||
filters: []
|
||||
|
||||
...
|
||||
definitions:
|
||||
OUTPUT_DIR: ./
|
||||
LAYER_DNP_TOP: F.DNP
|
||||
LAYER_DNP_BOTTOM: B.DNP
|
||||
828
kibot/yaml/kibot_main.yaml
Normal file
828
kibot/yaml/kibot_main.yaml
Normal file
@@ -0,0 +1,828 @@
|
||||
# KiBot configuration file for Asymworks_KiBot Template
|
||||
# KiCad 9.0
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
variants: []
|
||||
|
||||
# ============================================================================
|
||||
# Output Groups
|
||||
|
||||
groups:
|
||||
|
||||
# Top-Level Groups =========================================================
|
||||
|
||||
# Pre-Process Group (generates Notes and Netlist for set_text_variables) ---
|
||||
- name: preprocess_group
|
||||
outputs:
|
||||
- @NETLIST_OUTPUT@
|
||||
- @TXT_SCH_NOTES_OUTPUT@
|
||||
- @TXT_FAB_NOTES_OUTPUT@
|
||||
- @TXT_ASSY_NOTES_OUTPUT@
|
||||
|
||||
# Draft Outputs Group (used in DRAFT state only) ---------------------------
|
||||
- name: draft_group
|
||||
outputs:
|
||||
- @NETLIST_OUTPUT@
|
||||
- @TXT_SCH_NOTES_OUTPUT@
|
||||
- @PDF_SCHEMATIC_OUTPUT@
|
||||
- @CSV_BOM_OUTPUT@
|
||||
- @HTML_BOM_OUTPUT@
|
||||
|
||||
# All Outputs Group (used in all other states) -----------------------------
|
||||
- name: all_group
|
||||
outputs:
|
||||
- bom
|
||||
- renders
|
||||
- models
|
||||
- fab
|
||||
- jlcpcb
|
||||
- panels
|
||||
- assembly
|
||||
- @PDF_SCHEMATIC_OUTPUT@
|
||||
- @HTML_NAV_RES_OUTPUT@
|
||||
|
||||
# All Outputs Group, including KiRi (not enabled by default) ---------------
|
||||
- name: all_group_kiri
|
||||
outputs:
|
||||
- bom
|
||||
- renders
|
||||
- models
|
||||
- fab
|
||||
- jlcpcb
|
||||
- panels
|
||||
- assembly
|
||||
- @PDF_SCHEMATIC_OUTPUT@
|
||||
- @HTML_KIRI_OUTPUT@
|
||||
- @HTML_NAV_RES_OUTPUT@
|
||||
|
||||
# Panel Fabrication Outputs Group (not used in DRAFT state) ----------------
|
||||
- name: panel_fab_jlcpcb_group
|
||||
outputs: []
|
||||
|
||||
# Output Sub-Groups ========================================================
|
||||
|
||||
# Bill of Material Outputs -------------------------------------------------
|
||||
- name: bom
|
||||
outputs:
|
||||
- @CSV_BOM_OUTPUT@
|
||||
- @HTML_BOM_OUTPUT@
|
||||
- @HTML_IBOM_OUTPUT@
|
||||
|
||||
# PCB Render Outputs -------------------------------------------------------
|
||||
- name: renders
|
||||
outputs:
|
||||
- @PCBDRAW_2D_TOP_PCB_OUTPUT@
|
||||
- @PCBDRAW_2D_BOT_PCB_OUTPUT@
|
||||
- @PNG_3D_VIEWER_TOP@
|
||||
- @PNG_3D_VIEWER_BOT@
|
||||
- @PNG_3D_VIEWER_ANGLED_TOP@
|
||||
- @PNG_3D_VIEWER_ANGLED_BOT@
|
||||
- @BLENDER_3D_TOP@
|
||||
- @BLENDER_3D_BOT@
|
||||
- @BLENDER_3D_ANGLED_TOP@
|
||||
- @BLENDER_3D_ANGLED_BOT@
|
||||
|
||||
# PCB 3d Model Outputs -----------------------------------------------------
|
||||
- name: models
|
||||
outputs:
|
||||
- @STEP_OUTPUT@
|
||||
- @GLB_OUTPUT@
|
||||
|
||||
# Fabrication Outputs ------------------------------------------------------
|
||||
- name: fab
|
||||
outputs:
|
||||
- tables
|
||||
- @GERBER_OUTPUT@
|
||||
- @EXCELLON_DRILL_OUTPUT@
|
||||
- @ODB_OUTPUT@
|
||||
- @PDF_DRILL_MAP_OUTPUT@
|
||||
- @PDF_FABRICATION_OUTPUT@
|
||||
- @ZIP_COMPRESS_FAB_OUTPUT@
|
||||
|
||||
- name: tables
|
||||
outputs:
|
||||
- @CSV_COMP_COUNT_OUPUT@
|
||||
- @CSV_IMPEDANCE_TABLE_OUTPUT@
|
||||
- @CSV_DRILL_TABLE_OUTPUT@
|
||||
- testpoints
|
||||
|
||||
- name: testpoints
|
||||
outputs:
|
||||
- @CSV_TP_OUTPUT@
|
||||
- @CSV_TP_TOP_OUTPUT@
|
||||
- @CSV_TP_BOTTOM_OUTPUT@
|
||||
|
||||
# JLCPCB Fabrication and Assembly Outputs ----------------------------------
|
||||
- name: jlcpcb
|
||||
outputs:
|
||||
- @JLCPCB_GERBER_OUTPUT@
|
||||
- @JLCPCB_FABPACK_OUTPUT@
|
||||
- @JLCPCB_BOM_OUTPUT@
|
||||
- @JLCPCB_CPL_OUTPUT@
|
||||
|
||||
# Assembly Outputs ---------------------------------------------------------
|
||||
- name: assembly
|
||||
outputs:
|
||||
- @CSV_POS_OUTPUT@
|
||||
- @PDF_ASSEMBLY_OUTPUT@
|
||||
|
||||
# Panelization Outputs -----------------------------------------------------
|
||||
- name: panels
|
||||
outputs: [ @PANEL_800_OUTPUT@ ]
|
||||
|
||||
# ============================================================================
|
||||
# Imports
|
||||
|
||||
import:
|
||||
|
||||
# Global Parameters ========================================================
|
||||
- file: kibot_globals.yaml
|
||||
definitions:
|
||||
OUTPUT_DIR: @OUTPUT_DIR@
|
||||
LAYER_DNP_TOP: @LAYER_DNP_TOP@
|
||||
LAYER_DNP_BOT: @LAYER_DNP_BOTTOM@
|
||||
|
||||
# Filters ==================================================================
|
||||
|
||||
- file: kibot_filt_field_rename.yaml
|
||||
definitions:
|
||||
NAME: @FILT_FIELD_RENAME@
|
||||
COMMENT: Rename fields
|
||||
MPN_FIELD: @MPN_FIELD@
|
||||
MAN_FIELD: @MAN_FIELD@
|
||||
|
||||
- file: kibot_filt_testpoints.yaml
|
||||
definitions:
|
||||
NAME: @FILT_TP_ONLY@
|
||||
COMMENT: Include only testpoints
|
||||
|
||||
- file: kibot_filt_exclude_testpoints.yaml
|
||||
definitions:
|
||||
NAME: @FILT_TP_EXCLUDE@
|
||||
COMMENT: Exclude only testpoints
|
||||
|
||||
- file: kibot_filt_testpoints.yaml
|
||||
definitions:
|
||||
NAME: @FILT_TP_TOP_ONLY@
|
||||
COMMENT: Select only top testpoints
|
||||
EXCLUDE_BOTTOM: true
|
||||
EXCLUDE_REFS: "@TP_EXCLUDE_REFS@"
|
||||
|
||||
- file: kibot_filt_testpoints.yaml
|
||||
definitions:
|
||||
NAME: @FILT_TP_BOTTOM_ONLY@
|
||||
COMMENT: Select only bottom testpoints
|
||||
EXCLUDE_TOP: true
|
||||
EXCLUDE_REFS: "@TP_EXCLUDE_REFS@"
|
||||
|
||||
- file: kibot_filt_lcsc_parts.yaml
|
||||
definitions:
|
||||
NAME: @FILT_LCSC_PARTS@
|
||||
COMMENT: Only parts with LCSC Part Number
|
||||
|
||||
# Preflights ===============================================================
|
||||
- file: kibot_pre_set_text_variables.yaml
|
||||
definitions:
|
||||
PROJECT_CODE: @PROJECT_CODE@
|
||||
ASSEMBLY_NUMBER: @ASSEMBLY_NUMBER@
|
||||
ASSEMBLY_NAME: @ASSEMBLY_NAME@
|
||||
COMPANY: @COMPANY@
|
||||
DESIGNER: @DESIGNER@
|
||||
SCRIPTS_DIR: @SCRIPTS_DIR@
|
||||
FABRICATION_DIR: @FABRICATION_DIR@
|
||||
ASSEMBLY_DIR: @ASSEMBLY_DIR@
|
||||
|
||||
# Generate ERC Report
|
||||
- file: kibot_pre_erc_report.yaml
|
||||
definitions:
|
||||
DIR: @REPORT_DIR@
|
||||
|
||||
# Generate DRC Report
|
||||
- file: kibot_pre_drc_report.yaml
|
||||
definitions:
|
||||
CHECK_ZONE_FILLS: @CHECK_ZONE_FILLS@
|
||||
DIR: @REPORT_DIR@
|
||||
|
||||
# Draw stackup table in PCB. Needs gerber output
|
||||
- file: kibot_pre_draw_stackup.yaml
|
||||
definitions:
|
||||
GERBER_OUTPUT: @GERBER_OUTPUT@
|
||||
NOTE: @STACKUP_TABLE_NOTE@
|
||||
|
||||
# Include tables for PCB and Assembly Drawings
|
||||
- file: kibot_pre_include_table.yaml
|
||||
definitions:
|
||||
NAME_TP_TOP: @CSV_TP_TOP_OUTPUT@
|
||||
NAME_TP_BOTTOM: @CSV_TP_BOTTOM_OUTPUT@
|
||||
NAME_COMP_COUNT: @CSV_COMP_COUNT_OUPUT@
|
||||
NAME_CSV_DRILL_TABLE: @CSV_DRILL_TABLE_OUTPUT@
|
||||
NAME_IMPEDANCE_TABLE: @CSV_IMPEDANCE_TABLE_OUTPUT@
|
||||
|
||||
# Generated Outputs ========================================================
|
||||
|
||||
# Schematic Netlist --------------------------------------------------------
|
||||
- file: kibot_out_netlist.yaml
|
||||
definitions:
|
||||
NAME: @NETLIST_OUTPUT@
|
||||
COMMENT: Schematic netlist in KiCad format
|
||||
|
||||
# Drawings in PDF format ---------------------------------------------------
|
||||
- file: kibot_out_pdf_schematic.yaml
|
||||
definitions:
|
||||
NAME: @PDF_SCHEMATIC_OUTPUT@
|
||||
COMMENT: Schematic in PDF format
|
||||
COLOR_THEME: @COLOR_THEME@
|
||||
DIR: @SCHEMATIC_DIR@
|
||||
DEFAULT_FONT: 'Arial Narrow'
|
||||
SHEET_WKS: @SHEET_WKS_SCH@
|
||||
|
||||
# Bills of Materials (BOMs) ------------------------------------------------
|
||||
- file: kibot_out_csv_bom.yaml
|
||||
definitions:
|
||||
NAME: @CSV_BOM_OUTPUT@
|
||||
COMMENT: Bill of Materials in CSV format
|
||||
DIR: @ASSEMBLY_DIR@
|
||||
IPN_FIELD: @IPN_FIELD@
|
||||
MPN_FIELD: @MPN_FIELD@
|
||||
MAN_FIELD: @MAN_FIELD@
|
||||
|
||||
- file: kibot_out_html_bom.yaml
|
||||
definitions:
|
||||
NAME: @HTML_BOM_OUTPUT@
|
||||
COMMENT: Bill of Materials in HTML format
|
||||
DIR: @ASSEMBLY_DIR@
|
||||
IPN_FIELD: @IPN_FIELD@
|
||||
MPN_FIELD: @MPN_FIELD@
|
||||
MAN_FIELD: @MAN_FIELD@
|
||||
|
||||
- file: kibot_out_html_ibom.yaml
|
||||
definitions:
|
||||
NAME: @HTML_IBOM_OUTPUT@
|
||||
COMMENT: Bill of Materials in HTML format
|
||||
DIR: @ASSEMBLY_DIR@
|
||||
IPN_FIELD: @IPN_FIELD@
|
||||
MPN_FIELD: @MPN_FIELD@
|
||||
MAN_FIELD: @MAN_FIELD@
|
||||
|
||||
# Generate Webpage with Diff's ---------------------------------------------
|
||||
- file: kibot_out_html_kiri.yaml
|
||||
definitions:
|
||||
NAME: @HTML_KIRI_OUTPUT@
|
||||
COMMENT: KiRI webpage
|
||||
DIR: kiri
|
||||
|
||||
# Generate HTML Navigation of Outputs --------------------------------------
|
||||
- file: kibot_out_navigate_results.yaml
|
||||
definitions:
|
||||
NAME: @HTML_NAV_RES_OUTPUT@
|
||||
COMMENT: Results webpage in HTML format
|
||||
DIR: html
|
||||
TITLE: '@ASSEMBLY_NUMBER@ (@ASSEMBLY_NAME@)'
|
||||
# LOGO: @LOGO@
|
||||
# LOGO_URL: @GIT_URL@
|
||||
|
||||
# PCB 2D Renders (Bare Board) ------------------------------------------
|
||||
- file: kibot_out_pcbdraw.yaml
|
||||
definitions:
|
||||
NAME: @PCBDRAW_2D_TOP_PCB_OUTPUT@
|
||||
COMMENT: PCB 2D Render (Top)
|
||||
DIR: @RENDER_DIR@
|
||||
FORMAT: svg
|
||||
BOTTOM: false
|
||||
COMPONENTS: none
|
||||
|
||||
- file: kibot_out_pcbdraw.yaml
|
||||
definitions:
|
||||
NAME: @PCBDRAW_2D_BOT_PCB_OUTPUT@
|
||||
COMMENT: PCB 2D Render (Bottom)
|
||||
DIR: @RENDER_DIR@
|
||||
FORMAT: svg
|
||||
BOTTOM: true
|
||||
COMPONENTS: none
|
||||
|
||||
# PCBA 3D Renders (Populated Board; KiCad Viewer) --------------------------
|
||||
- file: kibot_out_png_3d_viewer.yaml
|
||||
definitions:
|
||||
NAME: @PNG_3D_VIEWER_TOP@
|
||||
COMMENT: Top 3D viewer PCB render in PNG format
|
||||
DIR: @RENDER_DIR@
|
||||
SUFFIX: top
|
||||
VIEW: top
|
||||
KEY_COLOR: '@KEY_COLOR@'
|
||||
|
||||
- file: kibot_out_png_3d_viewer.yaml
|
||||
definitions:
|
||||
NAME: @PNG_3D_VIEWER_BOT@
|
||||
COMMENT: Bottom 3D viewer PCB render in PNG format
|
||||
DIR: @RENDER_DIR@
|
||||
SUFFIX: bottom
|
||||
VIEW: bottom
|
||||
KEY_COLOR: '@KEY_COLOR@'
|
||||
|
||||
- file: kibot_out_png_3d_viewer.yaml
|
||||
definitions:
|
||||
NAME: @PNG_3D_VIEWER_ANGLED_TOP@
|
||||
COMMENT: Top (angled) 3D viewer PCB render in PNG format
|
||||
DIR: @RENDER_DIR@
|
||||
SUFFIX: angled_top
|
||||
VIEW: top
|
||||
ROTATE_X: @3D_VIEWER_ROT_X@
|
||||
ROTATE_Y: @3D_VIEWER_ROT_Y@
|
||||
ROTATE_Z: @3D_VIEWER_ROT_Z@
|
||||
ZOOM: @3D_VIEWER_ZOOM@
|
||||
KEY_COLOR: '@KEY_COLOR@'
|
||||
|
||||
- file: kibot_out_png_3d_viewer.yaml
|
||||
definitions:
|
||||
NAME: @PNG_3D_VIEWER_ANGLED_BOT@
|
||||
COMMENT: Bottom (angled) 3D viewer PCB render in PNG format
|
||||
DIR: @RENDER_DIR@
|
||||
SUFFIX: angled_bottom
|
||||
VIEW: bottom
|
||||
ROTATE_X: @3D_VIEWER_ROT_X@
|
||||
ROTATE_Y: @3D_VIEWER_ROT_Y@
|
||||
ROTATE_Z: -@3D_VIEWER_ROT_Z@
|
||||
ZOOM: @3D_VIEWER_ZOOM@
|
||||
KEY_COLOR: '@KEY_COLOR@'
|
||||
|
||||
# PCBA 3D Renders (Populated Board; Blender) -------------------------------
|
||||
- file: kibot_out_blender.yaml
|
||||
definitions:
|
||||
NAME: @BLENDER_3D_TOP@
|
||||
COMMENT: High Quality 3D Render (Top)
|
||||
DIR: @RENDER_DIR@
|
||||
VIEW: top
|
||||
ROTATE_X: 0
|
||||
ROTATE_Y: 0
|
||||
ROTATE_Z: 0
|
||||
SAMPLES: @BLENDER_SAMPLES@
|
||||
RESOLUTION_X: @BLENDER_RESOLUTION_X@
|
||||
RESOLUTION_Y: @BLENDER_RESOLUTION_Y@
|
||||
TEXTURE_DPI: @BLENDER_TEXTURE_DPI@
|
||||
DNF_FILTER: @RENDER_DNF_FILTER@
|
||||
BACK_LIGHT: 0
|
||||
POINT_LIGHT: 0.001
|
||||
|
||||
- file: kibot_out_blender.yaml
|
||||
definitions:
|
||||
NAME: @BLENDER_3D_BOT@
|
||||
COMMENT: High Quality 3D Render (Bottom)
|
||||
DIR: @RENDER_DIR@
|
||||
VIEW: bottom
|
||||
ROTATE_X: 0
|
||||
ROTATE_Y: 0
|
||||
ROTATE_Z: 0
|
||||
SAMPLES: @BLENDER_SAMPLES@
|
||||
RESOLUTION_X: @BLENDER_RESOLUTION_X@
|
||||
RESOLUTION_Y: @BLENDER_RESOLUTION_Y@
|
||||
TEXTURE_DPI: @BLENDER_TEXTURE_DPI@
|
||||
DNF_FILTER: @RENDER_DNF_FILTER@
|
||||
BACK_LIGHT: 0
|
||||
POINT_LIGHT: 0.001
|
||||
|
||||
- file: kibot_out_blender.yaml
|
||||
definitions:
|
||||
NAME: @BLENDER_3D_ANGLED_TOP@
|
||||
COMMENT: High Quality 3D Render (Angled Top)
|
||||
DIR: @RENDER_DIR@
|
||||
VIEW: top
|
||||
ROTATE_X: @BLENDER_ROT_X@
|
||||
ROTATE_Y: @BLENDER_ROT_Y@
|
||||
ROTATE_Z: @BLENDER_ROT_Z@
|
||||
SAMPLES: @BLENDER_SAMPLES@
|
||||
RESOLUTION_X: @BLENDER_RESOLUTION_X@
|
||||
RESOLUTION_Y: @BLENDER_RESOLUTION_Y@
|
||||
TEXTURE_DPI: @BLENDER_TEXTURE_DPI@
|
||||
DNF_FILTER: @RENDER_DNF_FILTER@
|
||||
BACK_LIGHT: 1
|
||||
POINT_LIGHT: 0
|
||||
|
||||
- file: kibot_out_blender.yaml
|
||||
definitions:
|
||||
NAME: @BLENDER_3D_ANGLED_BOT@
|
||||
COMMENT: High Quality 3D Render (Angled Bottom)
|
||||
DIR: @RENDER_DIR@
|
||||
VIEW: bottom
|
||||
ROTATE_X: -@BLENDER_ROT_X@
|
||||
ROTATE_Y: @BLENDER_ROT_Y@
|
||||
ROTATE_Z: @BLENDER_ROT_Z@
|
||||
SAMPLES: @BLENDER_SAMPLES@
|
||||
RESOLUTION_X: @BLENDER_RESOLUTION_X@
|
||||
RESOLUTION_Y: @BLENDER_RESOLUTION_Y@
|
||||
TEXTURE_DPI: @BLENDER_TEXTURE_DPI@
|
||||
DNF_FILTER: @RENDER_DNF_FILTER@
|
||||
BACK_LIGHT: 1
|
||||
POINT_LIGHT: 0
|
||||
|
||||
# STEP File ----------------------------------------------------------------
|
||||
- file: kibot_out_3d_model.yaml
|
||||
definitions:
|
||||
NAME: @STEP_OUTPUT@
|
||||
COMMENT: PCB 3D model in STEP format
|
||||
FORMAT: step
|
||||
DIR: @MODELS_DIR@
|
||||
INCLUDE_SILKSCREEN: false
|
||||
INCLUDE_SOLDERMASK: false
|
||||
INCLUDE_TRACKS: false
|
||||
|
||||
- file: kibot_out_3d_model.yaml
|
||||
definitions:
|
||||
NAME: @GLB_OUTPUT@
|
||||
COMMENT: PCB 3D model in GLB/gITF format
|
||||
FORMAT: glb
|
||||
DIR: @MODELS_DIR@
|
||||
INCLUDE_SILKSCREEN: true
|
||||
INCLUDE_SOLDERMASK: false
|
||||
INCLUDE_TRACKS: false
|
||||
|
||||
# Fabrication Files (Non-Vendor Specific) ----------------------------------
|
||||
- file: kibot_out_gerber.yaml
|
||||
definitions:
|
||||
NAME: @GERBER_OUTPUT@
|
||||
COMMENT: Gerbers in GBR format
|
||||
DIR: @GERBERS_DIR@
|
||||
PLOT_REFS: @PLOT_REFS@
|
||||
PROTEL_EXTENSIONS: @PROTEL_EXTENSIONS@
|
||||
SUBTRACT_MASK: @SUBTRACT_MASK@
|
||||
|
||||
# Excellon Drill
|
||||
- file: kibot_out_excellon_drill.yaml
|
||||
definitions:
|
||||
NAME: @EXCELLON_DRILL_OUTPUT@
|
||||
COMMENT: Drill in Excellon format
|
||||
DIR: @GERBERS_DIR@
|
||||
METRIC_UNITS: @EXCELLON_METRIC_UNITS@
|
||||
|
||||
# ODB++
|
||||
- file: kibot_out_odb.yaml
|
||||
definitions:
|
||||
NAME: @ODB_OUTPUT@
|
||||
COMMENT: ODB++ in ZIP format
|
||||
DIR: @FABRICATION_DIR@
|
||||
|
||||
# PDF Drill Map
|
||||
- file: kibot_out_excellon_drill.yaml
|
||||
definitions:
|
||||
NAME: @PDF_DRILL_MAP_OUTPUT@
|
||||
COMMENT: Drill Map in PDF format
|
||||
DIR: @GERBERS_DIR@
|
||||
METRIC_UNITS: @EXCELLON_METRIC_UNITS@
|
||||
GENERATE_DRILL: false
|
||||
PTH_NPTH: @GROUP_PTH_NPTH_DRL@
|
||||
MAP_FORMAT: pdf
|
||||
|
||||
# CSV Drill Table
|
||||
- file: kibot_out_csv_drill_table.yaml
|
||||
definitions:
|
||||
NAME: @CSV_DRILL_TABLE_OUTPUT@
|
||||
COMMENT: Drill Table in CSV format
|
||||
DIR: @FAB_DRILL_TABLES_DIR@
|
||||
PTH_NPTH: '@GROUP_PTH_NPTH@'
|
||||
GROUP_ROUND_SLOTS: @GROUP_ROUND_SLOTS@
|
||||
|
||||
# CSV Component Placement File
|
||||
- file: kibot_out_csv_position.yaml
|
||||
definitions:
|
||||
NAME: @CSV_POS_OUTPUT@
|
||||
COMMENT: Position file in CSV format
|
||||
DIR: @ASSEMBLY_DIR@
|
||||
|
||||
# CSV Test Point Files
|
||||
- file: kibot_out_csv_testpoints.yaml
|
||||
definitions:
|
||||
NAME: @CSV_TP_OUTPUT@
|
||||
COMMENT: Testpoint report in CSV format
|
||||
DIR: @TESTPOINTS_DIR@
|
||||
EXCLUDE_FILTER: @FILT_TP_ONLY@
|
||||
|
||||
- file: kibot_out_csv_testpoints_simple.yaml
|
||||
definitions:
|
||||
NAME: @CSV_TP_TOP_OUTPUT@
|
||||
COMMENT: Top testpoint report in CSV format
|
||||
DIR: @TESTPOINTS_DIR@
|
||||
SUFFIX: -top
|
||||
EXCLUDE_FILTER: @FILT_TP_TOP_ONLY@
|
||||
|
||||
- file: kibot_out_csv_testpoints_simple.yaml
|
||||
definitions:
|
||||
NAME: @CSV_TP_BOTTOM_OUTPUT@
|
||||
COMMENT: Bottom testpoint report in CSV format
|
||||
DIR: @TESTPOINTS_DIR@
|
||||
SUFFIX: -bottom
|
||||
EXCLUDE_FILTER: @FILT_TP_BOTTOM_ONLY@
|
||||
|
||||
# Fabrication and Assembly Drawings
|
||||
- file: kibot_out_pdf_fabrication.yaml
|
||||
definitions:
|
||||
NAME: @PDF_FABRICATION_OUTPUT@
|
||||
COMMENT: Fabrication document in PDF format
|
||||
DIR: @FABRICATION_DIR@
|
||||
COLOR_THEME: @COLOR_THEME@
|
||||
SHEET_WKS: @SHEET_WKS_PCB@
|
||||
SCALING: @FAB_SCALING@
|
||||
PTH_NPTH: '@GROUP_PTH_NPTH@'
|
||||
GROUP_ROUND_SLOTS: @GROUP_ROUND_SLOTS@
|
||||
FAB_EXCLUDE_FILTER: @FILT_TP_ONLY@
|
||||
LAYER_DRILL_MAP: @LAYER_DRILL_MAP@
|
||||
LAYER_TP_LIST_TOP: @LAYER_TP_LIST_TOP@
|
||||
LAYER_TP_LIST_BOTTOM: @LAYER_TP_LIST_BOTTOM@
|
||||
NAME_TP_TOP: @CSV_TP_TOP_OUTPUT@
|
||||
NAME_TP_BOTTOM: @CSV_TP_BOTTOM_OUTPUT@
|
||||
NAME_IMPEDANCE_TABLE: @CSV_IMPEDANCE_TABLE_OUTPUT@
|
||||
NAME_DRILL_TABLE: @CSV_DRILL_TABLE_OUTPUT@
|
||||
|
||||
- file: kibot_out_pdf_assembly.yaml
|
||||
definitions:
|
||||
NAME: @PDF_ASSEMBLY_OUTPUT@
|
||||
COMMENT: Assembly document in PDF format
|
||||
DIR: @ASSEMBLY_DIR@
|
||||
COLOR_THEME: @COLOR_THEME@
|
||||
SHEET_WKS: @SHEET_WKS_ASSY@
|
||||
SCALING: @ASSEMBLY_SCALING@
|
||||
FAB_EXCLUDE_FILTER: @FILT_TP_EXCLUDE@
|
||||
LAYER_TITLE_PAGE: @LAYER_TITLE_PAGE@
|
||||
LAYER_ASSEMBLY_TEXT_TOP: @LAYER_ASSEMBLY_TEXT_TOP@
|
||||
LAYER_ASSEMBLY_TEXT_BOTTOM: @LAYER_ASSEMBLY_TEXT_BOTTOM@
|
||||
LAYER_DNP_CROSS_TOP: @LAYER_DNP_CROSS_TOP@
|
||||
LAYER_DNP_CROSS_BOTTOM: @LAYER_DNP_CROSS_BOTTOM@
|
||||
NAME_COMP_COUNT: @CSV_COMP_COUNT_OUPUT@
|
||||
|
||||
# Zip File of Fabrication Data
|
||||
- file: kibot_out_compress_fab.yaml
|
||||
definitions:
|
||||
NAME: @ZIP_COMPRESS_FAB_OUTPUT@
|
||||
COMMENT: Generates a ZIP file with gerbers, drill and fabrication document
|
||||
DIR: @FABRICATION_DIR@
|
||||
GERBER_OUTPUT: @GERBER_OUTPUT@
|
||||
DRILL_MAP_OUTPUT: @PDF_DRILL_MAP_OUTPUT@
|
||||
DRILL_OUTPUT: @EXCELLON_DRILL_OUTPUT@
|
||||
FABRICATION_OUTPUT: @PDF_FABRICATION_OUTPUT@
|
||||
|
||||
# Fabrication and Assembly Files (JLCPCB) ----------------------------------
|
||||
- file: kibot_out_gerber.yaml
|
||||
definitions:
|
||||
NAME: @JLCPCB_GERBER_OUTPUT@
|
||||
COMMENT: Gerbers in GBR format for JLCPCB
|
||||
DIR: @JLCPCB_GERBERS_DIR@
|
||||
PLOT_REFS: true
|
||||
PROTEL_EXTENSIONS: true
|
||||
SUBTRACT_MASK: false
|
||||
|
||||
- file: kibot_out_jlcpcb_fabpack.yaml
|
||||
definitions:
|
||||
NAME: @JLCPCB_FABPACK_OUTPUT@
|
||||
COMMENT: Zipped Fabpack for JLCPCB
|
||||
DIR: @JLCPCB_FAB_DIR@
|
||||
GERBER_OUTPUT: @JLCPCB_GERBER_OUTPUT@
|
||||
DRILL_OUTPUT: @EXCELLON_DRILL_OUTPUT@
|
||||
|
||||
- file: kibot_out_jlcpcb_bom.yaml
|
||||
definitions:
|
||||
NAME: @JLCPCB_BOM_OUTPUT@
|
||||
COMMENT: Bill of Materials for JLCPCB
|
||||
DIR: @JLCPCB_ASSY_DIR@
|
||||
EXCLUDE_FILTER: @FILT_LCSC_PARTS@
|
||||
|
||||
- file: kibot_out_jlcpcb_cpl.yaml
|
||||
definitions:
|
||||
NAME: @JLCPCB_CPL_OUTPUT@
|
||||
COMMENT: Component Placement File for JLCPCB
|
||||
DIR: @JLCPCB_ASSY_DIR@
|
||||
EXCLUDE_FILTER: @FILT_LCSC_PARTS@
|
||||
|
||||
# Notes and Reports --------------------------------------------------------
|
||||
- file: kibot_out_csv_report.yaml
|
||||
definitions:
|
||||
NAME: @CSV_COMP_COUNT_OUPUT@
|
||||
COMMENT: Component report (count) in CSV format
|
||||
DIR: @ASSEMBLY_DIR@
|
||||
OUTPUT_ID: components_count
|
||||
TEMPLATE: total_components
|
||||
|
||||
- file: kibot_out_csv_report.yaml
|
||||
definitions:
|
||||
NAME: @CSV_IMPEDANCE_TABLE_OUTPUT@
|
||||
COMMENT: Impedance table in CSV format
|
||||
DIR: @FABRICATION_DIR@
|
||||
OUTPUT_ID: impedance_table
|
||||
TEMPLATE: @REPORT_TEMPLATE_DIR@/impedance_table.txt
|
||||
|
||||
- file: kibot_out_txt_report.yaml
|
||||
definitions:
|
||||
NAME: @TXT_SCH_NOTES_OUTPUT@
|
||||
COMMENT: Schematic notes in TXT format
|
||||
DIR: @SCHEMATIC_DIR@
|
||||
OUTPUT_ID: schematic_notes
|
||||
TEMPLATE: @REPORT_TEMPLATE_DIR@/schematic_notes.txt
|
||||
|
||||
- file: kibot_out_txt_report.yaml
|
||||
definitions:
|
||||
NAME: @TXT_FAB_NOTES_OUTPUT@
|
||||
COMMENT: Fabrication notes in TXT format
|
||||
DIR: @FABRICATION_DIR@
|
||||
OUTPUT_ID: fabrication_notes
|
||||
TEMPLATE: @REPORT_TEMPLATE_DIR@/fabrication_notes.txt
|
||||
|
||||
- file: kibot_out_txt_report.yaml
|
||||
definitions:
|
||||
NAME: @TXT_ASSY_NOTES_OUTPUT@
|
||||
COMMENT: Assembly notes in TXT format
|
||||
DIR: @ASSEMBLY_DIR@
|
||||
OUTPUT_ID: fabrication_notes
|
||||
TEMPLATE: @REPORT_TEMPLATE_DIR@/assembly_notes.txt
|
||||
|
||||
# Panelization Outputs -----------------------------------------------------
|
||||
- file: kibot_out_panelize.yaml
|
||||
definitions:
|
||||
NAME: @PANEL_800_OUTPUT@
|
||||
DIR: '@PANELS_DIR@/panel-800'
|
||||
CONFIG: '@PANEL_800_CONFIG@'
|
||||
TITLE: '@PANEL_800_TITLE@'
|
||||
|
||||
# ============================================================================
|
||||
# Definitions
|
||||
|
||||
...
|
||||
definitions:
|
||||
|
||||
# Project Metadata =========================================================
|
||||
PROJECT_CODE: P99
|
||||
ASSEMBLY_NUMBER: A99-9000
|
||||
ASSEMBLY_NAME: Assembly Name
|
||||
GIT_URL: /jkrauss/Test_4
|
||||
|
||||
COMPANY: Asymworks, LLC
|
||||
DESIGNER: JPK
|
||||
|
||||
DWG_NUMBER_SCH: S99-9000
|
||||
DWG_TITLE_SCH: Schematic, Assembly Name
|
||||
DWG_NUMBER_PCB: P99-9000
|
||||
DWG_TITLE_PCB: PCB, Assembly Name
|
||||
DWG_TITLE_ASSY: PCB Assembly, Assembly Name
|
||||
|
||||
# Panel Configurations -----------------------------------------------------
|
||||
PANEL_800_OUTPUT: panel_801
|
||||
PANEL_800_CONFIG: '@PANELS_DIR@/panel-800.json'
|
||||
PANEL_800_TITLE: Panel Fabrication (Panel -800)
|
||||
|
||||
# Preflight ================================================================
|
||||
|
||||
CHECK_ZONE_FILLS: false
|
||||
STACKUP_TABLE_NOTE: external layer thicknesses are specified after plating
|
||||
|
||||
# BOM ======================================================================
|
||||
|
||||
IPN_FIELD: 'Asymworks IPN'
|
||||
MPN_FIELD: 'Manufacturer PN'
|
||||
MAN_FIELD: 'Manufacturer'
|
||||
|
||||
# Drill Table and Drill Map Parameters =====================================
|
||||
|
||||
GROUP_ROUND_SLOTS: true # whether or not to group round holes and slots
|
||||
GROUP_PTH_NPTH: 'no' # for drill tables (CSV, PCB Print)
|
||||
GROUP_PTH_NPTH_DRL: false # for .drl files
|
||||
|
||||
# Gerber Parameters ========================================================
|
||||
|
||||
PLOT_REFS: true # reference designators
|
||||
PROTEL_EXTENSIONS: false # use Protel extensions
|
||||
SUBTRACT_MASK: false # subtract Solder Mask from Silkscreen
|
||||
EXCELLON_METRIC_UNITS: true # use Metric units for Excellon drill file
|
||||
|
||||
# References to exclude from testpoint highlighting ========================
|
||||
|
||||
TP_EXCLUDE_REFS: '[MB*]' # for components on the PCB but not on the schematic
|
||||
|
||||
# Schematic parameters =====================================================
|
||||
|
||||
COLOR_THEME: Altium_Theme
|
||||
SHEET_WKS_SCH: templates/Asymworks_SCH.kicad_wks
|
||||
SHEET_WKS_PCB: KIPRJMOD/templates/Asymworks_PCB.kicad_wks
|
||||
SHEET_WKS_ASSY: KIPRJMOD/templates/Asymworks_PCBA.kicad_wks
|
||||
FAB_SCALING: 1
|
||||
ASSEMBLY_SCALING: 1
|
||||
|
||||
# 3D Render parameters =====================================================
|
||||
|
||||
RENDER_DNF_FILTER: _kibom_dnf_Config
|
||||
|
||||
3D_VIEWER_ROT_X: 2
|
||||
3D_VIEWER_ROT_Y: -1
|
||||
3D_VIEWER_ROT_Z: 1
|
||||
3D_VIEWER_ZOOM: -1
|
||||
KEY_COLOR: '#00FF00' # Background color to remove. Use a color different from your PCB
|
||||
|
||||
BLENDER_SAMPLES: 20 # Overridden to 2 samples for WORKING state by CI Script
|
||||
BLENDER_ROT_X: 30
|
||||
BLENDER_ROT_Y: 10
|
||||
BLENDER_ROT_Z: 10
|
||||
|
||||
BLENDER_RESOLUTION_X: 1500
|
||||
BLENDER_RESOLUTION_Y: 1500
|
||||
BLENDER_TEXTURE_DPI: 1031.0
|
||||
|
||||
# Directories ==============================================================
|
||||
|
||||
# Root
|
||||
OUTPUT_DIR: ./
|
||||
|
||||
# Relative to root
|
||||
REPORT_DIR: reports
|
||||
SCHEMATIC_DIR: schematic
|
||||
MANUFACTURING_DIR: mfg
|
||||
ASSEMBLY_DIR: '@MANUFACTURING_DIR@/assembly'
|
||||
FABRICATION_DIR: '@MANUFACTURING_DIR@/fab'
|
||||
GERBERS_DIR: '@FABRICATION_DIR@/gerbers'
|
||||
FAB_DRILL_TABLES_DIR: '@FABRICATION_DIR@/drill-tables'
|
||||
TESTING_DIR: test
|
||||
TESTPOINTS_DIR: '@TESTING_DIR@/testpoints'
|
||||
RESOURCES_DIR: kibot
|
||||
MODELS_DIR: models
|
||||
RENDER_DIR: renders
|
||||
REPORT_TEMPLATE_DIR: '@RESOURCES_DIR@/templates'
|
||||
SCRIPTS_DIR: '@RESOURCES_DIR@/scripts'
|
||||
PANELS_DIR: panels
|
||||
PANEL_FAB_DIR: '@FABRICATION_DIR@/panels'
|
||||
JLCPCB_FAB_DIR: '@MANUFACTURING_DIR@/jlcpcb'
|
||||
JLCPCB_ASSY_DIR: '@MANUFACTURING_DIR@/jlcpcb'
|
||||
JLCPCB_GERBERS_DIR: '@MANUFACTURING_DIR@/jlcpcb/gerbers'
|
||||
|
||||
# Layer Names - should match user-defined names in the PCB. ===============
|
||||
|
||||
LAYER_TITLE_PAGE: AssyTitlePage
|
||||
LAYER_DNP_TOP: F.DNP
|
||||
LAYER_DNP_BOTTOM: B.DNP
|
||||
LAYER_DRILL_MAP: DrillMap
|
||||
LAYER_TP_LIST_TOP: F.TestPointList
|
||||
LAYER_TP_LIST_BOTTOM: B.TestPointList
|
||||
LAYER_ASSEMBLY_TEXT_TOP: F.AssemblyText
|
||||
LAYER_ASSEMBLY_TEXT_BOTTOM: B.AssemblyText
|
||||
LAYER_DNP_CROSS_TOP: F.DNP
|
||||
LAYER_DNP_CROSS_BOTTOM: B.DNP
|
||||
|
||||
# Filter Names =============================================================
|
||||
|
||||
FILT_FIELD_RENAME: field_rename
|
||||
FILT_LCSC_PARTS: only_lcsc_parts
|
||||
FILT_TP_ONLY: only_testpoints
|
||||
FILT_TP_EXCLUDE: exclude_testpoints
|
||||
FILT_TP_TOP_ONLY: only_testpoints_top
|
||||
FILT_TP_BOTTOM_ONLY: only_testpoints_bottom
|
||||
|
||||
# Output Names ============================================================
|
||||
|
||||
NETLIST_OUTPUT: netlist
|
||||
|
||||
PDF_SCHEMATIC_OUTPUT: pdf_schematic
|
||||
PDF_FABRICATION_OUTPUT: pdf_fabrication
|
||||
PDF_ASSEMBLY_OUTPUT: pdf_assembly
|
||||
|
||||
CSV_BOM_OUTPUT: csv_bom
|
||||
HTML_IBOM_OUTPUT: html_bom_interactive
|
||||
HTML_BOM_OUTPUT: html_bom
|
||||
CSV_COMP_COUNT_OUPUT: csv_comp_count
|
||||
CSV_IMPEDANCE_TABLE_OUTPUT: csv_impedance_table
|
||||
|
||||
GERBER_OUTPUT: gbr_gerbers
|
||||
ODB_OUTPUT: zip_odb
|
||||
EXCELLON_DRILL_OUTPUT: drl_excellon
|
||||
PDF_DRILL_MAP_OUTPUT: pdf_drill_map
|
||||
DXF_DRILL_MAP_OUTPUT: dxf_drill_map
|
||||
CSV_DRILL_TABLE_OUTPUT: csv_drill_table
|
||||
CSV_POS_OUTPUT: csv_position
|
||||
|
||||
CSV_TP_OUTPUT: csv_testpoints
|
||||
CSV_TP_TOP_OUTPUT: csv_testpoints_top
|
||||
CSV_TP_BOTTOM_OUTPUT: csv_testpoints_bottom
|
||||
|
||||
ZIP_COMPRESS_FAB_OUTPUT: zip_compress_fab
|
||||
|
||||
STEP_OUTPUT: step
|
||||
GLB_OUTPUT: glb
|
||||
|
||||
PCBDRAW_2D_TOP_PCB_OUTPUT: pcbdraw_top
|
||||
PCBDRAW_2D_BOT_PCB_OUTPUT: pcbdraw_bottom
|
||||
|
||||
PNG_3D_VIEWER_TOP: png_3d_viewer_top
|
||||
PNG_3D_VIEWER_BOT: png_3d_viewer_bottom
|
||||
PNG_3D_VIEWER_ANGLED_TOP: png_3d_viewer_angled_top
|
||||
PNG_3D_VIEWER_ANGLED_BOT: png_3d_viewer_angled_bottom
|
||||
|
||||
BLENDER_3D_TOP: blender_3d_top
|
||||
BLENDER_3D_BOT: blender_3d_bottom
|
||||
BLENDER_3D_ANGLED_TOP: blender_3d_angled_top
|
||||
BLENDER_3D_ANGLED_BOT: blender_3d_angled_bottom
|
||||
|
||||
TXT_SCH_NOTES_OUTPUT: txt_schematic_notes
|
||||
TXT_FAB_NOTES_OUTPUT: txt_fabrication_notes
|
||||
TXT_ASSY_NOTES_OUTPUT: txt_assembly_notes
|
||||
|
||||
HTML_KIRI_OUTPUT: html_kiri
|
||||
HTML_NAV_RES_OUTPUT: html_navigate_results
|
||||
|
||||
JLCPCB_GERBER_OUTPUT: jlcpcb_gerbers
|
||||
JLCPCB_FABPACK_OUTPUT: jlcpcb_fabpack
|
||||
JLCPCB_BOM_OUTPUT: jlcpcb_bom
|
||||
JLCPCB_CPL_OUTPUT: jlcpcb_cpl
|
||||
32
kibot/yaml/kibot_out_3d_model.yaml
Normal file
32
kibot/yaml/kibot_out_3d_model.yaml
Normal file
@@ -0,0 +1,32 @@
|
||||
# KiBot output for generating PCB 3D models in various formats (Requires KiCad 9+)
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/export_3d.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
output_id: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: export_3d
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
format: @FORMAT@
|
||||
origin: drill
|
||||
output: '%f-%I%v.%x'
|
||||
|
||||
# Configurable for higher-fidelity outputs (e.g. gITF)
|
||||
include_silkscreen: @INCLUDE_SILKSCREEN@
|
||||
include_soldermask: @INCLUDE_SOLDERMASK@
|
||||
include_tracks: @INCLUDE_TRACKS@
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: step
|
||||
COMMENT: PCB 3D model in STEP format
|
||||
DIR: models
|
||||
FORMAT: step
|
||||
INCLUDE_SILKSCREEN: false
|
||||
INCLUDE_SOLDERMASK: false
|
||||
INCLUDE_TRACKS: false
|
||||
80
kibot/yaml/kibot_out_blender.yaml
Normal file
80
kibot/yaml/kibot_out_blender.yaml
Normal file
@@ -0,0 +1,80 @@
|
||||
# KiBot output for generating PCB 3D model PCB3D Blender format
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/PCB2Blender_ToolsOptions.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
output_id: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: blender_export
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
auto_camera_z_axis_factor: 1.1
|
||||
pcb_import:
|
||||
enhance_materials: true
|
||||
texture_dpi: @TEXTURE_DPI@
|
||||
|
||||
pcb3d:
|
||||
download: true
|
||||
download_lcsc: true
|
||||
dnf_filter:
|
||||
- @DNF_FILTER@
|
||||
|
||||
render_options:
|
||||
auto_crop: true
|
||||
transparent_background: true
|
||||
samples: @SAMPLES@
|
||||
resolution_x: @RESOLUTION_X@
|
||||
resolution_y: @RESOLUTION_Y@
|
||||
|
||||
point_of_view:
|
||||
rotate_x: @ROTATE_X@
|
||||
rotate_y: @ROTATE_Y@
|
||||
rotate_z: @ROTATE_Z@
|
||||
view: @VIEW@
|
||||
|
||||
outputs:
|
||||
- type: render
|
||||
output: '%f-%I%v.%x'
|
||||
|
||||
light:
|
||||
- name: sun
|
||||
energy: 0
|
||||
pos_x: 0
|
||||
pos_y: 0
|
||||
pos_z: size*20
|
||||
type: SUN
|
||||
|
||||
- name: kibot_light
|
||||
energy: @POINT_LIGHT@
|
||||
pos_x: -size*3.33
|
||||
pos_y: size*3.33
|
||||
pos_z: size*5
|
||||
type: POINT
|
||||
|
||||
- name: kibot_back_light
|
||||
energy: @BACK_LIGHT@
|
||||
pos_x: 0
|
||||
pos_y: size*8
|
||||
pos_z: size*12
|
||||
type: POINT
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: blender
|
||||
COMMENT: PCB 3D model in PCB3D Blender format
|
||||
DIR: renders
|
||||
DNF_FILTER: _kibom_dnf_Config
|
||||
SAMPLES: 5
|
||||
RESOLUTION_X: 1280
|
||||
RESOLUTION_Y: 1280
|
||||
TEXTURE_DPI: 1031.0
|
||||
BACK_LIGHT: 0
|
||||
POINT_LIGHT: 0.001
|
||||
ROTATE_X: 0
|
||||
ROTATE_Y: 0
|
||||
ROTATE_Z: 0
|
||||
VIEW: top
|
||||
34
kibot/yaml/kibot_out_compress_fab.yaml
Normal file
34
kibot/yaml/kibot_out_compress_fab.yaml
Normal file
@@ -0,0 +1,34 @@
|
||||
# KiBot output for compressing Fabrication files to a ZIP archive
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/compress.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: compress
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
output: '%f-GERBERS%I%v.%x'
|
||||
move_files: false
|
||||
files:
|
||||
- from_output: @GERBER_OUTPUT@
|
||||
dest: '/'
|
||||
- from_output: @DRILL_MAP_OUTPUT@
|
||||
dest: '/'
|
||||
- from_output: @DRILL_OUTPUT@
|
||||
dest: '/'
|
||||
- from_output: @FABRICATION_OUTPUT@
|
||||
dest: '/'
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: zip_compress_fab
|
||||
COMMENT: Generates a ZIP file with gerbers, drill and fabrication document
|
||||
DIR: Manufacturing/Fabrication
|
||||
GERBER_OUTPUT: gbr_gerbers
|
||||
DRILL_MAP_OUTPUT: pdf_drill_map
|
||||
DRILL_OUTPUT: drl_excellon
|
||||
FABRICATION_OUTPUT: pdf_fabrication
|
||||
48
kibot/yaml/kibot_out_csv_bom.yaml
Normal file
48
kibot/yaml/kibot_out_csv_bom.yaml
Normal file
@@ -0,0 +1,48 @@
|
||||
# KiBot output for generating Bill of Materials in CSV format
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/bom.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: bom
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
format: CSV
|
||||
csv:
|
||||
hide_pcb_info: true
|
||||
hide_stats_info: true
|
||||
|
||||
group_fields: ['@MPN_FIELD@', '@IPN_FIELD@', 'Value']
|
||||
|
||||
columns:
|
||||
- "Row"
|
||||
- "Quantity Per PCB"
|
||||
- "References"
|
||||
- "Value"
|
||||
- "Datasheet"
|
||||
- "Footprint"
|
||||
- "Description"
|
||||
- "@IPN_FIELD@"
|
||||
- "@MAN_FIELD@"
|
||||
- "@MPN_FIELD@"
|
||||
- "LCSC"
|
||||
# - "arrow#"
|
||||
# - "digikey#"
|
||||
# - "farnell#"
|
||||
# - "mouser#"
|
||||
# - "newark#"
|
||||
# - "rs#"
|
||||
# - "tme#"
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: csv_bom
|
||||
COMMENT: Bill of Materials in CSV format
|
||||
DIR: mfg/assembly
|
||||
IPN_FIELD: 'Asymworks IPN'
|
||||
MPN_FIELD: 'Manufacturer PN'
|
||||
MAN_FIELD: 'Manufacturer'
|
||||
25
kibot/yaml/kibot_out_csv_drill_table.yaml
Normal file
25
kibot/yaml/kibot_out_csv_drill_table.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
# KiBot output for generating Drill Tables
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/excellon.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: excellon
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
generate_drill_files: false
|
||||
table:
|
||||
unify_pth_and_npth: '@PTH_NPTH@'
|
||||
group_slots_and_round_holes: @GROUP_ROUND_SLOTS@
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: csv_drill_table
|
||||
COMMENT: Drill Table in CSV format
|
||||
DIR: mfg/fab/tables
|
||||
PTH_NPTH: 'yes'
|
||||
GROUP_ROUND_SLOTS: true
|
||||
23
kibot/yaml/kibot_out_csv_position.yaml
Normal file
23
kibot/yaml/kibot_out_csv_position.yaml
Normal file
@@ -0,0 +1,23 @@
|
||||
# KiBot output for generating Position file in CSV format
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/position.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: position
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
format: 'CSV'
|
||||
only_smd: false
|
||||
include_virtual: false
|
||||
output: '%f-CPL%I%v.%x'
|
||||
separate_files_for_front_and_back: false
|
||||
|
||||
definitions:
|
||||
NAME: csv_position
|
||||
COMMENT: Position file in CSV format
|
||||
DIR: Manufacturing/Assembly
|
||||
26
kibot/yaml/kibot_out_csv_report.yaml
Normal file
26
kibot/yaml/kibot_out_csv_report.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
# KiBot output for CSV Report
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/report.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: report
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
output_id: @OUTPUT_ID@
|
||||
options:
|
||||
output: '%f-%I%v.csv'
|
||||
template: @TEMPLATE@
|
||||
exclude_filter: '_mechanical'
|
||||
csv_remove_leading_spaces: true
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: csv_report
|
||||
COMMENT: Report in CSV format
|
||||
DIR: mfg
|
||||
OUTPUT_ID: ''
|
||||
TEMPLATE: total_components
|
||||
51
kibot/yaml/kibot_out_csv_testpoints.yaml
Normal file
51
kibot/yaml/kibot_out_csv_testpoints.yaml
Normal file
@@ -0,0 +1,51 @@
|
||||
# KiBot output for generating CSV Tespoints
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/bom.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: bom
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
output: '%f-testpoints@SUFFIX@%I%v.%x'
|
||||
csv:
|
||||
hide_pcb_info: True
|
||||
hide_stats_info: True
|
||||
pre_transform: ['_kicost_rename']
|
||||
exclude_filter: '@EXCLUDE_FILTER@'
|
||||
dnf_filter: '_null'
|
||||
exclude_marked_in_sch: false
|
||||
group_fields: []
|
||||
sort_style: ref
|
||||
use_aux_axis_as_origin: true
|
||||
ignore_dnf: false
|
||||
format: CSV
|
||||
footprint_type_values: 'SMT,THRU,'
|
||||
columns:
|
||||
- field: References
|
||||
name: Testpoint Ref.
|
||||
- field: Net Name
|
||||
name: Net
|
||||
- field: Net Class
|
||||
- field: Footprint X
|
||||
name: X
|
||||
- field: Footprint Y
|
||||
name: Y
|
||||
- field: Footprint Side
|
||||
name: Side
|
||||
- field: Footprint Type
|
||||
name: Pad Type
|
||||
- field: Value
|
||||
- field: Footprint
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: csv_testpoints
|
||||
COMMENT: Testpoint report in CSV format
|
||||
DIR: Testing/Testpoints
|
||||
SUFFIX: ""
|
||||
EXCLUDE_FILTER: only_testpoints
|
||||
45
kibot/yaml/kibot_out_csv_testpoints_simple.yaml
Normal file
45
kibot/yaml/kibot_out_csv_testpoints_simple.yaml
Normal file
@@ -0,0 +1,45 @@
|
||||
# KiBot output for generating CSV Tespoints
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/bom.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: bom
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
output: '%f-testpoints@SUFFIX@%I%v.%x'
|
||||
csv:
|
||||
hide_pcb_info: True
|
||||
hide_stats_info: True
|
||||
pre_transform: ['_kicost_rename']
|
||||
exclude_filter: '@EXCLUDE_FILTER@'
|
||||
dnf_filter: '_null'
|
||||
exclude_marked_in_sch: false
|
||||
group_fields: []
|
||||
sort_style: ref
|
||||
use_aux_axis_as_origin: true
|
||||
ignore_dnf: false
|
||||
format: CSV
|
||||
footprint_type_values: 'SMT,THRU,'
|
||||
right_digits: 2
|
||||
columns:
|
||||
- field: References
|
||||
name: Ref.
|
||||
- field: Net Label
|
||||
name: Net
|
||||
- field: Footprint X
|
||||
name: X [mm]
|
||||
- field: Footprint Y
|
||||
name: Y [mm]
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: csv_testpoints
|
||||
COMMENT: Testpoint report in CSV format
|
||||
DIR: Testing/Testpoints
|
||||
SUFFIX: ""
|
||||
EXCLUDE_FILTER: only_testpoints
|
||||
30
kibot/yaml/kibot_out_excellon_drill.yaml
Normal file
30
kibot/yaml/kibot_out_excellon_drill.yaml
Normal file
@@ -0,0 +1,30 @@
|
||||
# KiBot output for generating drill Gerber files
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/excellon.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: excellon
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
generate_drill_files: @GENERATE_DRILL@
|
||||
pth_and_npth_single_file: @PTH_NPTH@
|
||||
pth_id: '-pth'
|
||||
npth_id: '-npth'
|
||||
map: '@MAP_FORMAT@'
|
||||
metric_units: @METRIC_UNITS@
|
||||
use_aux_axis_as_origin: true
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: drl_excellon
|
||||
COMMENT: Drill in Excellon format
|
||||
DIR: mfg/fab/gerbers
|
||||
GENERATE_DRILL: true
|
||||
PTH_NPTH: false
|
||||
MAP_FORMAT: None
|
||||
METRIC_UNITS: true
|
||||
29
kibot/yaml/kibot_out_gerber.yaml
Normal file
29
kibot/yaml/kibot_out_gerber.yaml
Normal file
@@ -0,0 +1,29 @@
|
||||
# KiBot output for generating Gerber files
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/gerber.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: gerber
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
layers: ['copper', 'Edge.Cuts', 'F.Silkscreen', 'F.Mask', 'F.Paste', 'B.Silkscreen', 'B.Mask', 'B.Paste']
|
||||
options:
|
||||
subtract_mask_from_silk: @SUBTRACT_MASK@
|
||||
plot_footprint_refs: @PLOT_REFS@
|
||||
plot_footprint_values: false
|
||||
create_gerber_job_file: false
|
||||
use_aux_axis_as_origin: true
|
||||
use_protel_extensions: @PROTEL_EXTENSIONS@
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: gbr_gerbers
|
||||
COMMENT: Gerbers in GBR format
|
||||
DIR: mfg/fab/gerbers
|
||||
PLOT_REFS: true
|
||||
PROTEL_EXTENSIONS: false
|
||||
SUBTRACT_MASK: false
|
||||
51
kibot/yaml/kibot_out_html_bom.yaml
Normal file
51
kibot/yaml/kibot_out_html_bom.yaml
Normal file
@@ -0,0 +1,51 @@
|
||||
# KiBot output for generating Interactive HTML BoM
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/ibom.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: bom
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
format: HTML
|
||||
html:
|
||||
title: 'Bill of Materials'
|
||||
datasheet_as_link: "Datasheet"
|
||||
lcsc_link: true
|
||||
logo: false
|
||||
style: modern-blue
|
||||
|
||||
group_fields: ['@MPN_FIELD@', 'Value']
|
||||
|
||||
columns:
|
||||
- "Row"
|
||||
- "Quantity Per PCB"
|
||||
- "References"
|
||||
- "Value"
|
||||
- "Datasheet"
|
||||
- "Footprint"
|
||||
- "Description"
|
||||
- "@IPN_FIELD@"
|
||||
- "@MAN_FIELD@"
|
||||
- "@MPN_FIELD@"
|
||||
- "LCSC"
|
||||
# - "arrow#"
|
||||
# - "digikey#"
|
||||
# - "farnell#"
|
||||
# - "mouser#"
|
||||
# - "newark#"
|
||||
# - "rs#"
|
||||
# - "tme#"
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: html_bom
|
||||
COMMENT: BOM in HTML format
|
||||
DIR: mfg/assembly
|
||||
IPN_FIELD: 'Asymworks IPN'
|
||||
MPN_FIELD: 'Manufacturer PN'
|
||||
MAN_FIELD: 'Manufacturer'
|
||||
33
kibot/yaml/kibot_out_html_ibom.yaml
Normal file
33
kibot/yaml/kibot_out_html_ibom.yaml
Normal file
@@ -0,0 +1,33 @@
|
||||
# KiBot output for generating Interactive HTML BoM
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/ibom.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: ibom
|
||||
dir: '@DIR@'
|
||||
category: '@DIR@'
|
||||
options:
|
||||
# extra_data_file: '%F.net'
|
||||
dark_mode: true
|
||||
show_fields: 'Value,Footprint,@IPN_FIELD@,@MPN_FIELD@'
|
||||
group_fields: 'Value,@IPN_FIELD@'
|
||||
show_fabrication: true
|
||||
highlight_pin1: "selected"
|
||||
exclude_filter: '@EXCLUDE_FILTER@'
|
||||
hide_excluded: true
|
||||
forced_name: '@TITLE@'
|
||||
mark_when_checked: 'Placed'
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: html_bom_interactive
|
||||
COMMENT: Interactive BOM in HTML format
|
||||
DIR: mfg/assembly
|
||||
EXCLUDE_FILTER: exclude_testpoints
|
||||
TITLE: ""
|
||||
IPN_FIELD: 'Asymworks IPN'
|
||||
MPN_FIELD: 'Manufacturer PN'
|
||||
23
kibot/yaml/kibot_out_html_kiri.yaml
Normal file
23
kibot/yaml/kibot_out_html_kiri.yaml
Normal file
@@ -0,0 +1,23 @@
|
||||
# KiBot output for diff web page between commits
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/kiri.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: kiri
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
layers: all
|
||||
options:
|
||||
keep_generated: true
|
||||
max_commits: 3
|
||||
revision: 'HEAD'
|
||||
zones: 'global'
|
||||
|
||||
definitions:
|
||||
NAME: html_kiri
|
||||
COMMENT: KiRi webpage
|
||||
DIR: kiri
|
||||
35
kibot/yaml/kibot_out_jlcpcb_bom.yaml
Normal file
35
kibot/yaml/kibot_out_jlcpcb_bom.yaml
Normal file
@@ -0,0 +1,35 @@
|
||||
# KiBot output for generating Bill of Materials in CSV format for JLCPCB
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/bom.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: bom
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
exclude_filter: @EXCLUDE_FILTER@
|
||||
format: CSV
|
||||
csv:
|
||||
hide_pcb_info: true
|
||||
hide_stats_info: true
|
||||
quote_all: true
|
||||
columns:
|
||||
- field: Value
|
||||
name: Comment
|
||||
- field: References
|
||||
name: Designator
|
||||
- Footprint
|
||||
- field: _field_lcsc_part
|
||||
name: 'LCSC Part #'
|
||||
ref_separator: ','
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: jlcpcb_bom
|
||||
COMMENT: Bill of Materials for JLCPCB
|
||||
DIR: mfg/assembly/jlcpcb
|
||||
EXCLUDE_FILTER: only_lcsc_parts
|
||||
48
kibot/yaml/kibot_out_jlcpcb_cpl.yaml
Normal file
48
kibot/yaml/kibot_out_jlcpcb_cpl.yaml
Normal file
@@ -0,0 +1,48 @@
|
||||
# KiBot output for generating Position file in CSV format for JLCPCB
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/position.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
filters:
|
||||
- name: fix_rotation
|
||||
comment: Adjust rotation for JLCPCB
|
||||
type: rot_footprint
|
||||
negative_bottom: false
|
||||
mirror_bottom: true
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: position
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
format: 'CSV'
|
||||
output: '%f-cpl%I%v.%x'
|
||||
separate_files_for_front_and_back: false
|
||||
units: millimeters
|
||||
only_smd: true
|
||||
include_virtual: false
|
||||
exclude_filter: @EXCLUDE_FILTER@
|
||||
pre_transform: '_rot_footprint_jlcpcb'
|
||||
columns:
|
||||
- id: Ref
|
||||
name: Designator
|
||||
- Val
|
||||
- Package
|
||||
- id: PosX
|
||||
name: "Mid X"
|
||||
- id: PosY
|
||||
name: "Mid Y"
|
||||
- id: Rot
|
||||
name: Rotation
|
||||
- id: Side
|
||||
name: Layer
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: jlcpcb_cpl
|
||||
COMMENT: Component Placement for JLCPCB
|
||||
DIR: mfg/assembly/jlcpcb
|
||||
EXCLUDE_FILTER: only_lcsc_parts
|
||||
28
kibot/yaml/kibot_out_jlcpcb_fabpack.yaml
Normal file
28
kibot/yaml/kibot_out_jlcpcb_fabpack.yaml
Normal file
@@ -0,0 +1,28 @@
|
||||
# KiBot output for compressing Fabrication files to a ZIP archive for JLCPCB
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/compress.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: compress
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
output: '%f-Fabpack%I%v.%x'
|
||||
move_files: false
|
||||
files:
|
||||
- from_output: @GERBER_OUTPUT@
|
||||
dest: '/'
|
||||
- from_output: @DRILL_OUTPUT@
|
||||
dest: '/'
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: jlcpcb_fabpack
|
||||
COMMENT: Generates a ZIP file with gerbers and drill for JLCPCB
|
||||
DIR: mfg/fab
|
||||
GERBER_OUTPUT: jlcpcb_gerbers
|
||||
DRILL_OUTPUT: drl_excellon
|
||||
32
kibot/yaml/kibot_out_navigate_results.yaml
Normal file
32
kibot/yaml/kibot_out_navigate_results.yaml
Normal file
@@ -0,0 +1,32 @@
|
||||
# KiBot output for generating an HTML page for navigating the results
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/navigate_results_rb.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: navigate_results_rb
|
||||
# category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
link_from_root: 'index.html'
|
||||
logo: '@LOGO@'
|
||||
logo_force_height: 40
|
||||
logo_url: '@LOGO_URL@'
|
||||
nav_bar: true
|
||||
render_markdown: true
|
||||
display_category_images: false
|
||||
display_kibot_version: false
|
||||
title: '@TITLE@'
|
||||
title_url: '@LOGO_URL@'
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: html_navigate_results
|
||||
COMMENT: Results webpage in HTML format
|
||||
DIR: html
|
||||
TITLE: ''
|
||||
LOGO: ''
|
||||
LOGO_URL: ''
|
||||
18
kibot/yaml/kibot_out_netlist.yaml
Normal file
18
kibot/yaml/kibot_out_netlist.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
# KiBot output for generating netlist in KiCad format
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/netlist.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: netlist
|
||||
options:
|
||||
format: '@FORMAT@'
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: netlist
|
||||
FORMAT: classic
|
||||
COMMENT: Schematic netlist in KiCad format
|
||||
20
kibot/yaml/kibot_out_odb.yaml
Normal file
20
kibot/yaml/kibot_out_odb.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
# KiBot output for generating ODB++ files
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/odb.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: odb
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
dnf_filter: _kibom_dnf_Config
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: zip_odb
|
||||
COMMENT: ODB++ in ZIP format
|
||||
DIR: mfg/fab
|
||||
26
kibot/yaml/kibot_out_panelize.yaml
Normal file
26
kibot/yaml/kibot_out_panelize.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
# KiBot output for generating PCB Panels with KiKit
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/panelize.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
output_id: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: panelize
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
configs: @CONFIG@
|
||||
output: '%f-%I%v.%x'
|
||||
create_preview: true
|
||||
title: '@TITLE@'
|
||||
|
||||
definitions:
|
||||
NAME: panel
|
||||
COMMENT: PCB Panelization
|
||||
CATEGORY: Panels
|
||||
DIR: fab/panel
|
||||
CONFIG: ''
|
||||
TITLE: ''
|
||||
23
kibot/yaml/kibot_out_pcbdraw.yaml
Normal file
23
kibot/yaml/kibot_out_pcbdraw.yaml
Normal file
@@ -0,0 +1,23 @@
|
||||
# KiBot output for generating PCB 2D renders with PcbDraw
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/pcbdraw.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
output_id: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: pcbdraw
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
bottom: @BOTTOM@
|
||||
format: @FORMAT@
|
||||
output: '%f-%I%v.%x'
|
||||
|
||||
definitions:
|
||||
NAME: pcbdraw_top
|
||||
COMMENT: PCB 2D Render (Top)
|
||||
DIR: renders
|
||||
BOTTOM: false
|
||||
117
kibot/yaml/kibot_out_pdf_assembly.yaml
Normal file
117
kibot/yaml/kibot_out_pdf_assembly.yaml
Normal file
@@ -0,0 +1,117 @@
|
||||
# KiBot output for generating Assembly Document in PDF format
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/pcb_print.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: pcb_print
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
colored_vias: false
|
||||
colored_pads: false
|
||||
color_theme: '@COLOR_THEME@'
|
||||
output: '%f-assembly%I%v.%x'
|
||||
format: 'PDF'
|
||||
title: '@DOC_TITLE@ Document'
|
||||
realistic_solder_mask: false
|
||||
dpi: 1200
|
||||
dnf_filter: _kibom_dnf_Config
|
||||
# dnf_filter: '_null'
|
||||
sheet_reference_layout: '@SHEET_WKS@'
|
||||
include_table:
|
||||
outputs:
|
||||
- name: '@NAME_COMP_COUNT@'
|
||||
text_alignment: 'left'
|
||||
invert_columns_order: false
|
||||
border_width: 0.4
|
||||
header_rule_width: 0.2
|
||||
horizontal_rule_width: 0
|
||||
vertical_rule_width: 0
|
||||
top_rule_width: 0
|
||||
bottom_rule_width: 0
|
||||
row_spacing: 3
|
||||
column_spacing: 2
|
||||
pages:
|
||||
- scaling: @SCALING@
|
||||
layer_var: ''
|
||||
title: '@DOC_TITLE@'
|
||||
sheet: Top/Bottom View
|
||||
sheet_reference_color: '#000000'
|
||||
layers:
|
||||
- layer: '@LAYER_TITLE_PAGE@'
|
||||
color: '#000000'
|
||||
|
||||
- scaling: @SCALING@
|
||||
layer_var: "Top Assembly (Scale @SCALING@:1)"
|
||||
title: '@DOC_TITLE@'
|
||||
sheet: Top Assembly (Scale @SCALING@:1)
|
||||
sheet_reference_color: '#000000'
|
||||
colored_holes: true
|
||||
holes_color: "#FFFFFF"
|
||||
layers:
|
||||
- layer: Edge.Cuts
|
||||
color: '#000000'
|
||||
- layer: F.Cu
|
||||
color: '#EEDAB5'
|
||||
- layer: F.Mask
|
||||
color: '#B9B9B9'
|
||||
- layer: F.Paste
|
||||
color: '#E1A98E'
|
||||
- layer: F.Silkscreen
|
||||
color: '#DB9DE1'
|
||||
- layer: F.Fab
|
||||
exclude_filter: '@FAB_EXCLUDE_FILTER@'
|
||||
color: '#744679'
|
||||
- layer: '@LAYER_ASSEMBLY_TEXT_TOP@'
|
||||
color: '#000000'
|
||||
- layer: '@LAYER_DNP_CROSS_TOP@'
|
||||
color: '#D63034'
|
||||
|
||||
- scaling: @SCALING@
|
||||
layer_var: "Bottom Assembly (Scale @SCALING@:1)"
|
||||
mirror: true
|
||||
mirror_pcb_text: false
|
||||
title: '@DOC_TITLE@'
|
||||
sheet: Bottom Assembly (Scale @SCALING@:1)
|
||||
sheet_reference_color: '#000000'
|
||||
colored_holes: true
|
||||
holes_color: "#FFFFFF"
|
||||
layers:
|
||||
- layer: Edge.Cuts
|
||||
color: '#000000'
|
||||
- layer: B.Cu
|
||||
color: '#D5DBF4'
|
||||
- layer: B.Mask
|
||||
color: '#B9B9B9'
|
||||
- layer: B.Paste
|
||||
color: '#BCB9DD'
|
||||
- layer: B.Silkscreen
|
||||
color: '#DB9DE1'
|
||||
- layer: B.Fab
|
||||
exclude_filter: '@FAB_EXCLUDE_FILTER@'
|
||||
color: '#400080'
|
||||
- layer: '@LAYER_ASSEMBLY_TEXT_BOTTOM@'
|
||||
color: '#000000'
|
||||
- layer: '@LAYER_DNP_CROSS_BOTTOM@'
|
||||
color: '#D63034'
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: pdf_assembly
|
||||
COMMENT: Assembly document in PDF format
|
||||
DIR: mfg/assembly
|
||||
DOC_TITLE: Assembly
|
||||
COLOR_THEME: Altium_Theme
|
||||
SHEET_WKS: ${KIPRJMOD}/templates/Asymworks_PCB.kicad_wks
|
||||
SCALING: 1.0
|
||||
FAB_EXCLUDE_FILTER: exclude_testpoints
|
||||
LAYER_TITLE_PAGE: AssyTitlePage
|
||||
LAYER_ASSEMBLY_TEXT_TOP: F.AssemblyText
|
||||
LAYER_ASSEMBLY_TEXT_BOTTOM: B.AssemblyText
|
||||
LAYER_DNP_CROSS_TOP: F.DNP
|
||||
LAYER_DNP_CROSS_BOTTOM: B.DNP
|
||||
NAME_COMP_COUNT: csv_comp_count
|
||||
234
kibot/yaml/kibot_out_pdf_fabrication.yaml
Normal file
234
kibot/yaml/kibot_out_pdf_fabrication.yaml
Normal file
@@ -0,0 +1,234 @@
|
||||
# KiBot output for generating Fabrication Document in PDF format
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/pcb_print.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: pcb_print
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
colored_pads: false
|
||||
colored_vias: false
|
||||
color_theme: '@COLOR_THEME@'
|
||||
output: '%f-fabrication%I%v.%x'
|
||||
format: 'PDF'
|
||||
title: '@DOC_TITLE@ Document'
|
||||
realistic_solder_mask: false
|
||||
dpi: 1200
|
||||
dnf_filter: _kibom_dnf_Config
|
||||
frame_plot_mechanism: 'internal'
|
||||
sheet_reference_layout: '@SHEET_WKS@'
|
||||
drill:
|
||||
unify_pth_and_npth: '@PTH_NPTH@'
|
||||
group_slots_and_round_holes: @GROUP_ROUND_SLOTS@
|
||||
include_table:
|
||||
outputs:
|
||||
- name: '@NAME_TP_TOP@'
|
||||
text_alignment: 'left'
|
||||
invert_columns_order: false
|
||||
border_width: 0.4
|
||||
header_rule_width: 0.2
|
||||
horizontal_rule_width: 0
|
||||
vertical_rule_width: 0.2
|
||||
top_rule_width: 0.2
|
||||
bottom_rule_width: 0.2
|
||||
column_spacing: 2
|
||||
force_font_width: 1.27 # mm
|
||||
|
||||
- name: '@NAME_TP_BOTTOM@'
|
||||
text_alignment: 'right'
|
||||
invert_columns_order: true
|
||||
border_width: 0.4
|
||||
header_rule_width: 0.2
|
||||
horizontal_rule_width: 0
|
||||
vertical_rule_width: 0.2
|
||||
top_rule_width: 0.2
|
||||
bottom_rule_width: 0.2
|
||||
column_spacing: 2
|
||||
force_font_width: 1.27 # mm
|
||||
|
||||
- name: '@NAME_IMPEDANCE_TABLE@'
|
||||
text_alignment: 'left'
|
||||
invert_columns_order: false
|
||||
border_width: 0.4
|
||||
header_rule_width: 0.2
|
||||
horizontal_rule_width: 0
|
||||
vertical_rule_width: 0.2
|
||||
top_rule_width: 0.2
|
||||
bottom_rule_width: 0.2
|
||||
row_spacing: 3
|
||||
column_spacing: 2
|
||||
row_spacing: 3
|
||||
|
||||
- name: '@NAME_DRILL_TABLE@'
|
||||
text_alignment: 'left'
|
||||
invert_columns_order: false
|
||||
border_width: 0.4
|
||||
header_rule_width: 0.2
|
||||
horizontal_rule_width: 0
|
||||
vertical_rule_width: 0.2
|
||||
top_rule_width: 0.2
|
||||
bottom_rule_width: 0.2
|
||||
row_spacing: 3
|
||||
column_spacing: 2
|
||||
force_font_width: 1 # mm
|
||||
|
||||
pages:
|
||||
- scaling: @SCALING@
|
||||
title: '@DOC_TITLE@'
|
||||
sheet: 'Top Fabrication (Scale @SCALING@:1)'
|
||||
layer_var: 'Top Fabrication (Scale @SCALING@:1)'
|
||||
sheet_reference_color: '#000000'
|
||||
colored_holes: true
|
||||
holes_color: "#FFFFFF"
|
||||
layers:
|
||||
- layer: Edge.Cuts
|
||||
color: '#000000'
|
||||
- layer: F.Cu
|
||||
color: '#F2F2F2'
|
||||
- layer: F.Mask
|
||||
color: '#E2E2E2'
|
||||
- layer: F.Paste
|
||||
color: '#E2E2E2'
|
||||
- layer: F.Silkscreen
|
||||
color: '#DBDBDB'
|
||||
- layer: F.Fab
|
||||
plot_footprint_refs: false
|
||||
plot_footprint_values: false
|
||||
color: '#818181'
|
||||
- layer: F.Dimensions
|
||||
color: '#000000'
|
||||
|
||||
- scaling: @SCALING@
|
||||
mirror: true
|
||||
mirror_pcb_text: false
|
||||
title: '@DOC_TITLE@'
|
||||
sheet: 'Bottom Fabrication (Scale @SCALING@:1)'
|
||||
layer_var: 'Bottom Fabrication (Scale @SCALING@:1)'
|
||||
sheet_reference_color: '#000000'
|
||||
colored_holes: true
|
||||
holes_color: "#FFFFFF"
|
||||
layers:
|
||||
- layer: Edge.Cuts
|
||||
color: '#000000'
|
||||
- layer: B.Cu
|
||||
color: '#F2F2F2'
|
||||
- layer: B.Mask
|
||||
color: '#E2E2E2'
|
||||
- layer: B.Paste
|
||||
color: '#E2E2E2'
|
||||
- layer: B.Silkscreen
|
||||
color: '#DBDBDB'
|
||||
- layer: B.Fab
|
||||
plot_footprint_refs: false
|
||||
plot_footprint_values: false
|
||||
color: '#818181'
|
||||
- layer: B.Dimensions
|
||||
color: '#000000'
|
||||
|
||||
- scaling: @SCALING@
|
||||
title: '@DOC_TITLE@'
|
||||
sheet: 'Drill Drawing (%lp)'
|
||||
layer_var: 'Drill Drawing %lp (Scale @SCALING@:1)'
|
||||
sheet_reference_color: '#000000'
|
||||
colored_holes: true
|
||||
holes_color: "#FFFFFF"
|
||||
repeat_for_layer: '@LAYER_DRILL_MAP@'
|
||||
repeat_layers: 'drill_pairs'
|
||||
layers:
|
||||
- layer: '@LAYER_DRILL_MAP@'
|
||||
color: '#000000'
|
||||
- layer: 'Edge.Cuts'
|
||||
color: '#000000'
|
||||
|
||||
- scaling: @SCALING@
|
||||
title: '@DOC_TITLE@'
|
||||
sheet: 'Top Test Points (Scale @SCALING@:1)'
|
||||
layer_var: 'Top Test Points (Scale @SCALING@:1)'
|
||||
sheet_reference_color: '#000000'
|
||||
colored_holes: true
|
||||
holes_color: "#FFFFFF"
|
||||
layers:
|
||||
- layer: Edge.Cuts
|
||||
color: '#000000'
|
||||
- layer: F.Cu
|
||||
color: '#E5E5E5'
|
||||
- layer: F.Mask
|
||||
color: '#CECECE'
|
||||
- layer: F.Paste
|
||||
color: '#CECECE'
|
||||
- layer: F.Silkscreen
|
||||
color: '#C7C7C7'
|
||||
- layer: F.Fab
|
||||
exclude_filter: '@FAB_EXCLUDE_FILTER@'
|
||||
plot_footprint_values: false
|
||||
sketch_pads_on_fab_layers: false
|
||||
color: '#E10000'
|
||||
- layer: '@LAYER_TP_LIST_TOP@'
|
||||
color: '#000000'
|
||||
|
||||
- scaling: @SCALING@
|
||||
mirror : true
|
||||
mirror_pcb_text: true
|
||||
title: '@DOC_TITLE@'
|
||||
sheet: 'Bottom Test Points (Scale @SCALING@:1)'
|
||||
layer_var: 'Bottom Test Points (Scale @SCALING@:1)'
|
||||
sheet_reference_color: '#000000'
|
||||
colored_holes: true
|
||||
holes_color: "#FFFFFF"
|
||||
layers:
|
||||
- layer: Edge.Cuts
|
||||
color: '#000000'
|
||||
- layer: B.Cu
|
||||
color: '#E5E5E5'
|
||||
- layer: B.Mask
|
||||
color: '#CECECE'
|
||||
- layer: B.Paste
|
||||
color: '#CECECE'
|
||||
- layer: B.Silkscreen
|
||||
color: '#C7C7C7'
|
||||
- layer: B.Fab
|
||||
exclude_filter: '@FAB_EXCLUDE_FILTER@'
|
||||
plot_footprint_values: false
|
||||
sketch_pads_on_fab_layers: false
|
||||
color: '#0B00CC'
|
||||
- layer: '@LAYER_TP_LIST_BOTTOM@'
|
||||
color: '#000000'
|
||||
|
||||
- scaling: @SCALING@
|
||||
sheet: '%ln (Scale @SCALING@:1)'
|
||||
layer_var: '%ln (Scale @SCALING@:1)'
|
||||
title: '@DOC_TITLE@'
|
||||
sheet_reference_color: '#000000'
|
||||
colored_holes: true
|
||||
holes_color: "#FFFFFF"
|
||||
repeat_for_layer: 'F.Cu'
|
||||
repeat_layers: 'copper'
|
||||
layers:
|
||||
- layer: Edge.Cuts
|
||||
color: '#000000'
|
||||
- layer: 'F.Cu'
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: pdf_fabrication
|
||||
COMMENT: Fabrication document in PDF format
|
||||
DIR: mfg/fab
|
||||
DOC_TITLE: Fabrication
|
||||
COLOR_THEME: Altium_Theme
|
||||
SHEET_WKS: ${KIPRJMOD}/templates/Asymworks_PCB.kicad_wks
|
||||
SCALING: 1.0
|
||||
FAB_EXCLUDE_FILTER: only_testpoints
|
||||
LAYER_DRILL_MAP: DrillMap
|
||||
LAYER_TP_LIST_TOP: F.TestPointList
|
||||
LAYER_TP_LIST_BOTTOM: B.TestPointList
|
||||
PTH_NPTH: 'yes'
|
||||
GROUP_ROUND_SLOTS: true
|
||||
NAME_TP_TOP: csv_testpoints_top
|
||||
NAME_TP_BOTTOM: csv_testpoints_bottom
|
||||
NAME_IMPEDANCE_TABLE: csv_impedance_table
|
||||
NAME_DRILL_TABLE: csv_drill_table
|
||||
25
kibot/yaml/kibot_out_pdf_schematic.yaml
Normal file
25
kibot/yaml/kibot_out_pdf_schematic.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
# KiBot output for generating schematics in PDF format
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/pdf_sch_print.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: pdf_sch_print
|
||||
dir: '@DIR@'
|
||||
category: '@DIR@'
|
||||
options:
|
||||
background_color: false
|
||||
color_theme: '@COLOR_THEME@'
|
||||
default_font: '@DEFAULT_FONT@'
|
||||
sheet_reference_layout: '@SHEET_WKS@'
|
||||
|
||||
definitions:
|
||||
NAME: pdf_schematic
|
||||
COMMENT: Schematic in PDF format
|
||||
COLOR_THEME: Altium_Theme
|
||||
DEFAULT_FONT: Arial
|
||||
DIR: schematic
|
||||
SHEET_WKS: ${KIPRJMOD}/templates/Asymworks_SCH.kicad_wks
|
||||
45
kibot/yaml/kibot_out_png_3d_viewer.yaml
Normal file
45
kibot/yaml/kibot_out_png_3d_viewer.yaml
Normal file
@@ -0,0 +1,45 @@
|
||||
# KiBot output for 3D Viewer renders in PNG format
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/render_3d.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: render_3d
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
output: '%f-@SUFFIX@%I%v.%x'
|
||||
auto_crop: true
|
||||
enable_crop_workaround: true
|
||||
rotate_x: @ROTATE_X@
|
||||
rotate_y: @ROTATE_Y@
|
||||
rotate_z: @ROTATE_Z@
|
||||
zoom: @ZOOM@
|
||||
height: @HEIGHT@
|
||||
width: @WIDTH@
|
||||
view: '@VIEW@'
|
||||
ray_tracing: @RAYTRACING@
|
||||
force_stackup_colors: true
|
||||
orthographic: true
|
||||
transparent_background: true
|
||||
transparent_background_color: '@KEY_COLOR@'
|
||||
transparent_background_fuzz: 40
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: png_3d_viewer
|
||||
COMMENT: 3D viewer PCB render in PNG format
|
||||
DIR: renders
|
||||
SUFFIX: ""
|
||||
VIEW: top
|
||||
RAYTRACING: true
|
||||
ROTATE_X: 0
|
||||
ROTATE_Y: 0
|
||||
ROTATE_Z: 0
|
||||
ZOOM: 0
|
||||
HEIGHT: 2000
|
||||
WIDTH: 2000
|
||||
KEY_COLOR: '#00FF00'
|
||||
19
kibot/yaml/kibot_out_step.yaml
Normal file
19
kibot/yaml/kibot_out_step.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
# KiBot output for generating PCB 3D model in STEP format
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/step.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: step
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
output: '%f%I%v.%x'
|
||||
|
||||
definitions:
|
||||
NAME: step
|
||||
COMMENT: PCB 3D model in STEP format
|
||||
DIR: 3d_model
|
||||
27
kibot/yaml/kibot_out_txt_report.yaml
Normal file
27
kibot/yaml/kibot_out_txt_report.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
# KiBot output for TXT Report (e.g. Fabrication/Assembly notes)
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/report.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: report
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
output_id: @OUTPUT_ID@
|
||||
options:
|
||||
output: '%f-%I%v.txt'
|
||||
template: @TEMPLATE@
|
||||
exclude_filter: '_mechanical'
|
||||
mm_digits: 3
|
||||
display_trailing_zeros: True
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: txt_fabrication_notes
|
||||
COMMENT: Report
|
||||
DIR: mfg
|
||||
OUTPUT_ID: _notes
|
||||
TEMPLATE: kibot/templates/fabrication_notes.txt
|
||||
25
kibot/yaml/kibot_pre_draw_stackup.yaml
Normal file
25
kibot/yaml/kibot_pre_draw_stackup.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
# KiBot preflight for Draw Fancy Stackup feature
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/preflights/draw_fancy_stackup.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
preflight:
|
||||
update_xml: true
|
||||
draw_fancy_stackup:
|
||||
gerber: '@GERBER_OUTPUT@'
|
||||
gerber_extension_only: True
|
||||
draw_stackup: True
|
||||
draw_vias: True
|
||||
columns:
|
||||
- 'material'
|
||||
- 'layer'
|
||||
- 'thickness'
|
||||
- 'dielectric'
|
||||
- 'layer_type'
|
||||
note: '@NOTE@'
|
||||
|
||||
...
|
||||
definitions:
|
||||
GERBER_OUTPUT: gbr_gerbers
|
||||
NOTE: external layer thicknesses are specified after plating
|
||||
20
kibot/yaml/kibot_pre_drc_report.yaml
Normal file
20
kibot/yaml/kibot_pre_drc_report.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
# KiBot preflight for generating DRC reports
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/preflights/drc.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
preflight:
|
||||
check_zone_fills: @CHECK_ZONE_FILLS@
|
||||
drc:
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
dont_stop: true
|
||||
format: 'HTML, RPT'
|
||||
output: 'report_%f-%i%I%v.%x'
|
||||
|
||||
...
|
||||
definitions:
|
||||
CHECK_ZONE_FILLS: true
|
||||
CATEGORY: Schematic
|
||||
DIR: reports
|
||||
17
kibot/yaml/kibot_pre_erc_report.yaml
Normal file
17
kibot/yaml/kibot_pre_erc_report.yaml
Normal file
@@ -0,0 +1,17 @@
|
||||
# KiBot preflight for generating ERC reports
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/preflights/erc.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
preflight:
|
||||
erc:
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
format: 'HTML, RPT'
|
||||
output: 'report_%f-%i%I%v.%x'
|
||||
|
||||
...
|
||||
definitions:
|
||||
CATEGORY: Schematic
|
||||
DIR: reports
|
||||
75
kibot/yaml/kibot_pre_include_table.yaml
Normal file
75
kibot/yaml/kibot_pre_include_table.yaml
Normal file
@@ -0,0 +1,75 @@
|
||||
# KiBot preflight for Include Table feature
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/preflights/include_table.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
preflight:
|
||||
include_table:
|
||||
outputs:
|
||||
- name: '@NAME_TP_TOP@'
|
||||
text_alignment: 'left'
|
||||
invert_columns_order: false
|
||||
border_width: 0.2
|
||||
header_rule_width: 0.2
|
||||
horizontal_rule_width: 0
|
||||
vertical_rule_width: 0
|
||||
top_rule_width: 0
|
||||
bottom_rule_width: 0
|
||||
column_spacing: 1
|
||||
# force_font_width: 1.27 # mm
|
||||
|
||||
- name: '@NAME_TP_BOTTOM@'
|
||||
text_alignment: 'right'
|
||||
invert_columns_order: true
|
||||
border_width: 0.2
|
||||
header_rule_width: 0.2
|
||||
horizontal_rule_width: 0
|
||||
vertical_rule_width: 0
|
||||
top_rule_width: 0
|
||||
bottom_rule_width: 0
|
||||
column_spacing: 1
|
||||
# force_font_width: 1.27 # mm
|
||||
|
||||
- name: '@NAME_COMP_COUNT@'
|
||||
text_alignment: 'left'
|
||||
invert_columns_order: false
|
||||
border_width: 0.2
|
||||
header_rule_width: 0.2
|
||||
horizontal_rule_width: 0
|
||||
vertical_rule_width: 0
|
||||
top_rule_width: 0
|
||||
bottom_rule_width: 0
|
||||
row_spacing: 3
|
||||
column_spacing: 1
|
||||
|
||||
- name: '@NAME_CSV_DRILL_TABLE@'
|
||||
text_alignment: 'left'
|
||||
invert_columns_order: false
|
||||
border_width: 0.2
|
||||
header_rule_width: 0.2
|
||||
horizontal_rule_width: 0
|
||||
vertical_rule_width: 0
|
||||
top_rule_width: 0
|
||||
bottom_rule_width: 0
|
||||
row_spacing: 3
|
||||
column_spacing: 1
|
||||
|
||||
- name: '@NAME_IMPEDANCE_TABLE@'
|
||||
text_alignment: 'left'
|
||||
invert_columns_order: false
|
||||
border_width: 0.2
|
||||
header_rule_width: 0.2
|
||||
vertical_rule_width: 0
|
||||
top_rule_width: 0
|
||||
bottom_rule_width: 0
|
||||
row_spacing: 3
|
||||
column_spacing: 1
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME_TP_TOP: csv_testpoints_top
|
||||
NAME_TP_BOTTOM: csv_testpoints_bottom
|
||||
NAME_COMP_COUNT: csv_comp_count
|
||||
NAME_CSV_DRILL_TABLE: csv_drill_table
|
||||
NAME_IMPEDANCE_TABLE: csv_impedance_table
|
||||
132
kibot/yaml/kibot_pre_set_text_variables.yaml
Normal file
132
kibot/yaml/kibot_pre_set_text_variables.yaml
Normal file
@@ -0,0 +1,132 @@
|
||||
# KiBot preflight for setting Text Variables
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/preflights/set_text_variables.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
preflight:
|
||||
update_xml: true
|
||||
set_text_variables:
|
||||
|
||||
# Git-related information
|
||||
- variable: 'REVISION'
|
||||
text: '@REVISION@'
|
||||
- variable: 'RELEASE_STATE'
|
||||
text: '@RELEASE_STATE@'
|
||||
- variable: 'RELEASE_DATE'
|
||||
command: 'git log -1 --format="%ad" --date=short'
|
||||
- variable: 'GIT_HASH_SCH'
|
||||
command: 'git log -1 --format="%h" $KIBOT_SCH_NAME'
|
||||
- variable: 'GIT_HASH_PCB'
|
||||
command: 'git log -1 --format="%h" $KIBOT_PCB_NAME'
|
||||
- variable: 'GIT_HASH'
|
||||
command: 'git log -1 --format="%h"'
|
||||
- variable: 'GIT_URL'
|
||||
text: '@GIT_URL@'
|
||||
|
||||
# Metadata
|
||||
- variable: 'PROJECT_CODE'
|
||||
text: '@PROJECT_CODE@'
|
||||
- variable: 'ASSEMBLY_NUMBER'
|
||||
text: '@ASSEMBLY_NUMBER@'
|
||||
- variable: 'ASSEMBLY_NAME'
|
||||
text: '@ASSEMBLY_NAME@'
|
||||
- variable: 'ASSEMBLY_SCALE'
|
||||
text: '@ASSEMBLY_SCALING@'
|
||||
- variable: 'DWG_NUMBER_PCB'
|
||||
text: '@DWG_NUMBER_PCB@'
|
||||
- variable: 'DWG_NUMBER_SCH'
|
||||
text: '@DWG_NUMBER_SCH@'
|
||||
- variable: 'DWG_TITLE_PCB'
|
||||
text: '@DWG_TITLE_PCB@'
|
||||
- variable: 'DWG_TITLE_SCH'
|
||||
text: '@DWG_TITLE_SCH@'
|
||||
- variable: 'DWG_TITLE_ASSY'
|
||||
text: '@DWG_TITLE_ASSY@'
|
||||
- variable: 'COMPANY'
|
||||
text: '@COMPANY@'
|
||||
- variable: 'DESIGNER'
|
||||
text: '@DESIGNER@'
|
||||
- variable: 'VARIANT'
|
||||
text: '%V'
|
||||
|
||||
# Schematic notes
|
||||
- variable: 'SCHEMATIC_NOTES'
|
||||
expand_in_command: true
|
||||
command: '[ -f "@SCHEMATIC_DIR@/%f-schematic_notes%v.txt" ] && cat "@SCHEMATIC_DIR@/%f-schematic_notes%v.txt" || echo ""'
|
||||
|
||||
# Fabrication notes
|
||||
- variable: 'FABRICATION_NOTES'
|
||||
expand_in_command: true
|
||||
command: '[ -f "@FABRICATION_DIR@/%f-fabrication_notes%v.txt" ] && cat "@FABRICATION_DIR@/%f-fabrication_notes%v.txt" || echo ""'
|
||||
|
||||
# Assembly notes
|
||||
- variable: 'ASSEMBLY_NOTES'
|
||||
expand_in_command: true
|
||||
command: '[ -f "@ASSEMBLY_DIR@/%f-assembly_notes%v.txt" ] && cat "@ASSEMBLY_DIR@/%f-assembly_notes%v.txt" || echo ""'
|
||||
|
||||
# Page titles for automatic ToC
|
||||
- variable: '@SHEET_NAME_VAR@01'
|
||||
text: 'Cover Page'
|
||||
- variable: '@SHEET_NAME_VAR@02'
|
||||
command: '@GET_SHEET_CMD@ 2'
|
||||
- variable: '@SHEET_NAME_VAR@03'
|
||||
command: '@GET_SHEET_CMD@ 3'
|
||||
- variable: '@SHEET_NAME_VAR@04'
|
||||
command: '@GET_SHEET_CMD@ 4'
|
||||
- variable: '@SHEET_NAME_VAR@05'
|
||||
command: '@GET_SHEET_CMD@ 5'
|
||||
- variable: '@SHEET_NAME_VAR@06'
|
||||
command: '@GET_SHEET_CMD@ 6'
|
||||
- variable: '@SHEET_NAME_VAR@07'
|
||||
command: '@GET_SHEET_CMD@ 7'
|
||||
- variable: '@SHEET_NAME_VAR@08'
|
||||
command: '@GET_SHEET_CMD@ 8'
|
||||
- variable: '@SHEET_NAME_VAR@09'
|
||||
command: '@GET_SHEET_CMD@ 9'
|
||||
- variable: '@SHEET_NAME_VAR@10'
|
||||
command: '@GET_SHEET_CMD@ 10'
|
||||
- variable: '@SHEET_NAME_VAR@11'
|
||||
command: '@GET_SHEET_CMD@ 11'
|
||||
- variable: '@SHEET_NAME_VAR@12'
|
||||
command: '@GET_SHEET_CMD@ 12'
|
||||
- variable: '@SHEET_NAME_VAR@13'
|
||||
command: '@GET_SHEET_CMD@ 13'
|
||||
- variable: '@SHEET_NAME_VAR@14'
|
||||
command: '@GET_SHEET_CMD@ 14'
|
||||
- variable: '@SHEET_NAME_VAR@15'
|
||||
command: '@GET_SHEET_CMD@ 15'
|
||||
- variable: '@SHEET_NAME_VAR@16'
|
||||
command: '@GET_SHEET_CMD@ 16'
|
||||
- variable: '@SHEET_NAME_VAR@17'
|
||||
command: '@GET_SHEET_CMD@ 17'
|
||||
- variable: '@SHEET_NAME_VAR@18'
|
||||
command: '@GET_SHEET_CMD@ 18'
|
||||
- variable: '@SHEET_NAME_VAR@19'
|
||||
command: '@GET_SHEET_CMD@ 19'
|
||||
- variable: '@SHEET_NAME_VAR@20'
|
||||
command: '@GET_SHEET_CMD@ 20'
|
||||
|
||||
...
|
||||
definitions:
|
||||
PROJECT_CODE: ''
|
||||
ASSEMBLY_NUMBER: ''
|
||||
ASSEMBLY_NAME: ''
|
||||
ASSEMBLY_SCALING: ''
|
||||
DWG_NUMBER_SCH: ''
|
||||
DWG_TITLE_SCH: ''
|
||||
DWG_NUMBER_PCB: ''
|
||||
DWG_TITLE_PCB: ''
|
||||
DWG_TITLE_ASSY: ''
|
||||
COMPANY: ''
|
||||
DESIGNER: ''
|
||||
REVISION: ''
|
||||
RELEASE_STATE: ''
|
||||
RELEASE_DATE: ''
|
||||
GIT_URL: ''
|
||||
|
||||
SHEET_NAME_VAR: SHEET_NAME_
|
||||
SCRIPTS_DIR: kibot/scripts
|
||||
FABRICATION_DIR: mfg/fab
|
||||
ASSEMBLY_DIR: mfg/assembly
|
||||
GET_SHEET_CMD: python3 @SCRIPTS_DIR@/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p
|
||||
Reference in New Issue
Block a user