36 changed files with 331 additions and 160 deletions
-
1.gitignore
-
13CMakeModules/Txt2C.cmake
-
10common/dialogs/dialog_configure_paths.cpp
-
9eeschema/dialogs/dialog_edit_label.cpp
-
3eeschema/dialogs/dialog_edit_label.h
-
13eeschema/dialogs/dialog_edit_sheet_pin.cpp
-
10eeschema/dialogs/dialog_edit_sheet_pin.h
-
4eeschema/sch_text.cpp
-
4eeschema/sch_text.h
-
3include/dialog_configure_paths.h
-
17pcbnew/CMakeLists.txt
-
8pcbnew/board_connected_item.cpp
-
4pcbnew/board_connected_item.h
-
15pcbnew/class_module.cpp
-
64pcbnew/class_pad.cpp
-
5pcbnew/class_pad.h
-
2pcbnew/class_track.h
-
28pcbnew/class_zone.cpp
-
32pcbnew/class_zone.h
-
2pcbnew/dialogs/dialog_pad_properties_base.cpp
-
2pcbnew/dialogs/dialog_pad_properties_base.fbp
-
75pcbnew/dialogs/panel_setup_rules.cpp
-
3pcbnew/dialogs/panel_setup_rules.h
-
78pcbnew/dialogs/panel_setup_rules_help.txt
-
14pcbnew/drc/drc_rule_parser.cpp
-
4pcbnew/eagle_plugin.cpp
-
2pcbnew/kicad_plugin.cpp
-
2pcbnew/legacy_plugin.cpp
-
2pcbnew/pcad2kicadpcb_plugin/pcb_polygon.cpp
-
36pcbnew/pcb_expr_evaluator.cpp
-
2pcbnew/pcb_parser.cpp
-
4pcbnew/plugins/altium/altium_pcb.cpp
-
12pcbnew/widgets/appearance_controls.cpp
-
2pcbnew/zone_filler.cpp
-
4pcbnew/zone_settings.cpp
-
2pcbnew/zones_test_and_combine_areas.cpp
@ -0,0 +1,13 @@ |
|||
|
|||
# CMake script file to process a text file for use as an immediate string value in C/C++. |
|||
# It escapes double-quotes and then wraps every line in (unescaped) double-quotes. |
|||
|
|||
set( lines "" ) |
|||
file( STRINGS ${inputFile} lines ) |
|||
|
|||
file( WRITE ${outputFile} "// Do not edit this file, it is autogenerated by CMake from a .txt file\n" ) |
|||
|
|||
foreach( line IN LISTS lines ) |
|||
STRING(REGEX REPLACE "\"" "\\\\\"" linem "${line}" ) |
|||
file( APPEND ${outputFile} "\"" "${linem}" "\\n\"\n" ) |
|||
endforeach( line "${lines}" ) |
@ -0,0 +1,78 @@ |
|||
# ---- Top-level Clauses |
|||
|
|||
(version <number>) |
|||
(rule <rule_name> <rule_clause> ...) |
|||
|
|||
|
|||
# ---- Rule Clauses |
|||
|
|||
(constraint <constraint_type> ...) |
|||
(condition "<expression>") |
|||
(layer "<layer_name>") |
|||
|
|||
|
|||
# ---- Constraint Types |
|||
|
|||
clearance annulus_width track_width hole dissallow |
|||
|
|||
|
|||
# ---- Item Types |
|||
|
|||
track via micro_via buried_via |
|||
pad hole graphic text zone |
|||
|
|||
|
|||
# ---- Examples |
|||
|
|||
(rule "copper keepout" |
|||
(constraint disallow track via zone) |
|||
(condition "A.insideArea('zone3')")) |
|||
|
|||
(rule "BGA neckdown" |
|||
(constraint track_width (min 0.2mm) (opt 0.25mm)) |
|||
(constraint clearance (min 0.05) (opt 0.08mm)) |
|||
(condition "A.insideCourtyard('U3')")) |
|||
|
|||
(rule HV |
|||
(constraint clearance (min 1.5mm)) |
|||
(condition "A.netclass == 'HV'")) |
|||
|
|||
(rule HV_HV |
|||
# wider clearance between HV tracks |
|||
(constraint clearance (min "1.5mm + 2.0mm")) |
|||
(condition "A.netclass == 'HV' && B.netclass == 'HV'")) |
|||
|
|||
|
|||
# ---- Notes |
|||
# |
|||
# Version clause must be first clause in file. |
|||
# |
|||
# Use Ctrl+/ to comment or uncomment line(s). |
|||
# |
|||
|
|||
|
|||
# ---- Expression functions |
|||
# |
|||
# All function parameters support simple wildcards ('*' and '?'). |
|||
# |
|||
|
|||
# True if any part of A lies within the given footprint's courtyard. |
|||
|
|||
A.insideCourtyard('<footprint_refdes>') |
|||
|
|||
|
|||
# True if any part of A lies within the given zone's outline. |
|||
|
|||
A.insideArea('<zone_name>') |
|||
|
|||
|
|||
# True if A has a hole which is plated. |
|||
|
|||
A.isPlated() |
|||
|
|||
|
|||
# True if 'A' exists on the given layer. The layer name can be |
|||
# either the name assigned in Board Setup > Board Editor Layers or |
|||
# the canonical name (ie: F.Cu). |
|||
|
|||
A.onLayer('<layer_name>') |
Write
Preview
Loading…
Cancel
Save
Reference in new issue