Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  text in attribut

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:  text in attribut (1489 mal gelesen)
michelangelo
Mitglied



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

Beiträge: 158
Registriert: 08.04.2004

Win XP, ACAD 2002 ExpressTool vom ACAD 2000

erstellt am: 14. Okt. 2004 10:24    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 ich möchte auf ein attribut klicken können und dann wird der vordefinierte Text in das Attribut geschrieben. habe was versucht geht aber nur zum ersetzen bestehender attribute. möchte aber auch leere attribute mit dem beschrifen können. habe was vesucht geht aber nicht. kann mir jemand helfen.?

(defun c:endrevision (/ text1 att)
  (entmod
    (subst
      (cons 1 (setq Text1 "Endrevision")
        )
      (assoc 1 (setq att (entget(car (nentsel)))))
      att
      )
    )
  (entupd (cdr(assoc 330 att)))
  )

------------------
[AutoCAD spricht mit jedem, nur leider nicht immer die gleiche Sprache.]

[Diese Nachricht wurde von michelangelo am 14. Okt. 2004 editiert.]

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 14. Okt. 2004 10: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 michelangelo 10 Unities + Antwort hilfreich

... keine Ahnung .. analysier mal selber .. hier ein funktionierender Code:
(defun UPDATE-Attrib( ATTRIBUT Neuertext / OBJEKTDATEN)
  (if (and(= (type ATTRIBUT) 'Ename)
          (= (type Neuertext) 'STR)
          (setq OBJEKTDATEN(entget ATTRIBUT))
          (=(cdr(assoc 0 OBJEKTDATEN))"ATTRIB")         
      )     
    (entmod(subst(cons 1 NEUERTEXT)
                 (assoc 1 OBJEKTDATEN)
                 OBJEKTDATEN
           )
    )
  )
)
(defun c:UPDATE-Attrib( / ATTRIBUT)
  (if(and(setq ATTRIBUT(car(nentsel)))
         (setq NEUERTEXT (getstring "\nNeuer Attributtext: "))   
     )
    (progn
      (UPDATE-Attrib ATTRIBUT NEUERTEXT)
      (command "_regen")
    )     
  ) 
)


Für leere Attribute und Atttributsuche nach Namen guck mal
hier
------------------
  - Thomas -
"Bei 99% aller Problemen ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

[Diese Nachricht wurde von CADmium am 14. Okt. 2004 editiert.]

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

michelangelo
Mitglied



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

Beiträge: 158
Registriert: 08.04.2004

Win XP, ACAD 2002 ExpressTool vom ACAD 2000

erstellt am: 14. Okt. 2004 10: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

@AsSchu

danke dir vielmal, aber das ist nicht was ich suche. ich habe zeichnungsköpfe und dort muss ich oft den selben text in die attribute schreiben. ich habe ein lisp mit dem ich ein ausgefülltes attribut anwählen kann und es schreibt mir mein vordefinierten text hinein, oder das aktuell datum usw. Meine Idee wäre das ich nicht immer zuerst ein Wert in ein attribut schreiben muss bevor ich mein lisp anwenden kann. verstehst du das? kannst du mir helfen?

@CADmium

vielen dank. schau's mir mal an.

------------------
[AutoCAD spricht mit jedem, nur leider nicht immer die gleiche Sprache.]

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

michelangelo
Mitglied



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

Beiträge: 158
Registriert: 08.04.2004

Win XP, ACAD 2002 ExpressTool vom ACAD 2000

erstellt am: 14. Okt. 2004 10:57    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

@CADmium

das ist ein tolles Lisp, aber auch für diese braucht es einen Attribut eintrag. geht das nicht ohne?

------------------
[AutoCAD spricht mit jedem, nur leider nicht immer die gleiche Sprache.]

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 14. Okt. 2004 11:03    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 michelangelo 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von michelangelo:
@CADmium

das ist ein tolles Lisp, aber auch für diese braucht es einen Attribut eintrag. geht das nicht ohne?


.. wenn du was nit nentsel auswählen willst, muß es wählbar sein!! Ansonsten mußt du das Insert wählen und dieses mnach Attributen durchforsten .. deshalb auch der  Link im Beitrag, wo ich sowas schon mal realisiert hatte.

------------------
- Thomas -
"Bei 99% aller Problemen ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

Jürgen Scheeren
Mitglied
Energieanlagen Konstrukteur , CAD-Administrator


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

Beiträge: 262
Registriert: 03.04.2003

Autocad MEP 2016
win7x64bit

erstellt am: 15. Okt. 2004 14:22    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 michelangelo 10 Unities + Antwort hilfreich


Attr.zip

 
Hallo michelangelo,

hier ein Lisp Tool das autom. Attribute erstell und
Text einfügt.
Habe die ganzen Funktionen mal beschrifte mußt dan Code
nur Deinen Bedürfnissen anpassen,
aber wenn ich das als Lisp-Legasteniker schaffe dann kannst
Du das sicher auch.
Du mußt das Prog. auf eine Block anwenden.
Hoffe es hilft Dir weiter.

Gruß Jürgen


[Diese Nachricht wurde von Jürgen Scheeren am 15. Okt. 2004 editiert.]

[Diese Nachricht wurde von Jürgen Scheeren am 15. Okt. 2004 editiert.]

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

michelangelo
Mitglied



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

Beiträge: 158
Registriert: 08.04.2004

Win XP, ACAD 2002 ExpressTool vom ACAD 2000

erstellt am: 15. Okt. 2004 15:24    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

okey vielen dank für eure tollen antworten. ich versuche mal mein problem(wunsch)ganzheitlich zu schildern.

ich habe einen plankopf wo ich immer einen index, datum+namenskürzel, änderungsbeschrieb habe. jedes is ein eigens attribut.
ich habe folgende attribute:

Datum1,index1,änderung1
Datum3,index2,änderung2
Datum3,index3,änderung3

(habe noch mer im kopf z.b. planname,grösse,massstab usw. sind aber nicht wichtig zum aktualiesieren.)

Wen ich einen plan bearbeitet habe und den index setzen muss. gehe ich in den block hinein und bebe ein Index1 "a", datum1 "[aktuellesDatum + Name]", und änderung1 "endrevision"
beim nächsten index das selbe einfach bei den zweiern.
wen alle drei voll sind lass eich die letzten zwei indexe und überschreibe den ältesten. Nun habe ich lisp geschrieben das mir das aktuelle datum mit dem kürzel in ein atribut schreibt, und eines das mir die häufigsten änderungstexte einfügt.
aber wen ich ein index machen will der noch leer ist, muss ich zuerst in den block gebe. in jedem attribut a,a,a ein und wende dann meine lisp an das ich nicht immer den text und das datum schreiben muss.

toll wäre es aber wen es automatisch den nächsten index setzen würde, oder zumindest das oben eingefüge lisp ohne vorherige eingabe eines wertes eintragen würde.
ich möchte nicht immer in den block hinein müssen.

habe ich eine zufrommen wunsch oder ist das einfach lösbar?

------------------
[AutoCAD spricht mit jedem, nur leider nicht immer die gleiche Sprache.]

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 15. Okt. 2004 16:55    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 michelangelo 10 Unities + Antwort hilfreich

Haaaallllooooo ! Noch einmal : hast du dir diesen Link schon mal angeschaut? Ist auch eine Titleblockgeschichte .. und da dann die Funktion
(defun UPDATE-Title-Block ( INSERTNAME ATTRIBNAME  ATTRIBWERT /..)
... daraus kannst du doch alles basten, was du willst!!

------------------
- Thomas -
"Bei 99% aller Problemen ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

Geos
Mitglied
Vermessungstechniker i.R.


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

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: 18. Okt. 2004 08:17    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 michelangelo 10 Unities + Antwort hilfreich

Du könntest mit Lisp die in Frage kommenden Attribute checken, wenn noch leer (= "") mit einem Dummy-Text füllen, den kannst Du dann anklicken. Danach eventuell übriggebliebene Dummy-Texte wieder löschen.

------------------
Gruß, Ernst

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 18. Okt. 2004 08:32    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 michelangelo 10 Unities + Antwort hilfreich

Hallo michelangelo,

wie weit ist denn dein Code?
Wo hängt es denn? Wozu brauchst du Hilfe?

Grüße Holger

------------------
Holger Brischke
(defun - Lisp over night!
AutoLISP-Programmierung für AutoCAD
Da weiß man, wann man's hat!

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