delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2016/01/27/16:57:41

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20120113;
h=mime-version:in-reply-to:references:date:message-id:subject:from:to
:content-type;
bh=NdmkSvo1R/n+J+y23tyJfLgUIjjMD9mqHtIR2wg8azk=;
b=JGZCMKIQJh5l9baonbeOtG4M8bhQRWNiZm/VMVSQwaPJZ6Ffvxg1uroBCr8iursCxE
dPXXxOUIFt/rWUsrg/fnUnSdjUzIon4BlKgIfVthN4eCEe+HH6Qyrj5IuYuj4BtBKJoZ
XP/1bNja7TkY9KAxOMpMmXPDcaVfQO1gjn7ZluBfIUcQYsmzILOvsDLI7fY0yiQtpHwA
8CsexTHtxi5d3YObvo232v4iH5e9ARA1hYqvsdfIE63A4GuEpItPsF+7r0mPfWP38z6U
RpUa+kj84pK8qiM9e/FyBv9C9a4CWIE7jTEPqU0TZaalZwj0UwOyOiWAElT4CSqfSO1d
OnWQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20130820;
h=x-gm-message-state:mime-version:in-reply-to:references:date
:message-id:subject:from:to:content-type;
bh=NdmkSvo1R/n+J+y23tyJfLgUIjjMD9mqHtIR2wg8azk=;
b=dJCE5xUDPYatUeqNQdMo8pZhtONYHJW0Bqj9qaIf5YtG5OJgRuxgQK2yDkHVZYRn51
TDeKrze78VIrNowQlK/O6u4A4iP9HigtEPsSOtdpei/LnWUVcr+xCXmgCOF37PZyWIvB
UZgaitoddiXap7DAYI72x0Iy40XZrFyvnbfmc+q3BDn9OAKisfmZ5ajk49/YwfdOahiX
E24xXXpnDMQJtMkw33Rpwk0mrMUHXyT9gYw8RcPllTsA4JBcKq1xJRZQYBClspYLQRIN
bkXGlPEZQpwyKQNShbk6K2Gp6MQ+p7JkQSH0dB4xrIeuXodT6XRxsw79W05MEylZ9SXG
2Gcw==
X-Gm-Message-State: AG10YOQxQiqQw1YIQa2810ttxDnhMzwJPInbReYvsYpWxxdDBP6Ffvmf7OYJAamYH46yYobvna+9wnyWzAlPWg==
MIME-Version: 1.0
X-Received: by 10.107.25.145 with SMTP id 139mr113662ioz.89.1453931827957;
Wed, 27 Jan 2016 13:57:07 -0800 (PST)
In-Reply-To: <53ABCB1C-0306-4DF8-98A9-88F8CC6B8E80@noqsi.com>
References: <alpine DOT DEB DOT 2 DOT 00 DOT 1601180756390 DOT 9035 AT igor2priv>
<alpine DOT DEB DOT 2 DOT 00 DOT 1601260416150 DOT 9035 AT igor2priv>
<56A751EC DOT 8030402 AT iae DOT nl>
<20160126124701 DOT 0d061912c7e078ced9d4e6cb AT gmail DOT com>
<CANEvwqgs3YFnt7m8mA1DN6X2KdWbyr4zpXCVH321vDo1f7CyxA AT mail DOT gmail DOT com>
<201601261804 DOT u0QI4KEQ009550 AT envy DOT delorie DOT com>
<E7D351BF-5BBB-41AC-B996-D5E27079A82C AT noqsi DOT com>
<CAC4O8c-ZyNnCzCDHXkYYabSD4fG8vf+CKmhMycNJujGMPKzQDQ AT mail DOT gmail DOT com>
<s6nr3h49hrq DOT fsf AT blaulicht DOT dmz DOT brux>
<DDB07351-7C94-4B5C-99FA-83750CD4592A AT noqsi DOT com>
<20160126233332 DOT dec2f06f5c74354a3841989c AT gmail DOT com>
<s6n1t93h4ub DOT fsf AT blaulicht DOT dmz DOT brux>
<20160127091746 DOT 1c7a976c2752f913921688ac AT gmail DOT com>
<s6npowne74w DOT fsf AT blaulicht DOT dmz DOT brux>
<20160127141334 DOT c738feb9dbeb54a7dec3dff8 AT gmail DOT com>
<s6n37tjt1tv DOT fsf AT falbala DOT ieap DOT uni-kiel DOT de>
<56A8F74B DOT 8080304 AT ecosensory DOT com>
<CAC4O8c9UKLsh5FAAwUMEtHThKH-w3gUmCU2i9dRW9igkyRt-TQ AT mail DOT gmail DOT com>
<CAJZxidDmjMtd_fKvR5qZVRa+hwDUbvfaz79oZjkBgDuE1m8RBg AT mail DOT gmail DOT com>
<53ABCB1C-0306-4DF8-98A9-88F8CC6B8E80 AT noqsi DOT com>
Date: Wed, 27 Jan 2016 16:57:07 -0500
Message-ID: <CAJZxidAtors0eGe=oRYvm-n4kHdt1nCXmZw0aqkM736U086+eg@mail.gmail.com>
Subject: Re: [geda-user] The nature of gEDA layers
From: "Chad Parker (parker DOT charles AT gmail DOT com) [via geda-user AT delorie DOT com]" <geda-user AT delorie DOT com>
To: geda-user AT delorie DOT com
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

