abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 

Wir schätzen Ihren Input!
Bitte nehmen Sie an der Umfrage zu Archicad 28 Startbildschirm und Lerninhalte/Schnell-Tutorials teil

Dokumentation
Archicads Dokumentationswerkzeuge, Ansichten, Modellfilterung, Layouts, Veröffentlichung, etc.

speicherort verschlüsselt auf dem plan ausdrucken

zzyzx
Newcomer
Gibt es eine Möglichkeit, den Speicherpfad verschlüsselt auf dem Plan auszudrucken?

Ich hätte gerne auf meinen Plänen einen Verweis, wo die ArchiCAD Datei gespeichert ist. Das geht mit Autotexten ja auch sehr einfach, aber da ich meine Projekte in der Art C://projekte/projektname/... abspeichere, ist dann immer auch der Projektname enthalten.
Das soll aber vermieden werden. Ausserdem ist der Pfadname manchmal viel zu lang.

Ich hätte daher gerne eine Möglichkeit, den Pfad verschlüsselt anzugeben, also
... aus Pfad C://projekte/projektname/meinprojekt.pln
... wird Projekt ID: 123asd458mjg

das entschlüsseln könnte man wieder mit irgendeinem tool machen (eventuell gdl), muss auch nicht öffentlich möglich sein, siondern es reicht, wenn ich das lokal am eigenen rechner machen kann.

wie könnte man das machen?
13 ANTWORTEN 13
Bernhard Binder
Graphisoft Partner
Graphisoft Partner
du könntest in der Tat ein GDL-Objekt machen.
mit
 REQUEST ("NAME_OF_PLAN", "", projektname, projektdateiname, projektkomplettname)
kannst du den Dateiname und den Pfad auslesen und diese Texte nach belieben ändern.
AC4.5-AC28 AUT, GER, INT www.a-null.com
archiflow1
Newcomer
ich habe auf den Mastern immer einen winzigkleinen, weißen Autotext liegen. Der ist in der PDF zwar da, wird aber nicht gedruckt, das weiß. Mit Copy-Paste kann ich die Projektinfos aus der PDF rauslesen. ist aber nicht verschlüsselt 😞
AC25_win
tom60
Booster
ich druck mir auch immer den dateipfad auf dem plan aus, aber was für nachteile bringt es mit sich wenn jemand anders diesen pfad kennt?!?
Archicad 20
Intel xeon 3,5Ghz cpu
8GB Arbeitsspeicher
Windows 7
Nvida Quadro K600
Bernhard Binder
Graphisoft Partner
Graphisoft Partner
Als kleiner Anstoß, wenn auch weder sonderlich durchdacht noch schön programmiert:
  txt=""
dim x[50]
dim y[50]
for c= 1 to 50
y[c]="+"
next c
dim con[100][2]

strx=" abcdefghijklmnopqrstuvwxyzäöüßABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ-._1234567890"
stry=".klmnopqrstuvwxyzäöüßABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ-._1234567890abcdefghij"

for d=1 to STRLEN(strx)
con[d][1]=STRSUB (strx,d,1)
con[d][2]=STRSUB (stry,d,1)
next d


xx=REQUEST ("NAME_OF_PLAN", "", projektname, projektdateiname, projektkomplettname)

for i = 1 to strlen(projektdateiname)

x[i]=strsub(projektdateiname,i,1)

for j=1 to STRLEN(strx)
if x[i]=con[j][1] then
y[i]=con[j][2]
else
if y[i]="+" then y[i]=x[i]
endif
next j
txt=txt+y[i]
next i

text2 0,1,projektdateiname ! ECHTNAME
text2 0,0,txt ! CODIERUNG
AC4.5-AC28 AUT, GER, INT www.a-null.com
zzyzx
Newcomer
@ tom60: "aber was für nachteile bringt es mit sich wenn jemand anders diesen pfad kennt?!?"
da geht es mir um den datenschutz

