예제 #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()
예제 #2
0
 def hide_angles(self):
     artist = FormArtist(self.form, layer=self.settings['form.layer'])
     artist.clear_edgelabels()
     artist.redraw()
예제 #3
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')