Are there any open file formats for component libraries and schematics? - Page 1
Forum section: electronics / general

author: obiwanjacobi
author_rank: Super Contributor
timestamp: February 18, 2015, 10:42:00 am
content: [Not sure if this is the right sub-forum - please move if not appropriate]I am wondering if there are any open file formats that are actually supported by the main brands for things like component libraries, packages and general schematic drawings?I did a quick search but could not find anything relevant (perhaps I am not using the right keywords)...PS: I know Gerber is a standard production file format, but I am looking for pre-production information formats.

author: Kjelt
author_rank: Super Contributor
timestamp: February 18, 2015, 10:53:26 am
content: AFAIK they are all proprietary which is a shame.

author: DerekG
author_rank: Frequent Contributor
timestamp: February 18, 2015, 12:17:22 pm
content: Quote from: obiwanjacobi on February 18, 2015, 10:42:00 amSTEP (for modelling) is about the only one I know. Not really an open format but certainly becoming the "defacto" format.Remember, many PCB design programs contain filters (importers & exporters) for shifting the design from/to another manufacturer's format (ie Altium to PCAD, DipTrace to PADS etc).

author: obiwanjacobi
author_rank: Super Contributor
timestamp: February 18, 2015, 02:16:47 pm
content: Looks like STEP is more a 3D graphics file format...?

author: Mechatrommer
author_rank: Super Contributor
timestamp: February 18, 2015, 02:29:02 pm
content: if any.. you should see similarity among main brands supporting the format... my best guess is... kicad component library format, considering kicad as a main brand.

author: c4757p
author_rank: Super Contributor
timestamp: February 18, 2015, 02:34:51 pm
content: Quote from: Mechatrommer on February 18, 2015, 02:29:02 pmI wouldn't consider it an open format without proper documentation. They're stillchangingformats a bit, so you really can't trust it.

author: obiwanjacobi
author_rank: Super Contributor
timestamp: February 19, 2015, 06:28:59 pm
content: Very frustrating that there is no standard. Makes using different tools or exchanging projects almost impossible.How hard could it be? I suspect it is unwillingness from the companies that fear they will loose marker share...

author: Richard Crowley
author_rank: Super Contributor
timestamp: February 19, 2015, 06:57:49 pm
content: Are any of the proprietary formats documented well enough to do import/export?Seems to me an XML-based generic standard could be drafted and users could create import/export utilities for their favorite tool/format.

author: free_electron
author_rank: Super Contributor
timestamp: February 19, 2015, 07:21:18 pm
content: Yes there is:EDIFand IPC2581EDIF has been around since theearly 80's , even before there were PC's. You can share netlists but also symbols and entire drawings.human readable, structured kinda like xml.All these things have been attempted before. nobody gives a rats ass.

author: Mechatrommer
author_rank: Super Contributor
timestamp: February 19, 2015, 08:53:40 pm
content: Quote from: obiwanjacobi on February 19, 2015, 06:28:59 pmi suspect its not companies fault. if you want to point finger, point it at IEEE or bigger guys. and also the absense of the standard probably due to the difficulty to standardize the ever changing requirement. so everybody make there own database. altium got supplier order code, kicad thinks its not needed, other guys may choose expandable field database etc etc...Quote from: free_electron on February 19, 2015, 07:21:18 pmmaybe due to obsolesence? there was one stage at the lifetime that text based format was not economical due to storage limitation/price, or the standard didnt provide adequate field required for todays need? does "component library" need to store netlist and drawing stuffs? i dont see it today, deprecated maybe.

author: free_electron
author_rank: Super Contributor
timestamp: February 19, 2015, 09:14:09 pm
content: Edif was used for a while. There have been multiple revision . The big cad shootout where mentor and cadence emerged and all the rest was absorbed or disappeared kinda killed it off.

author: Zeta
author_rank: Contributor
timestamp: February 21, 2015, 07:09:55 pm
content: some manufacturers use UltraLibrarianhttp://www.accelerated-designs.com/ultra-librarian/to provide footprints that can be exported to almost all EDA packages, not open tho.

