Kompilieren unter Windows

From FreeCAD Documentation
Revision as of 12:45, 18 February 2021 by Maker (talk | contribs)

Diese Seite erklärt Schritt für Schritt, wie man FreeCAD 0.18 oder neuer unter Windows kompiliert. Für andere Plattformen siehe Compiling.

Voraussetzungen

Kompilieren von FreeCAD unter Windows erfordert einige Werkzeuge und Bibliotheken.

Erforderlich

  • Einen Compiler. FreeCAD wurde mit Visual Studio (MSVC) getestet - andere Compiler können funktionieren, aber eine Anleitung zur Verwendung ist hier nicht enthalten. Mehr Details in #Compiler, unten.
  • Git (Es gibt auch für Git verfügbare GUI Frontends, siehe den nächsten Abschnitt.)
  • CMake Version 3.11.x - 3.18.x. Hinweis: Normalerweise kannst du nicht die neueste CMake Version verwenden.

Verwende nur eine CMake Version in dem hier angegebenen Bereich!
Tipp: Wenn du bei der Installation von CMake die Option CMake zum System PFAD für alle Benutzer hinzufügen wählst, ist CMake von der Windows Eingabeaufforderung aus zugänglich, was nützlich sein kann.

  • LibPack (auch FreeCADLibs genannt). Dies ist ein Satz von Bibliotheken, die notwendig sind, um FreeCAD unter Windows zu kompilieren. Je nachdem, welche FreeCAD Version du kompilieren möchtest, musst du das entsprechende LibPack herunterladen. Um beispielsweise FreeCAD 0.18 zu kompilieren, lade entweder die 32bit- oder die 64bit-Version des LibPack für 0.18 herunter, um die neueste Entwicklungsversion 0.19 zu kompilieren, lade das LibPack für 0.19 herunter (es gibt nur eine 64bit-Version).

Optionale Programme

  • Ein GUI Frontend für Git. Es stehen mehrere Frontends zur Verfügung, siehe diese Liste. Der Hauptvorteil eines Frontends besteht darin, dass Sie die Git-Befehle nicht erlernen müssen, um den Quellcode von FreeCAD zu erhalten oder Patches an das GitHub-Repository von FreeCAD zu senden.

Im Folgenden beschreiben wir die Handhabung des Quellcodes über das TortoiseGit Frontend. Dieses Frontend integriert sich direkt in den Windows Dateiexplorer und verfügt über eine große Benutzer Gemeinschaft, um Hilfe bei Problemen zu erhalten.

  • NSIS wird verwendet, um das FreeCAD Windows Installationsprogramm zu generieren (FreeCAD 0.17 und früher verwendete WiX).

Quellcode

Jetzt kannst Du den Quellcode von FreeCAD bekommen:

Verwendung eines Frontend

Bei Verwendung des Git Frontends TortoiseGit:

  1. Erstelle einen neuen Ordner, in den der Quellcode heruntergeladen werden soll.
  2. Klicke mit der rechten Maustaste auf diesen Ordner im Windows Dateiexplorer und wähle Git Clone im Kontextmenü.
  3. Es erscheint ein Dialogfeld. Gib darin die Internetadresse für das FreeCAD Git Repositorium ein

https://github.com/FreeCAD/FreeCAD.git

und klicke auf OK.

Der neueste Quellcode wird aus dem FreeCAD Git Repositorium heruntergeladen und der Ordner wird von Git verfolgt.

Verwendung der Kommandozeile

Um einen lokalen Trackingzweig zu erstellen und den Quellcode herunterzuladen, öffne ein Terminal (Eingabeaufforderung) und wechsle dort in das Verzeichnis, in dem die Quelle gespeichert werden soll, und gib dann ein:

git clone https://github.com/FreeCAD/FreeCAD.git

Kompilierer

Der Standard Compiler (empfohlen) ist MS Visual Studio (MSVC). Die Verwendung anderer Compiler, z. B. gcc über Cygwin oder MinGW, ist zwar möglich, wird hier aber nicht getestet oder behandelt.

Du kannst eine kostenlose Version von MSVC (für den persönlichen Gebrauch) erhalten, indem Du die Gemeinschafts Edition von MS Visual Studio herunterlädst.

Für diejenigen, die die Installation des riesigen MSVC für den reinen Zweck, einen Compiler zu haben, vermeiden wollen, siehe CompileOnWindows - Reducing Disk Footprint.

Hinweis: Obwohl die Gemeinschaftsausgabe von MSVC kostenlos ist, musst du ein Microsoft Konto erstellen, um die IDE länger als eine 30-tägige Testphase zu verwenden. Wenn du nur über die Kommandozeile kompilieren willst, brauchst du die IDE nicht und somit auch kein Microsoft Konto.

Als freie und OpenSource alternative IDE kannst du KDevelop verwenden. Du kannst KDevelop zum Ändern und Schreiben von C++ Code verwenden, musst aber die Kommandozeile zum Kompilieren verwenden.

Optionale Systempfad Konfiguration

Optional können die Pfade zu einigen Ordnern in die Systemvariable PATH aufgenommen werden. Dies ist hilfreich, wenn du über die Befehlszeile/Powershell auf Programme in diesen Ordnern zugreifen möchtest oder wenn du möchtest, dass spezielle Programme vom Compiler oder CMake gefunden werden. Außerdem kann es notwendig sein, Ordner zum PATH hinzuzufügen, wenn du bei der Installation des Programms nicht die entsprechenden Optionen verwendet hast.

  • Du kannst den Ordner deines LibPacks in deine System PATH Variable aufnehmen. Dies ist nützlich, wenn du vorhast, mehrere Konfigurationen/Versionen von FreeCAD zu erstellen.
  • Wenn du die Option zum Hinzufügen von CMake zum PFAD während der Installation nicht verwendet hast, füge seinen Installationsordner hinzu.

"C:\\Program Files\CMake\CMake\" zum PATH.

  • Wenn du die Option, TortoiseGit während der Installation zum PFAD hinzuzufügen, nicht genutzt hast, füge seinen Installationsordner hinzu.

C:\Program Files\TortoiseGit\bin zum PATH.

Um der PATH Variablen Ordnerpfade hinzuzufügen:

  1. Klicke im Windows-Startmenü mit der rechten Maustaste auf Computer und wähle Eigenschaften.
  2. Klicke im erscheinenden Dialog auf Erweiterte Systemeinstellungen.
  3. Es öffnet sich ein weiterer Dialog. Klicke dort in der Registerkarte Erweitert auf Umgebungsvariablen.
  4. Wieder öffnet sich ein weiterer Dialog. Wähle dann die Variable Pfad und klicke auf Bearbeiten.
  5. Und wieder öffnet sich ein weiterer Dialog. Klicke dort auf New' und füge zum PATH zum Ordner von Git oder dem LibPack hinzu.
  6. Abschließend drücke OK und schließe alle Dialoge, indem Du ebenfalls OK' drückst.

Konfiguration

Once you have all of the necessary tools, libraries, and FreeCAD source code, you are ready to begin the configuration and compilation process. This process will proceed in five steps:

  1. Run CMake once to examine your system and begin the configuration progress (this will report that it failed).
  2. Adjust necessary CMake settings to set the locations of the LibPack and enable Qt5.
  3. Re-run CMake to finalize the configuration (this time it should succeed).
  4. Use CMake to generate the Visual Studio build system.
  5. Use Visual Studio to build FreeCAD.

CMake

Konfiguriere zunächst die Bauumgebung mit CMake:

  1. Öffne das CMake GUI.
  2. Gib den Quellordner von FreeCAD an.
  3. Gib einen Bauordner an (verwende nicht den Quellordner -- CMake erstellt diesen Ordner, wenn er nicht existiert).
  4. Klicke auf Konfigurieren'.
  5. In dem erscheinenden Dialog gib den gewünschten Generator an: In den meisten Fällen wirst du die Voreinstellungen in diesem Dialogfeld verwenden. Für das standardmäßige MS Visual Studio verwende Visual Studio xx 2yyy, wobei xx die Compiler Version und 2yyy das Jahr der Veröffentlichung ist. Es wird empfohlen, die Standardoption Use default native compilers zu verwenden.

Hinweis: Es ist wichtig, die richtige Bitvariante anzugeben. Wenn du die 64-bit Variante von LibPack hast, musst du auch den x64 Compiler verwenden.

Dies wird die Konfiguration beginnen und wird fehlschlagen wegen fehlender Einstellungen. Dies ist normal, du hast den Speicherort des LibPack noch nicht angegeben. Es können jedoch auch andere Fehler auftreten, die weitere Maßnahmen deinerseits erfordern.

