| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: att2text---text2att (2838 mal gelesen)
|
Assi Mitglied Konstrukteur
Beiträge: 218 Registriert: 03.10.2002
|
erstellt am: 07. Okt. 2002 10:12 <-- editieren / zitieren --> Unities abgeben:
|
1000Hands Mitglied CEO
Beiträge: 990 Registriert: 24.03.2002 HP Workstation Z840 Building Design Suite Premium 2018 auf Windows7 64Bit
|
erstellt am: 07. Okt. 2002 11:08 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
Vielleicht bissl meht Detail´s??? Version ACAD? Mtext? Immer der gleiche Text? (z.B. Raumbezeichnungen) Mit einem genrellem Tool für alle Fälle wid es wohl schwierig werden da der Text je irgendwie selektiert werden muß vom Prog, also z.B. Text auf Layer x innerhalb des Poylygones y wird Attribut (block) mit Namen z auf Layer x Schon mit dem Blockattribut-Manager gearbeitet ev. reicht das ja auch? ------------------ mfG Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Assi Mitglied Konstrukteur
Beiträge: 218 Registriert: 03.10.2002
|
erstellt am: 07. Okt. 2002 11:36 <-- editieren / zitieren --> Unities abgeben:
|
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 08. Okt. 2002 08:12 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
|
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 3067 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: 09. Okt. 2002 11:28 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
|
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 09. Okt. 2002 18:55 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
|
Assi Mitglied Konstrukteur
Beiträge: 218 Registriert: 03.10.2002
|
erstellt am: 09. Okt. 2002 19:04 <-- editieren / zitieren --> Unities abgeben:
Hier der alte TEXT aus der Anwendung Ich bin nur ein kleiner Konstrukteur, der sich alles von AUTO-CAD selbst beigebracht hat und kann daher das nicht auf 2002 umschreiben. Kann das einer von euch wäre richtig toll. (defun c:text2att( / as name anz no) (seterr) (setq as (ssget)) (setq anz (sslength as) no 0) (repeat anz (setq name (ssname as no) no (1+ no)) (t2a name) ) (arsoerr nil) ) (defun t2a (name / liste text nliste) (setq liste (entget name) liste (cdr liste)) (if (= (kenn liste 0) "TEXT") (progn (setq text (strcase (kenn liste 1))) (if (f os text " ") (setq text (substr text 1 (1- (f os text " "))))) (if (= text "")(setq text "FELD")) (setq liste (subst (cons 0 "ATTDEF") (assoc 0 liste) liste) liste (append liste (list (cons 2 text))) liste (append liste (list (cons 3 ""))) ;liste (f:remove liste (assoc 210 liste)) liste (append liste (list (cons 70 0))) nliste (entmake liste)) (princ liste) (if nliste (entdel name)) ) ) ) (defun xor (a b) (or (and a (not b)) (and (not a) b)) ) (defun dxbtext (txt / pt) (f_autolay "Text") (if (not t:txth) (setq t:txth 0.25)) (if (not t:txtw) (setq t:txtw 0.7)) (if (not t:txtwink)(setq t:txtwink 0.0)) (if (not t:txtnwink)(setq t:txtnwink 0.0)) (if (not t:txtdir)(setq t:txtdir "L")) (if (not t:txtstil)(setq t:txtstil b:stil)) (if (not t:txtcol)(setq t:txtcol (f:gettxtcol t:txth))) (if (not t:txtw)(setq t:txtw 0.7)) (setvar "thickness" 0) (menucmd "S=X") (menucmd "S=BEMLAY") (if (= l:laydlg 1)(setq t:layer (f_dlayer))(setq t:layer (getvar "CLAYER"))) (setq pt T) (while (not (listp pt)) (if (= (getvar "useri2") 0) (f:txtms)) (f:txtstat) (initget 1 "M T E S W L A") (setq pt (getpoint "Einfgepunkt fr Beschriftung: ")) (COND((= pt "W") (f:txtwink)) ((= pt "T") (f:txth)) ((= pt "E") (f:txtw)) ((= pt "M") (f:txtms)) ((= pt "L") (f:txtlay)) ((= pt "S") (f:txtstil)) ) ) (f:createtext nil txt pt) )
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 10. Okt. 2002 08:54 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
|
Assi Mitglied Konstrukteur
Beiträge: 218 Registriert: 03.10.2002
|
erstellt am: 13. Okt. 2002 10:05 <-- editieren / zitieren --> Unities abgeben:
|
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 14. Okt. 2002 13:42 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
Hy Assi Da fehlt doch schon wieder was. seterr f_getobj_ms kenn v:pi2 Durchsuch mal Deine Verzeichnisse, irgendwo müssen Diese Funktionen definiert sein (defun... ------------------ Gruß CADwiesel
[Diese Nachricht wurde von CADwiesel am 14. Oktober 2002 editiert.] [Diese Nachricht wurde von CADwiesel am 14. Oktober 2002 editiert.] [Diese Nachricht wurde von CADwiesel am 14. Oktober 2002 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Assi Mitglied Konstrukteur
Beiträge: 218 Registriert: 03.10.2002
|
erstellt am: 14. Okt. 2002 19:43 <-- editieren / zitieren --> Unities abgeben:
ich habe jetzt die komplette lisp des textes mitgeschickt. Bei dem Programm, aus dem ich das habe handelt es sich um eine ziemlich komplexe Applikation. Ich glaube ich lasse mir etwas anderes einfallen mit den Attributen. Wollte Absteckpunktblöcke nummerieren (ziemliche viele) ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 14. Okt. 2002 22:38 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
Hallo Assi, was sind Absteckpunktblöcke? Wie sich das für mich anhört, hast Du viele Blöcke, die sichtbar durchnumerieren möchtest. Nur fehlt Dir dazu im Block das entsprechende Attribut? Kann das sein? Das würde heißen, dass Du der Blockdefinition selbst ein ATTDEF und den eingefügten Blöcken jeweils ein ATTRIB zuschreiben müsstest. Oder: Hast du den Text und möchtest einen Block einfügen, in dem dann ein bestimmtes Attribut mit eben diesem Text ausgefüllt wird? Nicht gleich aufgeben! Beschreib erste einmal genau was Du vorhast! Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Assi Mitglied Konstrukteur
Beiträge: 218 Registriert: 03.10.2002
|
erstellt am: 14. Okt. 2002 22:52 <-- editieren / zitieren --> Unities abgeben:
Also, folgendes: Ich habe sehr viele Absteckpunkte. Ich habe eine Ziffer an jeden Punkt geschrieben und dann danach mit EXPRESS durchnummeriert, jetzt möchte ich die Koordinaten auslesen dazu müssen die Texte aus Attributen bestehen. Dazu bräuchte ich diese Funktion die Texte in Attribute umwandelt. ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 14. Okt. 2002 23:07 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
Hallo Assi, verrate doch mal alles, womit möchtest du die Punkte auslesen? Ist das ein Programm aus dem oben erwähnten? Müssen die Attrribute in diesem Fall eine genaue Bezeichnung einhalten? Sollen diese dann in Excel verfügbar sein? Sollen die in eine Txt-Datei im bestimmten Format geschrieben werden? Soll die Punktnummer mit ausgelesen werden, oder ist diese nur zur Reihenfolgestimmung notwendig? Fakten, Fakten, Fakten! Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Assi Mitglied Konstrukteur
Beiträge: 218 Registriert: 03.10.2002
|
erstellt am: 14. Okt. 2002 23:22 <-- editieren / zitieren --> Unities abgeben:
Also ich möchte eine simple .txt erzeugen, die Punktnummer sollten aber mit ausgelesen werden. Danach möchte ich die .txt wieder in meine Zeichnung einfügen. Außerdem benötige ich die .txt auch noch für sden Vermesser ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 15. Okt. 2002 08:54 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
Guten Morgen Assi, und wie soll die TXT-Datei aufgebaut sein? getrennt durch Semikolon Nr;X;Y;Z oder getrennt durch Tabulator Nr[TAB]X[TAB]Y[TAB]Z oder getrennt durch Leerzeichen Nr X Y Z Was möchte denn der Vermesser, und wie möchtest Du die Punkte wieder einlesen? So langsam nimmt es doch aber Konturen an. Grüße Holger
------------------ Holger Brischke CADlon - Lisp over night 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
Beiträge: 3067 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: 15. Okt. 2002 12:02 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
|
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 3067 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: 15. Okt. 2002 14:41 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
|
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 15. Okt. 2002 19:13 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
Servus Assi Hallo miteinander Assi, Du bzw. der Vermesser braucht für die Absteckung Punktnummern (zum identifizieren) und die dazugehörigen Koordinaten. Wenns nur um die Lage geht Rechts- und Hochwert (Höhe ist eher selten). Du hast auf den Koordinaten Blöcke sitzen, die als Attribut die Punktnummer enthalten. Wenn ich soweit richtig liege könnte der Befehl "ATTEXT" Dir weiterhelfen. In einer Schablonendatei definierst Du, wie die Daten exportiert werden sollen. Sollte meine obige Vermutung stimmen und Du kommst trotz ACAD-Hilfe nicht zurecht melde Dich nochmal. Beispiel für Schablonendatei (aus der ACAD-Hilfe - Kapitel 13 -- Verwenden von Blöcken und externen Referenzen > Arbeiten mit Attributen > Extrahieren von Attributinformationen > Vorlage für Extraktionsdatei):
In der folgenden Dateischablone werden die 15 möglichen Felder dargestellt. BL:LEVEL Nwww000 (Blockverschachtelungsebene) BL:NAME Cwww000 (Blockname) BL:X Nwwwddd (X-Koordinate des Blockeinfügepunkts) BL:Y Nwwwddd (y-Koordinate) BL:Z Nwwwddd (z-Koordinate) BL:NUMBER Nwww000 (Blockzähler; gilt auch für MEINFÜG) BL:HANDLE Cwww000 (Blockreferenz; gilt auch für MEINFÜG) BL:LAYER Cwww000 (Name des Layers für die Blockeinfügung) BL RIENT Nwwwddd (Blockdrehwinkel) BL:XSCALE Nwwwddd (X-Skalierfaktor) BL:YSCALE Nwwwddd (Y-Skalierfaktor) BL:ZSCALE Nwwwddd (z-Skalierfaktor) BL:XEXTRUDE Nwwwddd (x-Komponente der Blockhochzugsrichtung) BL:YEXTRUDE Nwwwddd (Y-Komponente) BL:ZEXTRUDE Nwwwddd (Z-Komponente) numeric Nwwwddd (Bezeichnung für numerisches Attribut) character Cwww000 (Bezeichnung für alphanumerisches Attribut) Ich hoffe es hilft Dir weiter Gruß, Ernst
------------------ ACAD 2000 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Assi Mitglied Konstrukteur
Beiträge: 218 Registriert: 03.10.2002
|
erstellt am: 15. Okt. 2002 19:30 <-- editieren / zitieren --> Unities abgeben:
Hallo Ernst, Deine Vermutung liegt 1000prozentig richtig. Auch dass ich nicht zurechtkomme. Ich habe jetzt bei CADWIESEL punktliste.lsp gefunden das klappt prima, bei sehr vielen Koordinaten verhaspel man sich aber sehr leicht und muss immer wieder von vorn anfangen, deshalb wäre eine Kennung per Attribut sehr schön ------------------ [Diese Nachricht wurde von Assi am 15. Oktober 2002 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 16. Okt. 2002 09:49 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
du kommst mit der Attributsextrktion nicht zurecht? wenn es darum ging dann ganz einfach: da du 2002 nutz einfach mal den Befehl "_EAttExt" anwenden, der Button dazu liegt übrigens im WK"Ändern II" - da brauchst du keine Maske mehr zu erstellen und es funkt wunderbar. ------------------ Gruß Sebastian ,FFM Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 16. Okt. 2002 10:49 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
Hallo Assi Wahrscheinlich hat Dir cadffm schon weitergeholfen, falls nicht .... Ich geb Dir hier ein Beispiel (- da ich ja Deinen Block nicht kenne) Nehmen wir einen Block an - wie er heißt ist egal- zB. ein Ringerl mit zwei Attributen, deren Name sei "BEZ" und "HOEHE". Der Einfügepunkt sei das Zentrum des Ringerls und der Block sitzt auf den "gesuchten" Koordinaten. Erzeuge eine Schablonendatei zB. "absteck.txt" mit folgendem Inhalt: BEZ C010000 BL:X N012003 BL:Y N013003 BL:Z N006002 HOEHE C012000 Lies die Schablone so: BEZ C 010 000 Die Punktnummer im Attribut "BEZ" ist eine Zeichenkette (C) mit einer Länge von 10 Zeichen; Die Koordinaten des Blocks (BL:.) sind numerisch (N), die Längen sind unterschiedlich (x=12, y=13, z=6), x und y wird mit 3 Kommastellen, z mit 2 erzeugt; Das zweite Attribut "HOEHE" ist wieder ein Test mit einer Länge von 12 Zeichen Die Werte müssen natürlich zu Deinem Block passen, wenn Du keine Höhe brauchst, kannst Du sowohl BL:Z als auch HOEHE weglassen andernfalls nimmst Du das wo Deine Höhe steht. Nun rufe in ACAD den Befehl ATTEXT auf: (Wenn FILEDIA auf 1 steht siehst Du jetzt ein Dialogfeld) Bei Dateiformat kann Du das Ausgabeformat wählen. Als Vorlagedatei wählst Du die neu angelegte Schablonendatei (absteck.txt) bei Ausgabedatei gibst Du den gewünschten Namen ein. Nun mußt Du noch die Objekte wählen - Du kannst ein Fenster verwenden, wenn die Attributsbezeichnungen nur bei den gewünschten Blöcken vorkommen. Anderseits könntest Du mit dem Filter schon vorselektieren und dann beim "Objekte wählen" "V" für vorherige nehmen. Nachdem Du "OK" gesagt hast öffne die Ausgabedatei und schau ob sie Deinen Vorstellungen entspricht. Gruß, Ernst
------------------ ACAD 2000 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Assi Mitglied Konstrukteur
Beiträge: 218 Registriert: 03.10.2002
|
erstellt am: 24. Okt. 2002 00:09 <-- editieren / zitieren --> Unities abgeben:
|
Assi Mitglied Konstrukteur
Beiträge: 218 Registriert: 03.10.2002 NT4,ACAD 2002-SP 1 EXPREES-engl. cadMANdu
|
erstellt am: 24. Nov. 2002 08:11 <-- editieren / zitieren --> Unities abgeben:
|
Harm Mitglied Fertigungsingenieur im Schiffbau
Beiträge: 15 Registriert: 18.11.2002
|
erstellt am: 24. Nov. 2002 11:33 <-- editieren / zitieren --> Unities abgeben: Nur für Assi
|