X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Cam-AntiVirus: no malware found X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/ Message-ID: <1423966586.16089.8.camel@cam.ac.uk> Subject: 3D data and support [WAS: Re: [geda-user] FOSDEM] From: Peter Clifton To: geda-user AT delorie DOT com Date: Sun, 15 Feb 2015 02:16:26 +0000 In-Reply-To: References: <1420499386 DOT 3521 DOT 3 DOT camel AT cam DOT ac DOT uk> <20150202152654 DOT GA13336 AT cuci DOT nl> <54CFD589 DOT 9040702 AT xs4all DOT nl> <20150203112631 DOT 3507a0c1 AT Parasomnia DOT thuis DOT lan> <20150204054256 DOT Horde DOT Pm1JV8RJbICk9SHvIGwZ7A3 AT webmail DOT in-berlin DOT de> <20150204193720 DOT Horde DOT 42xUN-NzhCJRWZne-M5eCQ1 AT webmail DOT in-berlin DOT de> <90236728-E79D-47C7-BFB1-34140DB85ACB AT sbcglobal DOT net> <1423323918 DOT 1592 DOT 10 DOT camel AT cam DOT ac DOT uk> <1423329222 DOT 1592 DOT 12 DOT camel AT cam DOT ac DOT uk> <54D67DAE DOT 5000805 AT neurotica DOT com> <20150214111652 DOT 1e9765c8 AT jive> <1423956972 DOT 16089 DOT 2 DOT camel AT cam DOT ac DOT uk> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.12.7-0ubuntu1 Mime-Version: 1.0 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 On Sat, 2015-02-14 at 18:53 -0500, Evan Foss wrote: > I would want full 3D data since you can always reject data but adding > it in later is hard. just look at how long this thread has gotten. > > A simple hight does not help me when I have parts like this > http://www.mouser.com/ProductDetail/Omron/2SMPP-02/?qs=3P%252bcriiv584EfFf%252bLos22A%3D%3D&kpid=492727993&gclid=CjwKEAiAgfymBRCEhpTR8NXpx1USJAAV0dQylSBgkXS3S-jSknPvwRo1CnbsiYWkc30-ns0GFfAO2xoC7Nbw_wcB > > (pressure sensor with vertical port for a hose) I'm working on 3D support, albeit slowly, and there are a lot of use-cases. I'm enumerating some below to further my clever "your wrong" argument to KMK regarding 3D support inside PCB. Break-down of 3D features one might care about: Modelling... I don't actually envisage building any 3D modelling tools into PCB (mechanical CAD, and component vendor models are better sources there), but I believe we do need to capture enough information to correctly model the board construction and stack-up. 2.5D regions (for keep-outs) might be feasible to model within PCB though, if use-cases below demand them. Board only 3D export.... I already use STEP export of my general shape (incl. fixing holes) of my boards to feed into caseworks and overall product design. Shape + Z 2.5D keep-outs... Well - modelling any keep-outs would be a good start in PCB, but in the absence of full component models (or to augment with further clearance for whatever reason), modelling keep-outs with height enables more information to be transferred on to mechanical designers when exporting board information for caseworks design etc. Adding components... This can be useful for checking 3D clearances (with component models populated). I currently do this in a commercial 3D cad package, using the STEP export of my plain board model (complete with vias). I then manually construct an assembly with models of components either hand-created, or imported from vendor provided STEP models. This would be lots easier if I could pre-associate the correct 3D models with PCB footprints, and directly export an assembly containing the board AND the models. (Actually this is not so hard to achieve, given a little extra data with each footprint). 3D Components within PCB... One might like have 3D views with components inside PCB, which means having a source of that 3D component model, and ways to import that into PCB and align it with the relevant footprint. This would enable less formalised 3D clearance checks, done using eyeballs whilst designing the PCB. (Real numerical 3D clearance checks would probably require importing a 3D cad kernel, which could bring license issues). I primarily care about components modelled in mechanical CAD formats (not graphics rendering formats like VRML), so this is hard. STEP is the interchange format we need to handle, yet it is not feasible to import directly (it is too complex). To do this I think we need to fork an external process to convert to a simpler (faceted) model. I say external process due to potential licensing issues of OpenCascade (Now LGPL2, but _not_ LGPL2+). This is however, the most realistic for library which could handle processing the conversion. More complex export, including traces in 3D.... Modelling board construction and stack-up to enable a more realistic view of the board construction in 3D, and give data to export to other CAD / CAE work-flows. People doing high layer-count boards care about visualising this (including at design time), and those doing RF, controlled impedance, or high-reliability may require exporting 3D data of the board construction and traces to conduct simulations and analysis. Imagine: PCB->Full 3D trace geometry export->FEA Field solverThere are also reasons o ->PCB Warpage analysis / DRC -> .... Parts modelling.... I'm currently investigating AP210, and expect to be running some trial conversions of KiCAD library parts and 3D models when I have some time, and a few further details from the guys who have been developing this standard. This format should allow us to model all information we could possibly desire about a part, in a way compatible with ECAD tools, and (crucially) MCAD as well. Having parts models in AP210 (and suitable code to handle them), I should be able to directly export a full 3D board + parts model for consumption by downstream tools. It will also be possible to embed faceted geometry representations that are simple enough for us to parse and render without heavy-weight CAD libraries. (Both faceted and BREP models can co-exist in STEP files). Kind regards, Peter -- Peter Clifton Clifton Electronics