Mail Archives: geda-user/2016/01/27/16:57:41
--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 "layer" is a well established term for referring to groups of=
=20
objects with a common "z-order". 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 "com=
mon z-order" 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'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'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'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 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 -