• 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. Concept-SKILL question: changing default property value...

Stats

  • Replies 2
  • Subscribers 158
  • Views 12923
  • Members are here 0
More Content

Concept-SKILL question: changing default property values

archive
archive over 17 years ago

Greetings all,

Working on a routine to change all the refdes values on a schematic.
Tried the csChangePropValue routine inside stdAccess.il  but it turns out
that function only works on custom properties because of its
copy template -> delete property -> create new property using template and new value
method. Turns out Concept won't let you delete a default property like LOCATION.

So, anyone know how to change a default property's value using Concept-SKILL?


TIA,

Chris Walters
local Cadence guru
()


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

    Steve Durrill, creator of stdAccess.il, was kind enough to respond in a different thread:

    -----------------
    I got a fix from the R&D team a few years ago for
    cnCreateProps() to modify an existing prop object when
    a dbid is provided.

    procedure( chgDefPropVal( h, prop, newVal)
    let(((tplList nil))
    tplList = cons(cnCreatePropTemplate(
    ?name cnGetPropName(prop),
    ?value newVal,
    ?attachXY cnGetPropAttachXY(prop),
    ?XY cnGetPropXY(prop),
    ?color cnGetPropColor(prop),
    ?visibility cnGetPropVisibility(prop),
    ?justification cnGetPropJustification(prop),
    ?size cnGetPropSize(prop),
    ?angle cnGetPropAngle(prop)
    ), tplList)
    cnCreateProps(h, tplList)
    );let
    );procedure


    handle = cnmpsImport()
    props = cnGetProps(cnGetGroupedObjectSet(cnSendCommand(handle, "FINDLOCATION*\n", ?runOptions csDISP1_RES3)))
    p = car(props)
    chgDefPropVal(handle, p, "NEWVALU")
    ---------------------

    So there you have it. cnCreateProps will change the value of an existing default property just fine, but function csChangePropValue within stdAccess.il is flawed in that it cannot handle default properties since it tries to delete->replace the property and Concept won't allow deletion of a default property.

    CASE CLOSED


    Chris Walters
    local Cadence guru
    ()



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

    I just took a look at the csChangePropValue() routine.. Since cnCreateProps() accepts DBIDs
    all you have to do to fix the liimitation for default body props is remove this line:

    csDeletePropObjects(handle, propList)

    The new version is included below.

    -Steve


    procedure(
    csChangePropValue(handle, propList, new_value)
    let((tpl_list)
    if(propList then ;; Make sure there are properties to change!
    if(isCallable('cnCreatePropTemplate) then
    ;;Get the template objects with changes included
    tpl_list = foreach(mapcan prop propList ncons(
    csBuildPropTemplate(prop, ?value new_value)))
    cnCreateProps(handle, tpl_list)
    else ;; Release is pre-PE13.5 so call the old routine
    foreach(prop propList
    csChangeProperty(handle, prop, new_value)
    );foreach
    );if
    );if
    );let
    );procedure


    Originally posted in cdnusers.org by sdurrill
    • 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