Example #1
0
exterior = boundaries[0]
interior = boundaries[1:]

form.set_vertices_attribute('is_anchor', True, keys=exterior)

form.update_exterior(exterior, feet=1)
form.update_interior(interior)

# create the force diagram

force = ForceDiagram.from_formdiagram(form)

# compute equilibrium

horizontal(form, force, kmax=20, display=True)
vertical_from_formforce(form, force, density=form.init_scale(), kmax=100)

# visualise result

artist = FormArtist(form, layer='FormDiagram')

artist.clear_layer()

artist.draw_vertices(keys=list(form.vertices_where({'is_external': False})))
artist.draw_edges(keys=list(form.edges_where({'is_edge': True, 'is_external': False})))
artist.draw_faces(fkeys=list(form.faces_where({'is_loaded': True})), join_faces=True)

artist.draw_reactions(scale=1.0)
artist.draw_forces(scale=0.05)

artist.redraw()
Example #2
0
# ------------------------------------------------------------------------------
# make force diagram
# ------------------------------------------------------------------------------
force = ForceDiagram.from_formdiagram(form)

# ------------------------------------------------------------------------------
# horizontal equilibrium
# ------------------------------------------------------------------------------
horizontal(form, force, kmax=100)

# ------------------------------------------------------------------------------
# vertical equilibrium
# ------------------------------------------------------------------------------
vertical_from_zmax(form, force, zmax=5.)
vertical_from_self(form, force)
vertical_from_formforce(form, force)

# ------------------------------------------------------------------------------
# rhino drawings
# ------------------------------------------------------------------------------

# form diagram -----------------------------------------------------------------
artist = FormArtist(form, layer='FormDiagram')
artist.clear_layer()
artist.draw_vertices(keys=list(form.vertices_where({'is_external': False})))
artist.draw_edges(keys=list(form.edges_where({'is_edge': True, 'is_external': False})))
artist.draw_faces(fkeys=list(form.faces_where({'is_loaded': True})), join_faces=True)
artist.draw_reactions(scale=.1)
artist.draw_forces(scale=.003)
artist.redraw()