Forum: Platinen Kicad - Problem mit absoluten Pfaden.


von skorpionx (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe ein Problem mit KICAD. Ich arbeite zu Hause mit einem Computer
in dem Projekte in einem Verzeichnis E:\Programme\Kicad\Projekts…
gespeichert sind. Manche Pfade sind in jedem Projekt fest zugeordnet.
Um so ein Projekt weiter auf einem anderem Computer zu entwickeln
muss ich die Pfade in vielen Files ändern.
Ich suche  ein Tool mit dem ich in allen Files eines Verzeichnisses
einen String ersetze.

So habe ich vor einigen Tagen geschrieben (PC-Programmierung). Keine 
Lösung war in sicht…

Jetzt habe ich so ein  Tool  selber geschrieben.
Noch nicht vollkommen getestet.
Ich brauche eventuelle Info über Fehler.

von Johannes S. (demofreak)


Lesenswert?

Hm, unter Linux wäre das mit "sed" gegangen, das gibt's sicher auch als 
Windows-Ausführung. Ausserdem kann "Total Commander" sowas. Würde da an 
deiner Stelle lieber auf Bewährtes zurückgreifen.

/Hannes

von Johannes S. (demofreak)


Lesenswert?

Johannes Studt wrote:
> [...]das gibt's sicher auch als Windows-Ausführung

http://gnuwin32.sourceforge.net/packages/sed.htm

Grade noch gefunden.

sed -i 's/<dein_alter_pfad>/<der_neue_pfad>/g' *

-i ersetzt "in place"
s/// ist ein Substitute (alt gegen neu), g der Modifier, dass alle 
Vorkommen ersetzt werden sollen
* ist ein Wildcard, möglicherweise heißt das unter Windows *.*

/Hannes

von Marko S. (m-s)


Lesenswert?

LibDir=../Bibliotheken/library

So z.B. bezieht sich ein Pfad auf den Speicherort der geladene 
Projektdatei und nicht auf das Laufwerk.

mfg
Marko

von skorpionx (Gast)


Angehängte Dateien:

Lesenswert?

Wie ich sehe speichert Kicad alles mit absoluten Pfaden..

von Marko S. (m-s)


Lesenswert?

Ok, das ganze mal etwas ausführlicher.
Wenn das Projekt z.B. auf

E:/Programme/KiCad/Projekt1/xyz.pro

gespeichert ist und die Bibliotheken sich in

E:/Programme/KiCad/share/library bzw.
E:/Programme/KiCad/share/modules

befinden lässt sich das Problem mit den absoluten Pfaden so lösen.
Bei "Pfadvorgabe für die Suche nach Bibliotheken" ist folgendes 
einzutragen:

../share/library   (bei EESchema)
../share/modules  (bei PCBnew)

Dabei bedeuten die beiden Punkte in der Pfadangabe ausgehend vom 
Speicherort der Projektdatei eine Ordner-Ebene nach oben.
( .../ zwei Ebenen nach oben, ./ im selben Ordner)
In diesem Beispiel also aus dem Ordner Projekt1 in den Ordner KiCad.
dann von KiCad nach share und weiter nach library bzw modules.

Somit spielt der Pfadanteil "E:/Programme" keine Rolle mehr.
Allerdings müssen sich die nachträglich hinzugefügten Bibliotheken auch 
in diesem Pfad befinden. Ich werde mal testen ob sich weitere 
Speicherorte für die Bibliotheken auf diese Art hinzufügen lassen.

Die Pfadangaben lassen sich auch direkt in der Projektdatei ändern. Dazu 
ist die Projektdatei mit einem einfachen Texteditor (z.B. notepad) zu 
öffnen. Beim Abspeichern der geänderten Projektdatei auf die richtige 
Dateiendung achten.

mfg
Marko

von skorpionx (Gast)


Lesenswert?

Die Bibliotheken (sehe das Bild oben) wurden in klassischen Windows 
Dialog eingefügt. Die Pfade wurden so durch KICAD geschrieben. Bei einem 
Versuch das Projekt auf einem anderen Computer zu bearbeiten kam die 
Meldung dass die Bibliotheken nicht gefunden wurden. Dann habe ich die 
Files im Projekt mit einem Texteditor geöffnet, Änderungen von Pfaden 
durchgeführt und so konnte ich weiter arbeiten.

von skorpionx (Gast)


Lesenswert?

Bei vielen Anwendungen wird alles in Projekt geholt. Auch Bibliotheken.
Dann sind alle Pfade relativ.

von Marko S. (m-s)


Lesenswert?

skorpionx wrote:
> Bei vielen Anwendungen wird alles in Projekt geholt. Auch Bibliotheken.
> Dann sind alle Pfade relativ.

Ist das Problem jetzt gelöst?

von skorpionx (Gast)


Lesenswert?

>Ist das Problem jetzt gelöst?

Ja. Ich benutze mein kleines Programm.
Noch eine kleine Bemärkung. Im Projekt sind Pfade mit „/“ geschrieben.
Das ergibt Strings Änderung von  E:/ auf  C:/ .

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.