• 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. Issues with axlDBCreateComponent

Stats

  • Replies 4
  • Subscribers 159
  • Views 12789
  • Members are here 0
More Content

Issues with axlDBCreateComponent

vramananx
vramananx over 13 years ago


In a design I am trying to create a duplicate of all the exisiting components (not symbol)

for this I am using the axlDBCreateComponent command,
This is my code

_CompList = axlDBGetDesign()->components
foreach(a _CompList axlDBCreateComponent(strcat(a->name "_T") a->deviceType strcat(a->package "_T")))

This works fine for all the components except for the discretes,

for example refdes C1 has a device name (devType) as C_0201_LOL_4V-0.1UF,X6S,15%,>3A

so i even tried to do the following

x = car(setof(a (axlDBGetDesign()->components) a->name == "C1"))
axlDBCreateComponent("C1_T" x->deviceType x->package nil nil)

this will give the message
E- (SPMHNX-9): Unable to find device file for 'C_0201_LOL_4V-0.1UF,X6S,15%,>3A'.
nil

I also tried to enabled and increased the allegro long name settings to 200 without any success

the typep of x->devType is string

also I tried to do the following, in assumption that I would be able to create a dummy device file with a refdes

axlDBCreateComponent("C1_T" "CAPTemp" "0201_LOL_4V_t") but i get the following error
E- (SPMHNX-9): Unable to find device file for 'CAPTEMP'.
nil

How do I resolve this?

or let me know how can I duplicate all the components in a design something similar to a logical edit parts where I can add a duplicate instance of all the components with the same device name, value, tolerance etc..

  • Sign in to reply
  • Cancel
  • fxffxf
    fxffxf over 13 years ago

     These will require the value (4th arg) and tolerance (5th arg) to axlDBCreateComponent

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • vramananx
    vramananx over 13 years ago

    no luck

    I tried that too

     x = car(setof(a (axlDBGetDesign()->components) a->name == "C1"))

    axlDBCreateComponent("C1c_T" x->deviceType x->package nil nil)

    and

    axlDBCreateComponent("C1c_T" x->deviceType x->package "0.1uf" "10%")

    don't work

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • fxffxf
    fxffxf over 13 years ago

     It may be somewhat sensitive to the syntax of these items, try:

       axlDBCreateComponent("C1c_T" x->deviceType x->package x->compdef->prop->VALUE x->compdef->prop->TOL)

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • vramananx
    vramananx over 13 years ago

    Works Now

    woof, but the syntax does say it could be nil :-)

     Cadence support told me to export all the device files and try it, but it won't work

    regards

     Venkata

    • 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