Skip to content

Commit

Permalink
Deploy to GitHub pages
Browse files Browse the repository at this point in the history
  • Loading branch information
github-actions[bot] authored Jun 24, 2024
1 parent 3e4196c commit 2171a29
Show file tree
Hide file tree
Showing 8 changed files with 87 additions and 17 deletions.
Binary file modified latest/.doctrees/environment.pickle
Binary file not shown.
Binary file modified latest/.doctrees/examples/01_rtl.doctree
Binary file not shown.
Binary file modified latest/.doctrees/examples/02_lpopt.doctree
Binary file not shown.
Binary file modified latest/.doctrees/examples/03_fink.doctree
Binary file not shown.
2 changes: 0 additions & 2 deletions latest/examples/01_rtl.html
Original file line number Diff line number Diff line change
Expand Up @@ -567,8 +567,6 @@ <h1>Updating the form diagram</h1>
<span class="kn">from</span> <span class="nn">compas_ags.diagrams</span> <span class="kn">import</span> <span class="n">FormDiagram</span>
<span class="kn">from</span> <span class="nn">compas_ags.diagrams</span> <span class="kn">import</span> <span class="n">FormGraph</span>

<span class="c1"># from compas_ags.viewers import Viewer</span>

<span class="c1"># ==============================================================================</span>
<span class="c1"># Construct the graph of a single panel truss,</span>
<span class="c1"># including loads and reaction forces.</span>
Expand Down
65 changes: 58 additions & 7 deletions latest/examples/02_lpopt.html
Original file line number Diff line number Diff line change
Expand Up @@ -553,7 +553,14 @@ <h1>Optimise the load path</h1>
<figure class="figure align-default">
<img alt="../_images/example_lpopt.png" class="figure-img img-fluid" src="../_images/example_lpopt.png" />
</figure>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># from compas_ags.viewers import Viewer</span>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">compas_viewer</span> <span class="kn">import</span> <span class="n">Viewer</span>
<span class="kn">from</span> <span class="nn">compas_viewer.config</span> <span class="kn">import</span> <span class="n">Config</span>

<span class="kn">from</span> <span class="nn">compas.colors</span> <span class="kn">import</span> <span class="n">Color</span>
<span class="kn">from</span> <span class="nn">compas.geometry</span> <span class="kn">import</span> <span class="n">Box</span>
<span class="kn">from</span> <span class="nn">compas.geometry</span> <span class="kn">import</span> <span class="n">Circle</span>
<span class="kn">from</span> <span class="nn">compas.geometry</span> <span class="kn">import</span> <span class="n">Polygon</span>
<span class="kn">from</span> <span class="nn">compas.geometry</span> <span class="kn">import</span> <span class="n">bounding_box</span>
<span class="kn">from</span> <span class="nn">compas_ags.ags</span> <span class="kn">import</span> <span class="n">graphstatics</span>
<span class="kn">from</span> <span class="nn">compas_ags.ags</span> <span class="kn">import</span> <span class="n">loadpath</span>
<span class="kn">from</span> <span class="nn">compas_ags.diagrams</span> <span class="kn">import</span> <span class="n">ForceDiagram</span>
Expand Down Expand Up @@ -670,12 +677,56 @@ <h1>Optimise the load path</h1>
<span class="c1"># 4. display force and form diagrams</span>
<span class="c1"># ------------------------------------------------------------------------------</span>

<span class="c1"># viewer = Viewer(form, force, delay_setup=False, figsize=(12, 7.5))</span>

<span class="c1"># viewer.draw_form(forcescale=5, vertexlabel={key: str(key) for key in form.vertices()}, vertexsize=0.2)</span>
<span class="c1"># viewer.draw_force(vertexlabel={key: str(key) for key in force.vertices()}, vertexsize=0.2)</span>