author: obiwanjacobi
author_rank: Super Contributor
timestamp: February 22, 2015, 10:21:09 am
content: Apart from the hideous software (UX/look and feel - I am sure it functions correctly) it is a pretty nice idea. Now they just need to let some software expert do the writingAlso: this would also make an awesome web site... Just saying...But I don't get why each part has to repeat all package information. Aren't the packages (for a specific standard package type) all the same no matter what component/device is housed in them? I would think having a package library is the bases - here all package dimensions and layer attributes are defined. Then all you need a device library that defines the symbol and official pin names (datasheet rules) and reference these packages and have a mapping of pins etc. The same device can reference multiple packages of course (see datatsheet). I also never got why you have to decide on package choice in the schematic drawing in most tools - I find this so backwards. Agh, so many frustrations with software that seem to have been written 2 decades ago by people that aren't software developers...Perhaps this has never worked because the people trying to build it are not software developers...?(not trying to be disrespectful but I AM a software developer)

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: February 22, 2015, 01:35:54 pm
content: Quote from: obiwanjacobi on February 22, 2015, 10:21:09 amI think you describe a typical programmers approach - the symbol and footprint are logical separate, and there are a standard set of footprints to choose from. Unfortunately the real world does not conform to that ideal programmers modelMany devices such as connectors have no standard footprint. In general manufacturers may follow a standard pattern, but diverge slightly. Since copper can be laid anywhere on a board, there is very rarely any need to make a component fit a standard size. The exception would be devices that are designed to be fitted in sockets.Even if the footprint is standard, there are many variants for pin numbering.In the end, there are too many exceptions to the rules, and the only reliable way is to associate all the data into a specific part, even if much of that data appears to be duplicated. The cost of PCBs being wrongly built is not worth the gain in having a more "logically correct" database.Kicad attempted to do the "logical programmers model" and it is the #1 most complained about feature of Kicad. I have frequently been bitten by mismatches between symbol and footprint. I can see why they did it like that, they didn't have the resources to create large libraries of real parts.

author: obiwanjacobi
author_rank: Super Contributor
timestamp: February 22, 2015, 01:57:02 pm
content: I like KiCad - I think everybody is stuck in their ways and are unwilling to change. I do not belief for one minute that "the current way of doing things" is better, easier or more efficient. The structure I am proposing does not make exceptions impossible (or hard) - it would in fact be a lot easier to make small tweaks based on existing packages etc. Also - how the data is structured is only loosely related in how it is presented in an application. So you can clean up a redundant data model with a nice UI layer and you can still f*ckup a sound data model with a bad UI design. An efficient workflow for the end-user is the most important thing (incl. exchanging models between app). I know only a few CAD application but none really come close.

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: February 22, 2015, 09:18:22 pm
content: Quote from: obiwanjacobi on February 22, 2015, 01:57:02 pmThat's good, because you can ignore everyone else's combined experience and do it your own way. You are unlikely to be successful, but people learn only by their own mistakes I suppose. But there is no point asking for advice then, if you are going to ignore it.I am guessing that you have very little experience designing electronics in a professional environment.As a software guy, I note many fellow programmers make the mistake of trying to make the real world fit their model, instead of the other way round. It invariably leads to a terrible experience for the user. That seems to be the way of Kicad unfortunately.

author: Bassman59
author_rank: Super Contributor
timestamp: February 23, 2015, 01:44:09 am
content: Quote from: donotdespisethesnake on February 22, 2015, 01:35:54 pmExcept that this "logical programmers model" problem can be solved if you embed the footprint in the schematic symbol in your schematic library. In other words, forget that CvPCB exists.It has nothing to do with "having the resources to create large libraries of real parts."-a

author: c4757p
author_rank: Super Contributor
timestamp: February 23, 2015, 01:56:52 am
content: Quote from: Bassman59 on February 23, 2015, 01:44:09 amFWIW, they plan to remove it.

