<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Bibliotheken on Ulis Notizen</title>
    <link>https://wolf-u.li/tag/bibliotheken/</link>
    <description>Recent content in Bibliotheken on Ulis Notizen</description>
    <generator>Hugo</generator>
    <language>de</language>
    <copyright>Copyright 2006-CURRENTYEAR Uli Wolf - All rights reserved</copyright>
    <lastBuildDate>Tue, 25 Apr 2023 00:19:37 +2500</lastBuildDate>
    <atom:link href="https://wolf-u.li/tag/bibliotheken/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>OpenSCAD: Nützliche Bibliotheken</title>
      
      
      <link>https://wolf-u.li/openscad-nuetzliche-bibliotheken/</link>
      <pubDate>Tue, 25 Apr 2023 00:19:37 +2500</pubDate>
      <guid>https://wolf-u.li/openscad-nuetzliche-bibliotheken/</guid>
      <description>&lt;p&gt;OpenSCAD ist eine kostenlose, plattformübergreifende 3D-CAD-Software, die es Benutzern ermöglicht, 3D-Modelle durch die Beschreibung von geometrischen Formen und Operationen zu erstellen. Statt eines grafischen Benutzeroberfläche, wie sie in vielen anderen CAD-Programmen zu finden ist, verwendet OpenSCAD eine textbasierte Skriptsprache.&lt;/p&gt;
