Weiß jemand von Euch, wie man auf ein PDF im Altium Designer über
z.B. die Variable ComponentLink1URL referenziert?
"c:\1.pdf" funktioniert, ich möchte aber z.B. relativ zur
Library/Datenbank
referenzieren, also z.B. so:
"datasheet/1.pdf".
Ein Eintragen des Suchpfades im DXP unter "Device Sheets" inklusive
Unterordner brachte auch keinen Erfolg.
Funktioniert leider noch nicht einmal, wenn ich bis auf dem
entsprechenden
Unterordner in den Settings referenziere
und dann im Attribut ComponentLink1URL direkt nur noch
das Dokument angebe.
Spätestens jetzt müsste es ja funktionieren.
Hat sonst noch jemand eine Idee?
Ich nutze die DbLib-Anbindung. Dort kann man nur Pfade für Symbole und
Footprints eingeben (inklusive der Option rekusiv in den Unterordnern
suchen zu lassen).
Das kappt also so nicht.
Project options wäre sowieso an sich der falsche Ort, da es sich ja
um globale Settings bezüglich der Library handelt.
Ich habe aber dennoch mal versucht, in den Project Options (Search
Paths)
den Suchpfad einzutragen (auch rekursiv).
Habe auch hier bis auf den entsprechenden Unterordner referenziert
-> Klappt leider auch nicht.
Erschwered kommt hinzu, dass der AD noch nicht einmal eine Fehlermeldung
beim Öffnen des Dokumentes (Rechte Maustaste auf Bauteil -> References
-> ...) ausgibt, so dass man nicht weiß, was der AD gerade für einen
Pfad
zu öffnen versucht. Sonst könnte man ja eventuell auf die passende Idee
kommen.
Meiner Erfahrung nach geht das gar nicht, weil es Altium nicht
vorgesehen hat.
Symbol und Model geht relativ weil man in den DBLib Options Search Paths
angegeben kann.
Bei der Variable ComponentLink1URList ist das Problem, das dies ein
Parameter von ein Schematic Symbol ist, das in ein SchDoc platziert ist,
das irgendwo auf der Platte gespeichert ist. Relativ wäre dann also von
diesem SchDoc aus gesehen - klappt aber auch nicht.
Auch nicht vom Workspace oder von den default Verzeichnissen aus, keine
Ahnung wo er die Datei öffnen will wenn man keinen Path angibt.
UPDATE: Habs gefunden ohne Pfad will er im Altium Programmverzeichnis
die PDF öffnen. Also 'datasheet/1.pdf' -> (bei mir) C:\Program Files
(x86)\Altium\AD16\datasheet\1.pdf
Ja, das wäre natürlich schade und unverständlich, warum
man an sowas bei Altium nicht gedacht hat.
Unser Attribut "ComponentLink1URL" kommt aus der angebundenen
Datenbank, via DbLib.
So könnte man sich z.B. schonmal basismäßig auf den Pfad der DbLib
beziehen oder einen separaten Pfad in den Settings anbieten.
Wer möchte oder kann heutzutage noch mit rein absoluten Pfaden
arbeiten? Wir nicht, da wir nicht wissen und vorgeben können,
wohin die entsprechende Sandbox erzeugt wird. Und so ändert sich
auch immer der absolute Pfad.
Das beschriebene Verhalten kann ich aber nachvollziehen.
"1.pdf" wird direkt im AD-Hauptverzeichnis gesucht.
"datasheet/1.pdf" wird dann im AD-Hauptverzeichnis im Unterordner
"datasheet"
gesucht und auch korrekt geöffnet.
Jetzt bin ich auf die tollkühne Idee gekommen, einfach mal eine
Verknüpfung auf den Datenblattordner im AD-Hauptverzeichnis
zuerzeugen (auch "datasheet"). Das klappt dann aber leider nicht mehr
mit dem AD. Das PDF wird so nicht mehr gefunden, der AD scheint nicht
mit Verknüpfungen zurecht zu kommen?
Gibt es irgendeinen Weg, den Pfad vom AD-Hauptverzeichnis umzubiegen
oder ist die Angabe bzw. das Verhalten hardcoded?
Es macht ja keinen Sinn, seine Library samt Datenblättern im Programm
-Verzeichnis zu hinterlegen.
Warum arbeitest du nicht mit Absoluten Pfaden?
Wir haben hier in der Firma die Datenblätter auf einem Netzlaufwerk, wo
die gesamte Firma Zugriff hat. Dort geht der Link hin. Das ermöglicht
jedem in der Firma, das Datenblatt zu öffnen. Relativ ist ungünstig, das
schrieben hiert ja schon einige, da das dann relativ ist, zu dem Punkt,
von wo aus das pdf aufgerufen wird. Übrigens: Der komplett Link ist bei
uns mit Servernamen ausgeführt, also nicht mit Laufwerksbuchstaben, da
dieser sich auch ändern kann von Gerät zu gerät, der Servernamen ist im
Netz aber immer gleich.
AltiumLinks schrieb:> Jetzt bin ich auf die tollkühne Idee gekommen, einfach mal eine> Verknüpfung auf den Datenblattordner im AD-Hauptverzeichnis> zuerzeugen (auch "datasheet"). Das klappt dann aber leider nicht mehr> mit dem AD. Das PDF wird so nicht mehr gefunden, der AD scheint nicht> mit Verknüpfungen zurecht zu kommen?
Unter Windows gibt es auch die Möglichkeit Verknüpfungen anzulegen, die
für Programme als echten Ordner interpretiert werden. Hast du es damit
mal probiert?
Nennt sich glaube ich Hardlinks, wenn ich mich recht erinnere.
Christian B. schrieb:> Warum arbeitest du nicht mit Absoluten Pfaden?
Weil wir mit Sandboxes arbeiten, SVN-ähnlich. Da kann und wird jeder
seine Sandbox anlegen, wo er will, was absolute Pfade unmöglich macht.
Ich halte es aber auch für ein Unding, darüber 2016 noch diskutieren
zu müssen.
T. .. schrieb:> Unter Windows gibt es auch die Möglichkeit Verknüpfungen anzulegen, die> für Programme als echten Ordner interpretiert werden. Hast du es damit> mal probiert?> Nennt sich glaube ich Hardlinks, wenn ich mich recht erinnere.
Nein, noch nicht. Es wäre aber so oder so ein enormer Setup-Aufwand,
das auf allen Workstations zu pflegen.
Eine Umsetzung im AD würde das Problem beheben.
Mit dem Befehl subst kann man virtuelle Laufwerke anlegen.
z.B. 'subst t: c:\Datasheets' so könnte man sich in der
ComponentLink1URL immer auf Laufwerk t: beziehen ('t:\Datenblatt.pdf')
Man müsste nur den Subst Befehl in eine Batchdatei packen und beim
Rechnerstart aufrufen. Nur eine Idee nicht getestet.