--001a113fd3e222387a052a57e2e8
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

>
>
> I would suggest that a layer is really more of a container than anything
> else, it is a way of collecting and grouping objects.
>
>
> I would not call that a layer at all. A layer represents a hunk of copper=
,
> epoxy glass, ink, etc. What you=E2=80=99re talking about should be called=
 a
> =E2=80=9Cpattern=E2=80=9D, I think: it edits the arrangement of material =
on one or more
> layers.
>
>
The term "layer" is a well established term for referring to groups of
objects with a common "z-order". A pattern, as you describe it, is also a
collection of objects with out the restriction of those objects having a
common z-order. Both are collections of objects. I realize I neglected to
include "common z-order" in my original statement, apologies. Thank you for
helping me to be more precise with my language.

Layers do not always have physical analogs. When I'm designing boards,
using those fancy expensive commercial packages, I will always include what
I call an assembly layer that contains instructions for the technician that
assembles the board. That layer doesn't end up being physically realized at
all. A layer only represents something with physical significance after it
has been assigned that significance.

I suggest that at the base level, the software be ignorant of that
significance. This allows a layer to signify whatever you want it to. Then
the layers are given significance when interpreted, by DRC, a fab, or
whatever. If you turn off all DRC you should be able to draw anything on
any layer, regardless of whether or not it can be physically realized. What
will pass DRC is a function of the fabrication technology and is subject to
change as technology changes.

> Ultimately the group of objects is interpreted in a particular way when a
> board is fabricated, perhaps as copper, perhaps as a board outline, perha=
ps
> as a silkscreen... or perhaps as something else entirely. Anyway, the poi=
nt
> is that the concept of a layer is really a more general abstraction and t=
he
> physicality of them is an interpretation.
>
>
Nicklas's statement is true: "Every object drawn end up on a layer as one
or more drawing primitives.", but he is referring to an object as an
individual drawing primitive, not a collection of drawing primitives. A
"pattern" may end up placing many primitive objects on many different
layers, but all of those primitive objects end up on layers.

As to whether or not it makes sense to associate a pattern with a layer,
that is an interesting question, and I believe I could make a good argument
for an implementation of patterns in which such association would make
sense. If your pattern is defined not with absolute layer definitions, but
with relative layer definitions, then assigning the base layer of a pattern
to a particular board layer could make sense. Each layer of the pattern is
assigned to a board layer according to the assignment of the base layer. As
an example, consider a pattern with 3 layers, -1, 0, and 1. Assigning such
a patter to layer 5 of a board would map the three pattern layers to layers
4, 5, and 6 of the board, or layers 6, 5, and 4 if the pattern is mirrored.
Such an implementation could offer a great deal of flexibility. Yes, it is
not a complete theory and so has problems, but I think they are problems
that could be solved elegantly by refining the idea of how a pattern
specifies the layers on which its primitives (or sub patterns) are assigned=
.

