Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Dieselausdruck im Schriftfeld

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:  Dieselausdruck im Schriftfeld (4913 mal gelesen)
CADAGE
Mitglied
Technischer Zeichner

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

Beiträge: 6
Registriert: 19.02.2015

AutoCAD MEP 2015
Eplan P8 V.2.4

erstellt am: 08. Apr. 2015 12:36    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 zusammen,

ich habe neulich einen Plan erhalten, in dem in einem Schriftfeld ein Dieselausdruck verarbeitet wird.
$(IF,$(=,$(SUBSTR,$(GETVAR,ctab),8,1),2),"Vorentwurfsplanung","")
Wenn ich das richtig verstehe, holt man sich hier mit der Variable „ctab“ den Layoutnamen.
Wenn in diesem Layoutnamen an der 8 Stelle von vorne eine „2“ steht, wird in das Schriftfeld „Vorentwurfsplanung“ geschrieben. (korrigiert mich bitte wenn ich falsch liege)

Jetzt zu meinem Anliegen:
Wir haben bei uns eine fest vorgeschriebene Plancodierung. Die sieht so aus:

XXXXXX_GR_ELT_U1_001_M.dwg.

Die Codierung variiert aber an der vorangestellten Projektnummer (mit XXXXXX gekennzeichnet). Die Projektnummer kann mal 6 oder auch mehr Stellen erhalten.
In unserem Plankopf wird die Projektnummer auch separat (ohne den ganzen Rattenschwanz der restlichen Plancodierung) dargestellt. Das habe ich auch über einen Dieselausdruck gelöst.

$(substr,$(getvar,dwgname),1,$(-,$(strlen,$(getvar,dwgname)),20))

Hier werden die Stellen von hinten aus dem Dateinamen gezählt, da der Rest der Plancodierung bis eben auf die vorangestellte Projektnummer immer die gleiche Stellenanzahl hat.

Ich möchte den Dieselausdruck
$(IF,$(=,$(SUBSTR,$(GETVAR,ctab),8,1),2),"Vorentwurfsplanung","")
gerne so umbauen, dass er sich aus dem DWG Namen die Planungshase (hier „M“) holt und dann in einem Schriftfeld „Montageplan“ einträgt. Das ganze muss natürlich die vierte Stelle von hinten sein, da eben die vorangestellte variieren kann.

Hier ein Versuch, wo er sich die 22 Stelle von vorne aus dem DWG-Namen holen soll. (War erstmal nur ein Test ob es überhaupt funzt.)

$(IF,$(=,$(SUBSTR,$(GETVAR,dwgname),22,1),M),"Montageplan","")

Das ganze scheint aber nicht zu funktionieren.
Es steht dann $(IF,??) im Schriftfeld.

Kann mir da jemand weiterhelfen?
PS: Ich hoffe ich habe mich nicht zu verwirrt ausgedrückt.

Vielen Dank vorab

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

cadwomen
Ehrenmitglied V.I.P. h.c.
Mädchen für fast alles


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

Beiträge: 2966
Registriert: 26.08.2002

