Include the net's traces as conductors alongside zone fills
Straight tracks become capsule outline polygons (rectangle + semicircular caps), arc tracks annular bands with end caps, both tessellated to the same sagitta tolerance as zone-fill arcs; they merge into the per-layer copper next to the fills, so rasterization, via stitching, the solver and the plots handle them unchanged. Trace-only layers and trace-only nets now qualify as candidates. Dialog checkbox (on by default, INCLUDE_TRACKS) toggles them per run. Hole-less polygons (every track outline) now paint the layer mask directly instead of allocating a full-frame temporary each. Tests: exact N-cell chain on a rasterized capsule, analytic annular- sector convergence for an arc trace, capsule/arc-band outline geometry invariants, collinear-arc degradation, and fill+trace union solve. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -35,6 +35,7 @@ class Selection:
|
||||
contact_model: str = "uniform"
|
||||
include_buildup: bool = False
|
||||
extra_cu_um: float = 0.0
|
||||
include_tracks: bool = True
|
||||
|
||||
|
||||
class _Dialog(QDialog):
|
||||
@@ -59,6 +60,11 @@ class _Dialog(QDialog):
|
||||
self.layer_list.setMaximumHeight(120)
|
||||
form.addRow("Layers:", self.layer_list)
|
||||
|
||||
self.tracks_check = QCheckBox("include the net's traces "
|
||||
"(tracks + arcs)")
|
||||
self.tracks_check.setChecked(config.INCLUDE_TRACKS)
|
||||
form.addRow("Conductors:", self.tracks_check)
|
||||
|
||||
self.contact1_box = QComboBox()
|
||||
self.contact2_box = QComboBox()
|
||||
form.addRow(f"V+ ({e1_label}):", self.contact1_box)
|
||||
@@ -199,7 +205,8 @@ class _Dialog(QDialog):
|
||||
freq_hz=freq,
|
||||
contact_model=self.model_box.currentData(),
|
||||
include_buildup=self.buildup_check.isChecked(),
|
||||
extra_cu_um=extra_cu)
|
||||
extra_cu_um=extra_cu,
|
||||
include_tracks=self.tracks_check.isChecked())
|
||||
|
||||
def _try_accept(self) -> None:
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user