<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">Jen takovej drzak roletky do kufru
      auta, na jedny strane mi chybi tak to zkousim udelat podobne jak
      je ne druhe strane, jeste tam bude svetlo ;-)</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Dne 19.04.2020 v 19:08 Pavel Hudecek
      napsal(a):<br>
    </div>
    <blockquote type="cite"
      cite="mid:Aw.J0FA.3ZTpX0VCELA.1Ud8MY@seznam.cz">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style>
      <div class="WordSection1">
        <p class="MsoNormal">Moc pěkný:-)</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Normálně mám z kódu představu, jak bude
          objekt asi vypadat, ale tady ani ťuk:-) Musel jsem si to
          zkopírovat a udělat preview.</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Co to vlastně bude?</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">PH</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div
          style="mso-element:para-border-div;border:none;border-top:solid
          #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
          <p class="MsoNormal" style="border:none;padding:0cm"><b>Od: </b><a
              href="mailto:jaroslav.buchta@hascomp.cz"
              moz-do-not-send="true">Jaroslav Buchta</a><br>
            <br>
            <o:p></o:p></p>
        </div>
        <p class="MsoNormal">Jj, hned jak jsem no poslal tak jsem to
          nasel ;-)</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Jako reseni to zda se je, renderuje to i
          prekvapive rychle. Zatim </p>
        <p class="MsoNormal">zkusebni program vypada takhle:</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">function circlepts(xc, yc, a1, a2, r,
          segments, z) =</p>
        <p class="MsoNormal">[for (i=[0:segments-1]) [</p>
        <p class="MsoNormal">         xc + r*sin(a1 +
          (a2-a1)/(segments-1)*i),</p>
        <p class="MsoNormal">         yc + r*cos(a1 +
          (a2-a1)/(segments-1)*i),</p>
        <p class="MsoNormal">         z]</p>
        <p class="MsoNormal">];</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">function basepts(z, ext) = concat(</p>
        <p class="MsoNormal">         [[-ext,-ext,z]],</p>
        <p class="MsoNormal">         circlepts(28-ext, 115+ext, -90,
          -30, 28, 30,z),</p>
        <p class="MsoNormal">         circlepts(28+ext, 115+ext, 30, 60,
          28, 30,z),</p>
        <p class="MsoNormal">         circlepts(63.5+ext, 133+ext, 240,
          180, 12, 20,z),</p>
        <p class="MsoNormal">         circlepts(115, 116+ext, 0, 90, 5,
          10,z),</p>
        <p class="MsoNormal">         circlepts(115, 105, 90, 270, 5,
          20,z),</p>
        <p class="MsoNormal">         circlepts(102, 106, 90, 0, 8,
          20,z),</p>
        <p class="MsoNormal">         circlepts(91, 104, 0, -180, 10,
          20,z),</p>
        <p class="MsoNormal">         circlepts(115, 100, 250, 180, 20,
          30,z),</p>
        <p class="MsoNormal">         [[132+ext,80,z]],</p>
        <p class="MsoNormal">         circlepts(122+ext, 75-ext, 90,
          180, 10, 20,z),</p>
        <p class="MsoNormal">         circlepts(90+ext, 30-ext, 0, -90,
          35, 30,z),</p>
        <p class="MsoNormal">         [[55+ext,0-ext,z]]</p>
        <p class="MsoNormal">         );</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">module basepoly()</p>
        <p class="MsoNormal">{</p>
        <p class="MsoNormal">     ptsb = basepts(0, 0);</p>
        <p class="MsoNormal">     ptst = basepts(20, 6);</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">     faceb = [[for (i=[0:len(ptsb)-1])i]];</p>
        <p class="MsoNormal">     facet = [[for
          (i=[0:len(ptst)-1])2*len(ptsb)-i-1]];</p>
        <p class="MsoNormal">     faces = [for (i=[0:len(ptsb)-1])[i +
          len(ptsb), i != len(ptsb)-1 ? </p>
        <p class="MsoNormal">i + len(ptsb)+1 : len(ptsb), i !=
          len(ptsb)-1 ? i+1 : 0, i]];</p>
        <p class="MsoNormal">     echo ( concat(facet, faces, faceb));</p>
        <p class="MsoNormal">     polyhedron(concat(ptsb, ptst),
          concat(facet, faces, faceb), 10);</p>
        <p class="MsoNormal">}</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">basepoly();</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Dne 19.04.2020 v 18:07 Milan B. napsal(a):</p>
        <p class="MsoNormal">> On 19.04.2020 16:52, Jaroslav Buchta
          wrote:</p>
        <p class="MsoNormal">>> ale marne patram, jak zjistit
          velikost vektoru (jasne da se iterovat </p>
        <p class="MsoNormal">>> pres vsechny prvky ale potrebuju
          index - no ono by to nakonec asi </p>
        <p class="MsoNormal">>> takhle taky slo spocitat ale
          rovnak na ohejbak...)</p>
        <p class="MsoNormal">><o:p> </o:p></p>
        <p class="MsoNormal">> Toto nevyhovuje? </p>
        <p class="MsoNormal">>
