When a molecular scene contains several meshes, it is easy to lose track of which one is selected, visible, or associated with a material. Clicking through nodes can become a slow way to answer simple questions: “Which meshes are hidden?” “What is this mesh called?” or “Which meshes currently have a material?”
SAMSON’s Node Specification Language (NSL) offers a more direct approach: query mesh nodes by their attributes. Mesh-specific queries use the mesh attribute space, abbreviated me. That prefix matters because it limits the match to mesh nodes, rather than asking about nodes of every kind.
Start with the mesh attribute space
For example, me.h is a query for meshes whose hidden attribute is true. To query meshes that are not hidden, use not me.h. The full attribute name is also available: me.hidden. The short form is convenient when writing queries, while the full name can make them easier to read later.
This small distinction is useful when a scene mixes meshes with other node types. A mesh-focused query makes your intention explicit: you are looking for mesh nodes, not simply anything in the scene that happens to share a property.
Check display state without guessing
Several mesh attributes describe visibility and selection. These are related, but they are separate queryable attributes:
me.vorme.visiblechecks thevisibleattribute.me.horme.hiddenchecks thehiddenattribute.me.vforme.visibilityFlagchecks thevisibilityFlagattribute.me.selectedchecks whether the mesh is selected.me.sforme.selectionFlagchecks theselectionFlagattribute.
For instance, if you want to inspect the visible state, try me.v; to look for meshes with the visibility flag set to false, use me.vf false. These examples help you ask a precise question instead of relying on visual inspection alone. The documentation lists true and false as the possible values for these attributes.
One detail worth remembering: selected has no short name in the mesh attribute space. Use me.selected or not me.selected; do not assume that me.s is available for meshes.
Use names to narrow the search
Meshes also inherit the name attribute. Write a name query with a quoted string, such as me.n "A" or me.n "L*". The full form is me.name, and the short form is me.n. Quotation marks make it clear that the value is a name string rather than another attribute or a Boolean value.
If a scene has similarly named objects, a name query can be a useful first step in locating the mesh you want to inspect. The page’s examples include both a specific-looking name and a pattern-like string; consult the NSL examples if you need more guidance on expression patterns or combining conditions.
Ask about material attributes
Two more inherited attributes are hasMaterial and ownsMaterial. Their short forms are hm and om, respectively. You can query them with me.hm and me.om, or use the explicit Boolean value where needed, such as me.hm false. Keeping these as separate attributes is helpful when your question is specifically about whether a mesh has a material versus whether it owns one; use the attribute that matches the question you are asking.
A practical habit is to begin with one clear attribute query—name, visibility, selection, or material—and check that it describes the meshes you intend to find. Short names make repeated queries compact; full names can make saved expressions more self-explanatory. Either way, the me prefix keeps the scope focused on meshes.
For the complete attribute list and links to the inherited node attributes, see the SAMSON mesh attributes reference.
Note: SAMSON and all SAMSON Extensions are free for non-commercial use. Get SAMSON.
