• 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 Capture CIS
  3. Question about Orcad capture 16.6 CIS BOM output for components...

Stats

  • State Not Answered
  • Replies 2
  • Subscribers 43
  • Views 4759
  • Members are here 0
More Content

Question about Orcad capture 16.6 CIS BOM output for components not stuff

ColinLiu
ColinLiu over 1 year ago

Hi sirs,

We normally set Edit property---BOM ignore--TRUE for components which are just preserved location but not stuff(do not need in BOM).

It is OK to exclude these kind of components from BOM,But meanwhile there components do not exist in Part Manager.

So this do not make sense when we use Part Manager  to update for these components.for example, sometimes we also want update footprint(from CIS) for these components.

Is there any setting that make these components(BOM ignore--TRUE) appear in Part Manager?

Or Do you have any other better methods to do with the component not stuff(do not exist in BOM),please kindly share with us.

Thanks. 

  • Sign in to reply
  • Cancel
  • CadAP
    0 CadAP over 1 year ago

    Hi Colin Liu,

    BOM_IGNORE property works in such a way that it does remove the component from Part Manager itself so that it will not be present in any variant. So it is not possible to view the components with BOM_IGNORE property attached to them.

    But I have crated below tcl script which modify the footprint value of those components which have property BOM_IGNORE . You can change the lFootPrint  from "smdres" to your desired one.

    You need to copy the below line in txt file and save it as change_footprint.tcl file.

    Then go to capture command window and type source {<pathtotclfile\change_footprint.tcl >}

    # Setting footprint value to component who have property BOM_IGNORE property


    set lSession $::DboSession_s_pDboSession
    DboSession -this $lSession
    set lNullObj NULL
    set lStatus [DboState]
    set lDesign [$lSession GetActiveDesign]
    set lSchi_Name [DboTclHelper_sMakeCString]

    set lPart_Name [DboTclHelper_sMakeCString]
    set lPart_Name1 [DboTclHelper_sMakeCString]
    set lPrpName [DboTclHelper_sMakeCString]
    set lPrpValue [DboTclHelper_sMakeCString]
    set lPrpType [DboTclHelper_sMakeDboValueType]
    set lEditable [DboTclHelper_sMakeInt]
    set lDeviceDesignator [DboTclHelper_sMakeCString]
    set lFootPrint [DboTclHelper_sMakeCString "smdres"] ; #Set footprint value "smdres"

    if {$lDesign != $lNullObj} {
    set lSchematicIter [$lDesign NewViewsIter $lStatus $::IterDefs_SCHEMATICS]
    #get the first schematic view
    set lView [$lSchematicIter NextView $lStatus]
    set lPage_Name [DboTclHelper_sMakeCString]
    while { $lView != $lNullObj} {
    #dynamic cast from DboView to DboSchematic
    set lSchematic [DboViewToDboSchematic $lView]
    $lSchematic GetName $lSchi_Name
    set lPagesIter [$lSchematic NewPagesIter $lStatus]
    #get the first page
    set lPage [$lPagesIter NextPage $lStatus]
    # puts [DboTclHelper_sGetConstCharPtr $lSchi_Name]
    while {$lPage!=$lNullObj} {
    #placeholder: do your processing on $lPage
    $lPage GetName $lPage_Name
    # puts [DboTclHelper_sGetConstCharPtr $lPage_Name]
    set lPartInstsIter [$lPage NewPartInstsIter $lStatus]
    #get the first part inst
    set lInst [$lPartInstsIter NextPartInst $lStatus]
    while {$lInst != $lNullObj } {

    $lInst GetReferenceDesignator $lDeviceDesignator
    set lPlacedInst [DboPartInstToDboPlacedInst $lInst]
    set lPropsIter [$lPlacedInst NewEffectivePropsIter $lStatus]
    set lStatus [$lPropsIter NextEffectiveProp $lPrpName $lPrpValue $lPrpType $lEditable]
    while {[$lStatus OK] == 1} {
    set lPropName [DboTclHelper_sGetConstCharPtr $lPrpName]
    set lPropValue [DboTclHelper_sGetConstCharPtr $lPrpValue]
    if {$lPropName eq "BOM_IGNORE"} {

    $lPlacedInst SetPCBFootprint $lFootPrint
    # puts $lPropValue
    puts [DboTclHelper_sGetConstCharPtr $lDeviceDesignator]

    }
    #get the next effective property
    set lStatus [$lPropsIter NextEffectiveProp $lPrpName $lPrpValue $lPrpType $lEditable]
    }
    delete_DboEffectivePropsIter $lPropsIter
    #get the next part inst
    set lInst [$lPartInstsIter NextPartInst $lStatus]
    }
    delete_DboPagePartInstsIter $lPartInstsIter
    catch {DboTclHelper_sEvalPage $lPage}
    #get the next page
    set lPage [$lPagesIter NextPage $lStatus]
    }
    delete_DboSchematicPagesIter $lPagesIter
    set lView [$lSchematicIter NextView $lStatus]
    }
    #get the next schematic view
    delete_DboLibViewsIter $lSchematicIter

    } else { puts "No Active Design"}

    Hope this helps!

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

    Thanks sir. Got your point. By the way, we also find there is “Exclude prefixes”  function in the UI. I think it should be worked if I add prefix such as "NC_xxx" to components which not stuffed.  But it seems not work when I just type NC in this item. It can work if I type the complete name, for example “NC_R1”, the R1 do not exist in BOM at this time. I guess it may not need to type every component whole name with the same no stuff prefix. Could you please help to check it. Does it have any special format?

    • 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