<span class="c1"># viewer.show()</span>
<span class="n">loadcolor</span> <span class="o">=</span> <span class="n">Color</span><span class="o">.</span><span class="n">green</span><span class="p">()</span><span class="o">.</span><span class="n">darkened</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span>
<span class="n">reactioncolor</span> <span class="o">=</span> <span class="n">Color</span><span class="o">.</span><span class="n">green</span><span class="p">()</span><span class="o">.</span><span class="n">darkened</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span>
<span class="n">tensioncolor</span> <span class="o">=</span> <span class="n">Color</span><span class="o">.</span><span class="n">red</span><span class="p">()</span><span class="o">.</span><span class="n">lightened</span><span class="p">(</span><span class="mi">25</span><span class="p">)</span>
<span class="n">compressioncolor</span> <span class="o">=</span> <span class="n">Color</span><span class="o">.</span><span class="n">blue</span><span class="p">()</span><span class="o">.</span><span class="n">lightened</span><span class="p">(</span><span class="mi">25</span><span class="p">)</span>

<span class="n">b1</span> <span class="o">=</span> <span class="n">Box</span><span class="o">.</span><span class="n">from_bounding_box</span><span class="p">(</span><span class="n">bounding_box</span><span class="p">(</span><span class="n">form</span><span class="o">.</span><span class="n">vertices_attributes</span><span class="p">(</span><span class="s2">&quot;xyz&quot;</span><span class="p">)))</span>
<span class="n">b2</span> <span class="o">=</span> <span class="n">Box</span><span class="o">.</span><span class="n">from_bounding_box</span><span class="p">(</span><span class="n">bounding_box</span><span class="p">(</span><span class="n">force</span><span class="o">.</span><span class="n">vertices_attributes</span><span class="p">(</span><span class="s2">&quot;xyz&quot;</span><span class="p">)))</span>

<span class="n">dx</span> <span class="o">=</span> <span class="n">b2</span><span class="o">.</span><span class="n">xmin</span> <span class="o">-</span> <span class="n">b1</span><span class="o">.</span><span class="n">xmax</span>
<span class="k">if</span> <span class="n">dx</span> <span class="o">&lt;</span> <span class="mi">1</span><span class="p">:</span>
<span class="n">dx</span> <span class="o">=</span> <span class="mf">1.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">b1</span><span class="o">.</span><span class="n">xmax</span> <span class="o">-</span> <span class="n">b2</span><span class="o">.</span><span class="n">xmin</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">dx</span> <span class="o">=</span> <span class="mi">0</span>

<span class="n">config</span> <span class="o">=</span> <span class="n">Config</span><span class="p">()</span>
<span class="n">config</span><span class="o">.</span><span class="n">renderer</span><span class="o">.</span><span class="n">view</span> <span class="o">=</span> <span class="s2">&quot;top&quot;</span>
<span class="n">config</span><span class="o">.</span><span class="n">renderer</span><span class="o">.</span><span class="n">gridsize</span> <span class="o">=</span> <span class="p">[</span><span class="mi">100</span><span class="p">,</span> <span class="mi">100</span><span class="p">,</span> <span class="mi">100</span><span class="p">,</span> <span class="mi">100</span><span class="p">]</span>

<span class="n">viewer</span> <span class="o">=</span> <span class="n">Viewer</span><span class="p">(</span><span class="n">config</span><span class="o">=</span><span class="n">config</span><span class="p">)</span>

<span class="n">viewer</span><span class="o">.</span><span class="n">scene</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">form</span><span class="p">,</span> <span class="n">show_faces</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">show_lines</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s2">&quot;FormDiagram&quot;</span><span class="p">)</span>
<span class="n">viewer</span><span class="o">.</span><span class="n">scene</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">force</span><span class="o">.</span><span class="n">translated</span><span class="p">([</span><span class="n">dx</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">]),</span> <span class="n">show_faces</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s2">&quot;ForceDiagram&quot;</span><span class="p">)</span>

