scheme - annotation functionalities

schematics system

class Scheme(vertices=None, spaces=None, primitives=None, annotation=True, **kwargs)
set(*args, **kwargs)

change the specified attributes in the current default vertex definition

add(obj, **kwargs)

add an object to the scheme if it is a mesh it’s merged in the current buffers else it is added as a component to the current space

component(obj, **kwargs)

add an object as component associated to the current space

display(sch)

display for schemes

attributes: :spaces: numpy array of matrices for each space, sent as uniform to the shader :vb_vertices: vertex buffer for vertices :vas: vertex array associated to each shader

view(view)
screen(view)
world(view)
halo_world(position)
halo_view(position)
halo_screen(position)
scale_screen(center)
scale_view(center)

annotation functions

note_leading(placement, offset=None, text='here')

place a leading note at given position

placement can be any of Mesh, Web, Wire, axis, vec3

../_images/note_leading.png
note_floating(position, text)

place a floating note at given position

note_distance(a, b, offset=0, project=None, d=None, tol=None, text=None)

place a distance quotation between 2 points, the distance can be evaluated along vector project if specified

../_images/note_distance.png
note_distance_planes(s0, s1, offset=None, d=None, tol=None, text=None)

place a distance quotation between 2 meshes

s0 and s1 can be any of Mesh, Web, Wire

../_images/note_distance_planes.png
note_distance_set(s0, s1, offset=0, d=None, tol=None, text=None)

place a distance quotation between 2 objects. This is the distance between the closest elements of both sets

s0 and s1 can be any of Mesh, Web, Wire, vec3

../_images/note_distance_set.png
note_angle(a0, a1, offset=0, d=None, tol=None, text=None, unit='deg')

place an angle quotation between 2 axis

../_images/note_angle.png
note_angle_planes(s0, s1, offset=0, d=None, tol=None, text=None, unit='deg')

place an angle quotation between 2 meshes considered to be plane (surface) or straight (curve)

s0 and s1 can be any of Mesh, Web, Wire, Axis

note_angle_edge(part, edge, offset=0, d=None, tol=None, text=None, unit='deg')

place an angle quotation around a mesh edge

../_images/note_angle_edge.png
note_label(placement, offset=None, text='!', style='rect')

place a text label upon an object

placement can be any of Mesh, Web, Wire, axis, vec3

../_images/note_label.png