Beispiel #1
0
from compas.datastructures import Mesh
from compas.datastructures import mesh_subdivide
from compas.geometry import Box
from compas.geometry import Translation
from compas.geometry import distance_point_point

from compas_viewers.multimeshviewer import MultiMeshViewer

tri = partial(mesh_subdivide, scheme='tri')
quad = partial(mesh_subdivide, scheme='quad')
ck = partial(mesh_subdivide, scheme='catmullclark')
corner = partial(mesh_subdivide, scheme='corner')
doosabin = partial(mesh_subdivide, scheme='doosabin')

box = Box.from_corner_corner_height((0.0, 0.0, 0.0), (1.0, 1.0, 0.0), 1.0)
mesh = Mesh.from_shape(box)

bbox = mesh.bounding_box_xy()
d = distance_point_point(bbox[0], bbox[1])

k = 2

tri_mesh = tri(mesh, k=k)
quad_mesh = quad(mesh, k=k)
ck_mesh = ck(mesh, k=k)
corner_mesh = corner(mesh, k=k)
doosabin_mesh = doosabin(mesh, k=k)

quad_mesh.transform(Translation([1.5 * d, 0.0, 0.0]))
corner_mesh.transform(Translation([1.5 * 2 * d, 0.0, 0.0]))
Beispiel #2
0
    return network_copy


# ==============================================================================
# Main
# ==============================================================================

if __name__ == "__main__":

    from math import pi

    from compas.utilities import print_profile
    from compas.geometry import Box
    from compas.geometry import matrix_from_translation
    from compas.geometry import Translation
    from compas.geometry import Rotation
    from compas.datastructures import network

    network_transform = print_profile(network_transform)

    box = Box.from_corner_corner_height([0.0, 0.0, 0.0], [1.0, 1.0, 0.0], 1.0)
    network = network.from_vertices_and_faces(box.vertices, box.faces)

    T = matrix_from_translation([-2.0, 0.0, 3.0])
    T = Translation([-2.0, 0.0, 3.0])
    R = Rotation.from_axis_and_angle([0.0, 0.0, 1.0], pi / 2)

    network_transform(network, R)

    print(network.get_vertices_attribute('x'))
Beispiel #3
0
def box():
    box = Box.from_corner_corner_height([0, 0, 0], [1, 1, 0], 1.0)
    mesh = Mesh.from_shape(box)
    return mesh