In a crowded molecular scene, a small organizational task can turn into a hunt: which property models are visible, which are hidden, and which ones are selected? Node Specification Language (NSL) can make that search more deliberate. The propertyModel attribute space—short name pm—matches property model nodes, so its expressions let you describe the kind of property model you want to find.
Start with the property-model scope
Use pm when your search should be limited to property model nodes. For example, pm.n "A" matches a property model by the name A, while pm.n "L*" is an example of a name expression using a wildcard. Keeping the scope explicit helps avoid confusing a property model with another kind of node that may share a similar name.
Check visibility directly
To find property models marked visible, use pm.v. To find those marked not visible, use not pm.v. This is a useful first split when you are auditing a scene or trying to narrow attention to the models currently shown.
The attribute visible also has the short name v, so these expressions are equivalent ways to refer to it: pm.visible and pm.v. The full name can be easier to read when sharing an expression with someone; the short name is convenient when writing one.
Keep selection and selection flags separate
Selection-related attributes have a detail worth remembering. Property models inherit selected, which can be used as pm.selected or negated as not pm.selected. Unlike many of the other attributes listed here, selected has no short name in the property-model attribute space.
selectionFlag is a separate attribute, with the short name sf. Its documented examples are pm.sf and pm.sf false. Do not replace one with the other just because both names refer to selection-related concepts: the reference lists them as distinct attributes, and the expressions query different attributes.
Use flags when you specifically need a flag
There is a similar distinction for visibility. visible has the short name v, while visibilityFlag has the short name vf. The reference shows pm.v and not pm.v for visibility, and pm.vf and pm.vf false for the flag. If you are unsure which attribute answers your question, use the full attribute name first, then switch to the short form once the expression is clear.
Make a quick, repeatable check
- Begin with the scope:
pmkeeps the query focused on property models. - Add the attribute that matches your question, such as
pm.vfor visible orpm.selectedfor selected. - Use
notwhen you want the opposite boolean value, as innot pm.v. - For name-based searches, use
pm.nfollowed by a quoted string, such aspm.n "A".
Property models also inherit the node attributes hasMaterial (hm) and ownsMaterial (om). Their documented examples include pm.hm and pm.om. These are separate attributes, so choose the one whose name matches the property you intend to inspect rather than treating them as interchangeable.
The practical benefit is a more precise search: identify the node type first, then state whether you care about its name, visibility, selection, or material-related attribute. For the complete attribute list and reference details, learn more in the SAMSON property model documentation.
Note: SAMSON and all SAMSON Extensions are free for non-commercial use. Get SAMSON.
