R
Roger Light
Guest
Hi,
I'm writing some SKILL where I need to copy cell views so I can modify
them without touching the original. I decided that the friendliest way
to do this was to create a scratch library, copy to the library and do
what I need and then delete the library after I'd finished. This is
great and it works fine, but I have two problems.
When my code gets to the point of deleting the library using
ddDeleteObj(), the LSW turns grey and has forgotten which techlib it has
got open. When I open a layout cell all is well again, but it's a bit
inconvenient.
This is all getting called from a menu item in a layout view, but I have
verified that it does the same when I type the code into the CIW:
scratchLib = dbCreateLib("scratch")
techSetTechLibName( scratchLib "mytech" )
ddDeleteObj( scratchLib )
Without the call to techSetTechLibName() all is well. I know the techlib
I had open before, but can't figure out how to make the LSW open it. Any
suggestions?
The other problem is terribly tedious Each time you use ddDeleteObj
to delete a library, it leaves a line in the cds.lib:
#Removed by ddDeleteObj: DEFINE scratch /home/ral/scratch
As it stands, this means my scratch library is going to leave a huge
mess in my cds.lib as I'm likely to use this function quite a bit. Is
there any way to suppress that line or am I going to have to come up
with a different solution?
One more thing - I accidently left one too many close parentheses part way
through my code when I was fixing it up with skill lint. Lint passed it
with a score of 100 but the CIW quite rightly contained an error
complaining. Is this a bug or does lint not check for matched
parentheses?
Thanks,
Roger
I'm writing some SKILL where I need to copy cell views so I can modify
them without touching the original. I decided that the friendliest way
to do this was to create a scratch library, copy to the library and do
what I need and then delete the library after I'd finished. This is
great and it works fine, but I have two problems.
When my code gets to the point of deleting the library using
ddDeleteObj(), the LSW turns grey and has forgotten which techlib it has
got open. When I open a layout cell all is well again, but it's a bit
inconvenient.
This is all getting called from a menu item in a layout view, but I have
verified that it does the same when I type the code into the CIW:
scratchLib = dbCreateLib("scratch")
techSetTechLibName( scratchLib "mytech" )
ddDeleteObj( scratchLib )
Without the call to techSetTechLibName() all is well. I know the techlib
I had open before, but can't figure out how to make the LSW open it. Any
suggestions?
The other problem is terribly tedious Each time you use ddDeleteObj
to delete a library, it leaves a line in the cds.lib:
#Removed by ddDeleteObj: DEFINE scratch /home/ral/scratch
As it stands, this means my scratch library is going to leave a huge
mess in my cds.lib as I'm likely to use this function quite a bit. Is
there any way to suppress that line or am I going to have to come up
with a different solution?
One more thing - I accidently left one too many close parentheses part way
through my code when I was fixing it up with skill lint. Lint passed it
with a score of 100 but the CIW quite rightly contained an error
complaining. Is this a bug or does lint not check for matched
parentheses?
Thanks,
Roger