| On this page |
|
How to ¶
| To... | Do this |
|---|---|
|
Open the find dialog |
In the network editor, choose Edit ▸ Find or press ⌃ Ctrl + F or /.
|
|
Add a filter |
Click the Add Filter button at the bottom of the query builder, the choose a filter type from the menu. |
|
Mark a filter as required |
Click the checkmark icon to the left of the filter row. When a filter row is required, only items that match that row will appear in the results. or Add a |
|
Mark a filter as excluded |
Click the “circle-slash” icon to the left of the filter row. When a filter row is excluded, any items that match the row will not appear in the results. or Add a |
|
Delete a filter |
Click the X icon to the right of the filter row. or Delete the filter syntax in the Find field. |
|
Change the type of a filter |
Click the filter type label at the start of the filter row, then choose a new filter type from the menu. |
|
Show or hide the query builder interface |
Click the small arrow to the left of Find. |
Tips and notes ¶
-
As you type in the Find field, the query builder updates with filter rows equivalent to the text query. If you edit filter rows in the query builder, the Find field updates with the equivalent text syntax.
-
If all filters are optional (not marked required), the dialog finds items that match any of the filters.
-
If one or more filters are marked as required, the dialog finds items that match all of the required filters, and one or more of the optional filters (if there are any).
-
If all filters are marked as excluded, the dialog finds items that don’t match any of the excluded filters.
Options ¶
In
The path of the network the window is searching in. You can edit this to search a different network.
Ignore case
When this is on, Houdini ignores upper and lower case when matching text, so node will match both node and Node.
Search child networks
When this is on, Houdini searches the network in the In field, and also recursively search all subnetworks in that network. This can add a large number of extra networks to search, so it may slow down searching.
Search locked assets
Normally, the dialog does not search inside locked assets. You can turn this on if you are looking for a node inside a locked asset, otherwise you should leave it off since it will slow down searching.
Only match nodes
When this is on, search only matches nodes. When this is off, the results can also contain network boxes, sticky notes, and subnet inputs.
Selecting row selects item
When this is on, selecting a row in this window also selects the corresponding item in the network. When this is off, selecting rows in the results has no effect on the network selection. You can click Select to manually select the network items corresponding to the selected rows.
Syntax ¶
General syntax tips ¶
Anywhere you can specify a bare “word”, you can type text in quotes instead. You need to do this if the text would otherwise be interpreted as syntax. For example:
|
Parses as a single string containing a space |
|
Parses as |
Item name filter ¶
The default search with out a field is a name pattern.
Note
If the pattern doesn’t start or end with *, the pattern will match anywhere in the name. (This is different from usual Houdini patterns, which must match the entire string.)
|
Matchs names containing |
|
Matches names containing an |
|
Matches names containg an |
|
Matches names containg an |
|
Matches names that start with |
|
Matches names that end in |
A bare pattern is the same as @name = ‹pattern›. The = operator specifies a pattern match. The other operators you can use are:
|
A fuzzy match. The letters of the text match with any number of characters between them. For example, |
|
A substring match. Matches any name containing the exact text. |
Item type filter ¶
See the help for the name filter for more information on text operators and pattern characters.
|
Matches the pattern in the node’s internal name (for example |
|
Matches any SOP node. The valid |
|
Like |
|
Matches the pattern against a network box’s comment. |
|
Matches the pattern against a sticky note’s text. |
Namespace filter ¶
Like the item type filter, but only matches against a node’s namespace. See the help for the name filter for more information on text operators and pattern characters.
|
Matches any node with a non-empty namespace. (Use |
|
Matches nodes whose namespace string matches the pattern. |
“Any text” filter ¶
|
Matches the pattern against any of:
|
Because this filter type can end up calling multiple methods on each item, it can be slower than just filtering by node name or type name.
Node flag/state filter ¶
|
Matches nodes with the given flag turned on. Use For example, to exclude bypassed nodes from the results, use The flag names come from hou.nodeFlag, but are case-insenstive. Some common flags to search for are: |
The filter also accepts a couple of “pseudo-flags”:
|
Matches locked assets. You can find unlocked assets with |
|
Matches SOP nodes whose type has a verb. |
Tip
The filter will accept prefixes of flag names, for example @flag:by for @flag:bypass.
Node created/modified time filter ¶
An expression for matching created or modified times has the following general syntax:
@‹field› ‹operator› ‹number› ‹unit›
The ‹field› is one of:
|
Matches created or modified time. |
|
Matches creation time. |
|
Matches last modification time. |
The ‹operator› is one of <, >, <=, or >=. (Since the filter checks whether the node’s time is before or after a certain instant, <= is basically the same as <.)
The ‹unit› is one of:
|
Seconds |
|
Hours |
|
Minutes |
|
Days (24 hours) |
(The filter accepts any word that starts with one of these letters. For example, h, hr, hrs, or hours are all equivalent.)
For example:
|
Matches nodes created less than 10 seconds ago. |
|
Matches nodes last modified more than 5 days ago. |
You can’t specify multiple time units, for example 6h 30m. Instead, use fractional numbers, for example 6.5h.
Parameter filter ¶
See the help for the name filter for more information on text operators and pattern characters.
|
Matches nodes where the contents of any parameter matches the given pattern. This has to check every parameter on every node, so it can be slow. You should specify a parameter name (see below) whenever possible. |
|
Matches nodes where a parameter whose internal name or label matches ‹name_pattern› has contents matching |
For exmaple, @parm:vexpression = "@P" finds any nodes whether the VEXpression parameter contains @P.
Note
This filter matches against the “raw” parameter contents (the expression or literal text value), not the evaluated numeric value. Filtering by evaluated values would be useful, but would require cooking every node and would potentially be very slow.
Message/comment filter ¶
See the help for the name filter for more information on text operators and pattern characters.
|
Matches any node with an error. You can also use |
|
Matches any node with an error that matches the pattern. You can also use |
|
Matches any node with a non-empty comment string. |
|
Matches any node with a comment string matching the pattern. |
Version filter ¶
This filter compares version numbers numerically, rather than as text. You can use it to find node types with versions less than, greater than, or equal to some specified version.
The general syntax is:
@version ‹operator› ‹version›
The operator can be <, >, <=, =<, >=, =>, =, ==, or !=
For example:
|
Matches nodes whose node type has a version number less than 3 (for example, |
|
Matches nodes whose node type has a version number greater than or equal to |
You can also use the special form:
|
Matches any node where the node type name has a non-empty version. (Use |
User data filter ¶
See the help for the name filter for more information on text operators and pattern characters.
|
Matches any node whose user data dictionary has the given |
|
Matches any node whose user data dictionary has the given |
Note
The key string must be exact, it does not use pattern matching.
Parameter tag filter ¶
This type lets you search for nodes that have parameters with certain parameter tags or parameter tag values.
|
Matches any node with a parameter tag on any parameter. Practically all parameters have tags so this is not very useful. |
|
Matches any node that has a parameter with a tag value matching ‹pattern›. |
|
Matches any node that has a parameter with a tag name matching the ‹tag› pattern. |
|
Matches any node that has a parameter with a tag where the tag name matches the ‹tag› pattern and the tag value matches ‹pattern›. |
Tip
If you need to match special characters such as : in the tag name, you need to quote the tag pattern. For example:
@parmtag:'sidefx::*' = foo
Script filter ¶
Text between backticks is interpreted as a Python expression. The filter matches items for which the expression returns True.
For example:
`isinstance(item, hou.LopNode) and item.isMostRecentStageLock()`
APEX tags filter ¶
|
Matches any APEX node with a tag matching the pattern. |