• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. PCB Design
  3. Orcad Capture TCL scripting

Stats

  • Locked Locked
  • Replies 20
  • Subscribers 175
  • Views 32619
  • Members are here 0
More Content
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Orcad Capture TCL scripting

Azef
Azef over 15 years ago

Hi All,

I would like to use Orcad Capture TCL scripting. Before the 1st hotfix of 16.3 the command window in Capture echoed all of the operations performed during the editing session. Also .captcl session script log file was available as it is written in the manual. Since 1st and till the 7th hotfix neither command window echo nor .captcl session script log fileare available, and this was my ultimate source of examples.

What can be done to get both features back? (Apart from uninstalling all of the hotfixes.)

BTW, I use Win7/64 and tried to run Capture as administrator, if this info may help.

Best Regards,

Azef.

  • Cancel
  • rob22
    rob22 over 13 years ago

    I tried the above example on a sample schematic I had and what I got back confuses me.  I have a net that has the netname "test2" selected and I followed the commands from Kuenga606 and what I got as a response to lNetOcc was "_203f310a_p_DboNetOccurrence".  I assume this is what they call in the TCL/TK Extensions App note a "CString".  I tried running the command

    puts [DboTclHelper_sGetConstCharPtr $lNetOcc]

    and I get back the following

    [    1]No matching function for overloaded 'DboTclHelper_sGetConstCharPtr'

    What does this mean?  How do I see the actual netname "String"?

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Kuenga606
    Kuenga606 over 13 years ago

     Hi rob22,

    lNetOcc is the object of class 'class DboNetOccurrence '. This object understands the API listed under 'class DboNetOccurrence' in the PDF 'OrCAD_Capture_TclTk_Extensions.pdf'. To get the name from the object we need to use the following API:

     GetNetName(name) : returns DboState
    Parameters:
    name: CString &

    eg:

    set lCStrObj [DboTclHelper_sMakeCString]

    $lNetOcc GetNetName $lCStrObj

    puts [DboTclHelper_sGetConstCharPtr $lCStrObj]

    To get the flatnet name we need to do the following:

    set lFlatNetObj [$lNetOcc GetFlatNet $lStatus]

    $lFlatNetObj GetName $lCStrObj

    puts [DboTclHelper_sGetConstCharPtr $lCStrObj]

    Thanks

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Milos74
    Milos74 over 12 years ago

    Hi,

    I am trying to iterate over libaries in CIS and tryng make copy part from existing library to new library with new name. I have difficulites to try proper commands for it.

    To access libary I used these commands:

     

    #to access session
    set lSession $::DboSession_s_pDboSession
    set lStatus [DboState]
    DboSession -this $lSession
    # to access existing library
    set lLibraryPath [DboTclHelper_sMakeCString C:/Cadence/tcl/DISCRETES.OLB]
    set lLib [DboSession_GetLibAndSchematics $lSession $lLibraryPath $lStatus]
    # the iterate via to wanted package...
    set pkgNameIter [$lLib NewPackageNamesIter $lStatus]
    set pPkgName [DboTclHelper_sMakeCString]
    set lStatus [$pkgNameIter NextName $pPkgName]
    # create new library
    set newLib [$lSession CreateLib [DboTclHelper_sMakeCString "C:/Cadence/tcl/test.OLB"] $lStatus] 

    DEADLOCK here... I have no exact imagination of data // commands model and I am unable to copy the part under new name.

    I will appreaciate some guide how to copy part from one olb file to another

    Many thanks in advance.

    Milos 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Bleslie
    Bleslie over 11 years ago

    Typing the above command by itself did not work for me, so I contacted Cadence.  See below for their response:

     

    Please run the following two commands in the TCL shell-

     SetOptionBool Journaling  TRUE

    SetOptionBool DisplayCommands  TRUE

     This should then enable the display of journaling commands n the TCL shell.

     

    Running both the commands worked for me.

    Best Regards

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Cheeee
    Cheeee over 11 years ago

    Hi All,

    I`m trying to get the objects which are connecting by a wire I select,

    so I iterate all thing in a page and try to find  if there are matching netname with the selecting wire,but it is Inefficient.

    How can I do with another better way?

    Thanks!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
<>
Cadence Guidelines

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information