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]" 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: References: <20160127091746 DOT 1c7a976c2752f913921688ac AT gmail DOT com> <20160127141334 DOT c738feb9dbeb54a7dec3dff8 AT gmail DOT com> <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> X-Mailer: Sylpheed 3.5.0beta1 (GTK+ 2.24.25; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit 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 > > 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