Hi, I'm new with SKILL, I try to do some code and it works, but as I trying to go deeper I found some issues. I start to work with the database and as a exercise I want to extract all reference designators (or net names) from a board.
However, I was looking trough Allegro® User Guide: SKILL Reference but can not find nothing. I don't want from you to give me the code, I just need some advice in some methodology how to extract such things from database.
I found only this axlExtractMap (there is an example how to extract all net names) but if I understand it correctly it use already existing report files and I looking fore something without external files.\
use the following:
for net dbids
allNets = axlDBGetDesign()->nets
for net names
allNetsname = axlDBGetDesign()->nets~>name
for symbol dbids
allSymbols = axlDBGetDesign()->symbols
for symbol refdes
allSymbols = axlDBGetDesign()->symbols~>refdes
Thanks a lot, it works. I was trying this:
allNets = axlGetParam("design")->nets
but returns nil.
One more question, regarding the example you give to me. It looks like it takes only placed symbols. For nets it works for all of them.
In the Allegro Skill Reference Manual see section 2 (Allegrp PCB Editor Database User Model). You want to look at the Design Attribute table. The symbol attribute reports the list of placed symbols while the component attribute reports all components whether its symbol is placed or not. Components match all of the parts referenced in the netlist and sport a REFDES. If you place addtitional symbols (such as mechanical or format) that are not netlist they will show up on the symbol attribute but not in the component attribute.
Thanks, I was looking on the database user models and alway jumps into Design instead of Design Files.
Now I trying to get more info from the database, but I'm stuck again. I decided to write a small skill routine which will look at each net in the design and check if the net is connected to symbol with specific refdes eg. Rxxx
I want to use this;
to find if a dbid is a pin and if yes I will go deeper and try to find the parent of the pin and his ref des and compare it with some patern. Is this good way? Or is there something less complicated?
This would be eaier to do if you started from the component (e.g. the one with the RefDes). If you have a component dbid, it has an attribute containing a list of pins.You can then look at the at the net dbid attribute of each pin add create a list of nets that are connected to the symbol.