• 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. Allegro X PCB Editor
  3. Please help me to check this issue in Skill.

Stats

  • Replies 2
  • Subscribers 159
  • Views 13280
  • Members are here 0
More Content

Please help me to check this issue in Skill.

archive
archive over 17 years ago

I am writing one skill code at present that can help us to view the net layer(Select a net and then visible the etch.After select one net and display the result,the program will not stop.it's loop.You can select other nets). It can recover the display view.The etch layer result also will show at the Ministatus form. My problem is that i don't know how to delete the list in the Ministatus form.I know that one function(axlFormListDeleteAll) can be used to delete the list. But when i used it,it will not display the result in the form again. I used while to loop program. The following is some source code. Please help me to check it out. Thanks.

xlCmdRegister( "glnetlayer" 'gl_netLayer ?cmdType "interactive")

;  ------------------------
;  Define the Main Function
;  ------------------------

defun(gl_netLayer ()
  let((layers string gl_netlayer_form_file layers_num)
popup = axlUIPopupDefine(nil
           (list  (list "Done" `axlFinishEnterFun)
           (list "Recover" `gl_Recover_visiable)))
 axlUIPopupSet(popup)
    gl_vis=axlVisibleGet()
    gl_netlayer_form_file = "./netlayer.form"
    gl_netlayer_form = outfile(gl_netlayer_form_file "w")
    fprintf(gl_netlayer_form "FILE_TYPE=FORM_DEFN VERSION=2\n")
    fprintf(gl_netlayer_form "FORM \n")
    fprintf(gl_netlayer_form "FIXED\n")
    fprintf(gl_netlayer_form "PORT 36 19\n")
    fprintf(gl_netlayer_form "HEADER \"Net Layers\"\n")
    fprintf(gl_netlayer_form "\n")
    fprintf(gl_netlayer_form "TILE\n")
    fprintf(gl_netlayer_form "TEXT \"Net Layers\n")
    fprintf(gl_netlayer_form "TLOC 2 6\n")
    fprintf(gl_netlayer_form "ENDTEXT\n")
    fprintf(gl_netlayer_form "\n")
    fprintf(gl_netlayer_form "FIELD \"GL_netlayer\"\n")
    fprintf(gl_netlayer_form "FLOC 2 8\n")
    fprintf(gl_netlayer_form "LIST \"\" 24 6\n")
    fprintf(gl_netlayer_form "ENDFIELD\n")
    fprintf(gl_netlayer_form "\n")
    fprintf(gl_netlayer_form "ENDTILE\n")
    fprintf(gl_netlayer_form "\n")
    fprintf(gl_netlayer_form "ENDFORM\n")
    close(gl_netlayer_form)
    axlControlRaise('options)
    gl_netlayer_form=axlMiniStatusLoad( (gensym) gl_netlayer_form_file nil t)
   axlFormDisplay(gl_netlayer_form)
axlSetFindFilter(?enabled list("noall" "nets")
                     ?onButtons list("noall" "nets"))
      while(axlSelect()       
    
    if( net=car(axlGetSelSet())
    then      
       layers = nil
      foreach(branch net->branches
        foreach(child branch->children
          when(child->objType=="path"
            unless( member(child->layer layers)
              layers = cons(child->layer layers)
              layers_num=length(layers)
            );unless
          );when
        );foreach
      );foreach

      when( net->name != nil
          axlVisibleDesign(nil)

        foreach(layer layers
          axlFormSetField(gl_netlayer_form "GL_netlayer" layer)                   
          axlVisibleLayer(layer t)
         ......................
         .....................
   );end when   

  
    axlMsgPut(string)
    else
      axlMsgPut( list("No net selected" 0))

    );end if

);end while
   axlClearSelSet()

 );end let
axlClearSelSet()
);end defun


Originally posted in cdnusers.org by GordonL
  • Sign in to reply
  • Cancel
Parents
  • archive
    archive over 17 years ago

    Hi, Gordon,
    Where is the codes for the form action?
    You can try to add one line:

    axlFormListDeleteAll(gl_netlayer_form "GL_netlayer")

    before the next step :

    axlFormSetField(gl_netlayer_form "GL_netlayer" layer)


    Originally posted in cdnusers.org by leonlee
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • archive
    archive over 17 years ago

    Hi, Gordon,
    Where is the codes for the form action?
    You can try to add one line:

    axlFormListDeleteAll(gl_netlayer_form "GL_netlayer")

    before the next step :

    axlFormSetField(gl_netlayer_form "GL_netlayer" layer)


    Originally posted in cdnusers.org by leonlee
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
No Data
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