delorie.com/archives/browse.cgi | search |
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=date:from:to:subject:message-id:in-reply-to:references:mime-version | |
:content-type:content-transfer-encoding; | |
bh=HGuWNROfPEUS1+b2pCbnwyDX0UC88Rv28RqkzrloeNU=; | |
b=r1va/UB2j3mGHUa33QKJLABpCdsqB9+JblcKotx3+eTV4pEBcGvNaCqnp/Vfm0wKcW | |
DOz2CHx4k4g/PUgkJ1Zh0c+LVC6guZ2TUc4kFH9bbmcMTC1HOmzZvJBArgwFayXnKdYF | |
aj8Gxzec4Eyxm8wggmT0EGY6OszCXGUG4c2PVu5FKb8nWUidsRSK3qBHoeKdTO73wQzJ | |
SMlMCFnQFBSw9I5QRiA/mblhoS24xjvGFbdHkYv/veEO09c1P6VadzlN6bmUII0fnPI9 | |
xf/jAJsQ5S60e2E3ltaaGAtybn8+V6xHsIRnWbaZgFv7+dR6NZb7I8MDJdBwWG2onBR9 | |
gefg== | |
X-Google-DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; |
d=1e100.net; s=20130820; | |
h=x-gm-message-state:date:from:to:subject:message-id:in-reply-to | |
:references:mime-version:content-type:content-transfer-encoding; | |
bh=HGuWNROfPEUS1+b2pCbnwyDX0UC88Rv28RqkzrloeNU=; | |
b=PueH5F79sZe2cPhr+IjJbQU38Klm4ogTJFzK6eUHmy8xjAQ1KFBQUuIgiEN7hzvnh5 | |
i9i4CH5G+rYU4OTqyThwE/6AJ+McpvrnZSQJvBxsHtVQ7f3wDeThnrw+fRJaiWfTPq1c | |
HlcFZ2DQAJTYBRfeAQuM0VzuMhCQvP2Bi5BetnSCvhPHDIEh4WzImfceER3IGMeuwdf1 | |
StNd2QWNL/EIo9evbb3IMVNOzqCRCi/xjUF1OrlYilOut6Lpghrurou15aBEOabwG+5n | |
vmyXa3sHBk0GtA2AZPYRShEa7Qj2vj/DOBM93m/RmcKAFVM2FtHgQYRYsnB2NXLLEe6S | |
kP2Q== | |
X-Gm-Message-State: | AG10YOTO/iK082+Lrgfmb5iMWm+hENGqP/M9MTYzOxR9+0wp6gntUj4wrxMxBz7xLsR8qw== |
X-Received: | by 10.25.27.76 with SMTP id b73mr1840074lfb.43.1453504357182; |
Fri, 22 Jan 2016 15:12:37 -0800 (PST) | |
Date: | Sat, 23 Jan 2016 00:12:31 +0100 |
From: | "Nicklas Karlsson (nicklas DOT karlsson17 AT gmail DOT com) [via geda-user AT delorie DOT com]" <geda-user AT delorie DOT com> |
To: | geda-user AT delorie DOT com |
Subject: | Re: [geda-user] PCB data structures |
Message-Id: | <20160123001231.5b832fb59d995731f91e2b6f@gmail.com> |
In-Reply-To: | <s6nbn8dvmq7.fsf@falbala.ieap.uni-kiel.de> |
References: | <1512221837 DOT AA25291 AT ivan DOT Harhan DOT ORG> |
<CACwWb3BXbnQXs+DwVVzmC8DrhwOYxPgVyUhZTPL9bM9cJbHimw AT mail DOT gmail DOT com> | |
<20160106164022 DOT D0D4E809D79B AT turkos DOT aspodata DOT se> | |
<20160106180912 DOT 42ddf4079d91384f206b7c35 AT gmail DOT com> | |
<20160106191433 DOT 5dc5cb59 AT jive DOT levalinux DOT org> | |
<20160106202817 DOT 56197b2c539d426a1b724c9e AT gmail DOT com> | |
<568E09ED DOT 1080508 AT m0n5t3r DOT info> | |
<CACwWb3AhSh-+NNu--bVMGZBfjaoA+hHg7gbXnoyNv3oMq=e17g AT mail DOT gmail DOT com> | |
<568E6354 DOT 80302 AT m0n5t3r DOT info> | |
<20160108002640 DOT 03233b24 AT jive DOT levalinux DOT org> | |
<20160108175259 DOT 127a3f073616758434f7edff AT gmail DOT com> | |
<20160109020345 DOT 1e07cb84 AT jive> | |
<CAC4O8c-nqs2+9rgsD-Gsks-wSmJ1eCkJ9PFMi3XqMrYE2FO3Ew AT mail DOT gmail DOT com> | |
<20160109112851 DOT 1129dc38 AT wind DOT levalinux DOT org> | |
<CAC4O8c_tFOOXCA5ABEMuSU8BnXMZWauV+uJYy-TJO7nJYBS9+A AT mail DOT gmail DOT com> | |
<alpine DOT DEB DOT 2 DOT 11 DOT 1601111649470 DOT 5421 AT nimbus> | |
<CAC4O8c-jS6spZU0yh3oZJ02G9GU7pE5hwvP2O_LfC9k6dCD96A AT mail DOT gmail DOT com> | |
<20160122094909 DOT 08704cd6e4dfc8a35e1ac734 AT gmail DOT com> | |
<s6nbn8dvmq7 DOT fsf AT falbala DOT ieap DOT uni-kiel DOT de> | |
X-Mailer: | Sylpheed 3.5.0beta1 (GTK+ 2.24.25; x86_64-pc-linux-gnu) |
Mime-Version: | 1.0 |
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 |
> >> > The PCB layout has an object of type pcb_layout as the root object, which can contain an arbitrary number of pcb_layer objects--which in turn contain the geometric primitives--and pcb_element objects which aren't associated with a layer. Objects of type pcb_polygon can have child objects of type pcb_polygon_hole: > >> > > >> > pcb_layout > >> > +- pcb_layer > >> > +- pcb_arc > >> > +- pcb_line > >> > +- pcb_pad > >> > +- pcb_pin > >> > +- pcb_polygon > >> > +- pcb_polygon_hole > >> > +- pcb_rat > >> > +- pcb_text > >> > +- pcb_via > >> > +- pcb_element > >> > >> Sounds reasonable, and similar to what we have now but with much cleaned up > >> naming and hierarchy. > > > > I would say then looking at data layer by layer there are: arc, line, > > circle, polygon and cutout of these drawing primitives. > > > > Pad/pin/via is a composite of these drawing primitives on different > > layer, this is the case no matter how they are represented. > > I believe it is a mistake to have pcb_layer contain the drawing > primitives. A pcb_via or pcb_element shall contain the same drawing > primitives, for any layers. There may be a (hierarchy of) container(s) > for drawing elements not contained in a pcb_via or pcb_element. pcb_via > and pcb_element shall be subclasses of such containers. Sometimes it is useful with drawing primitives on layers for example then drawing lines on copper layer for connections. It is also useful to place footprint/elements on different layers, as is now top and up side down on bottom. For embedded components there would be a need to place footprints/elements on other copper layers facing up or down. With a container I assume you mean something to collect objects. A footprint may for example have both drawing primitives on differenet layers and padstack containers for the pins/pads. As is now footprint/element container have lines and pads/pins but no padstack container. > > > A hole is equal to a round cut out usually thru all board layers with > > or without plating. Text is probably also a composite of other drawing > > primitives. > > A hole is a connection between layers. No further assumptions about > holes is needed before an export HID or a DRC ruleset is called. > > -- > Stephan A plated hole is a connection between layers but sometimes there is a need for other shapes than round and a cutout make sense for other kind of holes. As is today only possible cut out is a hole thru all layers with or without plating. Nicklas Karlsson
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |