Freeform outlines in Altium, OrCAD or ? .... - Page 1
Forum section: electronics / general

author: Zapatronic77
author_rank: Newbie
timestamp: April 18, 2023, 04:30:13 am
content: Hi all, longtime forum reader, first time poster here,I have a question for those who have experience in multiple PCB CAD environements, (esp. those mentioned in the title). Our shop is looking at all options currently, (we have experience with Eagle, Diptrace and Altium primarily) - we are building flexible boards with arbitrary free-form outline shapes. Most of the packages we've looked at have fairly primitive vector options for defining outlines, of the Line-and-Arcs only variety. Have not found any packages that are natively able to use splines or any more sophisticated curve generating tools.Does this exist in any program for board layout? Currently we've had to resort to workflows involving board outline creation in a separate CAD program and then import and laboriously trace (typically with many line segments) to approximate these shapes.Is this a problem that any vendors address? Any tips/insights appreciated here.

author: Uky
author_rank: Regular Contributor
timestamp: April 18, 2023, 06:52:55 am
content: My primary experience is with Cadence (Allegro/Orcad). I have also used Mentor Expedition but that was some years ago.My experience is that none of these vendors address the mechanical "challenges" particularly well. I have always had to use a dedicated mech CAD software such as AutoCAD or DogeCAD to edit and modify eg. board outlines obtained from the mech guys. Since many dedicated mech cad packages export the data as DXF either in a 3D or semi-3D format OR where the outlines are not closed polylines, or simply create a 2D "plot" DXF where multiple elements end up on the same layer, there has always been a need for editing/healing (fuzz distance in AutoCAD), deleting debris so that the remaining data can be imported into my favourite software (Allegro).A simple operation like creating a route keep-in from a board outline is easily accomplished in AutoCAD (offset/new-layer/"RKI") and then editing the import sub-class definition in Allegro. Likewise, the creation of complex shapes for modern type SMD components like Power-SO8 is a PITA in Allegro but easily done in AutoCAD.I strongly recommend a mech CAD package along with whatever PCB-CAD tool you choose. AutoCAD Lite, DogeCAD or some other low cost version will do the job.

author: Zapatronic77
author_rank: Newbie
timestamp: April 19, 2023, 06:15:51 pm
content: Thanks Uky, that helps confirm what I've suspected - (all offerings being similarly limited in this regard).I wonder if it mainly boils down to a matter of tool-path generation and integrating with the Gerber format primitives.In any case, it's helpful knowing that this isn't a real factor in choosing between PCB CAD options.

author: Alex Eisenhut
author_rank: Super Contributor
timestamp: June 28, 2023, 03:34:18 pm
content: Quote from: Uky on April 18, 2023, 06:52:55 amSome might say that some vendors barely handleelectricalchallenges...Quote from: Zapatronic77 on April 19, 2023, 06:15:51 pmYes it's kind of limited because the vast majority of boards are just some variation of a rectangle with some cutouts, nothing fancy. Anything fancier usually means there's mechanical eng. in the equation and they should be able to export a board outline in (ugh) DXF or something like idx.

author: jpanhalt
author_rank: Super Contributor
timestamp: June 28, 2023, 03:42:18 pm
content: Eagle user here. What I do for complicated outlines -- even freeform -- is do it in a typical 2D CAD and import into the dimension layer. Be sure your unit system is the same in each, which should be obvious, but I have made that mistake once of twice over the years.I would hope the programs you are considering allow such imports.

author: tszaboo
author_rank: Super Contributor
timestamp: June 28, 2023, 09:07:25 pm
content: You can imagine any number of outlines as you want, in the end, it needs to becomes a gerber file, with X and Y coordinates with fixed resolution.It's possible to import a JPG file into Altium and place it on a mechanical layer. Or silkscreen. And select a mechanical layer as the outline. It can even define the bends to the flexible boards, though some restrictions will apply.I honestly don't understand why you want a Bezier curve as a PCB outline, but I'm sure you have your reasons.

