Mail Archives: geda-user/2016/02/02/12:25:25
"Nicklas Karlsson (nicklas DOT karlsson17 AT gmail DOT com) [via
geda-user AT delorie DOT com]" <geda-user AT delorie DOT com> writes:
>> Levels/depths are the drawing order of graphics items within a single
>> layer. What item shall be cleared by a line clearance, and what item
>> shall persist?
>>
>> 1st draw a DARK polygon
>> 2nd draw a CLEAR circle areound a via hole
>> 3rd draw a DARK circle and a DARK line wowards that circle
>>
>> The CLEAR circle must not clear the via pad nor the line, but it must
>> clear the polygon. The standard library will assign level numbers to
>> certain classes of graphical items, with gaps for special needs.
>
> Now I got it, depth is useful to mix dark and clear. It is useful for
> example to draw thermals but ror the most cases it should not be
> needed.
Almost every copper trace will be have a polygon clearance attached.
Line {
Attribute{routingstyle="default"},
Path{(x1, y1), (y2,y2), ... },
Stroke{ layer="top", ends=round, depth=100, width=10mil },
Stroke{ layer="top", ends=round, depth=-500, width=30mil },
}
A polygon would be at depth=900. The Line{} first clears a hole into
the polygon and then draws a trace into the hole. The hole would not
cut through other lines or pads, only through the polygon below.
Or a Via:
Line {
Attribute{viastyle="default"},
Path{(x, y)}
Stroke{ layer="plated", ends=round, width=16mil },
Stroke{ layer="top", ends=round, depth=100, width=36mil },
Stroke{ layer="top", ends=round, depth=-500, width=56mil },
Stroke{ layer="bot", ends=round, depth=100, width=36mil },
Stroke{ layer="bot", ends=round, depth=-500, width=56mil },
Stroke{ layer="gnd", ends=round, depth=100, width=36mil },
Stroke{ layer="gnd", ends=round, depth=-500, width=56mil },
Stroke{ layer="sig", ends=round, depth=100, width=36mil },
Stroke{ layer="sig", ends=round, depth=-500, width=56mil },
Stroke{ layer="topmask", ends=round, depth=-100, width=42mil},
Stroke{ layer="botmask", ends=round, depth=-100, width=42mil},
}
Maybe it is more efficient for the geometry engine to allow references
to routing style libraries.
Line {
Attribute{routingstyle="default"},
name="default_trace",
Stroke{ layer="top", ends=round, depth=100, width=10mil },
Stroke{ layer="top", ends=round, depth=-500, width=30mil },
}
Line {
Path{(x1, y1), (y2,y2), ... },
ref="default_trace",
}
Same for Vias stacks. If you edit such an object, it would make a copy.
But if you edit the routing style, all objects still referring to it
would change. The routing style tool would ask if you intend to change
those 423 objects, or better bump the serial number of the style and
keep those objects to refer to the old values.
> I guess depth is in sort of local to avoid interleaved order for overlapping drawing drawing primitives?
>
> Nicklas Karlsson
--
Stephan
- Raw text -