Der Arbeitsbereich KicadStepUp zielt darauf ab, sowohl KiCad- als auch FreeCAD-Benutzer bei der Zusammenarbeit mit der elektrischen (ECAD) und mechanischen (MCAD) Konstruktion zu unterstützen.
Hintergrund
KiCad (Webseite) ist ein Opensource-Programmpaket für die Automatisierung der Konstruktion von elektronischen Schaltungen. Es ermöglicht dem Anwender, einen elektrischen Schalplan zu entwerfen und dann eine ein- oder mehrlagige Leiterplatte mit Hilfe einer umfangreichen Bibliothek von Teilen zu erstellen. Das Großartige daran ist, dass die Verwendung von FreeCAD mit dem Arbeitsbereich KicadStepUp der offizielle KiCad-Weg ist, um 3D-Teile für elektrische Komponenten für KiCad zu erstellen. Die Bibliotheken werden hier gehostet, damit jeder Teile erstellen und einchecken kann.
KiCad's GUI-Philosophie ist im Vergleich zu FreeCAD etwas anders, vor allem, wenn es darum geht, Elemente zu erstellen und sie zu verschieben. Da Kicad jedoch seit Jahren in der Produktion eingesetzt wird, gibt es eine ausgezeichnete Dokumentation, z.B. ein sehr gutes "Getting Started" Dokument. Zusätzlich hat jedes Werkzeug seine eigene Anleitung.
Wenn man KiCad noch nicht kennt, wird empfohlen, eine eigenständige Leiterplatte gemäß dem Leitfaden für den Einstieg zu erstellen, um die verwendeten Konzepte zu verstehen. Obwohl einige Themen wie das Hinzufügen von neuen Schaltplänen und Lötflächenrastern (engl.: footprints, wörtlich: Fußabdrücke) zu einer lokalen Bibliothek für den Anfänger wenig interessant zu sein scheinen, stößt man in der Praxis oft schnell darauf, wenn man ein ernsthaftes Projekt beginnt.
Für all diese KiCad-Konzepte findet man im Arbeitsbereich KicadStepUp eine Art von Funktion. Wenn man diese also kennt, ist es viel einfacher zu verstehen, wie man diesen Arbeitsbereich benutzt.
Funktionen
In Bearbeitung
Lade die KiCad-Platine und die Bauelemente in FreeCAD und exportiere sie in STEP (oder IGES) für eine vollständige ECAD MCAD Zusammenarbeit
Lade die KiCad-Lötflächenraster in FreeCAD, um das mechanische Modell einfach und präzise am KiCad-Lötflächenraster auszurichten
Konvertiere das 3D-STEP-Modell von Bauelementen, Platinen und Gehäusen in VRML mit Materialeigenschaften für die optimale Verwendung in KiCad
Überprüfe Überschneidungen und Kollisionen für Gehäuse- und Lötflächenraster-Gestaltung
Konstruiere eine neue Leiterplattenkante mit dem Arbeitsbereich Sketcher von FreeCAD und SCHIEBE dies auf eine bestehende KiCad-Platine
ZIEHE eine Leiterplattenkante von einer KiCad-Platine, bearbeite sie im FreeCADs Arbeitsbereich Sketcher und SCHIEBE diese Kante zurück nach KiCad
Entwirf ein neues Lötflächenraster in FreeCAD, um die Leistungsfähigkeit von Skizze in Lötflächenrastern zu nutzen
Erzeuge blender-kompatible VRML-Dateien
Installation
KicadStepUp ist Teil der externen Arbeitsbereiche und kann automatisch mit dem Addon-Manager, der seit FreeCAD 0.17 mitgeliefert wird, installiert werden (Menüeintrag Werkzeuge → Addon-Manager).
Anwendung
In Bearbeitung
Allgemeine Herangehensweise
Die Grundidee von KicadStepUp ist es, Daten zwischen den beiden Anwendungen zu synchronisieren. Für den Heimgebrauch verwendet man vielleicht FreeCAD und KiCad gleichzeitig. Professionelle Anwender können an denselben Dateien arbeiten (z.B. auf einem zentralen Server) und sich in Spezialisten für mechanisches CAD (MCAD), die in FreeCAD arbeiten, und Elektronikexperten für elektrisches CAD (ECAD) aufteilen.
KiCadStepUp wandelt Standard-FreeCAD-Dateien in KiCad-Dateien um und umgekehrt. Auf diese Weise kann jede Anwendung mit ihren angestammten Datendateien arbeiten. Projekte können verwendet werden, ohne dass die andere Anwendung oder KicadStepUp installiert ist. Das ist auch der Grund, dass kein Zusatzprogramm auf der KiCad Seite benötigt wird.
Es ist wichtig, darauf hinzuweisen, dass die Unterschiede zwischen den beiden Programmen einige Schwierigkeiten für einen vollständigen Datenaustausch mit sich bringen. Ein Beispiel ist, dass der Skizzierer, der in Kicad verwendet wird, um den Umriss der Platine zu definieren, im Vergleich zum Arbeitsbereich Sketcher von FreeCAD sehr eingeschränkt ist. Um also den Modellinhalt hin und her zu sychronisieren darf der Inhalt des Modells nicht komplexer sein, als es der KiCad-Skizzierer verarbeiten kann. Aus der Sicht von FreeCAD bedeutet das, dass man einige Elemente der FreeCAD-Skizzen vermeiden sollte. KicadStepUp bietet Workarounds, die möglicherweise schwieriger zu verstehen sind, wenn man nicht über diesen Hintergrund verfügt.
Grundlegender Arbeitsablauf
Eine Zusammenarbeit kann mit einem neuen oder einem bestehenden Projekt begonnen werden. Wir betrachten hier ein neues Projekt, um die Dinge einfach zu halten:
Create a new KiCad Project anywhere you like. Lets name it "KsuTest"
Open the PCB Editor and create on the layer "Edit.Cuts" a closed outline. Shape does not matter, we will overwrite it anyway.
Create a new FreeCAD file for the PCB, the name does not matter. *
Create a sketch with an outline of the desired PCB. Lets name it "pcb design" (but could be any other name) and put at least one circle into it for a hole.
you may use any FreeCAD features to include holes, cutouts, and outer shape to other components you might have. We assume here you would use Sketcher features as Dimensioning, Constraints and Work geometry in your sketch.
If you are using PartDesign Workbench for creating the sketch there is no need to create a PartDesign body, since we are not going to pad this sketch.
Switch to the KicadStepUp Workbech
Select the "pcb design" sketch
Select the Toolbar button "Push Sketch to PCB Edge" or the menu ksu PushPull/ksu Push Sketch to PCB
first a dialog will open with defaults "Edge.Cuts" for layer and "0.16" for line width. Keep those defaults.
next a file dialog will open. Click to your KiCad "KsuTest" project, where you should see a file "KsuTest.kucad_pcb". That is the PCB file with the temporary outline we created before. Select it and confirm to replace the old file. Now a dialog should say "new Edge pushed to kicad board!"
if you forgot the 2nd step, the push operation might fail as a pcb file must exist and it must not be empty.
Close and re-open the PCB Editor in KiCad. **
The shape from the FreeCAD sketch should appear.
Go over the circle with the mouse and press m on the keyboard to move the circle. Click to place it in another position. Press the "Save" toolbar button on the top left.
Switch to FreeCAD and select in the KicadStepUp Workbech the tool button "Pull Sketch from PCB" or the menu ksu PushPull/ksu Pull Sketch from PCB
first dialog with default layer "Edge.Cuts" and three choices will open. Select choice "replace PCB and Sketch in current document" ***
next a file dialog should show again the file "KsuTest.kicad_pcb". Select it and press Open
You should see your PCB as a 3D model. Note that the hole has moved compared to your "pcb design" sketch.
In the tree appears a new structure with a yellow Part Container with the KiCad Filename and within another Part Container with "Board_Geoms_e63b" (the part with the number probably different). In the second container there are the following three files. Do not change any names in that structure, because KicadStepUp uses them to find the parts to update.
Do not forget to save your file
Local_CS_e63b Der Leiterplatten-Ursprung.
wie der Ursprung in der Skizze "PCB-Design"
Pcb_e63b 3D-Objekt mit der Leiterplatte.
Nicht bearbeiten, es wird von KicadStepUp überschrieben
PCB_Sketch_e63b Skizze mit allen Teilen der Skizze "PCB-Design", die KiCad
erkannt hat.
alle anderen wurden gelöscht. Auch beachten, dass, wenn
man diese Skizze ändert und neu berechnet, das 3D-Objekt
ändert sich nicht.
Man versucht, einen weiteren PushPull-Rundgang zu machen: Man passt den "PCB-Design"-Entwurf an die Änderungen aus KiCad an, fügt einige weitere Änderungen hinzu und beginnt erneut. Man wiederholt dies einige Male, um zu erkennen, wie schnell und selbstverständlich dieser Vorgang in kürzester Zeit wird.
Jetzt kannst du die neue 3D-Leiterplattendatei verwenden, um 3D-Komponenten wie Steckverbinder, Taster, Schalter, Verschlüsse usw. auszurichten, oder du fügst diese zu deiner Baugruppe hinzu, wenn du ein größeres Projekt hast.
Dies zeigt nur die sehr grundlegende Arbeitsweise von KicadStepUp. Dir fehlt an dieser Stelle noch vieles, z.B. Lötflächenraster und 3D-Teile. Aber von hier aus ist es viel einfacher, KicadStepUp auf eigene Faust zu erkunden. Verwende die PDF-Dokumentationsdatei im Menü ksu Tools/Demo
Hinweise:
Solange der Name der erstellten Struktur (und ihrer Teile) unverändert bleibt, werden alle Arbeitsablaufs-Interaktionen lediglich die Struktur aktualisieren. Wenn Namen geändert werden, wird jedes Mal eine neue Struktur erstellt.
Es ist nicht erforderlich, KiCad auszuführen, um KiCad-Projektdateien zu aktualisieren. Tatsächlich muss KiCad nicht einmal auf dem PC installiert sein.
Der Standardansatz besteht darin, auf beiden Seiten, KiCad und Freecad, denselben Entwurf zu verwenden. Alle Änderungen werden mit der anderen Anwendung synchronisiert. Dies ist die natürlichste und sauberste Art, mit KicadStepUp zu arbeiten. Dies führt jedoch zu einem Problem, wenn man eine der folgenden Funktionen im Entwurf verwenden möchte, um die Form der Leiterplatte zu definieren: Abmessungen, Geometriebeschränkungen, Konstruktionsgeometrie (blaue Linien) oder extern verknüpfte Geometrie. Es gibt keine saubere Möglichkeit, dies zu tun, da KiCad keine dieser Funktionen kennt. Das bedeutet, dass bei der Übertragung zwischen den Anwendungen alle diese Funktionen gelöscht werden. Es gibt keine wirkliche Lösung für dieses Problem, sondern nur eine Auswahl von mehreren Arbeitsabläufen. Wenn also eine dieser Funktionen verwendet werden soll, müssen die Leiterplattenform ausschließlich in FreeCAD definiert und in einer Richtung mit KiCad synchronisiert werden. Alle in KiCad vorgenommenen Änderungen am Umriss müssen manuell in FreeCAD hinzugefügt werden. Dies kann sinnvoll sein, wenn beispielsweise zukünftige Änderungen auf der mechanischen Seite viel wahrscheinlicher sind als auf der elektrischen Seite. Es gibt mehrere Möglichkeiten, dies zu tun:
Die Entwurfsskizze in der KicadStepUp-Struktur festlegen und jedes Mal, wenn aus Kicad importiert wird, "PCB ersetzen und Skizze im aktuellen Dokument behalten" setzen.
Die Entwurfsskizze außerhalb der KicadStepUp-Struktur behalten. Die aus KiCad importierte Skizze ignorieren.
Die zweite Option hat den Vorteil, dass Änderungen in KiCad bis zur ursprünglichen Skizze zurückverfolgt werden können und die FreeCAD-Skizze vor einer versehentlich falschen Importauswahl geschützt ist. Der beschriebene Arbeitsablauf nutzt diesen Ansatz, um sicherzustellen, dass das Problem gut verstanden wird. Von dort aus ist es einfach, zur Bearbeitung der von KicadStepUp bereitgestellten Skizze überzugehen, ohne die fortgeschritteneren Funktionen von FreeCAD zu verwenden.
Um KicadStepUp mit einer FreeCAD-Baugruppe (> V0.19) zu verwenden, kann man eine neue Datei für die Leiterplatte hinzufügen. Nachdem der oben beschriebene Arbeitsablauf einmal ausgeführt wurde, fügt man das 3D-Objekt für die Leiterplatte wie jedes andere mechanische Teil zu Ihrer Baugruppe hinzu. Sicherstellen, dass die Datei gespeichert wird, wenn sie von KicadStepUp aktualisiert wurde (Wichtig: KicadStepUp schreibt in den FreeCAD-Speicher, nicht in FreeCAD-Dateien).
FreeCAD Arbeitsbereiche sind einfach in Python zu programmieren, daher gibt es viele Leute, die zusätzliche Arbeitsbereiche außerhalb der FreeCAD-Hauptentwickler entwickeln.
Die Seite externe Arbeitsbereiche enthält einige Informationen und Anleitungen zu einigen von ihnen, und das Projekt FreeCAD Erweiterungen hat sich zum Ziel gesetzt, diese zu sammeln und sie von FreeCAD aus leicht installierbar zu machen.
Neue Arbeitsbereiche sind in der Entwicklung, bleib dran!