<?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>CAD automatizācija on File Format Blog</title>
    <link>https://blog.fileformat.com/lv/tag/cad-automatiz%C4%81cija/</link>
    <description>Recent content in CAD automatizācija on File Format Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>lv</language>
    <lastBuildDate>Mon, 05 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.fileformat.com/lv/tag/cad-automatiz%C4%81cija/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>CAD automatizācija bez AutoCAD: vadošie atvērtā koda ietvari izstrādātājiem</title>
      <link>https://blog.fileformat.com/lv/cad/cad-automation-without-autocad-top-open-source-frameworks-for-developers/</link>
      <pubDate>Mon, 05 Oct 2026 00:00:00 +0000</pubDate>
      
      <guid>https://blog.fileformat.com/lv/cad/cad-automation-without-autocad-top-open-source-frameworks-for-developers/</guid>
      <description>Noguris no dārgām licencēm un novecojušām API? Uzzini, kā automatizēt 2D zīmējumus un 3D parametriskos modeļus, izmantojot atvērtā koda rīkus, piemēram, FreeCAD, CadQuery, Open CASCADE un ezdxf.</description>
      <content:encoded><![CDATA[<p><strong>Pēdējoreiz atjaunināts</strong>: 20 Aug, 2026</p>
<figure class="align-center ">
    <img loading="lazy" src="images/cad-automation-without-autocad-top-open-source-frameworks-for-developers.png#center"
         alt="CAD Automation without AutoCAD Open Source Alternatives for Developers"/> 
</figure>

<h2 id="cad-automatizācija-bez-autocad-atvērtā-koda-alternatīvas-izstrādātājiem">CAD automatizācija bez AutoCAD: atvērtā koda alternatīvas izstrādātājiem</h2>
<p>Gadu desmitiem CAD (datorizētās projektēšanas) automatizēšana nozīmēja darboties ar Autodesk īpašajām API: AutoLISP skripti, kas darbojas darbvirsmas sesijā, ObjectARX, kas rakstīts smagā C++, vai .NET ietvari, kas stingri piesaistīti Windows izpildlaikām.</p>
<p>Lai gan AutoCAD joprojām ir nozares standarts, mūsdienu programmatūras inženierija pieprasa lielāku elastību:</p>
<ul>
<li><strong>Bezgalvas izpilde</strong> vieglos Linux Docker konteineros.</li>
<li><strong>Pastāvīga integrācija / pastāvīga izvietošana (CI/CD)</strong> cauruļvadi, kas ģenerē mehāniskos zīmējumus vai arhitektūras piegādes materiālus pie push.</li>
<li><strong>Web-native konfiguratori</strong> kas dinamiskā veidā ģenerē CAD modeļus mākonī.</li>
<li><strong>Nullas licencēšanas šķēršļi</strong>, likvidējot uz vietas vai uz žetonu balstītas izmaksas, vienkārši lai palaistu automatizētus partijas darbus.</li>
</ul>
<p>Par laimi, atvērtā koda ekosistēma ir ievērojami attīstījusies. Izstrādātāji tagad var programmatiski ģenerēt, pārbaudīt, modificēt un eksportēt gan 2D zīmējumus, gan sarežģītus 3D cietos objektus, izmantojot tīru kodu.</p>
<p>Šeit ir visaptveroša pārskata par labākajām atvērtā koda alternatīvām AutoCAD, kas paredzētas izstrādātāju vadītai CAD automatizācijai.</p>
<h2 id="1-ezdxf17-python-spēks-2d-automatizācijai">1. <a href="https://products.fileformat.com/cad/python/ezdxf/">ezdxf</a>: Python spēks 2D automatizācijai</h2>
<p>Ja jūsu galvenā vajadzība no AutoCAD ir ģenerēt vai parsēt <code>.dxf</code> (Drawing Exchange Format) failus — piemēram, stāvvietas plānus, lāzergriešanas profilus, CNC vektoru ceļus vai virsrakstu blokus — <strong>ezdxf</strong> ir, iespējams, visuzticāmākā pieejamā Python bibliotēka.</p>
<h3 id="kāpēc-izstrādātāji-to-izvēlas">Kāpēc izstrādātāji to izvēlas</h3>
<ul>
<li><strong>Nullas smagas atkarības:</strong> Tīrs Python ar izvēles C paplašinājumiem veiktspējai.</li>
<li><strong>Pilna DXF atbalsts:</strong> Atbalsta <a href="https://docs.fileformat.com/cad/dxf/">DXF</a> versijas no R12 līdz modernajam AC1032 (AutoCAD 2018+).</li>
<li><strong>Bezdzesis &amp; mākoņa gatavs:</strong> Darbojas nevainojami vieglās AWS Lambda funkcijās vai mikroservisos.</li>
<li><strong>Vektoru matemātika &amp; renderēšana:</strong> Ietver moduļus teksta izkārtošanai, dimensiju pievienošanai, krustveida ēnošanai un DXF datu renderēšanai tieši uz SVG, Matplotlib vai PDF.</li>
</ul>
<h3 id="minimāls-piemērs-slāņota-2d-profila-ģenerēšana">Minimāls piemērs: slāņota 2D profila ģenerēšana</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#f92672">import</span> ezdxf
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># Create a modern DXF document (AutoCAD 2018 format)</span>
</span></span><span style="display:flex;"><span>doc <span style="color:#f92672">=</span> ezdxf<span style="color:#f92672">.</span>new(<span style="color:#e6db74">&#34;R2018&#34;</span>)
</span></span><span style="display:flex;"><span>msp <span style="color:#f92672">=</span> doc<span style="color:#f92672">.</span>modelspace()
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># Define layers with specific line weights and colors</span>
</span></span><span style="display:flex;"><span>doc<span style="color:#f92672">.</span>layers<span style="color:#f92672">.</span>add(name<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;OUTLINE&#34;</span>, color<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span>)  <span style="color:#75715e"># Red</span>
</span></span><span style="display:flex;"><span>doc<span style="color:#f92672">.</span>layers<span style="color:#f92672">.</span>add(name<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;ANNOTATIONS&#34;</span>, color<span style="color:#f92672">=</span><span style="color:#ae81ff">7</span>)  <span style="color:#75715e"># White/Black</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># Add geometry</span>
</span></span><span style="display:flex;"><span>msp<span style="color:#f92672">.</span>add_lwpolyline(
</span></span><span style="display:flex;"><span>    [(<span style="color:#ae81ff">0</span>, <span style="color:#ae81ff">0</span>), (<span style="color:#ae81ff">100</span>, <span style="color:#ae81ff">0</span>), (<span style="color:#ae81ff">100</span>, <span style="color:#ae81ff">50</span>), (<span style="color:#ae81ff">50</span>, <span style="color:#ae81ff">50</span>), (<span style="color:#ae81ff">0</span>, <span style="color:#ae81ff">20</span>)],
</span></span><span style="display:flex;"><span>    is_closed<span style="color:#f92672">=</span><span style="color:#66d9ef">True</span>,
</span></span><span style="display:flex;"><span>    dxfattribs<span style="color:#f92672">=</span>{<span style="color:#e6db74">&#34;layer&#34;</span>: <span style="color:#e6db74">&#34;OUTLINE&#34;</span>}
</span></span><span style="display:flex;"><span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># Add programmatic text / annotation</span>
</span></span><span style="display:flex;"><span>msp<span style="color:#f92672">.</span>add_text(
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;Automated Bracket Spec #A-12&#34;</span>,
</span></span><span style="display:flex;"><span>    dxfattribs<span style="color:#f92672">=</span>{<span style="color:#e6db74">&#34;layer&#34;</span>: <span style="color:#e6db74">&#34;ANNOTATIONS&#34;</span>, <span style="color:#e6db74">&#34;height&#34;</span>: <span style="color:#ae81ff">3.5</span>}
</span></span><span style="display:flex;"><span>)<span style="color:#f92672">.</span>set_placement((<span style="color:#ae81ff">5</span>, <span style="color:#ae81ff">10</span>))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># Save output</span>
</span></span><span style="display:flex;"><span>doc<span style="color:#f92672">.</span>saveas(<span style="color:#e6db74">&#34;automated_part.dxf&#34;</span>)
</span></span></code></pre></div><p><strong>Vislabāk piemērots:</strong> 2D zīmējumu ģenerēšanai, lāzergriešanas ceļu eksportēšanai, grupas zīmējumu modificēšanai, CNC ligzdošanas priekšapstrādei.</p>
<h2 id="2-cadquery16-koda-pirmais-parametriskais-3d-cad-dzinis">2. <a href="https://products.fileformat.com/cad/python/cadquery/">CadQuery</a>: Koda-pirmais parametriskais 3D CAD dzinis</h2>
<p>Tradicionālie CAD rīki koncentrējas uz grafisko lietotāja saskarni (GUI), kur jūs zīmējat skices un klikšķināt, lai izvilktu vai noapaļotu. <strong>CadQuery</strong> apgriež šo paradigmu otrādi: tas uztver CAD kā standarta programmatūras inženieriju.</p>
<p>Balstīts uz pārbaudīto <strong>Open CASCADE Technology (OCCT)</strong> dzinēju, CadQuery nodrošina izstrādātājiem plūstošu, intuitīvu Python API, lai izveidotu sarežģītus robežpārstāvības (B-Rep) cietos ķermeņus.</p>
<h3 id="kāpēc-izstrādātāji-izvēlas-to">Kāpēc izstrādātāji izvēlas to</h3>
<ul>
<li><strong>Patiesa cieto ķermeņu modelēšana:</strong> Atšķirībā no daudzstūru režģa rīkiem, CadQuery strādā ar precīzām analītiskām virsmām (NURBS, plaknes, cilindri).</li>
<li><strong>Parametriska pēc dizaina:</strong> Vienas mainīgās izmaiņas tīri izplatās visā dizainā.</li>
<li><strong>Standarta eksports:</strong> Tiešs eksports uz STEP, IGES, STL un DXF.</li>
<li><strong>Mūsdienīgs CI/CD piemērotība:</strong> Izcils automatizētai regresijas testēšanai mehāniskajām komponentēm.</li>
</ul>
<h3 id="minimāls-piemērs-parametriska-caurule-ar-uzgriezumu">Minimāls piemērs: parametriska caurule ar uzgriezumu</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#f92672">import</span> cadquery <span style="color:#66d9ef">as</span> cq
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># Define variables</span>
</span></span><span style="display:flex;"><span>outer_radius <span style="color:#f92672">=</span> <span style="color:#ae81ff">25.0</span>
</span></span><span style="display:flex;"><span>wall_thickness <span style="color:#f92672">=</span> <span style="color:#ae81ff">3.0</span>
</span></span><span style="display:flex;"><span>height <span style="color:#f92672">=</span> <span style="color:#ae81ff">80.0</span>
</span></span><span style="display:flex;"><span>flange_radius <span style="color:#f92672">=</span> <span style="color:#ae81ff">40.0</span>
</span></span><span style="display:flex;"><span>hole_radius <span style="color:#f92672">=</span> <span style="color:#ae81ff">4.0</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># Build parametric 3D body</span>
</span></span><span style="display:flex;"><span>pipe <span style="color:#f92672">=</span> (
</span></span><span style="display:flex;"><span>    cq<span style="color:#f92672">.</span>Workplane(<span style="color:#e6db74">&#34;XY&#34;</span>)
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">.</span>circle(flange_radius)
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">.</span>extrude(<span style="color:#ae81ff">6.0</span>)
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">.</span>faces(<span style="color:#e6db74">&#34;&gt;Z&#34;</span>)
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">.</span>workplane()
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">.</span>circle(outer_radius)
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">.</span>extrude(height)
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">.</span>faces(<span style="color:#e6db74">&#34;&gt;Z&#34;</span>)
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">.</span>hole(<span style="color:#ae81ff">2</span> <span style="color:#f92672">*</span> (outer_radius <span style="color:#f92672">-</span> wall_thickness))
</span></span><span style="display:flex;"><span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># Add bolt holes on the flange</span>
</span></span><span style="display:flex;"><span>flange_holes <span style="color:#f92672">=</span> (
</span></span><span style="display:flex;"><span>    pipe<span style="color:#f92672">.</span>faces(<span style="color:#e6db74">&#34;&lt;Z&#34;</span>)
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">.</span>workplane()
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">.</span>polarArray(radius<span style="color:#f92672">=</span><span style="color:#ae81ff">32.0</span>, startAngle<span style="color:#f92672">=</span><span style="color:#ae81ff">0</span>, angle<span style="color:#f92672">=</span><span style="color:#ae81ff">360</span>, count<span style="color:#f92672">=</span><span style="color:#ae81ff">4</span>)
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">.</span>hole(hole_radius <span style="color:#f92672">*</span> <span style="color:#ae81ff">2</span>)
</span></span><span style="display:flex;"><span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># Export standard interchange format</span>
</span></span><span style="display:flex;"><span>cq<span style="color:#f92672">.</span>exporters<span style="color:#f92672">.</span>export(flange_holes, <span style="color:#e6db74">&#34;pipe_flange.step&#34;</span>)
</span></span></code></pre></div><p><strong>Vislabāk piemērots:</strong> Parametriskie daļu ģeneratori, tīmekļa bāzēti 3D modeļu konfiguratori, inženierijas komponenti, automatizēta STEP/IGES ražošana.</p>
<h2 id="3-freecad14-bezgalvas-python-api-pilna-mēroga-darbvirsmas-jauda-mākoņā">3. <a href="https://products.fileformat.com/cad/python/freecad/">FreeCAD</a> (Bezgalvas Python API): Pilna mēroga darbvirsmas jauda mākoņā</h2>
<p>FreeCAD ir plaši pazīstama kā galvenā atvērtā koda darbvirsmas CAD lietojumprogramma, bet tās lielākā slepenā ieroča izstrādātājiem ir tas, ka <strong>visa tās kodola funkcionalitāte ir pieejama kā modulāra Python bibliotēka</strong>.</p>
<p>Jūs varat palaist FreeCAD galvaskausa režīmā (bez X-servera vai GUI), lai veiktu uzlabotus montāžas pārbaudes, loģiskās operācijas, tehnisko zīmējumu ģenerēšanu (caur TechDraw moduli) un failu konvertēšanu.</p>
<h3 id="kāpēc-izstrādātāji-izvēlas-to-1">Kāpēc izstrādātāji izvēlas to</h3>
<ul>
<li><strong>Plaša ekosistēma:</strong> Iebūvēts atbalsts Arch/BIM, PartDesign, Mesh, SheetMetal un TechDraw darbstacijām.</li>
<li><strong>Tieša DXF/DWG savietojamība:</strong> Var integrēt ar ārējiem pārveidotājiem, piemēram, LibreDWG vai ODA File Converter.</li>
<li><strong>Automatizēta rasēšana:</strong> <code>TechDraw</code> modulis var programmatiski ģenerēt daudzskatu ortogrāfiskās projekcijas, sekcijas skatus un dimensijas kā SVG vai PDF.</li>
</ul>
<h3 id="bezgalvas-darbplūsmas-koncepts">Bezgalvas darbplūsmas koncepts</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#75715e"># Executed within FreeCAD&#39;s headless environment: freecadcmd script.py</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> FreeCAD <span style="color:#66d9ef">as</span> App
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> Part
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>doc <span style="color:#f92672">=</span> App<span style="color:#f92672">.</span>newDocument(<span style="color:#e6db74">&#34;AutomatedDoc&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># Create geometry programmatically</span>
</span></span><span style="display:flex;"><span>box <span style="color:#f92672">=</span> Part<span style="color:#f92672">.</span>makeBox(<span style="color:#ae81ff">100</span>, <span style="color:#ae81ff">50</span>, <span style="color:#ae81ff">30</span>)
</span></span><span style="display:flex;"><span>cylinder <span style="color:#f92672">=</span> Part<span style="color:#f92672">.</span>makeCylinder(<span style="color:#ae81ff">15</span>, <span style="color:#ae81ff">40</span>)
</span></span><span style="display:flex;"><span>cylinder<span style="color:#f92672">.</span>translate(App<span style="color:#f92672">.</span>Vector(<span style="color:#ae81ff">50</span>, <span style="color:#ae81ff">25</span>, <span style="color:#ae81ff">0</span>))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># Boolean difference</span>
</span></span><span style="display:flex;"><span>result <span style="color:#f92672">=</span> box<span style="color:#f92672">.</span>cut(cylinder)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># Assign to document</span>
</span></span><span style="display:flex;"><span>part_obj <span style="color:#f92672">=</span> doc<span style="color:#f92672">.</span>addObject(<span style="color:#e6db74">&#34;Part::Feature&#34;</span>, <span style="color:#e6db74">&#34;CutBlock&#34;</span>)
</span></span><span style="display:flex;"><span>part_obj<span style="color:#f92672">.</span>Shape <span style="color:#f92672">=</span> result
</span></span><span style="display:flex;"><span>doc<span style="color:#f92672">.</span>recompute()
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># Export to standard format</span>
</span></span><span style="display:flex;"><span>Part<span style="color:#f92672">.</span>export([part_obj], <span style="color:#e6db74">&#34;cut_block.step&#34;</span>)
</span></span></code></pre></div><p><strong>Vislabāk piemērots:</strong> Sarežģītām montāžām, BIM/architektūras automatizācijai, programmatiski PDF zīmējumu ģenerēšanai.</p>
<h2 id="4-open-cascade-technology-occt-uzņēmuma-līmeņa-kodols">4. Open CASCADE Technology (OCCT): Uzņēmuma līmeņa kodols</h2>
<p>Ja veidojat pielāgotu komerciālu CAD lietojumprogrammu, ģeometrijas intensīvu SaaS platformu vai jums ir vajadzīga augstas veiktspējas daudzpavediena ģeometrijas skaitīšana C++, skatieties tieši uz <strong>Open CASCADE Technology (OCCT)</strong>.</p>
<p>Gan FreeCAD, gan CadQuery paļaujas uz OCCT aizkulisēs. Izlaist starpslāņus sniedz nefiltrētu veiktspēju un dziļu ģeometrisko kontroli.</p>
<h3 id="galvenās-iespējas">Galvenās iespējas</h3>
<ul>
<li>Rūpnieciskā līmeņa <strong>B-Rep</strong> (Robežu reprezentācija) un topoloģiskās datu struktūras.</li>
<li>Virsmu un līkņu novērtēšana, krustpunkti, nepārtrauktas pārejas un uzlabota malu noapaļošana.</li>
<li>Tīklu ģenerēšana un galīgā elementa priekšapstrāde.</li>
<li><strong>pythonOCC</strong>: Izveidota Python apvalku kopa, ja vēlaties C++ veiktspēju ar Python iterācijas ātrumu.</li>
</ul>
<p><strong>Vislabāk piemērots:</strong> Augstas caurplūdes mākoņa ģeometrijas cauruļvadi, augstas precizitātes būla operācijas, pielāgotas īpašnieka CAD/CAM programmatūras izstrāde.</p>
<h2 id="5-librecad--libredwg19-vecāko-formātu-apstrāde-un-2d-darba-plūsmas">5. LibreCAD &amp; <a href="https://products.fileformat.com/cad/cpp/libredwg/">LibreDWG</a>: Vecāko formātu apstrāde un 2D darba plūsmas</h2>
<p>Bieži sastopama problēma, pārejot no AutoCAD, ir darbs ar <code>.dwg</code> failiem — Autodesk slēgtā, īpašnieka binārā formāta.</p>
<ul>
<li><strong>GNU LibreDWG:</strong> Bezmaksas C bibliotēka, kas paredzēta DWG failu tiešai lasīšanai un rakstīšanai. Lai gan izstrādāta, izmantojot reverse engineering, tā nodrošina plašu atbalstu ģeometrijas, atribūtu izguvei un DWG konvertēšanai uz DXF vai JSON.</li>
<li><strong>LibreCAD (LibreCAD v3 / libcad):</strong> Piedāvā bezgalveņu C++ kodola bibliotēkas, kas koncentrējas uz zīmēšanas primitīviem un arhitektūras slāņiem.</li>
</ul>
<p>Apvienojot <code>LibreDWG</code> ar tādiem rīkiem kā <code>ezdxf</code>, jūs varat izveidot automatizētus datu ieguves cauruļvadus, kas pieņem klientu īpašnieka <code>.dwg</code> failus un normalizē tos atvērtos datu cauruļvados bez AutoCAD licences.</p>
<h2 id="arhitektūras-salīdzinājums-pareizā-rīka-izvēle">Arhitektūras salīdzinājums: pareizā rīka izvēle</h2>
<table>
<thead>
<tr>
<th style="text-align:left">Rīks</th>
<th style="text-align:left">Pamatvaloda</th>
<th style="text-align:left">Galvenais fokuss</th>
<th style="text-align:left">Labākais lietošanas gadījums</th>
<th style="text-align:left">Bezgalveņu/mākonī gatavs?</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left"><strong>ezdxf</strong></td>
<td style="text-align:left">Python</td>
<td style="text-align:left">2D <a href="https://docs.fileformat.com/cad/dxf/">DXF</a></td>
<td style="text-align:left">Vektoru zīmēšana, CNC/lasera eksports, metadatu parsēšana</td>
<td style="text-align:left">Jā (Ļoti viegls)</td>
</tr>
<tr>
<td style="text-align:left"><strong>CadQuery</strong></td>
<td style="text-align:left">Python (virs OCCT)</td>
<td style="text-align:left">3D parametriskie cietie ķermeņi</td>
<td style="text-align:left">Programmatisks CAD, mākoņa konfiguratori, <a href="https://docs.fileformat.com/3d/step/">STEP</a> modeļi</td>
<td style="text-align:left">Jā (Docker draudzīgs)</td>
</tr>
<tr>
<td style="text-align:left"><strong>FreeCAD</strong></td>
<td style="text-align:left">C++ / Python</td>
<td style="text-align:left">2D/3D &amp; BIM</td>
<td style="text-align:left">Vairāku skatpunktu zīmējumi, formāta konvertēšana, sarežģītas montāžas</td>
<td style="text-align:left">Jā (<code>freecadcmd</code> / headless build)</td>
</tr>
<tr>
<td style="text-align:left"><strong>OpenSCAD</strong></td>
<td style="text-align:left">Pielāgota DSL / C++</td>
<td style="text-align:left">3D CSG cietie ķermeņi</td>
<td style="text-align:left">Procedurāli 3D drukāšanas komponenti, amatieru cauruļvadi</td>
<td style="text-align:left">Jā (Native CLI)</td>
</tr>
<tr>
<td style="text-align:left"><strong>Open CASCADE</strong></td>
<td style="text-align:left">C++</td>
<td style="text-align:left">Ģeometrijas kodols</td>
<td style="text-align:left">Smagā pielāgota programmatūra, uzņēmuma skaitļošanas dzinēji</td>
<td style="text-align:left">Jā (augsta veiktspēja)</td>
</tr>
</tbody>
</table>
<h2 id="ieteicamā-sistēmas-arhitektūra-automatizētām-cad-cauruļvadiem">Ieteicamā sistēmas arhitektūra automatizētām CAD cauruļvadiem</h2>
<p>Inženieru komandām, kas vēlas izveidot pilnīgi automatizētu cauruļvadu bez AutoCAD, apsveriet šo modernu mikroservisu modeli:</p>
<ol>
<li><strong>Klients / Priekšējā daļa:</strong> Tīmekļa interfeiss pieņem parametrus (piemēram, pielāgotus izmērus, materiālu izvēles).</li>
<li><strong>API slānis (FastAPI/Node.js):</strong> Validē ievades shēmas un nosūta uzdevumus rindā (Celery, Redis vai SQS).</li>
<li><strong>Darbinieku mezgli (Dockerizēts CadQuery/ezdxf):</strong>
<ul>
<li>Bezdzīvu konteineri tiek palaisti, lai aprēķinātu ģeometriju.</li>
<li>Izveidotie izvadi: <code>.step</code> ražošanai, <code>.dxf</code> CNC profiliem un <code>.gltf</code> / <code>.threejs</code> formāts reāllaika 3D pārlūkprogrammas priekšskatījumam.</li>
</ul>
</li>
<li><strong>Uzglabāšana un piegāde:</strong> Faili tiek saglabāti tieši S3‑savietojamā objektu krātuvē un nodoti atpakaļ lietotājam vai ražošanas rindai.</li>
</ol>
<p>Šī arhitektūra darbojas uz standarta Linux serveriem, automātiski mērogojas pēc pieprasījuma un likvidē licences, darbvirsmas ierobežojumu un VM pārklājuma radīto slogu, kas saistīts ar mantoto CAD programmatūru.</p>
<h2 id="biežāk-uzdotie-jautājumi-buj">Biežāk uzdotie jautājumi (BUJ)</h2>
<p>**Q1: Vai varu pilnīgi bezdzīvu darbināt CAD automatizācijas cauruļvadu Linux Docker konteineros?
Jā, tādi rīki kā CadQuery, ezdxf un FreeCAD CLI darbojas natīvi uz Linux bez jebkādas grafiskās lietotāja saskarnes (GUI) vai displeja servera.</p>
<p>**Q2: Kā konvertēt īpašnieka AutoCAD DWG failus, nepērkot AutoCAD?
Jūs varat izmantot GNU LibreDWG vai Open Design Alliance (ODA) File Converter CLI, lai grupveidā konvertētu DWG failus uz standarta DXF vai vektoru formātiem.</p>
<p>**Q3: Vai ir iespējams ģenerēt rūpnieciskā līmeņa 3D STEP failus, izmantojot tikai Python?
Jā, CadQuery un pythonOCC veido patiesu robežapzīmējuma (B-Rep) cietvielu ģeometriju un eksportē pilnīgi atbilstošus STEP un IGES failus.</p>
<p>**Q4: Kā CadQuery salīdzina ar OpenSCAD programmēšanas modelēšanā?
CadQuery izveido reālus topoloģiskus B-Rep cietos objektus ar NURBS un apaļojumiem, savukārt OpenSCAD izmanto konstrukcijas cietvielu ģeometriju (CSG), galvenokārt optimizētu tīklu izvadiem, piemēram, STL.</p>
<p>**Q5: Vai atvērtā koda CAD rīki var automātiski ģenerēt izmērītus 2D zīmējumus no 3D modeļiem?
Jā, FreeCAD galveņu TechDraw API un CadQuery zīmējumu projekcijas moduļi var projektēt 3D ģeometriju uz dimensiju SVG, DXF vai PDF skatījumiem.</p>
<h2 id="skatīt-arī">Skatīt arī</h2>
<p><a href="https://wiki.fileformat.com/"><strong>Failu Formātu Viki</strong></a> –Izpētiet failu formātu kategorijas, lai iegūtu informāciju par dažādiem failu formātiem</p>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<p><a href="https://wiki.fileformat.com/"><strong>Failu Formātu Viki</strong></a> –Izpētiet failu formātu kategorijas, lai iegūtu informāciju par dažādiem failu formātiem</p>
<p><a href="https://wiki.fileformat.com/"><strong>Failu Formātu Viki</strong></a> – Izpētiet failu formātu kategorijas, lai iegūtu informāciju par dažādiem failu formātiem</p>
<p><a href="https://blog.fileformat.com/cad/step-vs-iges-comparing-modern-and-legacy-cad-exchange-formats/"><strong>STEP vs IGES paskaidrots: Salīdzinot modernos un mantotos CAD apmaiņas formātus</strong></a></p>
<!-- raw HTML omitted -->
]]></content:encoded>
    </item>
    
  </channel>
</rss>
