libera/#clim - IRC Chatlog
Search
6:56:13
lukego
ACTION will endeavour not to make so many annoying comments while wrestling with clim :)
7:29:53
lukego
I have a very basic first version of CLIM-driven PCB layout now: https://twitter.com/lukego/status/1404701638581968898
7:31:30
lukego
Here the CLIM output records are the primary representation of the CAD data. Presentations keep track of e.g. what is an IC and which are its pins/pads. Schematic is drawn with CLIM putting all parts at (0,0) and then SMT solver is used to compute proper non-overlapping placements for the parts.
7:33:54
lukego
Hopefully this will be a productive little environment to iterate in. I think that I'll need to try a bunch of different constraints and solvers to see what is practical, and also e.g. do each module of the PCB separately and revise them so that they fit together
7:42:59
lukego
This feels a analogous to the "object-relational mapping" problem when I need to bidirectionally map object properties like position and rotation to external state like variables in a Z3 model.
7:45:17
lukego
Maybe I'll allow the output-history to contain multiple presentations for the same object and in that case the solver has to pick which ones to use. So e.g. the code that currently draws all the parts at (0,0) prior to layout could draw multiple versions of each part e.g. rotated in 90 degree steps.
7:54:33
splittist
If the solver is picking a translation, it could pick a rotation, too, couldn't it?