Centrum pokročilého uživatele
Toto je místo, kam byste měli zavítat, pokud jste zkušený uživatel a chcete se dozvědět více o přizpůsobování a rozšiřování FreeCADu.
FreeCAD je rozšiřitelný pomocí kódu Pythonu, který se spouští přímo v konzole Pythonu nebo se načítá z modulů při spuštění. To znamená, že můžete FreeCAD upravovat, aniž byste museli program překompilovat. Můžete například:
- Vytvářet a úpravovat geometrie: můžete vytvořit nový typ objektu, a to buď zcela od začátku, nebo úpravou existujícího typu.
- 'Vytvářet vlastní nástroje a příkazy‘: přidejte vlastní sadu nástrojů, které spouštějí váš kód.
- Upravit rozhraní: vytvořte panely nástrojů, do kterých umístíte své nástroje, vytvořte speciální okna, panely nebo rozhraní pro interakci s vašimi nástroji.
- Úpravit zobrazení scénografu: FreeCAD má oddělené procesy pro vytváření geometrie a jeho zobrazení na obrazovce. Máte plný přístup k tomu, jak se obsah scény zobrazuje na obrazovce, a proto můžete toto zobrazení upravovat, interagovat s ním nebo k němu přidávat vlastní chování. Můžete také přidávat vlastní obrazovkové widgety, jako jsou informace, táhla, kotvy nebo dočasné entity.
Pokud byste chtěli přispívat obsahem na tyto stránky, požádejte o wiki účet s oprávněním editora ve fóru a přečtěte si WikiPages s obecnými pokyny, které byste měli dodržovat. Další způsoby, jak přispět k projektu, najdete na stránce Nápověda FreeCADu.
Přizpůsobování FreeCADu
- Přizpůsobení rozhraní: Od začátku: Panely nástrojů a klávesové zkratky
- Práce s makry: Snadný záznam často opakovaných úkolů nebo Python kódu
- Makro návody
- Přizpůsobení panelu nástrojů
- Instalace dalších pracovních prostředí
Skriptování ve FreeCADu
Obecné
- Skriptování a makra – Seznam relevantních wiki stránek
- Úvod do Pythonu – Viz také další tutoriály k Pythonu na konci této stránky
- Tutoriál ke skriptování ve FreeCADu – Obecný přehled skriptování v Pythonu ve FreeCADu
- Základy skriptování ve FreeCADu: No, základy
- Manuál FreeCADu – Sekce Python Scripting: Vícekapitolový úvod do Python Scriptingu ve FreeCADu
- Příkazy GUI: Přidávání vlastních příkazů do GUI
- Používání smíšených jednotek ve FreeCADu
- Profilování kódu Pythonu
- Ladění kódu Pythonu
- Vývojové prostředí Pythonu – Jednoduché vývojové prostředí pro Python v rámci FreeCADu
Moduly
Funkce programu FreeCAD jsou rozděleny do modulů, které se zabývají speciálními datovými typy a aplikacemi. FreeCAD má vestavěné moduly a rozšiřující moduly (pluginy). Jakmile jsou pluginové moduly nainstalovány, jsou vám k dispozici stejně snadno jako vestavěné moduly. Níže popsané moduly jsou výchozí moduly, které jsou součástí každé instalace programu FreeCAD.
- Vestavěné moduly jsou hlavní moduly FreeCADu. Obsahují nástroje pro manipulaci s obecnými konfiguracemi FreeCADu, dokumenty a jejich obsahem.
- Vytvoření pracovního prostředí vám ukáže, jak vytvořit vlastní pracovní prostředí.
Práce se Sítěmi
- Mesh skriptování: Jak pracovat s Pracovním prostředím Mesh
Práce s Díly
- The Part Workbench: Jak se v FreeCADu používají nástroje a struktura Open CASCADE Technology
- Skriptování topologických dat: Jak pracovat s modulem Part
- PythonOCC: Jak využít celý potenciál Open CASCADE
- Mesh na Part: Převod mezi typy objektů
Přístup ke scénografii Coin
- Coin/Inventor scenegraph: Jak funguje zobrazení scény ve FreeCADu
- Pivy: Jak přistupovat ke scenegrafu a upravovat ho
Ovládání Qt rozhraní
- PySide: Jak přistupovat k rozhraní a upravovat jeho obsah
- Použití grafického rozhraní FreeCADu v jiné Qt aplikaci s PyQt
Práce s parametrickými objekty
- Skriptované objekty: jak vytvořit objekty skriptované na 100 % v Pythonu.
- Skriptované objekty s připojením: jak vytvořit skriptované objekty, které lze připojit k jiným objektům.
- Ukládání atributů skriptovaných objektů: jak ukládat a obnovovat atributy proxy třídy pomocí
dumpsaloads. - Migrace skriptovaných objektů: jak migrovat staré skriptované objekty do nové třídy.
Příklady
- Úryvky kódu : Sbírka úryvků kódu FreeCAD Python, které můžete použít ve svých skriptech...
- Funkce kreslení linie: Jak vytvořit jednoduchý nástroj pro kreslení linií
- Vytváření dialogových oken: Jak vytvořit dialogová okna pomocí Qt designeru a použít je ve FreeCADu
- Vložení FreeCADu: Jak importovat FreeCAD jako modul Pythonu do jiných aplikací
- Pracovní plocha Draft přidává do FreeCADu základní funkce pro 2D kreslení. Je napsán zcela v Pythonu, takže může být dobrým příkladem, pokud chcete psát vlastní moduly.
- Knihovna vektorové matematiky FreeCADu : Několik užitečných funkcí pro manipulaci s vektory FreeCADu. Tato knihovna je také součástí modulu Draft.
API funkce
Kompletní dokumentace API FreeCADu se nachází na adrese https://freecad.org/api/ . Obsahuje API pro C++ i Python a zatím není zcela správně formátovaná, což může být matoucí při hledání kódu pouze pro Python. Snadněji procházetelnou verzi najdete zde. Upozorňujeme, že může být neúplná, protože je aktualizována manuálně. Přesnější informace najdete přímo v modulech z konzole Pythonu FreeCADu.
Související: Exponování C++ do Pythonu
Pokročilé úpravy
- Spuštění a konfigurace: Spuštění a možnosti příkazového řádku
- Instalace na Windows: Použití instalačního programu pro Windows
- Kompilace FreeCADu na Windows a Kompilace FreeCADu na Linuxu
- Firemní značka: Jednoduché úpravy, které můžete provést ve zdrojovém kódu, abyste změnili některé aspekty FreeCADu
- Extra moduly pythonu : Rozšiřte pythonový interpret FreeCADu o tyto výkonné moduly!
Výukový program Pythonu
Jedná se o dobré obecné návody, které nejsou specifické pro FreeCAD, ale mohou vás zaujmout, pokud jste v jazyce Python úplnými začátečníky.
Python
- Oficiální výukový program pro Python – velmi kompletní výukový program pro objevování jazyka Python
- Výukový program pro Python pro neprogramátory – vynikající wikikniha
- Python pro začátečníky – jeden velký tutoriál pokrývající všechny základy
PySide - Jak vytvořit a spravovat rozhraní Qt UI programu FreeCAD z jazyka Python
- PySide tutorial : Platformově nezávislý tutoriál ukazující použití PySide s příklady
- PySide/PyQt tutorial : Snadno čitelný tutoriál, který pokrývá PySide a PyQt s příklady
- Dokumentace PySide : od Qt Project (tvůrci celého projektu)
- Používání QtCreatoru v PySide : také od Qt Project
- Referenční příručka PySide : nekonečné podrobnosti o detailech PySide a Qt, spolehlivý zdroj informací
- Úryvky kódu PySide : prohledávatelná databáze úryvků kódu PySide
Následující dva odkazy se týkají konkrétně PyQt (nikoli PySide), ale mohou poskytnout užitečné informace:
- Základní výukový program PyQt: Jednoduchý a krátký výukový program pro Linux, který vysvětluje práci s PyQt a Qt Designerem.
- Programování aplikací Qt v jazyce Python: Podrobnější tutoriál pokrývající celý proces práce s qt a pythonem
Pivy - Jak pracovat s 3D scénami ve FreeCADu
- Pivy – Vložení dynamického skriptovacího jazyka do knihovny scénového grafu: Diplomová práce, která podrobně vysvětluje Pivy.
- Programování pokročilé 3D grafiky v jazyce Python: Příklad Pivy z konference Pycon 2004
- Představení Pivy ve studierstube (Zrcadlo) : Článek, který není přímo návodem, ale dobře ilustruje, jak Pivy funguje (vyžaduje akademický účet)
Komunitní projekty
Na komunitním portálu najdete další projekty založené na FreeCADu, které provozuje komunita uživatelů FreeCADu. Pokud začínáte nový projekt FreeCADu, nezapomeňte ho tam uvést! Máme také stránku s tipy, co můžete udělat, pokud chcete pomáhat FreeCADu.
- FreeCAD scripting: Python, Introduction to Python, Python scripting tutorial, FreeCAD Scripting Basics
- Modules: Builtin modules, Units, Quantity
- Workbenches: Workbench creation, Gui Commands, Commands, Installing more workbenches
- Meshes and Parts: Mesh Scripting, Topological data scripting, Mesh to Part, PythonOCC
- Parametric objects: Scripted objects, Viewproviders (Custom icon in tree view)
- Scenegraph: Coin (Inventor) scenegraph, Pivy
- Graphical interface: Interface creation, Interface creation completely in Python (1, 2, 3, 4, 5), PySide, PySide examples beginner, intermediate, advanced
- Macros: Macros, How to install macros
- Embedding: Embedding FreeCAD, Embedding FreeCADGui
- Other: Expressions, Code snippets, Line drawing function, FreeCAD vector math library (deprecated)
- Hubs: User hub, Power users hub, Developer hub