X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Virus-Scanned: by amavisd-new (Uni-Kiel/l2ms-sc) From: geda AT psjt DOT org (Stephan =?utf-8?Q?B=C3=B6ttcher?=) To: "Nicklas Karlsson \(nicklas.karlsson17\@gmail.com\) \[via geda-user\@delorie.com\]" Subject: Re: [geda-user] The nature of gEDA layers References: <56A8F74B DOT 8080304 AT ecosensory DOT com> <56A961BC DOT 3040405 AT ecosensory DOT com> <56A9E416 DOT 8080500 AT ecosensory DOT com> <20160128124020 DOT 8f2f33210481f637a696f5d0 AT gmail DOT com> <20160128164922 DOT 7bd920859ab8462f8abb0f40 AT gmail DOT com> <20160128191943 DOT d3f06f258e112a8d7d532327 AT gmail DOT com> <20160201113121 DOT 9e1229dc74b565f082c3bfba AT gmail DOT com> <20160202102831 DOT 87be1281db69271eaf892fc9 AT gmail DOT com> <20160202173714 DOT 071b35be76f3179b3e4f493c AT gmail DOT com> Date: Tue, 02 Feb 2016 18:24:56 +0100 In-Reply-To: <20160202173714.071b35be76f3179b3e4f493c@gmail.com> (Nicklas Karlsson's message of "Tue, 2 Feb 2016 17:37:14 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk "Nicklas Karlsson (nicklas DOT karlsson17 AT gmail DOT com) [via 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