@ archiflow: das mit dem weissen text auf dem pdf ist auch ne idee.- leider eben nicht kodiert...

@ bernhard: danke für das skript, das ist ein guter ansatz. ein wenig anpassen, und es erfüllt meinen bedarf.
* vorteil deiner methode ist, dass man es eindeutig in den originalnamen rückführen kann; notfalls sogar von Hand.
* nachteil ist nur, dass die länge der zeichenkette mit dieser methode genauso lang wie der originalname ist. ich habe aber leider auch keine idee, wie man das ohne veerluste weiter kürzen könnte... vielleicht hat ja noch jemand ideen dazu...

:winken:
Anonymous
Nicht anwendbar
Verwende eine Anlehnung an ASCII. Per strstr suchst du die Zeichen in der Gesamtliste. Da es nur 26 Zeichen plus ein paar Länder- und Sonderzeichen gibt, solltest du mit 64 = 1/4 Byte auskommen. Macht 4 Zeichen in einem Byte. Bei einer Hexadezimalen Darstellung macht das 4 Zeichen auf 2 Stellen = Halbe Breite.

Du könntest natürlich auch, unter Verwendung alle Buchstaben ein 26^n - Zahlensystem erzeugen. Dann bekommst du bei 5 Stellen für 100 erlaubte verschiedene Zeichen eine Stringbreite von 25^4/100=4569 Zeichen dargestellt.

Bevor du das ausprogrammierst, würde ich das mal auf Source-Code-Seiten suchen. 😉
Bernhard Binder
Graphisoft Partner
Graphisoft Partner
@ove:
nach meiner Rechnung braucht man aber 5 Bits für 64 Zeichen, was mehr als die Hälfte eines Bytes ist.
Wenn man noch Groß- und Kleinschreibung unterscheiden möchte kommt man mit 64 Zeichen leider nicht aus, da unser Alphabet 26 Zeichen + 3 Umlaute = 58 Zeichen + "ß" + die Ziffern 0-9 und noch eine Reihe (im Dateinamen durchaus erlaubten) Sonderzeichen hat. Demnach braucht man 7 Bits, was leider nicht wirklich zu einem Einsparungspotential führt.
AC4.5-AC28 AUT, GER, INT www.a-null.com
Anonymous
Nicht anwendbar
OK, kleiner Denkfehler, aber

1 Byte=255 Typen geteilt durch 4 sind 64 Typen bei 4 Stellen pro Byte (0-63 dezimal)

26+3=29*2+1=59+10=69

Da hast du recht. Da reicht 64 dezimal nicht aus. Aber wenn du nicht mit ÖLinzux unterwegs bist, kannst du auf Versalien umstellen, dann hast du

26+3+1=30+10=40 und noch Luft für ein paar Sonderzeichen.

Klar.

Aber der Tieger ist geweckt, vielleicht programmiere ich da mal was. 🙂

Der Schlüssel zum Skript liegt z.B. hier:
Arndt-Brünner
Bernhard Binder
Graphisoft Partner
Graphisoft Partner
1 bit= 2 Zeichen
2 bit= 4 Zeichen
3 bit= 8 Zeichen
4 bit= 16 Zeichen
5 bit= 32 Zeichen
6 bit= 64 Zeichen

also benötigt man leider mind. 6 Bit und nicht nur 4.

Bliebe noch die Möglichkeit das ganze mittels Wörterbuch oder Huffman-Codierung zu komprimieren.

Noch simpler: kleine Textdatei anlegen, wo man den Pfad einträgt und eine Entsprechende ID dazu hinterlegt.
AC4.5-AC28 AUT, GER, INT www.a-null.com

Keine Antwort gefunden?

Andere Beiträge
im Board ansehen

Zurück zum Board

Neueste Lösungen durchsuchen

Akzeptierte Lösungen zeigen

Eine neue Diskussion starten!

Neues Thema erstellen