Home
  • Products
  • Solutions
  • Support
  • Company

This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  • Products
  • Solutions
  • Support
  • Company
Community PCB Design & IC Packaging (Allegro X) Allegro X Scripting - TCL TCL update all part status via TCL

Stats

  • State Not Answered
  • Replies 5
  • Subscribers 12
  • Views 3092
  • Members are here 0
More Content

TCL update all part status via TCL

ggeorgg
ggeorgg over 1 year ago

Dear community, 

is it possible to directly run a design rule check via TCL?

I know the possibility to journal the commands which are executed by Capture when using the GUI. 

Menu "Tools::Update All Part Status" | DialogBox  "1086" "C:/Users/%USERNAME%/AppData/Local/Temp/CAPTURELOG/Mon_Sep__4_13_21_44_2023/Update Part - Occurrence_1.xml"

My issue is, that the command is only working when the Part Manager is opened. Can I do this part update also without opening the Part Manager?

If not, How can I open the Part Manager via TCL first, then perform the update all part status operation and finally close the part manager again?

Another issue that I see is, that the xml file needs to specify the old (schematic) and the new (DB property) values which I cannot right now and which makes no sense. If I could, I could completly write the PM update myself...

Thanks
BR
Georg
  • Sign in to reply
  • Cancel
Parents
  • CadAP
    0 CadAP over 1 year ago

    HI Georg,

    Please try the below tcl command for update All Part:

    #open the Par Manager

    MenuCommand "14604" 

    Menu "Tools::Update All Part Status" 

    #close Part Manager

    MenuCommand "57927"

    Hope this helps!

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • ggeorgg
    0 ggeorgg over 1 year ago in reply to CadAP

    Hi!

    This only helps partially. Using your code I still have issues. 

    1. If a part is not up to date, Capture asks if the part should be updated. This could be automized by passing the xml file, but the xml file can not automatically be generated as I don't know the new properties values which are needed to create the xml file. 

    2. If a user already opened the part manager once before and the view to a group or subgroup, then Capture performs the "Update All Part Status" operation on this group or subgroup. So I would need to make sure the "Core" / first line in the part manager is selected. Afterwards an additional step would be needed: Cycle all groups/subgroups, find the linked parts and update those as well because they do not get updated by the first "Update All Part Status operation"

    In the end I think it would be better to avoid doing the Part Manager Update via the "Menu" commands. I would prefer to do this based on "real" TCL code. Is this even possible with the current API Cadence provides?

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • ggeorgg
    0 ggeorgg over 1 year ago in reply to CadAP

    Hi!

    This only helps partially. Using your code I still have issues. 

    1. If a part is not up to date, Capture asks if the part should be updated. This could be automized by passing the xml file, but the xml file can not automatically be generated as I don't know the new properties values which are needed to create the xml file. 

    2. If a user already opened the part manager once before and the view to a group or subgroup, then Capture performs the "Update All Part Status" operation on this group or subgroup. So I would need to make sure the "Core" / first line in the part manager is selected. Afterwards an additional step would be needed: Cycle all groups/subgroups, find the linked parts and update those as well because they do not get updated by the first "Update All Part Status operation"

    In the end I think it would be better to avoid doing the Part Manager Update via the "Menu" commands. I would prefer to do this based on "real" TCL code. Is this even possible with the current API Cadence provides?

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
  • CadAP
    0 CadAP over 1 year ago in reply to ggeorgg

    Hi George,

    You can use below tcl api :

    Open Part Manager and type "CPartMgmt_UpdateAllPartStatus" in the capture command console.

    second Select the design and type below command:

    Menu "Tools::Part Manager::Update"

    Please note : Window will pop up asking for manual input. There is some internal APIs(not exposed) which do comparison of the Schematic Part and DB Part properties.

    Hope this helps!

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • ggeorgg
    0 ggeorgg over 1 year ago in reply to CadAP

    Ok. Then I think there is currently no solution provided by cadence to automize this task. Nevertheless, thanks for your reply.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Hirain Xujian
    0 Hirain Xujian over 1 year ago in reply to CadAP

    Thank you for your answer. I have encountered a similar issue as well. With the method you provided, I am able to batch update the component status of all dsn files in a folder. However, I am now facing a new problem and I am not sure how to solve it using tcl commands:

    Firstly, when the component status of a dsn file is updated, a pop-up window named "Update Part - Instance", will appear asking if you want to replace the old content with the new content. And I have to manually click "yes all" every time there is an update.

    Secondly, the dsn files is not saved after updating the dsn file. And I have to manually click "Save documents".

    My question is, can I use a tcl script to automatically update and save the dsn files without having to manually click on the pop-up window and save button in the capture software interface?

    Thank you very much!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • 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