&lt;ins class=&#34;adsbygoogle&#34; style=&#34;display:block; text-align:center;&#34; data-ad-layout=&#34;in-article&#34; data-ad-format=&#34;fluid&#34; data-ad-client=&#34;ca-pub-2322978122735420&#34; data-ad-slot=&#34;3161252284&#34;&gt;&lt;/ins&gt;
&lt;p&gt;Eine Bibliothek in OpenSCAD ist eine Sammlung von vordefinierten 3D-Modellen, die in einem OpenSCAD-Skript eingebunden werden können. Die Verwendung von Bibliotheken ist nützlich, da sie die Wiederverwendung von 3D-Modellen und -Funktionen erleichtern, die in verschiedenen Projekten verwendet werden können. Statt jedes Mal ein neues Modell von Grund auf zu erstellen, kann der Benutzer einfach auf eine Bibliothek zurückgreifen, um bereits vorhandene Modelle zu verwenden und Zeit zu sparen.&lt;/p&gt;</description>
      
         <content:encoded><![CDATA[<p>OpenSCAD ist eine kostenlose, plattformübergreifende 3D-CAD-Software, die es Benutzern ermöglicht, 3D-Modelle durch die Beschreibung von geometrischen Formen und Operationen zu erstellen. Statt eines grafischen Benutzeroberfläche, wie sie in vielen anderen CAD-Programmen zu finden ist, verwendet OpenSCAD eine textbasierte Skriptsprache.</p>
<ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-ad-client="ca-pub-2322978122735420" data-ad-slot="3161252284"></ins>
<p>Eine Bibliothek in OpenSCAD ist eine Sammlung von vordefinierten 3D-Modellen, die in einem OpenSCAD-Skript eingebunden werden können. Die Verwendung von Bibliotheken ist nützlich, da sie die Wiederverwendung von 3D-Modellen und -Funktionen erleichtern, die in verschiedenen Projekten verwendet werden können. Statt jedes Mal ein neues Modell von Grund auf zu erstellen, kann der Benutzer einfach auf eine Bibliothek zurückgreifen, um bereits vorhandene Modelle zu verwenden und Zeit zu sparen.</p>
<p>Hier meine Sammlung von nützlichen Bibliotheken:</p>
<ul>
<li>Chamfers (vorgefertigte Formen mit abgeschrägten oder runden Kanten): <link rel=dns-prefetch href=//github.com /> <a href="https://github.com/SebiTimeWaster/Chamfers-for-OpenSCAD"
    title="https://github.com/SebiTimeWaster/Chamfers-for-OpenSCAD" 
     target="_blank" rel="nofollow noopener noreferrer" >
  https://github.com/SebiTimeWaster/Chamfers-for-OpenSCAD&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a></li>
<li>Schraublöcher: <link rel=dns-prefetch href=//www.thingiverse.com /> <a href="https://www.thingiverse.com/thing:1731893"
    title="https://www.thingiverse.com/thing:1731893" 
     target="_blank" rel="nofollow noopener noreferrer" >
  https://www.thingiverse.com/thing:1731893&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a></li>
<li>Pinverbinder: <link rel=dns-prefetch href=//www.thingiverse.com /> <a href="https://www.thingiverse.com/thing:10541"
    title="https://www.thingiverse.com/thing:10541" 
     target="_blank" rel="nofollow noopener noreferrer" >
  https://www.thingiverse.com/thing:10541&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a></li>
<li>Schiebeverbindungen: <link rel=dns-prefetch href=//www.thingiverse.com /> <a href="https://www.thingiverse.com/thing:2885035"
    title="https://www.thingiverse.com/thing:2885035" 
     target="_blank" rel="nofollow noopener noreferrer" >
  https://www.thingiverse.com/thing:2885035&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a></li>
<li>Lüfterhalterungen: <link rel=dns-prefetch href=//www.thingiverse.com /> <a href="https://www.thingiverse.com/thing:18273"
    title="https://www.thingiverse.com/thing:18273" 
     target="_blank" rel="nofollow noopener noreferrer" >
  https://www.thingiverse.com/thing:18273&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a></li>
<li>Snap Joints: <link rel=dns-prefetch href=//www.thingiverse.com /> <a href="https://www.thingiverse.com/thing:4082157"
    title="https://www.thingiverse.com/thing:4082157" 
     target="_blank" rel="nofollow noopener noreferrer" >
  https://www.thingiverse.com/thing:4082157&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a></li>
<li>Bajonettverbinder: <link rel=dns-prefetch href=//www.thingiverse.com /> <a href="https://www.thingiverse.com/thing:5442422"
    title="https://www.thingiverse.com/thing:5442422" 
     target="_blank" rel="nofollow noopener noreferrer" >
  https://www.thingiverse.com/thing:5442422&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a></li>
</ul>
<p>Für mich macht die Verwendung von Bibliotheken insbesondere bei Wiederholungen sehr viel Sinn. Ich kann so z.b. Schraublöcher einfach parametrisieren und so schnell und wiederholgenau verwenden.</p>
<p>Um eine Bibliothek in OpenSCAD zu verwenden, muss die Datei, die die Bibliothek enthält, in das OpenSCAD-Skript eingebunden werden. Dies kann auf verschiedene Arten erfolgen, je nachdem, wie die Bibliothek erstellt wurde.</p>
<p>Eine Möglichkeit besteht darin, die Bibliotheksdatei manuell in das Skript zu importieren. Dazu kann der Befehl <code>use</code> verwendet werden, gefolgt vom Pfad und dem Namen der Bibliotheksdatei. Zum Beispiel:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-openscad" data-lang="openscad"><span class="line"><span class="cl"><span class="kn">use</span> <span class="p">&lt;</span><span class="cpf">/Pfad/zur/Bibliotheksdatei.scad</span><span class="p">&gt;</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>Eine andere Möglichkeit besteht darin, die Bibliothek mithilfe des <code>include</code> -Befehls zu importieren. Der Unterschied zum <code>use</code>-Befehl besteht darin, dass <code>include</code> das Skript der Bibliothek direkt in das aktuelle Skript einfügt - also in einen anderen Kontext bringt. Dies ist nützlich, wenn das Skript der Bibliothek geändert werden soll, um spezifische Anforderungen zu erfüllen. Der Befehl lautet:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-openscad" data-lang="openscad"><span class="line"><span class="cl"><span class="kn">include</span> <span class="p">&lt;</span><span class="cpf">/Pfad/zur/Bibliotheksdatei.scad</span><span class="p">&gt;</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>Sobald die Bibliothek importiert wurde, können die darin enthaltenen Funktionen, Modelle oder Variablen in das Skript des Benutzers eingebunden werden. Der Benutzer kann die Elemente aus der Bibliothek verwenden, indem er einfach den Namen der Funktion oder des Modells aufruft, gefolgt von den notwendigen Parametern. Zum Beispiel:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-openscad" data-lang="openscad"><span class="line"><span class="cl"><span class="n">box</span><span class="p">(</span><span class="m">10</span><span class="p">,</span> <span class="m">20</span><span class="p">,</span> <span class="m">30</span><span class="p">);</span>  <span class="c1">// erstellt eine Box mit den Abmessungen 10x20x30
</span></span></span></code></pre></td></tr></table>
</div>
</div><p>Es ist auch möglich, die Bibliotheksdatei in das gleiche Verzeichnis wie das OpenSCAD-Skript zu kopieren, um das Einbinden der Bibliothek zu erleichtern. Wenn dies der Fall ist, kann die Bibliotheksdatei einfach durch Angabe des Dateinamens importiert werden, ohne dass der Pfad angegeben werden muss.</p>
<p>Wer noch auf der Suche nach Tutorials für OpenSCAD ist:</p>
<ul>
<li><link rel=dns-prefetch href=//raymii.org /> <a href="https://raymii.org/s/articles/3D_modelling_a_real_world_object_in_OpenSCAD.html"
    title="https://raymii.org/s/articles/3D_modelling_a_real_world_object_in_OpenSCAD.html" 
     target="_blank" rel="nofollow noopener noreferrer" >
  https://raymii.org/s/articles/3D_modelling_a_real_world_object_in_OpenSCAD.html&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a></li>
<li><link rel=dns-prefetch href=//en.wikibooks.org /> <a href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#Further_Module_Examples#Further_Module_Examples"
    title="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#Further_Module_Examples" 
     target="_blank" rel="nofollow noopener noreferrer" >
  https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#Further_Module_Examples&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a></li>
</ul>
]]></content:encoded>
    </item>
  </channel>
</rss>
