X-Authentication-Warning: delorie.com: mail set sender to geda-help-bounces using -f X-Recipient: geda-help AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prochac.sk; s=default; t=1469829812; bh=ZnTS17Ki6vDqBoBvYcgeHZnm+FbaHcthDl7nQdkzaYI=; h=Subject:To:References:From:Date:In-Reply-To; b=FUzFA1iPUPmwJ6lwLxhS3ZWlzo0jDEa0FDjTwm7r9dYQ3CMWrwX4x1862RkaBBI6e WgSityfxp+Hz8cS5KiOVAJFv2Efga7oXxVgzPQJUTO0/bi+bHB2xstcsg79a4rae6t PsBYML9m8QUN92j/hvvvR/Ew6K5hQ04F6qCMf058= X-Clacks-Overhead: "GNU Terry Pratchett" Subject: Re: [geda-help] pcb: blind via To: geda-help AT delorie DOT com References: <20160728160657 DOT 7f68f787 AT debian> <20160728174027 DOT 453b2b41 AT debian DOT olsr> <20160728192015 DOT 4fc84ce8 AT debian DOT olsr> <201607282248 DOT u6SMmTxw006065 AT envy DOT delorie DOT com> From: "Milan Prochac (milan AT prochac DOT sk) [via geda-help AT delorie DOT com]" Message-ID: Date: Sat, 30 Jul 2016 00:03:27 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <201607282248.u6SMmTxw006065@envy.delorie.com> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms070908020105020300080409" X-Spam-Status: No, score=-101.0 required=5.0 tests=ALL_TRUSTED, USER_IN_WHITELIST autolearn=ham autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on angua.bastl.sk Reply-To: geda-help AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-help AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk This is a cryptographically signed message in MIME format. --------------ms070908020105020300080409 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: quoted-printable > * How is a blind/buried via represented internally? Can that > represent all possibilities that a FAB house can make? > > * How do you edit them in the GUI, or even draw them on the screen? > > * What changes to the file format will be needed? Are they backward > compatible? > > * What about DRC, optimizers, autorouters, and exporters? Do they > need changes to handle them? > > * What about the gerber exports? How do we break down the drills so > that FABs "just know" what to do with them? > > What makes this a tough problem is that you have to have at least a > *bad* solution to *all* of the above, to be able to use it at all. A > *good* solution still needs to cover *all* the above. Getting part > way through and hitting a problem can be very discouraging, but if > you're up to the challenge, we can point out the specific source files > you'll need to deal with. > You cannot expect that one developer will cover all areas. The common=20 problem with PCB development is that partial or incomplete features are=20 rejected/ignored leading to no progress. Step-by-step development would be more convenient. Create minimal set=20 features and later improve them. Isn't this essence of "development"? We can start with easy parts: 1. internal representation. Basically, blind/buried vias should define=20 the connection from one layer to another. There is only one question to=20 be answered - do we need just single such connection per via or these=20 connections can be stacked (i.e layers 1-2 and layers 4-5-6 are=20 interconnected in one via)? Or enable via stacking (currently not=20 allowed) if they do not overlap? I personally prefer single connection=20 per via and allow via stacking (I feel it more natural). 2. File format - PCB has implemented the mechanism to identify the=20 minimal required version of file to be saved. If new feature is not=20 used, older format is used. It is implemented for polygon holes already, = it can be easily extended for blind/buried vias. If no blind/buried vias = are used, PCB file stays backward compatible. The features above are easy to implement. In fact, I already did it in=20 last hour (version with single connection per via) The minimal user interface should consist of: 3. several actions like SetViaStyle(buried,1-5) or Select(BuriedVias),=20 including undo... 4. object reports (some Ctrl-R report done already). This minimal set of features does not significantly affect any part of=20 PCB and does not break any workflow, but IMO creates quite solid=20 playground for developers to implement and test remaining features one=20 by one. I will try to code the point 3 until mid of next week (I am AFK during=20 weekends) - suggestions are welcome. Points 1,2 and 4 - see patch=20 https://static.bastl.sk/pcb/0001-Burried-vias-step-1.patch.gz Milan --------------ms070908020105020300080409 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC CtowggTwMIID2KADAgECAhBqqLAGfunD4XYlcEsP4ElzMA0GCSqGSIb3DQEBCwUAMHUxCzAJ BgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSkwJwYDVQQLEyBTdGFydENvbSBD ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEjMCEGA1UEAxMaU3RhcnRDb20gQ2xhc3MgMSBDbGll bnQgQ0EwHhcNMTYwMzA3MDEwODU2WhcNMTcwMzA3MDEwODU2WjA8MRkwFwYDVQQDDBBtaWxh bkBwcm9jaGFjLnNrMR8wHQYJKoZIhvcNAQkBFhBtaWxhbkBwcm9jaGFjLnNrMIIBIjANBgkq hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0mKGFeH4hukzo8EbR08H7ZFZ1uAI3mTA51yN6C/Q R++4fhe2R6U1yGR2bQeWal47aLFt4bhUEED1cvU4GDT+tzJUeQMSghB1qwrPQfzJueT3ReYA 5uaym6q2tFR9qm5lhSWqac//+mPFThodIz7rMT4a5R2ZnQjBSiEOVP73Sf0jiD7ylNBqvkCd hKFTSt7IkoRCkVE8o7KYEjzEhsSu1JAuCh8rYpz1vajpvO+H3FJyDXbHqCxH4MTmA1PMkObc BPHnsA4NE9xJpghiqJWUyEmcrNSRikLgJY2o0bO2y7AZ8AfXGt1lCkcg2f879JxuswDYaQFH rfPERgaIJ2OCLQIDAQABo4IBszCCAa8wDgYDVR0PAQH/BAQDAgSwMB0GA1UdJQQWMBQGCCsG AQUFBwMCBggrBgEFBQcDBDAJBgNVHRMEAjAAMB0GA1UdDgQWBBQBZgVnt+lqmMtzm6Wfvlmr aFGERzAfBgNVHSMEGDAWgBQkgWw5Yb5JD4+3G0YrySi1J0htaDBvBggrBgEFBQcBAQRjMGEw JAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbTA5BggrBgEFBQcwAoYtaHR0 cDovL2FpYS5zdGFydHNzbC5jb20vY2VydHMvc2NhLmNsaWVudDEuY3J0MDgGA1UdHwQxMC8w LaAroCmGJ2h0dHA6Ly9jcmwuc3RhcnRzc2wuY29tL3NjYS1jbGllbnQxLmNybDAbBgNVHREE FDASgRBtaWxhbkBwcm9jaGFjLnNrMCMGA1UdEgQcMBqGGGh0dHA6Ly93d3cuc3RhcnRzc2wu Y29tLzBGBgNVHSAEPzA9MDsGCysGAQQBgbU3AQIEMCwwKgYIKwYBBQUHAgEWHmh0dHA6Ly93 d3cuc3RhcnRzc2wuY29tL3BvbGljeTANBgkqhkiG9w0BAQsFAAOCAQEAcdXDR99mAwWbAilc x4iAlxzxTpAFBwXjDbFUFuLXHtXUQjfQb6isV/A6HGhFfEeloJ/dl0hZNfn6ROken+Pv8UzA sgbpjVQHVx334qK38Fbsoy/L991YYRyJGGl7OJYRs7SY8gJ+kVeC4pN6tdeACvmxdRYyA7r0 AjwhzCOpc449UQO2YQRZ6uzXvo3auQhkFQDCN6Gzn82fr5KRQ26fzUYOphHjkNTUHmYJRbjA QPIJlYSoc9/Gayl3tHscOt8pSXsfJ2alDnD5Ww94E7corjF7kkPdHQvkvZY5Ux72B7eEbSm8 w+FnngjA2Jc7o25oU+weiVOeBGxjo+HlwjaqPzCCBeIwggPKoAMCAQICEGunin0K14jWUQr5 WeTntOEwDQYJKoZIhvcNAQELBQAwfTELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29t IEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxKTAn BgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTE1MTIxNjAxMDAw NVoXDTMwMTIxNjAxMDAwNVowdTELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0 ZC4xKTAnBgNVBAsTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSMwIQYDVQQD ExpTdGFydENvbSBDbGFzcyAxIENsaWVudCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC AQoCggEBAL192vfDon2D9luC/dtbX64eG3XAtRmvmCSsu1d52DXsCR58zJQbCtB2/A5uFqNx WacpXGGtTCRk9dEDBlmixEd8QiLkUfvHpJX/xKnmVkS6Iye8wUbYzMsDzgnpazlPg19dnSqf hM+Cevdfa89VLnUztRr2cgmCfyO9Otrh7LJDPG+4D8ZnAqDtVB8MKYJL6QgKyVhhaBc4y3bG WxKyXEtx7QIZZGxPwSkzK3WIN+VKNdkiwTubW5PIdopmykwvIjLPqbJK7yPwFZYekKE015Os W6FV+s4DIM8UlVS8pkIsoGGJtMuWjLL4tq2hYQuuN0jhrxK1ljz50hH23gA9cbMCAwEAAaOC AWQwggFgMA4GA1UdDwEB/wQEAwIBBjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQw EgYDVR0TAQH/BAgwBgEB/wIBADAyBgNVHR8EKzApMCegJaAjhiFodHRwOi8vY3JsLnN0YXJ0 c3NsLmNvbS9zZnNjYS5jcmwwZgYIKwYBBQUHAQEEWjBYMCQGCCsGAQUFBzABhhhodHRwOi8v b2NzcC5zdGFydHNzbC5jb20wMAYIKwYBBQUHMAKGJGh0dHA6Ly9haWEuc3RhcnRzc2wuY29t L2NlcnRzL2NhLmNydDAdBgNVHQ4EFgQUJIFsOWG+SQ+PtxtGK8kotSdIbWgwHwYDVR0jBBgw FoAUTgvvGqRAW6UXaYcwyjRoQ9BBrvIwPwYDVR0gBDgwNjA0BgRVHSAAMCwwKgYIKwYBBQUH AgEWHmh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeTANBgkqhkiG9w0BAQsFAAOCAgEA i+P3h+wBi4StDwECW5zhIycjBL008HACblIf26HY0JdOruKbrWDsXUsiI0j/7Crft9S5oxvP iDtVqspBOB/y5uzSns1lZwh7sG96bYBZpcGzGxpFNjDmQbcM3yl3WFIRS4WhNrsOY14V7y2I rUGsvetsD+bjyOngCIVeC/GmsmtbuLOzJ606tEc9uRbhjTu/b0x2Fo+/e7UkQvKzNeo7OMhi jixaULyINBfCBJb+e29bLafgu6JqjOUJ9eXXj20p6q/CW+uVrZiSW57+q5an2P2i7hP85jQJ cy5j4HzA0rSiF3YPhKGAWUxKPMAVGgcYoXzWydOvZ3UDsTDTagXpRDIKQLZo02wrlxY6iMFq vlzsemVf1odhQJmi7Eh5TbxI40kDGcBOBHhwnaOumZhLP+SWJQnjpLpSlUOj95uf1zo9oz9e 0NgIJoz/tdfrBzez76xtDsK0KfUDHt1/q59BvDI7RX6gVr0fQoCyMczNzCTcRXYHY0tq2J0o T+bsb6sH2b4WVWAiJKnSYaWDjdA70qHX4mq9MIjO/ZskmSY8wtAk24orAc0vwXgYanqNsBX5 Yv4sN4Z9VyrwMdLcusP7HJgRdAGKpkR2I9U4zEsNJQJewM7S4Jalo1DyPrLpL2nTET8ZrSl5 Utp1UeGp/2deoprGevfnxWB+vHNQiu85o6MxggPMMIIDyAIBATCBiTB1MQswCQYDVQQGEwJJ TDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEpMCcGA1UECxMgU3RhcnRDb20gQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkxIzAhBgNVBAMTGlN0YXJ0Q29tIENsYXNzIDEgQ2xpZW50IENBAhBq qLAGfunD4XYlcEsP4ElzMA0GCWCGSAFlAwQCAQUAoIICEzAYBgkqhkiG9w0BCQMxCwYJKoZI hvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xNjA3MjkyMjAzMjdaMC8GCSqGSIb3DQEJBDEiBCDe xgwuIIiVUrmfMyGn1PgXFL5aj8mzrAuvWVwpjINVKzBsBgkqhkiG9w0BCQ8xXzBdMAsGCWCG SAFlAwQBKjALBglghkgBZQMEAQIwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwICAgCAMA0GCCqG SIb3DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMIGaBgkrBgEEAYI3EAQxgYwwgYkw dTELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKTAnBgNVBAsTIFN0YXJ0 Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSMwIQYDVQQDExpTdGFydENvbSBDbGFzcyAx IENsaWVudCBDQQIQaqiwBn7pw+F2JXBLD+BJczCBnAYLKoZIhvcNAQkQAgsxgYyggYkwdTEL MAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKTAnBgNVBAsTIFN0YXJ0Q29t IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSMwIQYDVQQDExpTdGFydENvbSBDbGFzcyAxIENs aWVudCBDQQIQaqiwBn7pw+F2JXBLD+BJczANBgkqhkiG9w0BAQEFAASCAQBB2VOe+oiiKJsH BAn9E5CtZER6eJTpIL/bro10Q1KvQpAGLBJK1vxhb1mY+08SP5kLSLcIdoi9w0i6T7IfJ6qU Rb0xjsQuc/qKPElHkrTUyNXXnbdLVXh87qViQDr1U+KJRGGYILUMpa88ntCl1mXFdWEMo2Tg SmjyDHuH/M2bE0VUNRQdOTgWNcxOIGgyZCupphjc96whX4bGXDzxn1xZhHvRCwjhDk3gydwv 5CHDhPEFX5i73GGxw/OSF2TP3VdOSo0Q8Insjpl5qJavObZr4kIunPLcFaRNm5QVNe3b5E0l ZYK62Qil8QAvXgLvYh2I8rIyGGZqpvWwABR5deN+AAAAAAAA --------------ms070908020105020300080409--