Wenn es mit der Meldung fehlschlägt, dass Visual Studio nicht gefunden werden konnte, ist die CMake Unterstützung in MSVC noch nicht installiert. Um das zu tun:

  1. Öffne die MSVC IDE.
  2. Verwende das Menü Werkzeuge → Werkzeuge und Funktionen erhalten
  3. Aktiviere im Reiter Arbeitsauslastungen die Desktop Entwicklung mit C++.
  4. Auf der rechten Seite solltest Du nun sehen, dass die Komponente Visual C++ Werkzeuge für CMake installiert wird.
  5. Installiere es.

Wenn es mit einer Meldung über eine falsche Python-Version oder fehlendes Python fehlschlägt, dann:

  1. Verwende das Feld "Suchen:" in CMake, um nach der Zeichenkette "Python" zu suchen.
  2. Wenn du dort einen Pfad wie C:/Programme/Python38/python.exe siehst, hat CMake das Python erkannt, das bereits auf deinem PC installiert ist, aber diese Version ist nicht kompatibel mit dem LibPack. Da das LibPack eine kompatible Version von Python enthält, ändere die folgenden Python Einstellungen in CMake auf dessen Pfade (unter der Annahme, dass das LibPack im Ordner D:\FreeCAD-build\FreeCADLibs_12.4.2_x64_VC17 liegt):

Wenn es keinen Fehler zu Visual Studio oder Python gibt, ist alles in Ordnung, aber CMake kennt noch nicht alle notwendigen Einstellungen. Deshalb jetzt:

  1. Suche in CMake nach der Variable FREECAD_LIBPACK_DIR und gib den Ort des LibPack Ordners an, den du zuvor heruntergeladen hast.
  2. Suche nach der Variable BUILD_QT5 und aktiviere diese Option.
  3. Klicke erneut auf Configure.

Es sollten nun keine Fehler mehr auftreten. Wenn du weiterhin auf Fehler stößt, die du nicht diagnostizieren kannst, besuche das Install/Compile forum auf der FreeCAD Forum Webseite. Wenn CMake korrekt vorgegangen ist, klicke auf Generieren. Nachdem dies geschehen ist, kannst du CMake schließen und die Kompilierung von FreeCAD mit Visual Studio starten. Lasse es jedoch für die erste Kompilierung geöffnet, falls du einige Optionen für den Bauprozess ändern willst oder musst.

Optionen für den Bauprozess

Das CMake Bau System gibt dir die Kontrolle über einige Aspekte des Bauprozesses. Insbesondere kannst du einige Funktionen oder Module mit CMake Variablen ein- und ausschalten.

Hier ist eine Beschreibung einiger dieser Variablen:

Variable name Description Default
BUILD_XXX Erstelle FreeCAD mit der Komponente XXX. Wenn du z.B. den Arbeitsbereich OpenSCAD nicht kompilieren willst/musst, deaktiviere die Variable BUILD_OPENSCAD. FreeCAD wird dann nicht über diese Arbeitsbereich verfügen.

Hinweis: Einige Komponenten werden für andere Komponenten benötigt. Wenn Du z.B. das Häkchen entfernst BUILD_ROBOT CMake wird dich darüber informieren, dass dann die Komponente Pfad nicht korrekt kompiliert werden kann. Überprüfe daher die CMake Ausgabe, nachdem Sie eine BUILD_XXX Option geändert haben! || hängt davon ab.

CMAKE_INSTALL_PREFIX Der Ausgabeordner beim Erstellen des Ziels INSTALL, siehe auch Abschnitt Ausführen und Installieren von FreeCAD Windows' Standard Programminstallationsordner
FREECAD_COPY_DEPEND_DIRS_TO_BUILD Kopiert abhängige Bibliotheken, die zum Ausführen der FreeCAD.exe benötigt werden, in den Bauordner. Siehe auch Abschnitt Ausführung und Installation von FreeCAD.
Hinweis: die Optionen FREECAD_COPY_XXX erscheinen nur, wenn die Bibliotheken nicht bereits kopiert wurden. Wenn du also zu einer anderen LibPack Version wechselst, ist es wichtig, alle Ordner in deinem Bau Ordner zu löschen, mit Ausnahme des LibPack Ordners. In CMake löschst du den Cache und starte, als ob du zum ersten Mal kompilierst und du erhälst die FREECAD_COPY_XXX Optionen.
OFF
FREECAD_COPY_LIBPACK_BIN_TO_BUILD Kopiert die LibPack Binärdateien, die zum Ausführen der FreeCAD.exe, in den Buildordner benötigt werden. Siehe auch Abschnitt Ausführung und Installation von FreeCAD.. OFF
FREECAD_COPY_PLUGINS_BIN_TO_BUILD kopiert die zur Ausführung der FreeCAD.exe benötigten Zusatzprogramm Dateien von Qt in den Bau Ordner. Siehe auch Abschnitt Ausführung und Installation von FreeCAD. OFF
FREECAD_LIBPACK_USE Schalten Sie die Nutzung des FreeCAD LibPacks ein oder aus. off ON
FREECAD_LIBPACK_DIR Verzeichnis, in dem sich das LibPack befindet FreeCAD's source code folder
FREECAD_RELEASE_PDB Erstellen von Fehlersuch Bibliotheken auch für Veröffentlichungs Builds ON

FreeCAD bauen

Abhängig von deinem Compiler wird der Prozess zur Erstellung von FreeCAD etwas anders ablaufen. In den folgenden Abschnitten werden die bekannten Arbeitsabläufe beschrieben. Wenn Du mit Qt Creator baust, gehe zu Bau mit Qt Erzeuger, ansonsten fahre direkt fort:

Bau mit Visual Studio 15 (2017) und 16 (2019)

Bau freigeben

  1. Starte das Visual Studio IDE. Dies kann entweder durch Drücken der Schaltfläche Projekt öffnen in der CMake GUI oder durch Doppelklicken auf die Datei FreeCAD.sln, die Du in Deinem Bauordner findest, geschehen.
  2. In der Werkzeugleiste der MSVC IDE versichere dich, dass du für die erste Kompilierung Release verwendest.
  3. Es gibt ein Fenster namens Solution Explorer. Es listet alle möglichen Kompilierungsziele auf.

Um eine vollständige Kompilierung zu starten, klicke mit der rechten Maustaste auf das Ziel ALL_BUILD und wählen dann Build. Dies wird nun recht lange dauern.

Um ein einsatzbereites FreeCAD zu kompilieren, kompiliere das Ziel INSTALL, siehe Abschnitt Ausführen und Installieren von FreeCAD.

Wenn Du keine Fehler bekommst, ist das erledigt. Herzlichen Glückwunsch! Du kannst MSVC beenden oder offen lassen.

Debug Build

For a debug build it is necessary that the Python is used that is included in the LibPack. To assure this:

  1. Search in the CMake GUI for "Python"
  2. If you see there a path like C:/Program Files/Python38/python.exe, CMake recognized the Python that is installed on your PC and not the one of the LibPack. In this case adapt these different Python settings in CMake to this (assuming the LibPack is in the folder D:\FreeCAD-build\FreeCADLibs_12.4.2_x64_VC17):

Now

  1. Start the Visual Studio IDE. This can either be done by pressing the button Open Project in the CMake GUI or by double-clicking on the file FreeCAD.sln that you find in your build folder.
  2. In the toolbar of the MSVC IDE assure that you use for the first compilation Debug.
  3. There is a window called Solution Explorer. It lists all possible compilation targets. To start a full compilation, right-click on the target ALL_BUILD and then choose Build in the context menu.

This will now take quite a long time. If there were no compilation errors, you can start the debug build:

  1. Right-click on the target FreeCADMain and then choose Set as Startup Project in the context menu.
  2. Finally click in the toolbar on the button with the green triangle named Local Windows Debugger.

This will start the debug build of FreeCAD and you can use the MSVC IDE to debug it.

Video Ressource

Ein englischsprachiges Tutorium das mit der Konfiguration in CMake Gui beginnt und mit dem `Build` Befehl in Visual Studio 16 2019 fortgesetzt wird, ist ungelistet auf YouTube unter Tutorium: FreeCAD aus dem Quellcode unter Windows 10 bauen.

Bau mit Visual Studio 12 2013

