A busy molecular scene can contain many visual model nodes, and finding the one you mean is not always straightforward. Is it hidden? Is it visible? Is it selected? Does it have a material? These are different questions—and when you are searching by a property, using the right attribute makes your query clearer and easier to check.
SAMSON’s Node Specification Language (NSL) provides a dedicated attribute space for visual models: visualModel, abbreviated vm. The key practical detail is that vm matches only visual model nodes. That gives you a focused starting point when your goal is to describe or find visual models rather than nodes of other kinds.
Start with the visual-model prefix
Each example below uses vm followed by an attribute. The full attribute name and its short form are listed together so you can choose whichever is easier to read or type:
vm.visibleorvm.vvm.hiddenorvm.hvm.hasMaterialorvm.hmvm.ownsMaterialorvm.omvm.selectionFlagorvm.sfvm.visibilityFlagorvm.vf
For boolean attributes, the documentation gives expressions such as vm.v and not vm.v, or vm.h and not vm.h. These let you state whether you are looking for nodes where an attribute is true or false. For the flags, examples include vm.sf false and vm.vf false. Use the exact attribute that matches the question you are asking; the attribute names are distinct, and the reference does not treat them as interchangeable.
Use names when the visual model is identifiable
If the model has a useful name, the inherited name attribute can make a query more targeted. The documented examples are vm.n "A" and vm.n "L*". The short form is n, while the full name is name. Since names are written as strings in quotes, keep the quotation marks around the value in your expression.
Short forms are convenient for quick entry, but full names can be easier to interpret when you revisit a query later. A simple habit is to write the query in its clearest form first, then use the short form if you prefer a compact expression.
Remember that these attributes are inherited
The visual-model attribute space includes attributes inherited from the general node attribute space. That includes hasMaterial, hidden, name, ownsMaterial, selected, selectionFlag, visibilityFlag, and visible. You can therefore use these properties with the vm prefix while keeping the query focused on visual models.
One small detail is easy to miss: selected has no short name in the visual-model reference. Its examples are vm.selected and not vm.selected. Don’t assume that every attribute has an abbreviation just because many of them do.
A practical way to debug a query
When a visual-model query does not return what you expect, check it in small steps: first confirm that you are using the vm attribute space; then verify the attribute spelling or short name; finally check whether the expression should be negated or given an explicit boolean value. If you are querying by name, confirm that the value is quoted. These checks won’t decide which property is right for your task, but they help catch common expression-level mistakes before you investigate the scene itself.
For the complete attribute list and examples, see the Visual model attributes reference.
Note: SAMSON and all SAMSON Extensions are free for non-commercial use. Get SAMSON.
