Here is some ChimeraX Python code that hides lines of a mesh that are not parallel the x or y or z axes. Ilhan Tomris asked about how to show a grid on light microscopy data. The shape command can show a rectangle, and the surface style command can display it as a mesh.
shape rectangle width 20 height 20
surface style #3 mesh
But the rectangle is made up of triangles so the mesh shows triangles. The Python code hide_diagonals.py below defines a command hidediagonals that hides the lines that are not parallel x or y or z axes.

I also added this to ChimeraX as the surface squaremesh command.
# Define command hidediagonals that hides edges of a mesh surface that are not parallel
# the x, or y, or z axes. This was to make a square grid to overlay on microscopy data.
def hide_diagonals(session, surface):
vertices = surface.vertices
from numpy import array, uint8
edge_mask = array([diagonal_mask(t, vertices) for t in surface.triangles], uint8)
surface.edge_mask = edge_mask
def diagonal_mask(triangle, vertices):
'''
The edge mask uses the lowest 3 bits to indicate which of the 3 edges
of a triangles should be shown.
'''
i0,i1,i2 = triangle
v0,v1,v2 = vertices[i0],vertices[i1],vertices[i2]
mask = 0
if parallel_x_or_y_or_z(v0,v1):
mask |= 0x1
if parallel_x_or_y_or_z(v1,v2):
mask |= 0x2
if parallel_x_or_y_or_z(v2,v0):
mask |= 0x4
return mask
def parallel_x_or_y_or_z(xyz1,xyz2):
return (xyz1 == xyz2).sum() >= 2
def register_hide_diagonals_command(logger):
from chimerax.core.commands import CmdDesc, register, SurfaceArg
desc = CmdDesc(
required = [('surface', SurfaceArg)],
synopsis = 'Hide diagonal of surface mesh'
)
register('hidediagonals', desc, hide_diagonals, logger=logger)
register_hide_diagonals_command(session.logger)
Tom Goddard, October 18, 2020