Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Trennzeichen einlesen

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:  Trennzeichen einlesen (271 mal gelesen)
Dressler
Mitglied
technischer Angestellter


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

Beiträge: 301
Registriert: 19.11.2003

Athlon64 3200+
2 GB DDR2
NVIDIA Geforce 7600 2x21" CRT
Acad 2007

erstellt am: 27. Feb. 2006 13: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,

kann man irgendwie bei Autocad Verzeichnisnamen wie in folgendem beispiel irgendwie auswerten?

C:\Projekte\Auftragsnummer_Kunde_Projektbezeichnung\Zeichnungen\

so sehen bei uns alle Verzeichnisse aus.

Kann man irgendwie die einzelnen Dten, also Auftragsnumer, Kunde, Projektnummer aus dem Verzeichnis auslesen und in seperaten Feldern auf dem Schriftfeld verteilen?
Dann muß man nicht immer alles von hand eintragen.


------------------
Gruß Björn

[Diese Nachricht wurde von Dressler am 27. Feb. 2006 editiert.]

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

tunnelbauer
Ehrenmitglied V.I.P. h.c.
Bauingenieur



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

Beiträge: 7085
Registriert: 13.01.2004

Sie nannten ihn google.

erstellt am: 27. Feb. 2006 13: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 Dressler 10 Unities + Antwort hilfreich

Wie ist denn der weitere Aufbau ? Sind die Bezeichnungen für Auftragsnummer, Kunde und Projektbezeichnung immer gleich lang ? Oder können diese Bezeichnungen in der Länge variieren ?

------------------
Grüsse

Thomas

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

Iris2
Mitglied
CAD-Admin


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

Beiträge: 1170
Registriert: 17.02.2004

REVIT
TEKLA Structures
AutoCAD / Soficad
ACA
Microstation

erstellt am: 27. Feb. 2006 13:42    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 Dressler 10 Unities + Antwort hilfreich

Hallo Björn,

auslesen: woraus willst Du die Daten auslesen?
          (Spezielle Software/Dokumentenverwaltung?)

einlesen: Über Blöcke mit Attributen (evt. via skript)

Oder hab ich Dich nicht richtig verstanden?

------------------
Gruß
Iris 

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

Dressler
Mitglied
technischer Angestellter


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

Beiträge: 301
Registriert: 19.11.2003

Athlon64 3200+
2 GB DDR2
NVIDIA Geforce 7600 2x21" CRT
Acad 2007

erstellt am: 27. Feb. 2006 13:42    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 Thomas,

die Auftragnummer ist immer 4 Stellen lang.
Der Rest wird durch den Unterstrich voneinander getrennt und die Länge variert.

------------------
Gruß Björn

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

Dressler
Mitglied
technischer Angestellter


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

Beiträge: 301
Registriert: 19.11.2003

Athlon64 3200+
2 GB DDR2
NVIDIA Geforce 7600 2x21" CRT
Acad 2007

erstellt am: 27. Feb. 2006 13:43    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


beispiel.dwgModel-(1-).pdf

 
Hallo Iris,

ich möchte die Daten aus dem aktuellen Verzeichnis auslesen, also so wie DIR mit Dos.
Ich dachte es gibt da vielleicht einen DIESEL Ausdruck für.

Ich hab mal eine Datei angehangen, wo man sehen kann wie ich mir das vorstelle.

------------------
Gruß Björn

[Diese Nachricht wurde von Dressler am 27. Feb. 2006 editiert.]

[Diese Nachricht wurde von Dressler am 27. Feb. 2006 editiert.]

[Diese Nachricht wurde von Dressler am 27. Feb. 2006 editiert.]

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

erstellt am: 28. Feb. 2006 08:02    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 Dressler 10 Unities + Antwort hilfreich

Hallo Björn,
probier mal folgenden Code. Es wird aus dem Verzeichnispfadstring der Teil rausgeschnitten, der links durch "Projekte\\" und rechts durch "\\Zeichnungen" begrenzt ist.
Innerhalb des rausgeschnittenen Teils wird der String in die Einzelteile zerlegt, die durch das Zeichen "_" getrennt sind. Die Einzelteile werden in einer Liste ausgegeben.
Wenn Du z.B. die Auftragnummer haben möchstest, dann ist es das erste Listenelement der zurückgegebenen Liste => (car(texte))
Code:

(defun texte (/ str str_such str_grenz_links str_grenz_rechts liste)
  (setq
    str (getvar "DWGPREFIX")
    ;;"C:\\Projekte\\Auftragsnummer_Kunde_Projektbezeichnung\\Zeichnungen\\"
    str_grenz_links
    "PROJEKTE\\"
    str_such
    "_"
    str_grenz_rechts
    "\\ZEICHNUNGEN")

  (setq str (STR_AB str str_grenz_links)
str (STR_BIS str str_grenz_rechts))
  (while (vl-string-search str_such str)
    (setq liste (cons (STR_BIS str str_such) liste)
  str (STR_AB str str_such)))
  (if (/= str "")
    (setq liste (cons str liste)))
  (reverse liste))


(defun STR_AB  (str str_such /)
  (if (vl-string-search str_such (strcase str))
    (substr str
    (+ (+ (vl-string-search str_such (strcase str))
  (strlen str_such))
      1))
    str))
(defun STR_BIS (str str_such /)
  (if (vl-string-search str_such (strcase str))
    (substr str 1 (vl-string-search str_such (strcase str)))
    str))


------------------
viele Grüße

Jörn

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

Dressler
Mitglied
technischer Angestellter


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

Beiträge: 301
Registriert: 19.11.2003

Athlon64 3200+
2 GB DDR2
NVIDIA Geforce 7600 2x21" CRT
Acad 2007

erstellt am: 28. Feb. 2006 10:54    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 Joern,

soweit so gut.
Ich hab das Lisp unter dem Namen TEXTE.lsp gespeichert. Nun habe ich in der Befehlszeile (car(texte)) eingegeben und bekomme die projektnummer zurück.
Wie bekommt man den Text denn in einen Block (Schriftfeld) hinein.

Das schriftfeld wird nachträglich in die zeichnung eingefügt und sollte dann möglichst viele Angaben schon ohne tippen eingefügt haben. 

Was für eine Art von Text es im Schriftfeld ist, wäre egal, denn die Schriftfeldblöcke kann man vorher ja einmal anpassen.
Allerdings müsste sich der Block auch beim kopieren in ein anderes Projekt wieder verändern... geht das?

Kann man sen Ausdruck der bei (car(texte)) kommt in einem RTEXT ausgeben lassen?

------------------
Gruß Björn

[Diese Nachricht wurde von Dressler am 28. Feb. 2006 editiert.]

[Diese Nachricht wurde von Dressler am 28. Feb. 2006 editiert.]

[Diese Nachricht wurde von Dressler am 28. Feb. 2006 editiert.]

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

erstellt am: 28. Feb. 2006 11:23    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 Dressler 10 Unities + Antwort hilfreich

Hallo Björn,
also, wenn Du mit einem Block arbeitest, dann kannst Du folgende Funktion verwenden.
Code:

(defun c:texte_in_block ( / obj att_name1 att_name2 att_name3 liste att)
  (setq liste (texte))
  (setq att_name1 "PNR"
att_name2 "HOEHE"
att_name3 "BEM")
  (if(and(setq obj (car(entsel "\nBitte den Block wählen:")))
(entnext obj))
    (progn
    (setq att obj)
    (while (/=(cdr(assoc 0(entget (setq att (entnext att)))))"SEQEND")
      (cond ((=(cdr(assoc 2(entget att)))att_name1)
    (entmod(subst (cons 1 (car liste))(assoc 1 (entget att))(entget att))))
    ((=(cdr(assoc 2(entget att)))att_name2)
    (entmod(subst (cons 1 (cadr liste))(assoc 1 (entget att))(entget att))))
    ((=(cdr(assoc 2(entget att)))att_name3)
    (entmod(subst (cons 1 (caddr liste))(assoc 1 (entget att))(entget att))))))
    (entupd obj))
    (alert "Kein Block oder Block ohne Attribute")))

Du mußt aber die Funktion (texte) bereits geladen haben, da diese Funktion darauf zurückgreift.
Weiter mußt Du die Attributsnamen Deinem Block anpassen, ich habe als Beispiel die Attributsnamen PNR, HOEHE und BEM verwendet.

------------------
viele Grüße

Jörn

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

Dressler
Mitglied
technischer Angestellter


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

Beiträge: 301
Registriert: 19.11.2003

Athlon64 3200+
2 GB DDR2
NVIDIA Geforce 7600 2x21" CRT
Acad 2007

erstellt am: 28. Feb. 2006 11: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

Prima!

Das hab ich hinbekommen.

Danke, dann werd ich mal experimentieren.

------------------
Gruß Björn

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