Mailing list archives : pcb-rnd

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