<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>