Stelle sicher, dass Du Visual Studio 12 x64 (oder den alternativen C-Compiler, den Du verwendest) als Erzeuger in CMake angibst, bevor Du weitermachst.

  • Starte Visual Studio 12 2013, indem Du auf das bei der Installation erstellte Desktop Symbol klickst.
  • Öffne das Projekt durch:

Datei → Öffnen → Projekt/Lösung

  • Öffne FreeCAD_Trunk.sln aus dem Buildordner CMake created.
  • Schalte die Dropdown-Liste Lösungskonfiguration oben nach unten auf Release X64.

Dies kann je nach System eine Weile dauern.

  • Bau → Lösung erstellen
  • Das wird lange dauern.....

Wenn Du keine Fehler bekommst, bist Du damit fertig. Beende Visual Studio und starte FreeCAD mit einem Doppelklick auf das FreeCAD Symbol im bin Ordner des Build Verzeichnisses.

Bau mit Qt Creator (veraltet)

Installation und Konfiguration des Qt Creators

  • Herunterladen und installieren Qt Creator
  • Werkzeuge → Optionen → Texteditor → Registerkarte Verhalten:
    • Dateikodierungen → Standard-Kodierungen:
    • Gesetzt auf: ISO-8859-1 /...csISOLatin1' (Bestimmte Zeichen erzeugen Fehler/Warnungen mit Qt Creator, wenn sie auf UTF-8 gesetzt sind. Das scheint es zu beheben.)
  • Werkzeuge → Optionen → Bau & Lauf:
    • CMake Registerkarte
      • Fülle das Feld Ausführung mit dem Pfad zu cmake.exe aus.
    • Registerkarte Kits
      • Name: MSVC 2008
      • Compiler: Microsoft Visual C++ Compiler 9.0 (x86)
      • Debugger: Automatische Erkennung.....
      • Qt-Version: Keine
    • Registerkarte Allgemein
      • Deaktiviere das Kontrollkästchen: Erstelle immer ein Projekt, bevor Du es einsetzt.
      • Deaktiviere das Kontrollkästchen: Stelle das Projekt immer vor der Ausführung bereit.

Projektimport und Bau

  • Datei → Datei oder Projekt öffnen
  • Öffne CMakeLists.txt', das sich in der obersten Ebene der Quelle befindet.
  • Dadurch wird CMake gestartet.
  • Wähle das Build Verzeichnis und klicke auf Weiter.
  • Setze den Generator auf NMake Generator (MSVC 2008)'.
  • Klicke auf CMake ausführen. Folge den oben dargestellten Anweisungen, um CMake nach Deinen Wünschen zu konfigurieren.

Jetzt kann FreeCAD erstellt werden.

  • Bau → Baue alle
  • Das wird lange dauern.....

Nach Fertigstellung kann es ausgeführt werden: Unten links befinden sich 2 grüne Dreiecke. Eine davon ist Fehlersuche. Der andere wird ausgeführt. Wähle, was immer du willst.

Kommandozeilen Bau

Die Schritte, wie man von der Kommandozeile aus kompiliert, hängen vom Compiler ab. Für MSVC 2017 sind die Schritte:

  1. In Windows' Startmenü gehen Sie zu Template:MenuCommand/de und wähle Developer Command Prompt for VS 2017.
  2. Wechsle in deinen Buildordner.
  3. Führe den Befehl aus
msbuild ALL_BUILD.vcxproj /p:Configuration=Release

oder

msbuild INSTALL.vcxproj /p:Configuration=Release

Diese Schritte können auch automatisiert werden. Hier ist zum Beispiel eine Lösung für MSVC 2017:

  1. Lade das Skript herunter compile-FC.txt.
  2. Umbenennen in compile-FC.bat'.
  3. Klicke im Datei Explorer von Windows mit der rechten Maustaste auf Dein Build Verzeichnis und benutze aus dem Kontextmenü Befehlszeile hier.
  4. Führe den Befehl aus
compile-FC install

Anstatt compile-FC mit der Option install aufzurufen, kannst Du auch debug oder release verwenden:

debug   - FreeCAD in Fehlersuchkonfiguration kompilieren

release - kompiliere FreeCAD in der Veröffentlichungskonfiguration.

install     - kompiliert FreeCAD in der Freigabekonfiguration und erstellt ein Installationssetup.

Ausführen und Installieren von FreeCAD

Es gibt 2 Methoden, um das kompilierte FreeCAD auszuführen:

Methode 1: Du führst die FreeCAD.exe aus, die du in deinem Build Verzeichnis findest, im Unterverzeichnis bin.

Methode 2: Du baust das Ziel INSTALL

Methode 2 ist die einfachere, da sie automatisch sicherstellt, dass sich alle für die Ausführung der FreeCAD.exe erforderlichen Bibliotheken im richtigen Ordner befinden. Die FreeCAD.exe und die Bibliotheken werden in dem Ordner ausgegeben, den du in der CMake-Variablen CMAKE_INSTALL_PREFIX angegeben hast.

Für Methode 1 müssen die Bibliotheken in den Ordner bin deines Buildordners (wo sich die FreeCAD.exe befindet) gelegt werden. Dies ist einfach zu bewerkstelligen:

  1. Öffne die CMake GUI.
  2. Suche dort nach der Variablenoption FREECAD_COPY_DEPEND_DIRS_TO_BUILD und überprüfe sie. Wenn es keine solche Option gibt, wurden die Bibliotheken bereits kopiert, siehe Beschreibung der Optionen.
  3. Suche dort nach der Variablenoption FREECAD_LIBPACK_BIN_TO_BUILD und überprüfe diese.
  4. Suche dort nach der Variablenoption FREECAD_PLUGINS_BIN_TO_BUILD und überprüfe sie.
  5. Klicke auf Konfigurieren. Am Ende der Konfiguration kopiert CMake automatisch die notwendigen Bibliotheken aus dem LibPack Ordner.

Für FreeCAD 0.19 gibt es derzeit nur ein Problem, das manuelle Maßnahmen erfordert:

  1. Lade die Datei qwindowsvistastyle.zip aus dem FreeCAD Forum herunter.
  2. Erstelle einen neuen Unterordner namens styles im Ordner bin (wo sich die FreeCAD.exe befindet).
  3. Entpacke die ZIP-Datei in diesen Ordner.

Dies fügt den notwendigen Stil hinzu, damit FreeCAD wie ein normales Win 10-Programm aussieht. Ansonsten sieht es aus wie unter Windows 98.

Aktualisierung des Build

FreeCAD ist sehr aktiv entwickelt. Daher ändert sich der Quellcode fast täglich. Neue Funktionen wurden hinzugefügt und Fehler behoben. Um von diesen Quellcode-Änderungen zu profitieren, musst Du Dein FreeCAD neu erstellen. Dies geschieht in zwei Schritten:

  1. Aktualisierung des Quellcodes
  2. Rekompilierung

Aktualisierung des Quellcodes

Verwendung eines Frontends

Bei Verwendung des Git Frontend TortoiseGit:

  1. Klicke mit der rechten Maustaste auf deinen FreeCAD Quellcode Ordner im Windows Datei Explorer und wähle im Kontextmenü Pull'.
  2. Es erscheint ein Dialogfeld. Wähle dort aus, welchen Entwicklungszweig Du bekommen möchtest. master' ist der Hauptzweig. Verwendedies daher, es sei denn, du möchtest ein spezielles neues Feature aus einem Zweig kompilieren, der noch nicht mit master zusammengeführt wurde. (Für weitere Informationen über Git-Zweige siehe Git development process.)

Klicke abschließend auf OK'.

Verwendung der Kommandozeile

Öffne ein Terminal (Eingabeaufforderung) und wechsle dort in dein Quellverzeichnis. Dann tippe:

git pull https://github.com/FreeCAD/FreeCAD.git master

wobei master der Name des Hauptentwicklungszweiges ist. Wenn du Code von einem anderen Zweig erhalten möchtest, verwende dessen Namen anstelle von master.

Rekompilierung

  1. Öffne die MSVC-IDE, indem Du entweder auf die Datei FreeCAD.sln oder auf die Datei ALL_BUILD.vcxproj in Deinem Build-Verzeichnis doppelklickst.
  2. Fahre mit Schritt 2 aus Abschnitt Building with Visual Studio 15 2017 fort.

Werkzeuge

Um an der FreeCAD Entwicklung teilzunehmen, solltest du die folgenden Werkzeuge kompilieren und installieren:

Qt Designer Zusatzprogramm

