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()
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()