www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2016/02/01/05:31:38

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=PBjpswSLNkUElinNaGEpLpxi+HMkT0hHXJ/CkJbJgjA=;
b=na6wVyZU0zV1UmEG7z0a5YMg3O03h9hAMH69wX3jSu7x7O6y4cVpFUj+k2GDvqd9RR
W7xx3uKkkPXS1poHQothfBK3Fe/5plOEjG1Gbr9z7xTYcJuNlmdoTSTMgPdYzJkjjcdi
B6TCH0U9w3VWknEcLGIqiuizoG7VQgZD8KBmxBRWLtL6Jhj96sNndPDe0q3bFSjmvIsM
b0S4i8f8yPP8qkALm7nRawrSd6/hbGnQlbiHkGwx4znuHlKzLKyqPqCkre6g49Qp3Xj5
eYl4X4sxvFgYYNWzDc4oTGZ+nmb5ItrQsPEmSAp/IHCWV6KXBdP7CfJhgGPdrPbtx0QY
yziQ==
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=PBjpswSLNkUElinNaGEpLpxi+HMkT0hHXJ/CkJbJgjA=;
b=ZuAEc7CDT7GFXqDZoEW85rSgtbLEcOHUktBnZvTFzNuAYBkSC4+49O5VPMNhxJXK8T
ZZSWlVQ0ApKgjdTtPbTVB1+7INKun13X66/I3A+X50G9qeieoNLx5IGgn6Y10cQZQ14o
nzN070CzpjMGzQQI1jqqcAE24L4A/BOlnSJtVMXrk8HbcnXZEewruMMINxTGgUa3y9yM
FJjH1BxLOjWYYWbGXlPZriebVpGAuDGAfXGRsNnTdeHZygjaLgwOqdAbwQzRY8QZHolq
SGxU39VJ3W1XD5YmyTopoWY5SZYAsb+pw7zXnhOHtFiGBgSfgfCyrMSWoj43dBbVtaka
kMqw==
X-Gm-Message-State: AG10YOQJm6CJR6suIu8nVb5DVjFDYbVDp6cPcIPPdUSBkPUDR5nryKzqmkwnp+/rAPfZ8A==
X-Received: by 10.194.240.42 with SMTP id vx10mr21502849wjc.38.1454322683056;
Mon, 01 Feb 2016 02:31:23 -0800 (PST)
Date: Mon, 1 Feb 2016 11:31:21 +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] The nature of gEDA layers
Message-Id: <20160201113121.9e1229dc74b565f082c3bfba@gmail.com>
In-Reply-To: <s6nio2d2yr0.fsf@blaulicht.dmz.brux>
References: <alpine DOT DEB DOT 2 DOT 00 DOT 1601180756390 DOT 9035 AT igor2priv>
<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>
<56A961BC DOT 3040405 AT ecosensory DOT com>
<CAJZxidC=nbxAinOtpfGHHqwPXbEMrhfat7jKgA9KBp3EVVg4_Q AT mail DOT gmail DOT com>
<s6nbn863xlu DOT fsf AT blaulicht DOT dmz DOT brux>
<56A9E416 DOT 8080500 AT ecosensory DOT com>
<20160128124020 DOT 8f2f33210481f637a696f5d0 AT gmail DOT com>
<CAJZxidD7=NE+Q3FGOU+ER3Xh7TRskEPRTKa=yrwUm51_VaYw0A AT mail DOT gmail DOT com>
<20160128164922 DOT 7bd920859ab8462f8abb0f40 AT gmail DOT com>
<s6ny4b9r3x7 DOT fsf AT falbala DOT ieap DOT uni-kiel DOT de>
<20160128191943 DOT d3f06f258e112a8d7d532327 AT gmail DOT com>
<s6nio2d2yr0 DOT fsf AT blaulicht DOT dmz DOT brux>
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

> > Geometry of plating between layers depnend on cut out shape which as
> > is now is a drilled hole and it is no problem to figure out shape of
> > plating on board layer. The other direction to draw cut out on board
> > layer and plating between layer on separate layer with same mechanical
> > position is not hard to implement but require drawing primitives on
> > board and plating layer to agree.
> >
> >> Why is the inter-layer connectivity a fundamentally different different
> >> idea?
> >
> > Because drawing primitives added to the inter layer conectivity must
> > match board cut out edges.
> 
> You still want to model a 3D PCB accurately.  But that is not the job of
> the layout program and its core data structures.