FreeCAD verwendet Qt als Werkzeugsatz für seine Benutzeroberfläche. Alle Dialoge sind in UI-Dateien eingerichtet, die mit dem Programm Qt Designer bearbeitet werden können, das Teil jeder Qt Installation ist und auch im LibPack enthalten ist. FreeCAD hat seinen eigenen Satz von Qt Widgets, um spezielle Funktionen wie das Hinzufügen einer Einheit zu Eingabefeldern und das Setzen von Voreinstellungen zu ermöglichen.

Einrichtung

Um Qt Designer auf die FreeCAD Widgets aufmerksam zu machen, musst du

  1. Laden diese ZIP Datei herunter. (Kompiliert mit Qt 5.12, siehe unten).
  2. Entpacke die DLL Datei in der ZIP Datei und kopiere sie
  • Wenn du das LibPack verwendest: in den Ordner
    ~\FreeCADLibs_12.1.4_x64_VC15\bin\designer
    Da es nur einen bin Ordner geben wird und du zuerst den Unterordner designer erstellen musst.
  • Wenn du eine vollständige Qt Installation hast: du kannst wählen zwischen dem Ordner
    C:\Qt\Qt5.12.5\5.12.5\msvc2017_64\plugins\designer
    oder
    C:\Qt\Qt5.12.5\5.12.5\msvc2017_64\bin\designer
    (passe die Pfade an deine Installation an!).

Starte den Qt Designer (erneut) und überprüfe sein Menü Hilfe → Zusatzprogramme. Wenn das Zusatzprogramm FreeCAD_widgets.dll als geladen aufgeführt ist, kannst du nun FreeCADs .ui Dateien entwerfen und ändern. Falls nicht, musst du die DLL selbst Kompilieren.


Wenn du lieber Qt Creator anstelle von Qt Designer verwenden möchtest, muss die DLL in diesem Ordner abgelegt werden:
C:\Qt\Qt5.12.5\Tools\QtCreator\bin\plugins\designer
(Re)Start Qt Creator, wechsle in den Modus Design und überprüfe dann das Menü Werkzeuge → Formular Editor → Über Qt Designer Zusatzprogramme. Wenn das Zusatzprogramm FreeCAD_widgets.dll als geladen aufgeführt ist, kannst du nun FreeCADs .ui Dateien entwerfen und ändern. Falls nicht, musst du die DLL selbst Kompilieren.

Kompilierung

Die DLL kann nicht als Zusatzprogramm geladen werden, wenn sie mit einer anderen Qt Version kompiliert wurde als die, auf der dein Qt Designer/Qt Creator basiert. In diesem Fall musst du die DLL selbst kompilieren. Dies geschieht auf folgende Weise:

  1. Change to the FreeCAD source folder
    ~\src\Tools\plugins\widget
  2. Open a MSVC x64 command prompt using the Windows Start menu and change within it to the above folder. It is important that it is the x64 version of the MSVC command prompt!
  3. Execute this command
    qmake -t vclib plugin.pro
    
    If qmake could not be found, use the full path to it, e.g. for the LibPack it should be this one (adapt it to your installation):
    D:\FreeCAD-build\FreeCADLibs_12.1.4_x64_VC15\bin\qmake -t vclib plugin.pro
    for a full Qt installation it is
    C:\Qt\Qt5.12.5\5.12.5\msvc2017_64\bin\qmake -t vclib plugin.pro
    (adapt the paths to your installation!)
  4. The call of qmake created the file FreeCAD_widgets.vcxproj in the folder ~\src\Tools\plugins\widget. Double-click on it and the MSVC IDE will open.
  5. In the toolbar of the MSVC IDE assure that you use the compilation target Release.
  6. There is a window called Solution Explorer. Right-click there on FreeCAD_widgets and then choose Build.
  7. As result you should now have a FreeCAD_widgets.dll in the folder ~\src\Tools\plugins\widget\release that you can install as plugin as described above.

=Miniaturansicht Anbieter

FreeCAD hat die Funktion, Vorschau Miniaturbilder für *.FCStd Dateien bereitzustellen. Das bedeutet, dass im Windows Datei Explorer *.FCStd Dateien mit einem Bildschirmfoto des darin enthaltenen Modells angezeigt werden. Um diese Funktion anbieten zu können, muss FreeCAD die Datei FCStdThumbnail.dll unter Windows installiert haben.

Einrichtung

