• 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. create symbol with skill

Stats

  • Replies 9
  • Subscribers 162
  • Views 16964
  • Members are here 0
More Content

create symbol with skill

Ejlersen
Ejlersen over 14 years ago

Hi

I have a text file with coordinates for a number of shape symbols that I need to create. My problem is how I inside skill can create a new .dra file and then draw the shape and save the .dra/ssm file.

I've look at numerous axl functions without getting something to work - does anyone have an idea?

I could probably create scripts to generate new shape symbols and save them using scripts, but I would rather avoid using scripts. 

Best regards

Ole

  • Sign in to reply
  • Cancel
  • aCraig
    aCraig over 14 years ago

    Hi Ole,

    Have you tried  "axlDBCreateSymDefSkeleton"? I've use this to create new symbols in a design.

    -Craig

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • eDave
    eDave over 14 years ago

    Hi Ole,

    If I understand your problem correctly you want to create a symbol without leaving your current design session?

    I can't think of a non-script way to do that but I get around the problem with a series of tricks to save my current design, open the symbol editor, create my symbol and re-open the original design:

        draName = "myDra"
       
        currentDesign = axlCurrentDesign()
        state = axlSaveEnable()
        tempDesignName = "temp.brd"
        axlSaveDesign(?design tempDesignName, ?mode "nocheck", ?noMru t)
        AFn_OpenDesign(?design strcat(draName, ".dra"), ?mode "wf", ?noMru t, ?noConfirm t, ?forceNew t)
        axlSetSymbolType("shape")
        ;...
       
        AFn_OpenDesign(?design tempDesignName, ?mode "wf", ?noMru t, ?noConfirm t)
        axlSaveDesign(?noMru t)
        axlRenameDesign(currentDesign)
        deleteFile(tempDesignName)
        axlSaveEnable(state)

    defun( AFn_OpenDesign (@key design, (mode "w"), noMru, noConfirm, forceNew)
     let((noconfirmStatus, result)
      when(noConfirm, noconfirmStatus = axlGetVariable("NOCONFIRM"), axlSetVariable("NOCONFIRM", t))
      when(forceNew && isFile(design), deleteFile(design))
      result = if(noMru && axlVersion('version) >= 16.0
       then axlOpenDesign(?design design, ?mode mode, ?noMru t)
       else axlOpenDesign(?design design, ?mode mode)
      )
      when(noConfirm, if(noconfirmStatus then axlSetVariable("NOCONFIRM", t) else axlUnsetVariable("NOCONFIRM")))
      result
    ))

    Regards,

    Dave

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Ejlersen
    Ejlersen over 14 years ago

    Hi Dave

    Thanks for the tip, I'll try it out.

    Best regards

    Ole

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Ejlersen
    Ejlersen over 14 years ago

    Hi Dave

    This seems to work fine, a small correction

    you need to run axlSaveDesign before AFn_OpenDesign in the end to save of the symbol

    I was wondering if you have a method to write the symbol file also, I can only get it to save the .dra file

    Best regards

    Ole

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • eDave
    eDave over 14 years ago

    Hi Ole,

    axlSaveDesign should also create the compile the symbol if you are in the drawing editor.

    Regards,

    Dave

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