示例#1
0
vertexcolor = {
    key: (255, 0, 0)
    for key in shell.vertices_where({'is_anchor': True})
}

lines = []
for key in shell.vertices():
    a = shell.vertex_coordinates(key)
    n = shell.vertex_normal(key)
    b = add_vectors(a, n)

    lines.append({
        'start': a,
        'end': b,
        'arrow': 'end',
        'color': (0, 255, 0),
        'name': "{}.{}.normal".format(shell.name, key)
    })

# ==============================================================================
# Visualise
# ==============================================================================

artist = ShellArtist(shell, layer="Geometry::Normals")
artist.clear_layer()
artist.draw_vertices(color=vertexcolor)
artist.draw_edges()
artist.draw_lines(lines)
artist.redraw()
示例#2
0
    LINES += framelines(origin, xaxis, yaxis, zaxis, 'frame')

    normal = yaxis
    origin = add_vectors(origin, scale_vector(normal, OFFSET))
    plane = (origin, normal)

    points = []
    for key in keys:
        a = SHELL.vertex_coordinates(key)
        r = SHELL.get_vertex_attributes(key, ['rx', 'ry', 'rz'])
        b = add_vectors(a, r)

        line = a, b
        x = intersection_line_plane(line, plane)

        points.append(x)
        POINTS.append({
            'pos'   : x,
            'color' : (0, 0, 255),
            'name'  : "{}.{}.extensions".format(SHELL.name, key)})

# ==============================================================================
# Visualize
# ==============================================================================

ARTIST = ShellArtist(SHELL, layer="Scaffolding::Clamps")
ARTIST.clear_layer()
ARTIST.draw_points(POINTS)
ARTIST.draw_lines(LINES)
ARTIST.redraw()