ACAD R11 - 2022
(Plant3D)
AVIS
ACAD LT 2013- 2021
ZWCAD 2015 Versuch "nun ja"
[s]History P3D 2012/(13) SP und Hotfix([/s]<P>
Windows 10 / 64 Bit
Xeon CPU 3.5GHz
16GB Ram
NVIDIA Quadro P2000
3x Dell TV100 88P Monitore

erstellt am: 08. Apr. 2015 12:52    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 CADAGE 10 Unities + Antwort hilfreich

Hallo CADAGE

Zitat:
Original erstellt von CADAGE:
Hallo zusammen,

ich habe neulich einen Plan erhalten, in dem in einem Schriftfeld ein Dieselausdruck verarbeitet wird.
$(IF,$(=,$(SUBSTR,$(GETVAR,ctab),8,1),2),"Vorentwurfsplanung","")
Wenn ich das richtig verstehe, holt man sich hier mit der Variable „ctab“ den Layoutnamen.
Wenn in diesem Layoutnamen an der 8 Stelle von vorne eine „2“ steht, wird in das Schriftfeld „Vorentwurfsplanung“ geschrieben. (korrigiert mich bitte wenn ich falsch liege)

Jetzt zu meinem Anliegen:
Wir haben bei uns eine fest vorgeschriebene Plancodierung. Die sieht so aus:

XXXXXX_GR_ELT_U1_001_M.dwg.

Die Codierung variiert aber an der vorangestellten Projektnummer (mit XXXXXX gekennzeichnet). Die Projektnummer kann mal 6 oder auch mehr Stellen erhalten.Vielen Dank vorab


Die Stellenanzahl muss aber immer gleich sein da Diesel ab der Stelle 8 in dem Fall 1 Stelle weiter zählt und den Wert dann nimmt

cu cw

------------------
Also ich finde Unities gut ... und andere sicher auch
------------------------------------------------
cadwomen™
Plant ist wie Öl suchen, je tiefer man bohrt desto mehr kommt ans Tageslicht

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 08. Apr. 2015 13:00    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 CADAGE 10 Unities + Antwort hilfreich

Diesel erkennt die 2 als Zahl, daher geht der Vergleich mit =
bei M sieht das anders aus und du müßtest mit EQ ans Ziel kommen:

$(if,$(eq,M,$(substr,$(getvar,dwgname),$(-,$(strlen,$(getvar,dwgname)),4),1)),Montageplan,)

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

runkelruebe
Moderator
Straßen- / Tiefbau




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

Beiträge: 8075
Registriert: 09.03.2006

Kinder, kauft Kämme!
Es kommen lausige Zeiten.

erstellt am: 08. Apr. 2015 13:01    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 CADAGE 10 Unities + Antwort hilfreich

Du (bzw. der Schriftfelderfinder Deines Vorentwurfsplans  ) verwendet als Vergleichsoperator das "=". Das kann er tun, da er Zahlen vergleicht.
DU möchtest aber Buchstaben vergleichen. Nimm dafür
Code:
$(eq, Wert1, Wert2)

Und das mit derselben Länge: Wenn's von vorne nicht paßt, paßt es vielleicht von hinten? 
>> Teilstring Dateiname <<

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

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

CADAGE
Mitglied
Technischer Zeichner

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

Beiträge: 6
Registriert: 19.02.2015

AutoCAD MEP 2015
Eplan P8 V.2.4

erstellt am: 08. Apr. 2015 13:51    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 cadffm,

ich habe es getestet, hat funktioniert. Vielen lieben Dank.
Ihr seit Super, Danke auch an runkelruebe!!!!!

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

Tromiantor
Mitglied
Technischer Systemplaner Fachrichtung Elektro

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

Beiträge: 2
Registriert: 14.04.2015

erstellt am: 14. Apr. 2015 13:56    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 CADAGE 10 Unities + Antwort hilfreich

Schönen Tag zsm,

habe mir den Beitrag mal durchgelesen, da ich auch auf der Suche nach einer Lösung für ein ähnliches Problem bin und habe mir erlaubt die oben genannte Leistungsphase auch mal mit in meinen Plankopf einzubauen (danke an CADAGE und die hilfreichen antworten  ).
In unserer Firma gibt es auch einen Planschlüssel :
XXXXXXXXX-ELT-01-5.dwg .

Nun zu meiner Frage/Problem:
Ich habe vor (da der Mensch ja generell etwas bequemer ist und sich gerne das Leben leichter macht), dass sich das Gewerk automatisch rein schreibt. In dem Fall ELT-> „Elektroinstallation“. Dazu verwende ich eine abgewandelte Art des Diesel Ausdrucks von der Leistungsphase: $(if,$(eq,TLE,$(substr,$(getvar,dwgname),$(-,$(strlen,$(getvar,dwgname)),9),3)),Elektroinstallation,) $(if,$(eq,AMB,$(substr,$(getvar,dwgname),$(-,$(strlen,$(getvar,dwgname)),9),3)),Brandmeldeanlage,)
…. usw

Leider scheint dies nicht zu funktionieren. Ich lasse das ganze ja von hinten zur 9. Stelle zählen und ab dort dann drei Stellen zählen. T, L und E. Dies habe ich bewusst so rum geschrieben, da ja von hinten gezählt wird. Kann eine Ausführung in diesem Format nur jeweils eine Zahl lesen, denn wenn ich nur das T auslesen lasse, dann funktioniert es? Außerdem verwendet meine Firma mehrere Gewerke, wo es dann zu Überschneidungen käme, wenn ich nur die letzte Stelle auslesen lassen würde.
Kann mir da einer bitte einen Rat geben? 
Danke im Voraus.

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 14. Apr. 2015 14:40    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 CADAGE 10 Unities + Antwort hilfreich

Willkommen,

für das Beispiel verwende ich den von dir geposteten Diesel-Ausdruck oder dies im Detail zu prüfen:

$(if,$
WENN folgende Bedingung zutrifft:

(eq,
Gleich

TLE,
und
$(substr,$(getvar,dwgname),$(-,$(strlen,$(getvar,dwgname)),9),3)),

DANN
"Elektroinstallation"
SONST
<nichts> <= Die Angabe hinter dem letzten Komma.. da keine Angabe gemacht wurde ist das Ergebni "nichts" in dem Fall

Der auslesende Part im Detail:
$(substr,$(getvar,dwgname),$(-,$(strlen,$(getvar,dwgname)),9),3)),

$(substr,
TEILSTRING aus

$(getvar,dwgname) dem Dateinamen

TEILSTRING ANFANG bei ZeichenNr.
$(-,$(strlen,$(getvar,dwgname)),9)  {Länge des Dateinamens MINUS 9}

TEILSTRINGLÄNGE (Zeichenanzahl)
3

An keiner Stelle wird die Zeichenreihenfolge des Dateinamens "umgekehrt", daher ist die Kennung nach wie vor "ELT" und nicht "TLE"
Teste es mit der Modemacro Ausgabe -
so kannst du Schritt für Schritt dein Makro aufbauen/prüfen.

Als ersten Test setze also mal einen Teil deines Dieselstrings ein:
Ursprung: $(if,$(eq,TLE,$(substr,$(getvar,dwgname),$(-,$(strlen,$(getvar,dwgname)),9),3)),Elektroinstallation,)
Teil: $(substr,$(getvar,dwgname),$(-,$(strlen,$(getvar,dwgname)),9),3)

Unten Links in der Statuszeile siehst du dann was du mit dieser Angabe ausliest..

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 14. Apr. 2015 14: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 CADAGE 10 Unities + Antwort hilfreich

und bei STRING(Text) Vergleichen immer mit UPPER sicherstellen das kein Problem mit GROSSkleinSchreibung aufkommt!
(in der deutschen DIESEL-Befehlsreferenz freundlicherweise mit OBERER Übersetzt, Rofl)

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

Tromiantor
Mitglied
Technischer Systemplaner Fachrichtung Elektro

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

Beiträge: 2
Registriert: 14.04.2015

erstellt am: 15. Apr. 2015 07: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 CADAGE 10 Unities + Antwort hilfreich

Moin,

vielen dank für die ausführliche Darstellung meines Diesel-Befehls und auch für die Hilfestellung mit dem Modemacro. Hat bei mir zwar erstmal bisschen gedauert, bis ich die Ausgabe gefunden hatte (bei mir unten rechts; sehr klein gehalten  )
Dort konnte ich dann ablesen, das mein Teil-Stück die Werte "T-0" ließt, was ich natürlich nicht haben wollte. Konnte dies dann aber einfach anpassen 

Tolle Arbeit. Danke dafür!

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