<span class="n">circles</span> <span class="o">=</span> <span class="p">[</span><span class="n">Circle</span><span class="o">.</span><span class="n">from_point_and_radius</span><span class="p">(</span><span class="n">form</span><span class="o">.</span><span class="n">vertex_point</span><span class="p">(</span><span class="n">vertex</span><span class="p">)</span> <span class="o">+</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mf">0.001</span><span class="p">],</span> <span class="mf">0.1</span><span class="p">)</span><span class="o">.</span><span class="n">to_polygon</span><span class="p">(</span><span class="n">n</span><span class="o">=</span><span class="mi">128</span><span class="p">)</span> <span class="k">for</span> <span class="n">vertex</span> <span class="ow">in</span> <span class="n">form</span><span class="o">.</span><span class="n">vertices</span><span class="p">()]</span>
<span class="n">viewer</span><span class="o">.</span><span class="n">scene</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">circles</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s2">&quot;Vertices&quot;</span><span class="p">,</span> <span class="n">facecolor</span><span class="o">=</span><span class="n">Color</span><span class="o">.</span><span class="n">white</span><span class="p">(),</span> <span class="n">linecolor</span><span class="o">=</span><span class="n">Color</span><span class="o">.</span><span class="n">black</span><span class="p">())</span>

<span class="n">external</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">compression</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">tension</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">edge</span> <span class="ow">in</span> <span class="n">form</span><span class="o">.</span><span class="n">edges</span><span class="p">():</span>
<span class="n">line</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">edge_line</span><span class="p">(</span><span class="n">edge</span><span class="p">)</span>
<span class="n">vector</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">direction</span><span class="o">.</span><span class="n">cross</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">])</span>
<span class="n">force</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">edge_attribute</span><span class="p">(</span><span class="n">edge</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s2">&quot;f&quot;</span><span class="p">)</span>
<span class="n">w</span> <span class="o">=</span> <span class="mf">0.01</span> <span class="o">*</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="nb">abs</span><span class="p">(</span><span class="n">force</span><span class="p">)</span>
<span class="n">a</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">start</span> <span class="o">+</span> <span class="n">vector</span> <span class="o">*</span> <span class="o">-</span><span class="n">w</span>
<span class="n">b</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">end</span> <span class="o">+</span> <span class="n">vector</span> <span class="o">*</span> <span class="o">-</span><span class="n">w</span>
<span class="n">c</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">end</span> <span class="o">+</span> <span class="n">vector</span> <span class="o">*</span> <span class="o">+</span><span class="n">w</span>
<span class="n">d</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">start</span> <span class="o">+</span> <span class="n">vector</span> <span class="o">*</span> <span class="o">+</span><span class="n">w</span>
<span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">edge_attribute</span><span class="p">(</span><span class="n">edge</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s2">&quot;is_external&quot;</span><span class="p">):</span>
<span class="n">external</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Polygon</span><span class="p">([</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">d</span><span class="p">]))</span>
<span class="k">elif</span> <span class="n">force</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
<span class="n">tension</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Polygon</span><span class="p">([</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">d</span><span class="p">]))</span>
<span class="k">elif</span> <span class="n">force</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">:</span>
<span class="n">compression</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Polygon</span><span class="p">([</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">d</span><span class="p">]))</span>

<span class="n">viewer</span><span class="o">.</span><span class="n">scene</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">external</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s2">&quot;External Forces&quot;</span><span class="p">,</span> <span class="n">facecolor</span><span class="o">=</span><span class="n">reactioncolor</span><span class="p">,</span> <span class="n">linecolor</span><span class="o">=</span><span class="n">reactioncolor</span><span class="o">.</span><span class="n">contrast</span><span class="p">)</span>
<span class="n">viewer</span><span class="o">.</span><span class="n">scene</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">compression</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s2">&quot;Compression&quot;</span><span class="p">,</span> <span class="n">facecolor</span><span class="o">=</span><span class="n">compressioncolor</span><span class="p">,</span> <span class="n">linecolor</span><span class="o">=</span><span class="n">compressioncolor</span><span class="o">.</span><span class="n">contrast</span><span class="p">)</span>
<span class="n">viewer</span><span class="o">.</span><span class="n">scene</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">tension</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s2">&quot;Tension&quot;</span><span class="p">,</span> <span class="n">facecolor</span><span class="o">=</span><span class="n">tensioncolor</span><span class="p">,</span> <span class="n">linecolor</span><span class="o">=</span><span class="n">tensioncolor</span><span class="o">.</span><span class="n">contrast</span><span class="p">)</span>

<span class="n">viewer</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre></div>
</div>
</section>
Expand Down
Loading

0 comments on commit 2171a29

Please sign in to comment.