| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Diesel - If, A, dann Ausführung (1082 mal gelesen)
|
holgerlab Mitglied Haustechniker
Beiträge: 446 Registriert: 02.12.2004
|
erstellt am: 01. Jan. 2008 12:59 <-- editieren / zitieren --> Unities abgeben:
Hallo guten Morgen - die schon wach sind Allen ein gutes neues Jahr möchte mir einen Schriftkopf erstellen der möglichst viel automatisch ausfüllt. Viele der notwendigen Informationen stecken schon im Dateinamen. 11.0001_A_G01_H_a.dwg Projektnummer_Phase_Planart_Geschoss-/Plannummer_Gewerk_Index.dwg mit dem Dieselausdruck $(substr,$(getvar,dwgname),1,7) bekommt man die Projektnummer 11.0001 mit $(substr,$(getvar,dwgname),9,1) bekommt man die Phase A Jetzt dachte ich mir, mit einer Abfrage kann ich aus dem A ein "Ausführung" machen. $(if, $(=, $(substr,$(getvar,dwgname),9,1), A), Ausführung) funktioniert aber nicht. Warum? Und wie bekomme ich eine Mehrfach-Abfrage hier. Es gibt ja noch die Phasen V und E.
------------------ Gruß Holger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3329 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 01. Jan. 2008 18:18 <-- editieren / zitieren --> Unities abgeben: Nur für holgerlab
Hi Holger, gerade wachgeworden hänge ich mich mal an deine Neujahrswünsche dran: Ein gutes Jahr 2008 allen! Zum Problem. Ich hab's auch zuerst überlesen, aber in der Hilfe steht, dass $(= Zahlen vergleicht. Musst also eine andere DIESEL-Funktion nehmen. $(eq bietet sich an. Übrigens geben DIESEL-Funktionen nicht T oder nil zurück, weshalb deine $(if-Konstruktion auch mit $(eq nicht laufen wird. Die Funktionen geben 1 oder 0 zurück - dein $(= kommt also doch wieder zum Einsatz: $(if, $(=, 1, $(eq, $(substr, $(getvar, dwgname), 9, 1), A)), Ausführung) Gruß CADchup
------------------ CADmaro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
holgerlab Mitglied Haustechniker
Beiträge: 446 Registriert: 02.12.2004
|
erstellt am: 02. Jan. 2008 11:38 <-- editieren / zitieren --> Unities abgeben:
Hi CADchup, funktioniert irgendwie nicht Beim Dateiname 08.1870_A_01_H_-.dwg bekomme ich mit Deinem Ausdruck $(if, $(=, 1, $(eq, $(substr, $(getvar, dwgname), 9, 1), A)), Ausführung) nur ---- heraus. mit $(substr,$(getvar,dwgname),9,1) bekommt man weiterhin A heraus mit EQ habe ich es gestern auch schon mal versucht. Ähnlich Deinen Mittelteil. Mit $(eq, $(substr, $(getvar, dwgname), 9, 1), A)) würde man als Ergebniss 1 erwarten, ich bekomme aber 0 als Antwort. Daher bekomme ich auch mit Deinem ganzen Ausdruck nicht Ausführung als Ergebiss. Warum ich die vier Striche ----bekomme verstehe ich auch nicht. Das $(= Zahlen nur Zahlen vergleichen soll, habe ich auch gelesen. Aber mein Versuch mit dem ganzen Dateiname $(=, $(getvar,dwgname), 08.1870_A_01_H_-.dwg) brachte nicht wie erwartet 0 sondern 1. Der Ausdruck hat also die ganze Zeichenreihenfolge als richtig gewertet. Warum geht das nicht mit einem Buchstaben? Wie überreden ich Diesel das er mir die Phase hinschreibt? ------------------ Gruß Holger [Diese Nachricht wurde von holgerlab am 02. Jan. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3329 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 02. Jan. 2008 17:49 <-- editieren / zitieren --> Unities abgeben: Nur für holgerlab
|
holgerlab Mitglied Haustechniker
Beiträge: 446 Registriert: 02.12.2004
|
erstellt am: 02. Jan. 2008 19:34 <-- editieren / zitieren --> Unities abgeben:
Du bist der Held das hätte ich bestimmt nicht rausbekommen. Wenn es noch jemanden interessiert beim Dateiname 08.1870_A_01_H_-.dwg $(if,$(=,1,$(eq,$(substr,$(getvar, dwgname),9,1),A)),Ausführung) bekommt man als Ergebnis "Ausführung" Jetzt ohne Leerzeichen Das ist aber nur der erste Schritt. Es soll auch noch Entwurf und Vorentwurf rauskommen. Der Ausdruck heißt $(If,ausdruck, wennJa, [optional wennNein]) Sind nur zwei Ergebnisse möglich ist es ganz einfach. $(if,$(=,1,$(eq,$(substr,$(getvar, dwgname),9,1),A)),Ausführung,Entwurf) Wenn die 9.Stelle nicht A ist dann kommt Entwurf raus. Jetzt gibt es noch den Fall-V. Hier kann man anstatt der Ausgabe Entwurf einen neue Abfrage einfügen. $(if,$(=,1,$(eq,$(substr,$(getvar, dwgname),9,1),A)),Ausführung,$(if,$(=,1,$(eq,$(substr,$(getvar, dwgname),9,1),E)),Entwurf,Vorentwurf)) ------------------ Gruß Holger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|