How do I get the list of blockage layers from the techfile, library or cellview.
Is this correct way to toggle the visiblity and selectablity by using the commans below.
pteSetVisible("Blockages;Routing Blockage;M1" nil "Objects")
pteSetSelectable("Blockages;Routing Blockage;M1" nil "Objects")
Would the pin blockage be about the same on get the list and toggling the visiblity and selectablity?
To get a list of the layer-purpose pairs that are of type blockage, one way is as follows:
tf = techGetTechFile(ddGetObj("myTechLibName"))
blockageLPs = setof(lp tf~>lps lp~>purpose=="blockage")
=> (db:0x18e15d68 db:0x18e15dd0 db:0x18e15e38 db:0x18e15ea0 db:0x18e15f08
db:0x18e15f70 db:0x18e15fd8 db:0x18e16040 db:0x18e160a8 db:0x18e16110
=> ("Metal1" "Via1" "Metal2" "Via2" "Metal3"
"Via3" "Metal4" "Via4" "Metal5" "Via5"
This is a list of LP objects, i.e. each item on the list is a layer-purpose pair object in the technology file. From this then you know which layers have blockages defined for them (as layer-purpose pairs in the techfile, I'm not talking about which layer blockages might exist in a design). I haven't looked into your second question - the commands look about right but I've not tested. Not sure what you mean about "the pin blockage", sorry.
Hope this helps!