X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Wed, 25 Mar 2015 16:46:20 +0100 (CET) X-X-Sender: igor2 AT igor2priv To: geda-user AT delorie DOT com X-Debug: to=geda-user AT delorie DOT com from="gedau AT igor2 DOT repo DOT hu" From: gedau AT igor2 DOT repo DOT hu Subject: Re: [geda-user] Export filters In-Reply-To: Message-ID: References: User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed 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 Wed, 25 Mar 2015, Bernhard Kraft wrote: > Hi, > > As there were some questions recently upon creating HPGL output or > output for some 3D modelers a more general question: How are the > export filters of PCB currently implemented. I mean the ones you can > choose from File>Export layout: Gerber, PNG, PS, PDF, etc. > > Are those hardcoded into PCB or is there any way to add additional > output filters without recompiling? Or is there some existing codebase > for transforming .pcb files into another format? They are plugins (maybe called exporter HIDs?). The default exporters you listed have their source in the PCB source tree and are compiled into pcb. It is (in theory) easy to ship your own plugin - I used to do this with pcb-gpmi. Others used to provide 3rd party plugins too. The user needs to have a PCB source and a compiler. In practice if the HID API or other major parts change in PCB, they tend to bitrot: the PCB developer who makes the change to PCB can not update random 3rd party plugins. Again in theory, it wouldn't be hard to get PCB dynamically load the pugins (from .so files on UNIX), but I am unsure if it is supported at the moment. If not, it should be easy to write a plugin that can load other plugins that way. Last time I checked PCB did have -rdynamic on Linux which allows such .so loaded plugins to access PCB internals. HTH, Igor2