Example #1
0
 def show_angles(self):
     angles = self.form.get_edges_attribute('a')
     amin = min(angles)
     amax = max(angles)
     adif = amax - amin
     text = {}
     color = {}
     for u, v, attr in self.form.edges_where({'is_edge': True}, True):
         a = attr['a']
         if a > 5:
             text[u, v] = "{:.1f}".format(a)
             color[u, v] = i_to_green((a - amin) / adif)
     artist = FormArtist(self.form, layer=self.settings['form.layer'])
     artist.clear_edgelabels()
     artist.draw_edgelabels(text=text, color=color)
     artist.redraw()
Example #2
0
form.draw(layer='AAG::FormDiagram')
force.draw(layer='AAG::ForceDiagram')

# visualise angle deviations

angles = form.get_edges_attribute('a')
amin = min(angles)
amax = max(angles)
adif = amax - amin

text = {}
color = {}

for u, v, attr in form.edges_where({'is_edge': True}, True):
    a = attr['a']
    if a > 5:
        text[u, v] = "{:.1f}".format(a)
        color[u, v] = i_to_green((a - amin) / adif)

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

artist.clear_edgelabels()
artist.draw_edgelabels(text=text, color=color)

artist.redraw()

# serialise the result

form.to_json('aag_04_horizontal_formdiagram.json')
force.to_json('aag_04_horizontal_forcediagram.json')
    form.set_edge_attributes((u, v), ('is_ind', 'q'), (True, random.choice(range(1, 5))))

vertical_from_qind(form)


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

artist.draw_vertices(
    color={key: '#ff0000' for key in form.vertices_where({'is_anchor': True})})

artist.draw_edges(
    keys=list(form.edges_where({'is_edge': True})),
    color={(u, v): '#00ff00' for u, v in form.edges_where({'is_ind': True})})

artist.draw_edgelabels(
    text={(u, v): index for index, (u, v, attr) in enumerate(form.edges_where({'is_edge': True}, True)) if attr['is_ind']})

artist.draw_faces()
artist.draw_forces(scale=0.01)
artist.draw_reactions(scale=0.1)
artist.redraw()


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

if __name__ == "__main__":
    pass