Hello,Originally posted in cdnusers.org by relyveld
I encountered a similar situation. My problem was to toggle the schematic node information.
First a comment about the ICFB window. Do you know that you can show more log results
in the ICFB window? But even if you know for example the "hiiSetCurrentForm('hiSomeFormName)"
command, and the following commands, repeating them from some function did not
gave me the same result. What I found out is that ICFB behaves differently if commands
are clicked by you or if they are runned from within a function. But when using the load("someFile")
function, it behaves as if you clicked the forms. So what I did, was to save the desired commands to
a file, and load them to 'replay' the form actions. To finish, here is my toggle node info function.
I think you will be able to reuse it yourself.
procedure( wrSchematicNode( @optional value)
let( ( instance wrError)
cv = geGetEditCellView( )
wrError = nil
unless( cv->mode != "r"
wrWindowName( strcat( wrDecodeBindKeysText ": wrSchematicNode: error: cell must be editable"))
wrError = t
;; xxx 060516 the cell must be editable. Or a copy of the device must be openend in a
;; dummy view which is editable. It is not that exactly this cell must be editable.
unless( boundp( 'wrSchematicNodeValueN)
wrSchematicNodeValueN = 0
if( ! null( value)
wrSchematicNodeValue = value
;; 060907 Add "pin name" "net name" "voltage" "current" if you like. Increase the
;; number (now 3) for the modulo operation.
wrSchematicNodeValueList = list( "none" "pin name" "net name")
wrSchematicNodeValueN = modulo( wrSchematicNodeValueN 3)+1
wrSchematicNodeValue = nthelem( wrSchematicNodeValueN wrSchematicNodeValueList )
wrWindowName( strcat( wrDecodeBindKeysText ": wrSchematicNode: toggle terminal names: " wrSchematicNodeValue))
wrShFile = outfile(".wrCadenceFile")
fprintf( wrShFile "
\n ;; A device must be selected. If not, select a device.
\n instance = car( geGetSelectedSet( ))
\n if( null( instance)
\n instance = car( setof( shape cv->instances shape~>libName == wrDeviceLibName))
\n asaEditCompDisplay( )
\n _ahiiUniqueSymbolformannotateForm0->labelInfo->terminal->value = t
\n geSelectObject( instance)
\n _ahiiUniqueSymbolformannotateForm0->tdisplay->value = wrSchematicNodeValue
A few extra remarks:
This function is copied from my Cadence customization file. You can find it at
wrDeviceLibName is the name of the attached technology file name.
wrWindowName is a function (part of my wrAltEdit.il file) which prints
status information in the editor window.