Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Diesel - If, A, dann Ausführung

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
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


Sehen Sie sich das Profil von holgerlab an!   Senden Sie eine Private Message an holgerlab  Schreiben Sie einen Gästebucheintrag für holgerlab

Beiträge: 446
Registriert: 02.12.2004

erstellt am: 01. Jan. 2008 12:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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.




Sehen Sie sich das Profil von CADchup an!   Senden Sie eine Private Message an CADchup  Schreiben Sie einen Gästebucheintrag für CADchup

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für holgerlab 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von holgerlab an!   Senden Sie eine Private Message an holgerlab  Schreiben Sie einen Gästebucheintrag für holgerlab

Beiträge: 446
Registriert: 02.12.2004

erstellt am: 02. Jan. 2008 11:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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.




Sehen Sie sich das Profil von CADchup an!   Senden Sie eine Private Message an CADchup  Schreiben Sie einen Gästebucheintrag für CADchup

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für holgerlab 10 Unities + Antwort hilfreich

Hi,

mein Fehler: Die Leerstellen nach den Kommas werden berücksichtigt. Nimm sie mal überall raus. 


Gruß
CADchup

------------------
CADmaro.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

holgerlab
Mitglied
Haustechniker


Sehen Sie sich das Profil von holgerlab an!   Senden Sie eine Private Message an holgerlab  Schreiben Sie einen Gästebucheintrag für holgerlab

Beiträge: 446
Registriert: 02.12.2004

erstellt am: 02. Jan. 2008 19:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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 >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz