Power users hub/sv



Detta är platsen att komma till om du vill ha en djupare insikt i FreeCAD. Här kan du lära dig om hur du anpassar FreeCAD för dina behov.

En av FreeCADs bästa egenskaper är att du kan skripta och utöka den extremt mycket utan att behöva kompilera något eller röra källkoden. All skriptning görs i python, ett mycket kraftfullt men enkelt programmeringsspråk. Med enkla pythonskript så har du total åtkomst till alla FreeCADs delar. Du kan till exempel:
 * Skapa och ändra geometri: Finns det något sorts specialobjekt som du behöver men som inte finns i FreeCADs standardinstallation? Du kan lätt skapa en ny objekttyp, antingen från scratch eller genom att förändra en existerande typ.
 * Skapa anpassade verktyg och kommandon: För tillfället så har FreeCAD redn en extensiv funktionalitet, men det finns ännu inte så många smidiga verktyg och kommandon för slutanvändaren än. Men det är redan lätt att skapa ditt eget verktygsset.
 * Förändra gränssnittet: FreeCADs användargränssnitt är för tillfället fortfarande mycket enkelt. Men allt finns där för dig för att utöka den för dina behov. Du kan till exempel, skapa verktygslådor att lägga dina egna verktyg i, Skapa specialpaneler för att interagera med dina verktyg, etc.
 * Förändra scenrepresentationen: FreeCAD har separata processer för uppbyggnad och beräkning av geometrin och visa den geometrin på din skärm. Du har full åtkomst till det sätt som sceninnehållet visas på skärmen, så därför kan du förändra den representationen, interagera med den, eller lägga till alla sorters specialbeteenden och skärmwidgetar, som information, dragare, ankare eller temporära föremål.

Dessa sidor är i ett tidigt utvecklingsstadie. Om du inte kan hitta den information du letar efter, eller har hittat användbar information på något ställe sim vi inte har länkat till, var då snäll och lämna en kommentar på pratsidan, eller varför inte att du själv lägger till innehåll här!

Anpassa FreeCAD

 * Gränssnittsanpassning: Startar med början: Verktygslådor och genvägar
 * Arbeta med makron: Spela in ofta repeterade uppgifter eller pythonkod

Skriptning i FreeCAD
Allmänt
 * Introduktion till python - Se även andra pythonövningar i slutet på denna sida
 * FreeCAD skriptgrunder: grunderna...


 * Nät skript: Hur man interagerar med Nät modulen
 * Gränssnittskommandon : Lägga till anpassade kommandon till gränssnittet
 * Använda blandade Enheter i FreeCAD

Modules
The functionality of FreeCAD is separated in Modules which deal with special data types and applications. FreeCAD has built-in modules and Extension Modules (plug-ins). Once plugin modules are installed, they become availible to you as easily as the built-in modules. The modules described below are the default modules, includeed in every FreeCAD installation.


 * The Builtin modules are the principal FreeCAD modules. They contain tools for manipulating general FreeCAD configurations, documents and their contents.
 * Workbench creation shows you how to create your own workbench

""Arbeta med nät""
 * Nät skript Hur man interagerar med Nätmodulen

Använda OpenCasCade
 * Del Modulen: Hur OpenCasCade verktyg och strukturer används i FreeCAD
 * Topologiska dataskript: Hur man interagerar med Del Modulen
 * pythonOCC: Hur man släpper fri hela OpenCasCade kraften
 * Nät till Del: konvertering mellan objekttyper

Komma åt Coin scengrafen
 * Coin/Inventor scengrafen: Hur FreeCADs scenrepresentation fungerar
 * Pivy: Hur man kommer åt och ändrar scengrafen

Kontrollera Qt gränssnittet
 * PySide: Hur man kommer åt gränssnittet, och förändrar dess innehåll
 * Använda FreeCADs gränssnitt i en annan Qt applikation med PyQt

