• 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 Scripting - Skill
  3. Warnings with axlSetFindFilter(?onButtons '("BONDSMART"...

Stats

  • Replies 7
  • Subscribers 19
  • Views 3991
  • Members are here 0
More Content

Warnings with axlSetFindFilter(?onButtons '("BONDSMART" "DYNTHEMALS" "INVISIBLE"))

EvanShultz
EvanShultz over 6 years ago

Using 17.2S051.

I've adjusted the Find Filter many times but not seen this issue before. I'm not sure what I'm doing wrong but clearly something is borked.

I'm saving the Find Filter at the start of my program and then restoring it at the end. Typical stuff. But in this program I see the following in the console:

*WARNING* (axlSetFindFilter): Options are ignored for onButtons - "BONDSMART"
*WARNING* (axlSetFindFilter): Options are ignored for onButtons - "DYNTHEMALS"
*WARNING* (axlSetFindFilter): Options are ignored for onButtons - "INVISIBLE"

I'm using the typical method:

procedure(<function name>(<parameter(s)>)
let((...)
; save find filter
lt_enabled = axlGetFindFilter(t)
lt_onButtons = axlGetFindFilter(nil)

; allowing selecting only text; adding "invisible" applies for all layers so the entire board is updated
axlSetFindFilter(?enabled list("noall" "invisible" "text") ?onButtons list("noall" "text"))
;axlMsgPut("%L" lt_enabled)
;axlMsgPut("%L" lt_onButtons)

<do stuff...>

axlSetFindFilter(?enabled lt_enabled ?onButtons lt_onButtons) ; restore find filter

<return value>
)
)

I can see that the lt_onButtons variable in the function above contains the three offending values in addition to "SYMBOLS". Those items aren't in the UI so I'm not sure why they're being returned to me. Even moreso because I always get back those four items in a list, regardless of how I configure the Find Filter before running my function. Even if I uncheck all items in the Find Filter I still get those four elements returned to me. I do see only "Text enabled and checked so that part works, it's only the restoration of the Find Filter that is a problem (it is not restored now and stays with only "Text" enabled and checked).

While I could use member(), or one if it's related functions, to strip out the problematic list elements that's hacky and not future-proof. I don't get why lt_onButtons returns elements that have no checkbox.

I can run different functions I've written on the same board and only this function results in the warnings above so I'm quite sure it's me and I'm just not seeing my own problem. Other functions where I've adjusted the Find Filter do not give any warnings and, as far as I can see, properly restore the Find Filter settings. Oddly, I see "nil" for both lt_enabled and lt_onButtons when I print them to the console using axlMsgPut() in working functions but the Find Filter is properly restored so I've done it right (I guess?).

Other board files have exactly the same behavior, where this one function is giving me the same returned list regardless of Find Filter settings while the other functions work fine and return nil as mentioned above. So I don't think it has anything to do with the board file.

Any ideas what I'm doing wrong?

  • Cancel
  • Sign in to reply
  • eDave
    eDave over 6 years ago

    I don't think you are doing anything wrong.

    The extra filters are there for additional Skill functionality over the user GUI.

    I always just remove "DYNTHEMALS"  from my onButtons. This clears the warnings.

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

    Right. I read about these filters in algroskill.pdf but couldn't figured out why they'd be in the returned value since **they don't have checkboxes**. Isn't that strange?

    I still get warnings with the other two if I remove "DYNTHEMALS". Removing this one element clears all warnings for you?

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

    The documentation for axlGetFindFilter is incorrect. 

    axlGetFindFilter(nil) returns the enabled list

    axlGetFindFilter(t) returns the onButtons list

    Reverse these in your code and you will get the right results

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

    Ah. Yes. OK, that does seem to be it. Thank you! I was being daft after all...

    Typing this command into the console always returns 'nil', though, providing either argument. Running axlGetFindFilter() in a SKILL routine returns an argument on the same board. I also tried different board files and got the same thing. I've tried it in Idle mode and various command mode. I tried on a computer with 044 hotfix and 051. This seems wrong. Why can't I get back a list from this function just running it from the console?

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

    Yes, it will always return nil unless you set it first. Surely this is how you would expect it to work?

    • 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