author: miguelvp
author_rank: Super Contributor
timestamp: February 23, 2015, 03:33:08 am
content: there is also gEDAhttp://wiki.geda-project.org/file format:http://wiki.geda-project.org/geda:file_format_specgEDA pcb format:http://pcb.geda-project.org/pcb-cvs/pcb.htmlbut it seems like gEDA is just a bunch of separate programs and probably not easy to use.

author: obiwanjacobi
author_rank: Super Contributor
timestamp: February 23, 2015, 06:33:51 am
content: gEDA looks pretty nice, but it does not give you a logical model of the schematic, instead it seems to try to port the drawing itself. I'm not saying that placement info or graphics directives are not important, you need that too. But if you have a semantic model of the schematic in the file, a whole range of options become possible - or at least a lot easier.

author: Karel
author_rank: Super Contributor
timestamp: April 02, 2015, 08:07:32 am
content: The only really open format with a stable specification is the Eagle format (XML).Most free libraries are written in this format.Also, most packages can read/import this format.It's a defacto standard.

author: timofonic
author_rank: Frequent Contributor
timestamp: June 11, 2015, 06:33:45 am
content: What aboutIP-XACT?

author: Jeroen3
author_rank: Super Contributor
timestamp: June 11, 2015, 07:24:48 am
content: Well, we all know how this turns out.https://xkcd.com/927/

author: obiwanjacobi
author_rank: Super Contributor
timestamp: June 11, 2015, 09:30:09 am
content: I have looked at some other (free) software packages but they all seem to be copying each-other using some archaic way of doing things. I think EE's (in general) are very resistant to change and very traditional (almost as bad as guitarist). I often wonder why I cannot do something when it is so obvious a more elegant en efficient way of working.I have given up on them in essence. It always seems to me that these apps are made by EEs and not programmers/UX designers. So it works - sort of and if you have been working your whole life with the package you know all the quirks and can be pretty fast. But non of the packages I have seen are very innovative. Basically they're stuck in the 90's.

author: Deathwish
author_rank: Unknown
timestamp: June 11, 2015, 09:40:30 am
content: more like , use our propriety format and we will sue the pants of you.Never rush to resuscitate a dying man in this generation, he may sue you for the shock of not actually dying.

author: Royce
author_rank: Contributor
timestamp: June 11, 2015, 05:36:47 pm
content: Quote from: obiwanjacobi on June 11, 2015, 09:30:09 amI think the 90's is being generous. Some of them are using patterns from when the mouse was novel.I've settled on Diptrace, just from the UX perspective. It comes the closest.That said, I'm keeping my eye on KiCad. The CERN people that have started contributing to that project seem to actually know which end is up. When they get further along in their roadmap (http://www.ohwr.org/projects/cern-kicad/wiki/WorkPackages), the UX stuff in particular, KiCad will be worth another look.

author: CatalinaWOW
author_rank: Super Contributor
timestamp: June 11, 2015, 06:33:09 pm
content: While the number of packages is dramatically smaller than the number of components, you may not understand how large the package population is. Even if you use the programmers model, from the users point of view, the package and the symbol/topology need to be packaged in a single use name. The most convenient use name is a manufacturers part number, which typically has a four or five character suffix to describe the package. Even this does not cover the footprint variations that result from PWB vendors variations that result from process capabilities.Yes the programmers model can work. It isn't obvious to me that it will save anyone much effort.

author: LabSpokane
author_rank: Super Contributor
timestamp: June 11, 2015, 08:32:47 pm
content: Quote from: CatalinaWOW on June 11, 2015, 06:33:09 pmAren't there even more pad variations due to assembly variations? Reflow, wave solder across the long axis, wave across the short axis, etc...?

author: CatalinaWOW
author_rank: Super Contributor
timestamp: June 22, 2015, 04:03:44 am
content: YEP

author: timofonic
author_rank: Frequent Contributor
timestamp: June 07, 2016, 03:09:36 am
content: Aren't there some attempt about it?I did read Frank Bennett did some kind of UltraLibrarian file parser. I'm not sure how the project ended.