Arbeta med parametriska objekt
 * Skriptade objekt: Hur man gör 100% python-skriptade objekt i FreeCAD
 * Ritningsmodulen: Automatisera 3D-till-2D processen


 * Scripted objects: how to make 100% Python-scripted objects.
 * Scripted objects with attachment: how to make scripted objects attachable to other objects.
 * Scripted objects saving attributes: how to save and restore attributes of the proxy class with and.
 * Scripted objects migration: how to migrate old scripted objects to a new class.

Exempel
 * Kodbitar en samling med FreeCAD python kod som du kan använda som ingredienser i dina skript...
 * Linjeritningsfunktionen: Hur man bygger ett enkelt verktyg att rita linjer med
 * Skapa dialoger: Hur man konstruerar dialoger med Qt designer, och använder dem i FreeCAD
 * Bädda in FreeCAD: Hur man importerar FreeCAD som en pythonmodul i andra applikationer
 * Skissmodulen adderar grundläggande 2D rintningsfunktioner till FreeCAD. Den är helt och hållet skriven i python, så den kan vara ett bra exempel om du vill skriva dina egna moduler.
 * FreeCAD's vektorbibliotek : Några praktiska funktioner för att manipulera FreeCAD vektorer. Detta bibliotek är även inkluderat i Skissmodulen.

API funktioner
Den kompletta API beskrivningen hittas här. Notera att den kan vara ofullständig, eftersom vi fortfarande inte har hittat ett sätt att automatiskt inkludera den på denna wiki. För mer rättvisande information, titta i modulerna direkt från FreeCAD.

Related: Exposing C++ to Python

Avancerade ändringar

 * Uppstart och konfiguration: Uppstart och kommandoradsalternativ
 * Installera på Windows: Använda Windows installeraren
 * Kompilera FreeCAD på Windows och Kompilera FreeCAD på Unix
 * Branding: Enkla modifieringar som du kan göra i källkoden för att förändra vissa delar i FreeCAD
 * Extra pythonmuduler : Utöka FreeCAD's pythontolk med dessa kraftfulla moduler!

Python övningar
Dessa är bra allmänna övningar, inte specifika för FreeCAD, som kan vara intressanta för dig om du är helt ny på python.

Python
 * Officiell pythonövning En mycket komplett övning för att upptäcka python
 * pythonövning för icke-programmerare - en excellent wikibok
 * Python för nybörjare - en stor övning som täcker allt det grundläggande

PyQt - Hur man skapar och hanterar FreeCAD's Qt användargränssnitt från python
 * Grundläggande PyQt övning : en enkel och kort linux-baserad övning som kommer att förklara hur man arbetar med PyQt och Qt Designer
 * Första programmen i PyQt4 : En plattform-agnostisk övning som visar innanmätet i python + qt
 * programmera Qt applikationer i python : En djupare övning som täcker hela processen i arbetet med qt och python.

The following two references are PyQt specific (not PySide) but may offer some information of use:
 * Basic PyQt tutorial : A simple and short linux-based tutorial that will explain how to work with PyQt and Qt Designer
 * Programming Qt applications in python : A more in-depth tutorial covering all the process of working with qt and python.

Pivy' - Hur man interagerar med FreeCAD's 3D scener
 * Grundläggande Pivy övning : En mycket simpel övning från den officiella Pivy siten
 * Introduktion av Pivy i studiersturbe : Ett dokument som egentligen inte är en övning men som på ett bra sätt illustrerar hur Pivy fungerar

Grupprojekt
På Grupportalen, så kan du hitta andra FreeCAD-baserade projekt som körs av FreeCADs användargrupp. Om du startar ett nytt FreeCAD projekt, ta och lista det där! Vi har också en sida med saker som du kan göra om du skulle vilja Hjälpa FreeCAD.

Literature

 * "Parametric CAD modeling for open source scientific hardware: Comparing OpenSCAD and FreeCAD Python scripts", Felipe Machado, Norberto Malpica, Susana Borromeo, DOI: 10.1371/journal.pone.0225795.
 * "Low-cost 4D BIM modelling: a comparison between FreeCAD and commercial software", D. Di Donato, Matteo Abita, DOI: 10.5194/isprs-archives-XLII-2-W17-107-2019.