
FreeCAD
Açıq Mənbəli 3D Parametrik CAD Modelləşdiricisi
Mekanik mühəndislik, memarlıq və məhsul dizaynı üçün Python API ilə 3D dizaynları yaradın, dəyişdirin və avtomatlaşdırın.
FreeCAD nədir?
FreeCAD güclü, açıq mənbəli 3D parametrik CAD modelleyicisidir və istənilən ölçüdə real dünya obyektləri yaratmaq üçün nəzərdə tutulmuşdur. Parametrik modelləşdirməni dəstəkləyir, bu da istifadəçilərə model tarixçəsində parametrləri tənzimləyərək dizaynları asanlıqla dəyişdirməyə imkan verir. OpenCASCADE, Coin3D, Qt və Python istifadə edən möhkəm arxitekturaya əsaslanaraq, FreeCAD mexanika mühəndisliyi, memarlıq, məhsul dizaynı və daha çox sahələrə xidmət edir. Elastik Python API‑si inkişafçılara və güclü istifadəçilərə tapşırıqları avtomatlaşdırmaq, funksionallığı genişləndirmək və xarici alətlərlə inteqrasiya etmək imkanı verir. Hobbist, tələbə, mühəndis və ya təhsilçi olmağınızdan asılı olmayaraq, FreeCAD lisenziya xərcləri olmadan 3D dizayn üçün peşəkar səviyyəli platforma təqdim edir.
FreeCAD-ın əsas gücü 2D eskizləşdirmə və 3D modelləşdirmə arasında körpü qurma qabiliyyətindədir, bu da istifadəçilərə həndəsi məhdudiyyətli 2D profilləri çəkməyə və onları 3D xüsusiyyətlərə çevirməyə imkan verir. O, Part Design, Assembly, Drafting, Architecture və daha çox üçün ixtisaslaşmış iş masaları (workbenches) ehtiva edir. Tətbiq Windows, macOS və Linux platformalarında yerli olaraq işləyir, bu da geniş əlçatanlığı təmin edir. Aktiv icma dəstəyi, geniş sənədləşmə və modul plugin memarlığı ilə FreeCAD həm yeni başlayanlar, həm də təcrübəli CAD mütəxəssisləri üçün şəffaf, özəlləşdirilə bilən və proprietar alətlərə pulsuz alternativ axtaranlar üçün ideal seçimdir. Simulyasiya və istehsal iş axınları ilə inteqrasiyası onu tam məhsul inkişaf dövrü üçün uyğun edir.
FreeCAD ilə Başlanğıc
FreeCAD Windows, macOS və Linux üçün əvvəlcədən tərtib edilmiş quraşdırıcılar kimi ən son buraxılışlar səhifəsi. Linuxda, adətən paylamanızın paket meneceri və ya proqram mərkəzi vasitəsilə mövcuddur. İnkişafçılar və təcrübəli istifadəçilər üçün mənbə kodundan CMake istifadə edərək qurmaq dəstəklənir. Rəsmi İnkişafçılar Təlimatı ətraflı qurma təlimatları təqdim edir. Quraşdırıldıqdan sonra FreeCAD-i işə salın və alət çubuğu vasitəsilə iş masalarını araşdırın. Python konsolu və makro sistemi avtomatlaşdırma və fərdiləşdirməyə imkan verir. Öyrənmə mənbələri üçün FreeCAD wiki-dəki Başlamaq bələdçisinə baxın.
FreeCAD-i Paket Meneceri (Linux) vasitəsilə quraşdırın və ya yükləyin
# Ubuntu/Debian
sudo apt install freecad
# macOS (Homebrew)
brew install --cask freecad
# Windows: Download from https://github.com/FreeCAD/FreeCAD/releases/latest
Python API ilə Parametrik 3D Modelləşdirmə
FreeCAD-in parametrik modelləşdirmə mühərriki istifadəçilərə redaktə edilə bilən parametrlərlə obyektləri təyin etməyə imkan verir, dəyərləri sadəcə tənzimləməklə dizayn iterasiyalarını həyata keçirməyə şərait yaradır. Python API bütün modelləşdirmə yığınına çıxış təmin edir, inkişafçılara proqram vasitəsilə mürəkkəb həndəsi formalar yaratmağa imkan verir. Part və PartDesign iş masalarından istifadə edərək, primitivlər yarada, Boolean əməliyyatları həyata keçirə, fillet/chamfer əlavə edə və pad, pocket və revolusion kimi xüsusiyyətlər yarada bilərsiniz — hamısı Python vasitəsilə. Bu imkan generativ dizayn, topologiya optimallaşdırması və CAD-ı simulasiya və ya istehsal iş axınları ilə inteqrasiya etmək üçün vacibdir. API həm obyekt-yönümlü, həm də funksional yanaşmaları dəstəkləyir, bu da skriptləşdirmə, makrolar və tam funksional plaginlər üçün uyğun edir. Əsas OpenCASCADE nüvəsinə çıxış sayəsində FreeCAD peşəkar səviyyəli həndəsi əməliyyatlar təqdim edir, eyni zamanda yeni başlayanlar üçün istifadənin asanlığını qoruyur.
Parametrik Kub yaradın və ölçülərini Python vasitəsilə dəyişdirin
import FreeCAD as App
import Part
# Create document and object
doc = App.newDocument()
cube = doc.addObject("Part::Box", "Cube")
cube.Length = 10
cube.Width = 20
cube.Height = 30
App.ActiveDocument.recompute()
# Modify dimensions later
cube.Length = 15
App.ActiveDocument.recompute()
2D Eskiz və Çizim İş Masası
FreeCAD güclü 2D eskiz mühitini 3D modelleme boru kəmərinə inteqrasiya edir. Sketcher iş masası istifadəçilərə xətlər, qövsələr, dairələr və spline‑lər istifadə edərək həndəsi məhdudiyyətli 2D profillər çəkməyə imkan verir. Üfüqi, şaquli, paralel, perpendikulyar və ölçülü məhdudiyyətlər kimi məhdudiyyətlər eskiz həndəsəsinə dəqiq nəzarət təmin edir. Tamamlandıqdan sonra bu eskizlər ekstrüzyonlar, revolyusiyalar və loft kimi 3D xüsusiyyətlərin əsasını təşkil edir. Bundan əlavə, Draft iş masası məhdudiyyətsiz 2D vektor çertyojləri yaratmaq üçün alətlər təqdim edir, bu da memarlıq planları və ya texniki illüstrasiyalar üçün idealdır. Drawing iş masası 3D modellərdən ortoqrafik proyeksiyalar, kəsit görünüşləri və şərhlərlə bəzədilmiş çertyojlardan ibarət sənədlər yaratmağa imkan verir, ISO‑standartına uyğun texniki sənədləşməni ölçüləmə, tolerans və material siyahısı xüsusiyyətləri ilə dəstəkləyir.
Eskiz yaradın, məhdudiyyətlər əlavə edin və 3D xüsusiyyət yaratmaq üçün ekstrüziya edin
import FreeCAD as App
import Sketcher
import PartDesign
doc = App.newDocument()
Part = doc.addObject("PartDesign::Body")
Sketch = doc.addObject("Sketcher::SketchObject", "Sketch")
Sketch.Placement = App.Placement(App.Vector(0,0,0), App.Rotation(App.Vector(0,0,1),0))
# Add geometry
Sketch.addGeometry(Part.LineSegment(App.Vector(-10,0,0),App.Vector(10,0,0)),False)
Sketch.addGeometry(Part.LineSegment(App.Vector(10,0,0),App.Vector(10,10,0)),False)
Sketch.addGeometry(Part.LineSegment(App.Vector(10,10,0),App.Vector(-10,10,0)),False)
Sketch.addGeometry(Part.LineSegment(App.Vector(-10,10,0),App.Vector(-10,0,0)),False)
# Add constraints
Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1))
Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1))
Sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1))
Sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1))
Sketch.addConstraint(Sketcher.Constraint('Horizontal',0))
Sketch.addConstraint(Sketcher.Constraint('Vertical',1))
# Extrude
Pad = doc.addObject("PartDesign::Pad", "Pad")
Pad.Profile = Sketch
Pad.Length = 5
doc.recompute()
Montaj Dizaynı və Məhdudiyyət Həlli
FreeCAD, Assembly4 və Assembly3 iş masaları vasitəsilə mürəkkəb yığma modelləşdirməsini dəstəkləyir, istifadəçilərə bir neçə hissəni funksional mexanizmlərə birləşdirməyə imkan verir. Yığımalar, komponentlər arasındakı nisbət mövqeləri və hərəkətləri təyin etmək üçün uyğunluq, paralel, perpendikulyar, tangent və məsafə kimi məhdudiyyətlərdən istifadə edilərək qurulur. Həllçi, hər hansı bir hissə və ya məhdudiyyət dəyişdirildikdə yığmanı avtomatik olaraq yeniləyir, dizayn bütövlüyünü təmin edir. Bu imkan, dişli zəncirləri, bağlayıcılar və korpus dizaynları kimi mexanika mühəndisliyi vəzifələri üçün vacibdir. Yığımalar, digər CAD sistemləri ilə əməkdaşlıq üçün STEP faylları kimi ixrac edilə bilər və hərəkət simulasyonu Yade kimi xarici alətlərlə və ya xüsusi Python skriptləri ilə inteqrasiya vasitəsilə mümkün olur. FreeCAD‑in parametrik təbiəti, fərdi hissələrdəki dəyişikliklərin avtomatik olaraq yığmaya yayılmasını təmin edir, əl ilə yeniləmələri azaldır və səhvləri minimuma endirir.
İki hissədən ibarət sadə bir yığıma yaradın və bərabər məhdudiyyəti tətbiq edin
import FreeCAD as App
import Assembly4
doc = App.newDocument("Assembly")
# Add parts
Part1 = doc.addObject("Part::Box", "Block1")
Part1.Length, Part1.Width, Part1.Height = 10, 10, 10
Part2 = doc.addObject("Part::Cylinder", "Cylinder1")
Part2.Radius, Part2.Height = 3, 15
# Create assembly
asm = doc.addObject("App::Part", "Assembly")
asm.Type = "Assembly"
asm.addObject(Part1)
asm.addObject(Part2)
# Apply constraint (simplified)
# In practice, use Assembly4's Constraint class for full functionality
App.ActiveDocument.recompute()
BIM və Memarlıq Modelləşdirmə Alətləri
FreeCAD, Arch iş masasından istifadə edərək Tikinti İnformasiya Modelləşdirilməsi (BIM) və memarlıq dizaynı üçün ixtisaslaşmış alətləri ehtiva edir. İstifadəçilər intuitiv parametrik obyektlər vasitəsilə divarlar, döşəmələr, damlar, pəncərələr, qapılar və struktur elementləri yarada bilərlər. Bu obyektlər parametrləri dəyişdikdə avtomatik olaraq yenilənir, iterativ dizaynı və tikinti kodlarına uyğunluğu dəstəkləyir. İş masası IFC (Industry Foundation Classes) idxal/ixracını dəstəkləyir, Revit və Archicad kimi sənaye standartı BIM proqramları ilə qarşılıqlı işləməyə imkan verir. Sayt planlaşdırması, enerji təhlili qurulması və materialların çıxarılması kimi xüsusiyyətlər FreeCAD‑i erkən mərhələdə memarlıq dizaynı və sənədləşdirmə üçün uyğun edir. Bundan əlavə, Draft və Sketcher iş masaları dəqiq plan və yüksəkliklər yaratmaq üçün problemsiz inteqrasiya olunur, Drawing iş masası isə annotasiyalar, ölçülər və cədvəllərlə tikinti sənədləri yaradır.
Divar yaradın və Python API istifadə edərək pəncərə əlavə edin
import FreeCAD as App
import Arch
doc = App.newDocument("Building")
# Create wall
Wall = Arch.makeWall(length=5000, width=200, height=3000)
Wall.Base = Arch.makeSketch([0,0,0], [5000,0,0], [5000,200,0], [0,200,0])
# Create window
Window = Arch.makeWindow(1200, 1500)
Window.Base = Arch.makeSketch([1000,100,0], [2200,100,0], [2200,1600,0], [1000,1600,0])
Window.Host = Wall
App.ActiveDocument.recompute()
