Example #1
0
def meshes_to_network(meshes):
    network = Network()

    network.update_default_node_attributes(mesh=None, vkey=None, fkey=None)
    network.update_default_edge_attributes(mesh=None, fkey=None)

    for i, mesh in enumerate(meshes):
        for vkey in mesh.vertices():
            x, y, z = mesh.vertex_coordinates(vkey)
            network.add_node(x=x, y=y, z=z, mesh=i, vkey=vkey)
        for u, v in mesh.edges():
            u1 = next(network.nodes_where({"vkey": u, "mesh": i}))
            v1 = next(network.nodes_where({"vkey": v, "mesh": i}))
            network.add_edge(u1, v1, mesh=i)

    return network
Example #2
0
import compas_rhino
from compas.datastructures import Network
from compas_rhino.artists import NetworkArtist

# clear the Rhino model

compas_rhino.clear()

# create a network

network = Network()

network.update_default_node_attributes(is_anchor=False)
network.update_default_node_attributes(rx=0, ry=0, rz=0)
network.update_default_edge_attributes(f=1)

a = network.add_node(x=0, y=0, z=0, is_anchor=True)
b = network.add_node(x=10, y=0, z=10, is_anchor=True)
c = network.add_node(x=10, y=10, z=0, is_anchor=True)
d = network.add_node(x=0, y=10, z=10, is_anchor=True)

e = network.add_node(x=5, y=5, z=0)

network.add_edge(a, e)
network.add_edge(b, e)
network.add_edge(c, e)
network.add_edge(d, e)

# visualize the geometry

artist = NetworkArtist(network)