Exemplo n.º 1
0
box = Mesh.from_shape(box)
box.quads_to_triangles()

A = box.to_vertices_and_faces()

sphere = Sphere(Point(1, 1, 1), 1)
sphere = Mesh.from_shape(sphere, u=30, v=30)
sphere.quads_to_triangles()

B = sphere.to_vertices_and_faces()

# ==============================================================================
# Remesh the sphere
# ==============================================================================

proxy.package = 'compas_cgal.meshing'

B = proxy.remesh(B, 0.3, 10)

# ==============================================================================
# Compute the intersections
# ==============================================================================

proxy.package = 'compas_cgal.intersections'

pointsets = proxy.intersection_mesh_mesh(A, B)

# ==============================================================================
# Process output
# ==============================================================================
Exemplo n.º 2
0
from compas.rpc import Proxy
from compas_rhino.artists import MeshArtist

proxy = Proxy()
proxy.restart_server()

compas_rhino.clear()

box = Box.from_width_height_depth(2, 2, 2)
box = Mesh.from_shape(box)
box.quads_to_triangles()

A = box.to_vertices_and_faces()

sphere = Sphere(Point(1, 1, 1), 1)
sphere = Mesh.from_shape(sphere, u=30, v=30)
sphere.quads_to_triangles()

B = sphere.to_vertices_and_faces()

proxy.package = "compas_cgal.meshing"
B = proxy.remesh(B, 0.3, 10)

proxy.package = "compas_cgal.booleans"
V, F = proxy.boolean_union(A, B)

mesh = Mesh.from_vertices_and_faces(V, F)

artist = MeshArtist(mesh)
artist.draw_faces()
Exemplo n.º 3
0
from __future__ import print_function

from compas.rpc import Proxy

proxy = Proxy()

A = [[3, 2, 0], [1, -1, 0], [0, 5, 1]]
b = [2, 4, -1]

proxy.package = "scipy.linalg"
x = proxy.solve(A, b)

print(x)
Exemplo n.º 4
0
span = 10
depth = 0.5
thickness = 0.7
n = 40

arch = Arch(rise, span, thickness, depth, n)
assembly = Assembly.from_geometry(arch)

assembly.node_attribute(0, 'is_support', True)
assembly.node_attribute(n - 1, 'is_support', True)

# ==============================================================================
# Identify the interfaces
# ==============================================================================

proxy.package = 'compas_assembly.datastructures'

# make proxy methods into configurable objects
# with __call__ for execution
# store the method objects in a dict of callables
assembly = proxy.assembly_interfaces_numpy(assembly, tmax=0.02)

# ==============================================================================
# Compute interface forces
# ==============================================================================

proxy.package = 'compas_rbe.equilibrium'

assembly = proxy.compute_interface_forces_cvx(assembly, solver='CPLEX')

# ==============================================================================
Exemplo n.º 5
0
box = Mesh.from_shape(box)
box.quads_to_triangles()

A = box.to_vertices_and_faces()

sphere = Sphere(Point(1, 1, 1), 1)
sphere = Mesh.from_shape(sphere, u=30, v=30)
sphere.quads_to_triangles()

B = sphere.to_vertices_and_faces()

# ==============================================================================
# Remesh the sphere
# ==============================================================================

proxy.package = 'compas_cgal.meshing'

B = proxy.remesh(B, 0.3, 100)

# ==============================================================================
# Compute the boolean mesh
# ==============================================================================

proxy.package = 'compas_cgal.booleans'

V, F = proxy.boolean_union(A, B)

mesh = Mesh.from_vertices_and_faces(V, F)

# ==============================================================================
# Visualize
Exemplo n.º 6
0
# proxy.package = 'compas_assembly.datastructures'

# data = {
#     'assembly': assembly.to_data(),
#     'blocks': {str(key): assembly.blocks[key].to_data() for key in assembly.blocks}}

# data = proxy.assembly_interfaces_xfunc(data, tmax=0.02)

# assembly.data = data['assembly']
# assembly.blocks = {int(key): Block.from_data(data['blocks'][key]) for key in data['blocks']}

# ==============================================================================
# Compute interface forces
# ==============================================================================

proxy.package = 'compas_rbe.equilibrium'

data = {
    'assembly': assembly.to_data(),
    'blocks':
    {str(key): assembly.blocks[key].to_data()
     for key in assembly.blocks}
}

data = proxy.compute_interface_forces_xfunc(data,
                                            backend='CVX',
                                            solver='CPLEX')

assembly.data = data['assembly']
assembly.blocks = {
    int(key): Block.from_data(data['blocks'][key])