Die DLL wird auf diese Weise installiert:

  1. Lade diese ZIP Datei herunter und entpacke sie.
  2. Öffne eine Windows Befehlseingabeaufforderung mit Administratorrechten (diese Rechte sind eine Voraussetzung).
  3. Wechsle in den Ordner, in dem sich die DLL befindet.
  4. Führe diesen Befehl aus
    regsvr32 FCStdThumbnail.dll
    

Prüfe also, ob es funktioniert, stelle sicher, dass in FreeCAD die Voreinstellungsoption Speichern der Miniaturansicht in Projektdatei beim speichern des Dokuments aktiviert ist und speichere ein Modell. Zeige dann im Windows Explorer den Ordner des gespeicherten Modells in einer Symbolansicht an. Du solltest nun ein Bildschirmfoto des Modells in der Ordneransicht sehen.

Kompilierung

To compile the FCStdThumbnail.dll

  1. Change to the FreeCAD source folder
    ~\src\Tools\thumbs\ThumbnailProvider
  2. Open the CMake GUI
  3. Specify there as source folder the one you are currently in.
  4. Use the same folder as build folder.
  5. Click Configure
  6. In the appearing dialog, specify the generator according to the one you want to use. For the standard MS Visual Studio use Visual Studio xx 2yyy where xx is the compiler version and 2yyy the year of its release. It is recommended to use the default option Use default native compilers.
    Note: It is important to specify the correct bit variant. If you have the 64bit variant of LibPack you must also use the x64 compiler.
  7. Click on Generate.
  8. You should now have the file ALL_BUILD.vcxproj in the folder ~\src\Tools\thumbs\ThumbnailProvider. Double-click on it and the MSVC IDE will open.
  9. In the toolbar of the MSVC IDE assure that you use the compilation target Release.
  10. There is a window called Solution Explorer. Right-click there on ALL_BUILD and then choose Build.
  11. As result you should now have a FCStdThumbnail.dll in the folder ~\src\Tools\thumbs\ThumbnailProvider\release that you can install as described above.


Compiling OpenCASCADE

The standard Libpack comes with a version of OpenCASCADE that is suitable for general use. However, under some circumstances you may wish to compile against an alternate version of OpenCASCADE, such as one of their official releases, or a patched fork. Note that there is no guarantee that FreeCAD will work with all versions of OpenCASCADE, and using a non-Libpack version is for advanced users only. Note also that if you are using the Netgen library, it uses OpenCASCADE for some of its functionality and must be compiled against the same version of OpenCASCADE that you use when compiling FreeCAD.

The process for building a custom version of OpenCASCADE is similar to that for FreeCAD, and can make use of the FreeCAD Libpack that you have already downloaded to provide the third-party dependencies it needs (Freetype and Tcl/Tk).

First obtain the OpenCASCADE source code, either directly from the release page at OpenCASCADE.org, via git, or by cloning someone else's fork, such as the "blobfish" fork maintained by FreeCAD forum member tanderson69.

Next, use CMake to configure the build system in a similar manner to building FreeCAD. Notable CMake options for OpenCASCADE are:

  • 3RDPARTY_DIR - The location of your thrid-party libraries, typically set to your FreeCAD Libpack directory
  • INSTALL_DIR - Where to install the finished libraries. A good practice is to use an isolated directory on your system, rather than installing globally, or overwriting the Libpack's version.

Finally, open the project in Visual Studio and build the ALL_BUILD and then INSTALL targets.

Once you have generated the appropriate DLLs for OpenCASCADE (there are many of them), you will need to rebuild FreeCAD. Open CMake and set up the source and build directories of a FreeCAD build as directed above. It is generally a good idea to use a new build directory for this alternate version of OpenCASCADE so that it is easy to switch back to your old version of FreeCAD if something goes wrong, and to set up an install directory so you can ensure the correct libraries are in place. In addition to the CMake variables discussed above, set the OpenCASCADE_DIR variable to the location of the cmake folder containing your OpenCASCADE build information. For example:

CMAKE_INSTALL_PREFIX    C:/Users/JaneDoe/Work/FreeCAD_occt751-install/
OpenCASCADE_DIR         C:/Users/JaneDoe/Work/opencascade-7.5.1-install/cmake/


Once you have used CMake to generate the build files for FreeCAD, open it in Visual Studio, build it, and then run build on the INSTALL target.

Referenzen

Siehe auch