Altium vs KiCad

You can do something very similar if you assign each net with an impedance requirement to a specific netclass. You can then set DRC rules like this:

(version 1)

(rule CLASS1_F
	(condition "A.hasNetclass('CLASS1')")
	(layer "F.Cu")
	(constraint track_width (opt 50mil))
)

(rule CLASS1_In1
	(condition "A.hasNetclass('CLASS1')")
	(layer "In1.Cu")
	(constraint track_width (opt 60mil))
)

(rule CLASS1_In2
	(condition "A.hasNetclass('CLASS1')")
	(layer "In2.Cu")
	(constraint track_width (opt 70mil))
)

(rule CLASS1_B
	(condition "A.hasNetclass('CLASS1')")
	(layer "B.Cu")
	(constraint track_width (opt 80mil))
)

And configure the router to ‘Use netclass width’, and disable ‘Track width from existing track’ (the drop-down and button shown here):

The router will then pick up the required track width every time you start a new segment. The same should work for vias, but I haven’t tried that in a while.

4 Likes