author: wrickert
author_rank: Contributor
timestamp: June 29, 2023, 04:41:26 am
content: I do a lot of PCB art for Cybersecurity conferences. Almost everything I do is freeform.My normal workflow is to use Inkscape and a plugin called SVG2Shenzhen. That plugin creates all the layers in Inkscape that you would need for PCB design. I'll do the artwork in Inkscape then use the same plugin to export to Kicad.It has some minor bugs but always works out eventually.

author: Zapatronic77
author_rank: Newbie
timestamp: August 14, 2023, 07:18:13 am
content: Thanks for the tips everyone - am getting the sense that this is an underdeveloped area, (maybe due to the legacy reqs of Gerber interpretation code?).Guessing that when board films were exposed with an X/Y gantry and photo-plotter that might have been an obstacle - surely that isn't still a physical limitation these days though?wrickert- I will definitely be checking out SVG2ShenzhenQuote from: tszaboo on June 28, 2023, 09:07:25 pmNot necessarily Beziers per se - (although coming from Illustrator files that wouldn't be a bad thing, there are other non-Bezier parametic vector curve formats, i.e. "control points curve" etc which can work equally well) it's mainly a matter of being able to directly define continuous variation in some sense.Quote from: tszaboo on June 28, 2023, 09:07:25 pmIndeed, imagine a workflow involving flex PCB's in tight quarters, (like wearables) - where the physical geometry, with the boards (in their final curved configurations) is a design driver - when these shapes are "flattened" they often don't follow simple curves like what you find in the typical line/arc realm. From what I've gleaned - the Altium flex-board folding tool may be the closest to this general idea, but I don't know if it can be driven with external geometry, or if it parametric only based on its own starting 2D planes.

author: dave_k
author_rank: Frequent Contributor
timestamp: August 14, 2023, 11:01:49 am
content: Altium user here.. in the past I've imported a DXF to a mechanical layer for odd-shaped board outlines.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: August 14, 2023, 02:21:25 pm
content: You might have some luck converting to DWG/DXF first, then importing drawing to PCB.Though I forget offhand if splines are converted to arc segments, or deleted entirely, in Altium.Indeed the only output primitives are lines and arcs, so you have to make do with that. Arc approximation is a fine solution for this, but you'll need another tool to do that if a converter/importer does not.Tim

author: Doctorandus_P
author_rank: Super Contributor
timestamp: August 14, 2023, 07:17:07 pm
content: As already mentioned in one of the first replies: Most EDA suits tend to rely on an importer for complicated PCB outlines. A good 2D drawing program is a quite sophisticated and specialized piece of software, and even if your PCB suite had such drawing functions integrated, it would still be beneficial to have an importer, just in case the mechanical designer on the next floor coughs up some enclosure that you have to fit your gadget in.And when Import / export integration with mechanical CAD is considered mandatory, there is not much incentive to put very sophisticated 2D drawing capabilities into an EDA suite. Maybe autodesk is going to try. They have already killed the eagle and are apparently working on some kind of native solution to integrate both.I am a KiCad user myself. KiCad supports both dxf and svg import for PCB outlines (or other purposes), and can export a variety of 2D and 3D formats. It also has further integration with FreeCAD via the "KiCad StepUp" workbench in FreeCAD. KiCad also has a simple raster to vector image converter that is suitable for logo's and such, but there are far more sophisticated programs to do such tasks.KiCad has some limited support for Bezier curves, see for example this old thread from 2019:https://forum.kicad.info/t/missing-lines-in-fsilk-layer-in-gerber-file/19697And apparently you can edit such a curve, but not (yet) draw it natively in KiCad. It does not have a high priority, but if you are willing to pay for commercial support for KiCad viahttps://www.kipro-pcb.com/and especially if you're willing to put in some extra money such as for example the equivalent of a yearly fee for one of the big commercial players, then you can get a lot of personal attention to implement or improve custom features, as long as they fit within the long term goals of the KiCad developers. Forking KiCad and implementing such a feature yourself can also be a viable option, and there is a good chance it will be merged back into the main KiCad branch.