In sort of but there are two methods:
  1. To model as it look then manufacturing is done.
  2. It should be possible to deduce how it should look then manufacturing is done.
Then drill size and between which conductive layer hole or cut out should be made it is possible to deduce a accurate 3D pcb model. Your example below should do the trick together with some knowledge of stack up of course.

> Let me draw an example of how I see a via:
> 
> A layout with four copper layers, including a gnd plane on an inner
> layer, and a via with 16mil drill, 10mil annulus on the outer layers
> and 8mil annulus on the inner layers, "+" thermals on the GND plane.
> 
> 
> Layer{name="Vias", connects=("Top", "Mid", "GND", Bot"), Attributes{conductive, elements="THROUGHHOLES"}}
> Layer{name="Top", connects=("Vias"), Attributes{conductive, elements="COMPONENTSIDE"}}
> Layer{name="Mid", connects=("Vias"), Attributes{conductive, elements="INNER"}}
> Layer{name="GND", connects=("Vias"), Attributes{conductive, elements="INNER", planeclearance=8mil}}
> Layer{name="Bot", connects=("Vias"), Attributes{conductive, elements="SOLDERSIDE"}}
> Layer{name="Top:mask", Attributes{elements="COMPONENTSIDE:mask"}}
> Layer{name="Bot:mask", Attributes{elements="SOLDERSIDE:mask"}}
> Layer{name="milling", Attributes{outline}}
> 
> Line{layer="milling", width=1mil, Points{(0,0),(0,1000mil),(1000mil,1000mil),(1000mil,0),(0,0)}}
> Polygon { layer="GND", depth=500, Points{(20mil,20mil), (20mil,990mil), (990mil,990mil), (990mil,20mil)} }
> 
> # a unplaced Via library object (no origin=)
> Group {
>    name="via:signalrouting",
>    Attributes{via="signalrouting"},
>    Line {layer="Vias", width=16mil, Points{(0,0)}, }
>    Line {layer="Top",  width=36mil, depth=100, Points{(0,0)}, }
>    Line {layer="Top",  width=56mil, depth=-200, Points{(0,0)}, Attributes{thermal="clearance"}, }
>    Line {layer="Top:mask", width=42mil, depth=-100, Points{(0,0)}, }
>    Line {layer="Mid",  width=32mil, depth=100, Points{(0,0)}, }
>    Line {layer="Mid",  width=48mil, depth=-200, Points{(0,0)}, Attributes{thermal="clearance"}, }
>    Line {layer="GND",  width=32mil, depth=100, Points{(0,0)}, }
>    Line {layer="GND",  width=48mil, depth=-200, Points{(0,0)}, Attributes{thermal="clearance"}, }
>    Line {layer="Bot",  width=36mil, depth=100, Points{(0,0)}, }
>    Line {layer="Bot:mask", width=42mil, depth=-100, Points{(0,0)}, }
> }
> 
> Group { origin=(x,y),
>       Group{ref="via:signalrouting", origin=(0,0)}
>       Line {layer="GND", width=8mil, depth=200,  Points{(0,-50mil), (0,50mil)}, Attributes{thermal="plus"}, }
>       Line {layer="GND", width=8mil, depth=200,  Points{(-50mil,0), (50mil,0)}, Attributes{thermal="plus"}, }
> }
> 
> 
> 
> 
> 
> -- 
> Stephan


I had time to read your example more careful and could only contribute two meaningful comments:

> Layer{name="Top:mask", Attributes{elements="COMPONENTSIDE:mask"}}
I think the mask and silkscreen if there is one should be referenced to TOP conductive layer instead of COMPONENTSIDE. Reason is multi layer above two layer circuit boards are etched before they are assembled and if mask/silk is referenced to conductive layer file format would allow for embedded component soldered on inner layer before board assembled.

I assume
Line {layer="Vias", width=16mil, depth=200,  Points{(0,-50mil), (0,50mil)}, Attributes{thermal="plus"}, }
there line is place on via layer would make a plated slit instead of a round hole?

I did not get what "depth=200" is for.


Regards Nicklas Karlsson

- Raw text -


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