# compas_3gs.algorithms.volmesh_reciprocate

compas_3gs.algorithms.volmesh_reciprocate(volmesh, formdiagram, kmax=100, weight=1.0, fix_vkeys=[], edge_min=None, edge_max=None, tolerance=0.001, tolerance_boundary=0.0001, callback=None, callback_args=None, print_result_info=False)[source]

Perpendicularizes the faces of the polyhedral force diagram to the corresponding dual edges in the polyhedral form diagram.

Parameters
• volmesh (VolMesh) – A volmesh object representing a polyhedral force diagram.

• formdiagram (VolMesh or Network) – A network object representing a polyhedral form diagram.

• kmax (int, optional [100]) – Maximum number of iterations.

• weight (float, optional [1.0]) – A float, between 0 and 1, which determines how much each diagram changes. 1 changes the form diagram only, while 0 changes the force diagram only. Default is 1.0.

• fix_vkeys (list, optional []) – List of vkeys to fix.

• edge_min (float, optional [None]) – Value for minimum edge length to be imposed.

• edge_max (float, optional [None]) – Value for maximum edge length allowed.

• tolerance (float, optional [0.001]) – Value for convergence tolerance. Deviation is measured by the the dot product of the input and target vectors.

• callback (callable, optional [None]) – A user-defined callback function to be executed after every iteration.

• callback_args (tuple, optional [None]) – Additional parameters to be passed to the callback.

• print_result_info (bool, optional) – If True, print the result of the algorithm.

Raises

Exception – If a callback is provided, but it is not callable.

Notes

The orientations of the boundary faces of the polyhedral force diagram are always fixed by default.