--Chad

--001a113fd3e222387a052a57e2e8
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote"><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left=
:1px solid rgb(204,204,204);padding-left:1ex"><div style=3D"word-wrap:break=
-word"><div><span><blockquote type=3D"cite"><div dir=3D"ltr"><div><div><div=
><div><div><br></div>I would suggest that a layer is really more of a conta=
iner than anything else, it is a way of collecting and grouping objects.</d=
iv></div></div></div></div></blockquote><div><br></div></span>I would not c=
all that a layer at all. A layer represents a hunk of copper, epoxy glass, =
ink, etc. What you=E2=80=99re talking about should be called a =E2=80=9Cpat=
tern=E2=80=9D, I think: it edits the arrangement of material on one or more=
 layers.</div><div><span><br></span></div></div></blockquote><div><br>The t=
erm &quot;layer&quot; is a well established term for referring to groups of=
=20
objects with a common &quot;z-order&quot;. A pattern, as you describe it, i=
s also a collection of=20
objects with out the restriction of those objects having a common z-order. =
Both are collections of objects. I realize I neglected to include &quot;com=
mon z-order&quot; in my original statement, apologies. Thank you for helpin=
g me to be more precise with my language.<br><br>Layers do not always have =
physical analogs. When I&#39;m designing boards, using those fancy expensiv=
e commercial=20
packages, I will always include what I call an assembly layer that=20
contains instructions for the technician that assembles the board. That lay=
er doesn&#39;t end up being physically realized at all. A layer only repres=
ents something with physical significance after it has been assigned that s=
ignificance. <br><br>I suggest that at the base level, the software be igno=
rant of that significance. This allows a layer to signify whatever you want=
 it to. Then the layers are given significance when interpreted, by DRC, a =
fab, or whatever.  If you turn off all DRC you should be able to draw anyth=
ing on any layer, regardless of whether or not it can be physically realize=
d. What will pass DRC is a function of the fabrication technology and is su=
bject to change as technology changes.<br><blockquote class=3D"gmail_quote"=
 style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);p=
adding-left:1ex"><div style=3D"word-wrap:break-word"><div><span><blockquote=
 type=3D"cite"><div dir=3D"ltr"><div><div><div><div>
 Ultimately the group of objects is interpreted in a particular way when
 a board is fabricated, perhaps as copper, perhaps as a board outline,=20
perhaps as a silkscreen... or perhaps as something else entirely.=20
Anyway, the point is that the concept of a layer is really a more=20
general abstraction and the physicality of them is an interpretation. </div=
></div></div></div></div></blockquote></span></div></div></blockquote><br><=
/div><div>Nicklas&#39;s statement is true: &quot;Every object drawn end up =
on a layer as one or more drawing primitives.&quot;, but he is referring to=
 an object as an individual drawing primitive, not a collection of drawing =
primitives. A &quot;pattern&quot; may end up placing many primitive objects=
 on many different layers, but all of those primitive objects end up on lay=
ers. <br><br>As to whether or not it makes sense to associate a pattern wit=
h a layer, that is an interesting question, and I believe I could make a go=
od argument for an implementation of patterns in which such association  wo=
uld make sense. If your pattern is defined not with absolute layer definiti=
ons, but with relative layer definitions, then assigning the base layer of =
a pattern to a particular board layer could make sense. Each layer of the p=
attern is assigned to a board layer according to the assignment of the base=
 layer. As an example, consider a pattern with 3 layers, -1, 0, and 1. Assi=
gning such a patter to layer 5 of a board would map the three pattern layer=
s to layers 4, 5, and 6 of the board, or layers 6, 5, and 4 if the pattern =
is mirrored. Such an implementation could offer a great deal of flexibility=
. Yes, it is not a complete theory and so has problems, but I think they ar=
e problems that could be solved elegantly by refining the idea of how a pat=
tern specifies the layers on which its primitives (or sub patterns) are ass=
igned.<br><br></div><div>--Chad<br></div><div><br></div></div></div></div>

--001a113fd3e222387a052a57e2e8--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019