-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Sun, Jan 27, 2008 at 10:34:20AM -0200, Gerhard Fiedler wrote: > Peter Todd wrote: > > > Here's a real world example... Say you want to be able to take a vector > > graphics file representing line art that needs to be turned into an > > LEDs, as is done in cross-walk signs, and automatically generate a > > schematic and pcb layout. It's basically a simpler version of what I > > want to do. Copy and paste doesn't do it for that sort of task. > > I think there are some packages that can import AutoCAD files. I'm not sure > whether that goes so far as to recognize entities/blocks/whatever as parts, > though -- which is what you would need if you want to go that route. > > Other than that, for example Protel has some kind of macro language that > you can use for that -- either directly, or to just pick up parts locations > from some other file and add those parts. Thanks, I took a look at Altium's scripting and it's support for hiarchical schematics and rooms in the pcb layout. There's some nice ideas there, for instance how easy it is to setup matrixes of parts with repeated schematic sheets. You can also copy sections of pcb layout, rooms, from one room to another if the schematics behind them are the same. That said, the scripting seems more geared to providing ways to do specific tasks, say, creating a planar transformer out of tracks, then it is to the sort of automated building tasks I'm thinking of. For one, you can't access the auto-router at all, at least if the API docs I found are correct. You can access and change the high-level options for the router, but you can't define a room, put your auto-generated parts in it, and command the auto-router to route. Last semester in school I had a sociology class. One of our assignments was to collect a whole pile of data on political cartoons, and create various graphs and charts and write a nice paper. Frankly, I hate the liberal studies courses I have to take, so spent about %95 of my time learning how to use the Python Pyx library to draw my graphs, and %5 writing. Essentially Pyx is this very generic API based around providing the names of functions to do different bits of the task of drawing the graph. You can change basically anything by simply defining a new function for the task at hand. Going back to circuits imagine if schematic capture was done that way. Most schematic sheets would use the usual "user-entered-data" function to generate the netlist. Symbols could use a different "make-symbol-from-pins" function. Finally, your led matrix would be done with "peter-todds-led-matrix" and have some arguments passed as to what led matrix parameters we want. In all cases signals to/from the different layers are handled by references along the lines of ../Vcc or peter-todds-led-matrix/V+ When the time comes to start layout the various layers of code would be called. Starting at the top the main schematic sheet would start asking the various sheets under it for info. For instance the component symbol sheets would return the footprint info. For your standard resistor that'd be something along the lines of "two holes, two pads, some silkscreen stuff etc" The next sheet down is amalgamating that into "resistor, capacitor, etc", big long lists of stuff. The special led matrix sheet however... It's calling it's own footprint functions too, however when it returns layout info it'll say something along the lines of "blah blah blah, but, all those leds? they have to be here, here, here and here, don't move em! also there's one big routing keepout from (x,y) to (a,b)" *Thats* what I was hoping Altium could do. :) - -- http://petertodd.org -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFHnWbe3bMhDbI9xWQRAnT/AKCEgRRBHEd45ycaTO83NgAV6/UeawCfdPzg rilbeL75N8br7/Ys1gnsbdQ= =BqL4 -----END PGP SIGNATURE----- -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist