compas_tno.utilities

Symmetry

apply_radial_symmetry(form[, center, ...])

Apply a radial symmetry based on a center points.

apply_symmetry_from_axis(form[, ...])

Apply a symmetry based on a series of axis of symmetry.

build_symmetry_matrix(form[, printout])

Build a symmetry matrix such as Asym * q = 0, with Asym shape (m - k; m)

build_symmetry_matrix_supports(form[, printout])

Build a symmetry matrix to the supports.

build_symmetry_transformation(form[, printout])

Build a symmetry matrix Esym (m, k) such as q = Esym * qsym.

build_vertex_symmetry_transformation(form[, ...])

Build a symmetry matrix Evsym (n, k) such as z = Evsym * zb.

find_sym_axis_in_rect_patterns(data_form)

Find the axis of symmetry in rectangular patterns.

Constraints

assign_cracks(form[, dx, dy, type])

Assign cracks on a form diagram to the nodes desired

check_envelope_constraints(form[, tol])

Check if the envelope constraints are respected and return a penalty > 0 if not.

distance_target(form)

Returns a measure of the distance among the TN and the target surface.

rectangular_smoothing_constraints(form[, ...])

Constraint for smoothing the form diagram in a rectangular boundary.

rollers_on_openings(form[, xy_span, max_f, ...])

Apply rollers to the rectangular boundaries of the pattern.

set_b_constraint(form[, printout])

Helper to set the b constraint on the reactions of the structure.

set_rollers_constraint(form[, printout])

Helper to constraints on rollers.

Interpolation

create_mesh_from_topology_and_basemesh(...)

Create a mesh based on a given topology and the heights based in a base mesh (usually denser).

create_mesh_from_topology_and_pointcloud(...)

Create a mesh based on a given topology and the heights based in a pointcloud.

interpolate_from_pointcloud(pointcloud, XY)

mesh_from_pointcloud(points[, cls])

Construct a Delaunay triangulation of set of vertices.

Stiffness

compute_average_edge_stiffness(form[, E, Ah])

Compute the stiffness divided by length of each edge (constant thoughout the form diagram) based on the Young Modulus E and the Axial stress Ah.

compute_edge_stiffness(form[, lengths, area, E])

Compute the stiffness of each edge based on the initial lengths, constant area and Young Modulus E.

compute_form_initial_lengths(form)

Compute the length of each edge based on the projection of the pattern onto the middle surface.

Form Modifications

displacement_map_4parabolas(form[, y0, y1, ...])

Create the displacement map based on a paraboloid sliding the structural pattern.

displacement_map_parabola(form[, y0, y1])

Create the displacement map for a 1D parabola sliding of the structural pattern.

displacement_map_paraboloid(form[, xc, yc, ...])

Create the displacement map based on a paraboloid sliding the structural pattern.

fix_mesh_boundary(mesh)

Fix the boudnaries along a mesh (FormDiagram)

fix_mesh_corners(mesh[, corners])

Fix the corners of a mesh (FormDiagram)

form_add_lines_support(form, loaded_node, ...)

Add direct load paths from a chosen node to the chosen supports

form_parabolic_slide(form, delta[, y0, y1])

Modify the form diagram applying a parabolic displacement profile to the nodes

mesh_remove_two_valent_nodes(mesh[, cls, ...])

Remove 2 valent nodes from a mesh or form diagram

move_pattern_inwards(form[, tol])

Move nodes at the boundary slightly inwards or outwards

move_pattern_outwards(form[, tol])

Move nodes at the boundary slightly inwards or outwards

move_pattern_to_origin(mesh[, corners, ...])

Modify the form diagram to coincide the lower corner of its bounding box with the corners provided.

shuffle_diagram(form)

Shuffle the form diagram reordering the edges.

slide_diagram(form[, delta, y0, y1, tappered])

Apply a parabolic sliding to the nodes towards +x direction.

slide_pattern_inwards(form[, delta, y0, y1, ...])

Set parabolic vault heights.

split_intersection_lines(lines[, tol])

Split lines accorting to their intersection

store_inds(form[, ind_edges])

Store independent edges as an attribute.