<a class="moz-txt-link-freetext" href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Mathematical_Functions#len">https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Mathematical_Functions#len</a></p>
        <p class="MsoNormal">><o:p> </o:p></p>
        <p class="MsoNormal">> a=[[1,2,4],[3,4,5],[5,6,7]];</p>
        <p class="MsoNormal">><o:p> </o:p></p>
        <p class="MsoNormal">> n=len(a);</p>
        <p class="MsoNormal">><o:p> </o:p></p>
        <p class="MsoNormal">> for (i=[0:n-1]) {</p>
        <p class="MsoNormal">>    
          echo(sqrt(a[i].x*a[i].x+a[i].y*a[i].y+a[i].z*a[i].z));</p>
        <p class="MsoNormal">> }</p>
        <p class="MsoNormal">><o:p> </o:p></p>
        <p class="MsoNormal">>> Dne 19.04.2020 v 14:07 Pavel
          Hudecek napsal(a):</p>
        <p class="MsoNormal">>>><o:p> </o:p></p>
        <p class="MsoNormal">>>> Napsal bych si program ve VB,
          kterej ten polyhedron vygeneruje.</p>
        <p class="MsoNormal">>>><o:p> </o:p></p>
        <p class="MsoNormal">>>> PH</p>
        <p class="MsoNormal">>>><o:p> </o:p></p>
        <p class="MsoNormal">>>> *Od: *Jaroslav Buchta
          <a class="moz-txt-link-rfc2396E" href="mailto:jaroslav.buchta@hascomp.cz"><mailto:jaroslav.buchta@hascomp.cz></a></p>
        <p class="MsoNormal">>>> *Odesláno:*neděle 19. dubna
          2020 14:01</p>
        <p class="MsoNormal">>>> *Komu: *hw-list@list.hw.cz
          <a class="moz-txt-link-rfc2396E" href="mailto:hw-list@list.hw.cz"><mailto:hw-list@list.hw.cz></a></p>
        <p class="MsoNormal">>>> *Předmět: *Re: openscad - 3d z
          dvou ploch</p>
        <p class="MsoNormal">>>><o:p> </o:p></p>
        <p class="MsoNormal">>>> No jedna se o stovky bodu, je
          to nasledujici tvar - to je obrys </p>
        <p class="MsoNormal">>>> spodni plochy, horni plocha by
          byla definovana podobne jen obrys </p>
        <p class="MsoNormal">>>> vetsi ruzne na ruznych
          mistech, ale jak z toho udelat polyhedron mne </p>
        <p class="MsoNormal">>>> nenapada...</p>
        <p class="MsoNormal">>>><o:p> </o:p></p>
        <p class="MsoNormal">>>><o:p> </o:p></p>
        <p class="MsoNormal">>>> function circlepts(xc, yc, a1,
          a2, r, segments) =</p>
        <p class="MsoNormal">>>> [for (i=[0:segments-1]) [</p>
        <p class="MsoNormal">>>>         xc + r*sin(a1 +
          (a2-a1)/(segments-1)*i),</p>
        <p class="MsoNormal">>>>         yc + r*cos(a1 +
          (a2-a1)/(segments-1)*i)]</p>
        <p class="MsoNormal">>>> ];</p>
        <p class="MsoNormal">>>><o:p> </o:p></p>
        <p class="MsoNormal">>>><o:p> </o:p></p>
        <p class="MsoNormal">>>><o:p> </o:p></p>
        <p class="MsoNormal">>>> module basepoly()</p>
        <p class="MsoNormal">>>> {</p>
        <p class="MsoNormal">>>>     //translate([-132/2,
          -133/2])</p>
        <p class="MsoNormal">>>>     polygon(points=concat(</p>
        <p class="MsoNormal">>>>         [[0,0], [0,115]],</p>
        <p class="MsoNormal">>>>         circlepts(28, 115,
          -90, -30, 28, 30),</p>
        <p class="MsoNormal">>>>         circlepts(28, 115, 30,
          60, 28, 30),</p>
        <p class="MsoNormal">>>>         circlepts(63.5, 133,
          240, 180, 12, 30),</p>
        <p class="MsoNormal">>>>         [[115,121]],</p>
        <p class="MsoNormal">>>>         circlepts(115, 116, 0,
          90, 5, 10),</p>
        <p class="MsoNormal">>>>         [[120,105]],</p>
        <p class="MsoNormal">>>>         circlepts(115, 105,
          90, 270, 5, 20),</p>
        <p class="MsoNormal">>>>         circlepts(102, 105,
          90, 0, 8, 20),</p>
        <p class="MsoNormal">>>>         [[81,113]],</p>
        <p class="MsoNormal">>>>         circlepts(91, 103, 0,
          -180, 10, 20),</p>
        <p class="MsoNormal">>>>         circlepts(115, 100,
          250, 180, 20, 30),</p>
        <p class="MsoNormal">>>>         [[132,80], [132, 75]],</p>
        <p class="MsoNormal">>>>         circlepts(122, 75, 90,
          180, 10, 20),</p>
        <p class="MsoNormal">>>>         [[90,65]],</p>
        <p class="MsoNormal">>>>         circlepts(90, 30, 0,
          -90, 35, 30),</p>
        <p class="MsoNormal">>>>         [[55,0]],</p>
        <p class="MsoNormal">>>><o:p> </o:p></p>
        <p class="MsoNormal">>>>         [[0,0]]</p>
        <p class="MsoNormal">>>>         )</p>
        <p class="MsoNormal">>>>     );</p>
        <p class="MsoNormal">>>> }</p>
        <p class="MsoNormal">>>><o:p> </o:p></p>
        <p class="MsoNormal">>>> linear_extrude(height=20,
          convexity=10, scale=1.0, center = false)</p>
        <p class="MsoNormal">>>>             basepoly();</p>
        <p class="MsoNormal">>>><o:p> </o:p></p>
        <p class="MsoNormal">>>> Dne 19.04.2020 v 13:52 Pavel
          Hudecek napsal(a):</p>
        <p class="MsoNormal">>>><o:p> </o:p></p>
        <p class="MsoNormal">>>>     Jestli je to nadefinované
          jako skupiny bodů, šlo by z toho udělat</p>
        <p class="MsoNormal">>>>     polyhedron.</p>
        <p class="MsoNormal">>>><o:p> </o:p></p>
        <p class="MsoNormal">>>>     PH</p>
        <p class="MsoNormal">>>><o:p> </o:p></p>
        <p class="MsoNormal">>>>     *Od: *Jaroslav Buchta
          <a class="moz-txt-link-rfc2396E" href="mailto:jaroslav.buchta@hascomp.cz"><mailto:jaroslav.buchta@hascomp.cz></a></p>
        <p class="MsoNormal">>>><o:p> </o:p></p>
        <p class="MsoNormal">>>>     Dejme tomu, ze mam 2 skicy
          plochy slozitejsiho tvaru, jde provest</p>
        <p class="MsoNormal">>>>     nejaka</p>
        <p class="MsoNormal">>>><o:p> </o:p></p>
        <p class="MsoNormal">>>>     transformace, ktera z toho
          udela 3D objekt ktery bude mit zakladnu</p>
        <p class="MsoNormal">>>><o:p> </o:p></p>
        <p class="MsoNormal">>>>     odpovidajici jedne a horni
          stranu druhe plose? Aby proste vznikly</p>
        <p class="MsoNormal">>>>     sikme</p>
        <p class="MsoNormal">>>><o:p> </o:p></p>
        <p class="MsoNormal">>>>     steny (scale u
          linear_extrude nedava dobry vysledek, tvar neni</p>
        <p class="MsoNormal">>>>     rozumne</p>
        <p class="MsoNormal">>>><o:p> </o:p></p>
        <p class="MsoNormal">>>>     centrovatelny)</p>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
HW-list mailing list  -  sponsored by <a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a>
<a class="moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a>
<a class="moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>