ID: | 5990 |
From: | rn...@igor2.repo.hu |
Date: | Sun, 12 Mar 2023 08:09:03 +0100 (CET) |
Subject: | [pcb-rnd] new: sch-rnd: generic/configurable post-processing for alien file formats |
Hi all, just like pcb-rnd, sch-rnd is going to be strong in loading files from alien formats. For obvios historical reasons, the first alien format we got support for is geda (gschem/lepton). The io_geda plugin is more or less usable by now: it can load sheets and symbols. As part of the NLnet sponsored effort there are going to be two more loaders this year: io_tinycad and io_altium. Of course there are limitations on any alien loading because of the major differences in data models. For example slotting in gschem works very differently than slotting in sch-rnd. So some manual adjustment after loading is needed. However, there are a lot of little differences in the data model that can be easily converted by software. Most notably different attribute naming convnetions: when the meaning of the attribute is the same, but the name is different. For example gschem has different atributes for namint symbols and nets ("refdes" and "netname") while sch-rnd always uses the "name " attribute to name things, regardless of what the thing is. Instead of hardwiring these little renames in the code, I decided to provide a configurable postprocessing system so that the user can easily extend the postprocessor. The system has two parts: 1. a simple query-action list, which covers majority of the cases 2. a generic "run this action after loading the sheet" system so a generic user script or plugin can do more complicated transformatins, if needed The full documentation is at: http://repo.hu/projects/sch-rnd/user/07_io/alien/ I will implement the same system for every alien IO plugin. Best regards, Igor2
Reply subtree:
5990 [pcb-rnd] new: sch-rnd: generic/configurable post-processing for alien file formats from rn...@igor2.repo.hu