Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Attribute an beliebigen Block anhängen

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:  Attribute an beliebigen Block anhängen (3739 mal gelesen)
cadpower2
Mitglied
selbstständig

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

Beiträge: 3
Registriert: 09.09.2004

AutoCAD 2002i
Pentium 4
Windows XP
1GB RAM
Grafikkarte: Radeon 9000 Family

erstellt am: 09. Sep. 2004 21: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

Hallo,
ich möchte vier Attribute nachträglich an einen beliebigen Block anhängen, ohne den vorhandenen Block aufzulösen. Ist das ohne FM-Applikation machbar ?

Danke für Euer Feedback

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

mapcar
Mitglied
CADmin



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

Beiträge: 1250
Registriert: 20.05.2002

Time flies like an arrow, fruit flies like a banana (Groucho Marx)

erstellt am: 10. Sep. 2004 00:50    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 cadpower2 10 Unities + Antwort hilfreich

Was ist denn eine FM-Applikation? Jedenfalls in diesem Zusammenhang?

Man kann, ja, mit ein paar Zeilen Lisp. Allerdings um den Preis, dass die Blockreferenz gelöscht und wieder neu aufgebaut wird. Sollte also irgendeine Applikation den Handle dieses Blocks referenzieren, ist er hinterher wohl futsch.

Gruß, Axel Strube-Zettler

------------------
(defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man's hat
Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze

[Diese Nachricht wurde von mapcar am 10. Sep. 2004 editiert.]

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

cadpower2
Mitglied
selbstständig

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

Beiträge: 3
Registriert: 09.09.2004

AutoCAD 2002i
Pentium 4
Windows XP
1GB RAM
Grafikkarte: Radeon 9000 Family

erstellt am: 10. Sep. 2004 20:45    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 Axel,
ich habe die Antwort befürchtet (wegen refrenzieren & futsch).
Ich habe zahlreiche Zeichnungen (Haustechnik) die mit der Applikation PITCUP erstellt wurden.
Diese Blöcke sind verschachtelte Blöcke mit 2D und/oder 3D Infor-mationen und werden von PIT intern verwaltet. Den Block aufzulösen würde bedeuten, das man die weitere Bearbeitung mit der Applikation vergessen kann.

Von der Lisp-Programmierung verstehe ich leider nichts.

Das Problem:
Also es gibt viele Blöcke und jeweils daneben ein eigener Block mit vier Attributen (bereits mit ausgefüllten Feldern). Die beiden Blöcke müssen nun zusammengeführt werden und den Blocknamen des Attributeblockes beibehalten.

Die vier Attribute enthalten Daten, für die spätere Weiterverarbeitung (Facility Management) und sind leider falsch erstellt worden, also ohne feste Bindung zum Quellblock.

Ich glaube, ich vergesse das Problem einfach.
Trotzdem Danke für die Antwort

Gruss Thomas


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

Juergen55
Mitglied
Elektrotechniker


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

Beiträge: 282
Registriert: 08.03.2001

AutoCAD2010, EPlan P8 2.8.1, Core I5 2400 3,1GHZ, 8GB Arbeitsspeicher

erstellt am: 10. Sep. 2004 22:48    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 cadpower2 10 Unities + Antwort hilfreich

Hallo Thomas,

je nach dem wieviele Zeichnungen das sind, würd ich Dir nicht empfehlen die Attribute einfach nur so anzuhängen, ich glaub auch nicht dass, das so ganz problemlos geht.
Am besten ganz neue Blöcke erstellen und dann Blocktausch ! Die Blöcke sollten aber wirklich ganz genau erstellt werden einheitlich, sonst hat es keinen Wert. Ich weiß das Ganze ist sehr aufwendig, aber am Ende lohnt es sich, PitCup bietet auch die Möglichkeit verschiedene Firmenstandards zu verwenden, evt. einen neuen Firmenstandard anlegen, falls es wirklich viele und große Zeichnungen sind mit denen über einen längeren Zeitraum gearbeitet wird.

Gruß, Jürgen

-----------www.pc-ideal.de

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

mapcar
Mitglied
CADmin



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

Beiträge: 1250
Registriert: 20.05.2002

Time flies like an arrow, fruit flies like a banana (Groucho Marx)

erstellt am: 11. Sep. 2004 12:20    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 cadpower2 10 Unities + Antwort hilfreich

@Juergen55
> Am besten ganz neue Blöcke erstellen und dann Blocktausch
Das ist doch genau das, was er nicht gebrauchen kann!

------------------

Ich wurde noch mal per PM gefragt, warum das nicht geht, ob's nicht doch geht... Da die Antwort dür alle interssant sein könnte, hier die Erklärung, warum es nicht geht:

In Lisp kriegt man Attribute nur dran, während das Insert erzeugt wird, also während des "complex entmake":

Code:

(entmake "insert" ...)      ; mit (66 . 1)
(entmake "attrib" ...)      ; ein Attribut
[, (entmake "attrib") ...]  ; noch mehr Attribute
(entmake "sequend")        ; erst das ist der Trigger

Nachträglich geht also gar nix mehr. Allerdings kann man hier "Fantasieattribs" verwenden, also solche, für die es in der Blockdefinition KEIN Attdef gibt.

Mit ActiveX kann man überhaupt keine Attribute selbst erzeugen. Da gibt es nur modelspace.insertBlock, und am erzeugten Insert hängen sofort die Attribute dran, die in der Blockdefinition als Attdefs hinterlegt sind. Mit ActiveX lassen sich also im Prinzip nur "synchrone" Inserts erzeugen, bei denen die Referenz mit der Definition übereinstimmt - Fantasieattribute sind nicht möglich. Da man hier überhaupt keine ATTRIBS selber bauen kann, geht es natürlich nachträglich erst recht nicht mehr.

Es gibt allerdings einen Weg, das Ganze doch zu realisieren, nämlich über .NET oder ObjectARX. Der Beweis, dass es funktioniert, ist leicht erbracht - man muss nämlich nur mal attsync bemühen. Es wird sofort klar, dass dieses ARX-Programm sehr wohl ein Attribut zu einem Insert hinzufügen kann, ohne Entity-Name/Handle/ObjectID zu ändern - im Gegensatz zu attredef, das ja schon recht betagt ist und in Lisp programmiert ist.

Attsync hat aber leider keine Schnittstelle, sondern ist nur interaktiv zu benutzen (es fehlt unter "externally definded commands" in der E-Hilfe). Wäre das anders, könnte man temporär die Blockdefinition um ein ATTDEF erweitern, das INSERT "attsyncen" und schließlich die Blockdefinition restaurieren. Geht aber leider auch nicht. Den C++-Quellcode zu attsync liefert Adesk auch nicht aus (waren das noch Zeiten, als der Quellcode vom Calculator dabei war und man sich den erweitern konnte!) - also erstmal Ende Gelände.

Um nun mal die Frage von Cadpower2 abschliessend zu beantworten: Es geht also, aber nicht im Rahmen der Nachbarschaftshilfe.

Gruß, Axel Strube-Zettler

------------------
(defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man's hat
Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze

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

Juergen55
Mitglied
Elektrotechniker


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

Beiträge: 282
Registriert: 08.03.2001

AutoCAD2010, EPlan P8 2.8.1, Core I5 2400 3,1GHZ, 8GB Arbeitsspeicher

erstellt am: 11. Sep. 2004 15: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 cadpower2 10 Unities + Antwort hilfreich

Hallo Axel,

eine recht ausführliche Antwort, aber bei solchen Problemstellungen frag ich mich immer für wenn Autodesk hier programmiert, bestimmt nicht für den Anwender, ADESK möchte wohl das dieses Problem im AutoCAD-Aufsatz gelöst wird, wird es aber in den meisten Fällen nicht und das ist sehr schade !
Obwohl es für Autodesk sicherlich ein Leichtes wäre dieses Problem endlich mal zu lösen, wenn man bedenkt das es schon die Version 2005 gibt, aber was haben die eigentlich getan seit ACAD2002 ?

Gruß, Jürgen

--------www.pc-ideal.de

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

mapcar
Mitglied
CADmin



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

Beiträge: 1250
Registriert: 20.05.2002

Time flies like an arrow, fruit flies like a banana (Groucho Marx)

erstellt am: 11. Sep. 2004 19:33    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 cadpower2 10 Unities + Antwort hilfreich

Das sehe ich nun genau anders: AutoCAD kämpft mehr mit dem Alterbe, nämlich der Tatsache, dass ansynchrone Attribute überhaupt möglich sind. Ich schätze das so ein, dass diese Möglichkeit nie geplant war, sondern durch mangelnde Sorgfalt bei der Implementation entstanden ist. Abschaffen konnte man diese Möglichkeit nicht mehr, denn man hätte den ganzen Mechanismus nochmal umkrempeln müssen. Also hat man ein ATTREDEF dazugetan, und gut so.

Als VBA/ActiveX integriert wurde, wollte man der Sache nicht noch weiteren Vorschub leisten und hat den Einfüge-Mechanismus eben deshalb so realisiert, dass man gar keine Attribute erzeugen muss/kann, sondern dass AutoCAD automatisch erledigt, und zwar 100% synchron zur Blockdefinition. Ist doch irgendwie nachzuvollziehen...

In ObjectARX geht natürlich alles - das heisst aber auch, dass man da jeden Unsinn realisieren kann. Anders als bei den Lisp- und VBA-Programmierern geht Adesk da wohl davon aus, dass die ARXler immer genau wissen, was sie tun. Auch das ist nachvollziehbar.

Zum Thema "asynchrone Attribute" gibt es hier schon einige Threads, und es wurde auch schon die Meinung verteten, man sollte dieses Thema hier gar nicht diskutieren, um nicht die Anwender auch noch darauf aufmerksam zu machen, dass so etwas überhaupt möglich. In deinem Fall geht es aber nicht darum, Fantasieattribute zu erzeugen, sondern darum, Blöcke nachträglich zu erweitern und die Attribute zu synchronisieren. Und dafür hat AutoDesk ja nun den attsync-Befehl bereitgestellt.

Ein Problem sehe ich eigentlich eher darin, dass viele AutoCAD-Befehle eigentlich nur zugeladene ARX-AddOns sind. Sie widersetzen sich zum großen Teil der Command-Programmierung, sind über BFLÖSCH/BFRÜCK nicht fassbar, (getcname ...) versagt usw. usf. Selbst der Befehl "Rechteck" hat's ja immer noch nicht zum AutoCAD-Befehl geschafft!

Aber nun die gute Nachricht: Hab' inzwischen raus, dass man ATTSYNC doch über (command ...) aufrufen kann! Der Lösungsweg ist also ganz kurz beschrieben folgender:

1. Die neue Attdef zur Blockdefinition hinzufügen
2. Mit (command "attsync" ...) das Attribut am Insert erzeugen
3. Wenn man unbeding einen Wildwuchs haben möchte, das Attdef wieder löschen.

Kleine Überraschung: Als Lösung kommt ein Fünfzeiler(!) heraus:

Code:

(vl-load-com)
(setq *adoc*(vla-get-activeDocument(vlax-get-acad-object)))

(defun addAttribute(eInsert height mode prompt insPt tag value / )
  (vla-addAttribute
    (vla-item(vla-get-blocks *adoc*)(vla-get-name (vlax-ename->vla-object eInsert)))
    height mode prompt (vlax-3d-point insPt) tag value
  )
  (command"attsync""_s"(entlast)"_y")
)


Zum Testen reicht das hier:

Code:

(addAttribute (car(entsel)) 3.5 0 "Wert für neuesAttrib" '(0 0 0) "neuesAttrib" "Ist mir egal")

Irgendein Insert anpicken, schon ist das Attribut dran;-) Das dritte Argument (mode) kann 0 sein oder eine Or-Kombi von

acAttributeModeInvisible
acAttributeModeConstant
acAttributeModeVerify
acAttributeModePreset

Wie immer kein Fertigprogramm, sondern ein Lösungsansatz ohne Errorhandling usw.

Gruß, Axel Strube-Zettler

------------------
(defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man's hat
Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze

[Diese Nachricht wurde von mapcar am 11. Sep. 2004 editiert.]

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


Ex-Mitglied

erstellt am: 12. Sep. 2004 11:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Zitat:
Original erstellt von cadpower2:
Hallo,
ich möchte vier Attribute nachträglich an einen beliebigen Block anhängen, ohne den vorhandenen Block aufzulösen. Ist das ohne FM-Applikation machbar ?

Axel "mapcar" Strube-Zettler hat Dir ja schon die wesentlichen Einschränkungen von AutoCAD in dieser Hinsicht genannt und begründet. IMOIn my opinion = Meiner Meinung nach wäre es schon längst überfällig, in AutoCAD diesen ganzen Attribute-Mist komplett neu zu programmieren. Ich vermute, dass in der Hinsicht wenig getan wird, weil solche Aufgaben doch meistens von Applikationen erledigt werden.

Dabei muss es noch nicht mal kompliziert sein, um dennoch sehr viel leistungsfähiger als der aktuelle Zustand zu sein. Was hältst Du von MTEXT-Elementen, die stets die "Attributwerte" eines anderen Elements anzeigen? Die "Attribute" wären einfache XRECORDs bzw XDATA, die an dem jeweiligen Element hängen, so dass man diese Attribute natürlich auch an andere Elemente als nur an Blockreferenzen hängen kann. Die MTEXT-Attribute könnten dabei sehr flexibel gestaltet werden, und sie könnten auf sehr flexible Weise in der Zeichnung oder in einer externen Datenbank verwaltet werden.

Ich hab' so eine Applikation fast fertig - sie wäre nur eine geringfügige Erweiterung des Moduls DynaText meiner ArchTools. Du kannst Dir das ja schon mal ansehen, und ich mache mich gleich an die Arbeit, DynaText entsprechend aufzubohren :-)

Gruß
Tom Berger

------------------


mapcar
Mitglied
CADmin



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

Beiträge: 1250
Registriert: 20.05.2002

Time flies like an arrow, fruit flies like a banana (Groucho Marx)

erstellt am: 12. Sep. 2004 12: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 cadpower2 10 Unities + Antwort hilfreich

Nee, Tom,

jetzt bist du irgendwie auf dem falschen Dampfer...

Es geht doch wohl darum, Attribute zu einem Insert hinzuzufügen, ohne dass sich Ename/Handle ändern, damit PITCUP die Blöcke immer noch als 'applikationseigen' erkennt und die entspr. Referenzen nicht zerstört werden. Da bringt es doch nix, die Blöcke durch DynaTexte zu ersetzen. Willst du auch PITCUP noch aufbohren, damit es die Texte erkennt?

Abgesehen davon: Ich habe ja nicht nur gewisse Einschränkungen in AutoCAD beschrieben, sondern auch dargelegt, warum ich diese Einschränkungen teilweise für durchaus sinnvoll halte. Was soll das ganze Attributkonzept denn, wenn in den Zeichnungen nur noch 'wilde' Attribute sind, an jedem Insert möglichst andere? Ein geregeltes Auslesen (attin, attout usw.) wird damit doch völlig unmöglich.

Wie dem auch sei: Das Problem ist doch schon gelöst, es funktioniert doch mit dem Anfügen der Attribute. 

@cadpower2: Wenn du mit den Lisp-Zeilen nicht klarkommst, einfach nochmal fragen.

Gruß, Axel-Strube-Zettler

------------------
(defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man's hat
Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze

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

Brischke
Ehrenmitglied V.I.P. h.c.
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

erstellt am: 12. Sep. 2004 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 Nur für cadpower2 10 Unities + Antwort hilfreich

@Tom Berger,

Die Aufgabe einmal zusammengefasst:
Die Rahmenbedingungen:
1) Es geht in diesem Beitrag um von einer Applikation (PIT) verwaltete Blöcke.
2) Die Daten sollen in einen Block mit Attributen bestimmter Namensgebung. Diese Struktur ist die einzuhalten, damit die Daten in ein FM-System übernommen werden können.

Die Frage:
Wie bekommt der Fragende das in den Griff um nachträglich diese Struktur zu erhalten?

Frage speziell an Tom Berger
Was, außer ein paar einleitender Worte für die Werbung eines deiner Produkte, hat Dein Beitrag Konstruktives?
Falls du diese Frage beantworten kannst, dann tue dies bitte auch vor dem Hintergrund, dass mapcar bereits eine funktionierende Lösung für die ursprüngliche Frage gepostet hat! Tue dies bitte auch unter Berücksichtigung der Beiträge in diesem Thread, speziell die Beiträge von Wyko und Angelika Hädrich.

Und ein Hinweis gleich vorweg: Hier auf CAD.de gibt es keine Filterfunktion für bestimmte Mitglieder.

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


Ex-Mitglied

erstellt am: 12. Sep. 2004 13:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Zitat:
Original erstellt von Brischke:
Frage speziell an Tom Berger[/b]
Was, außer ein paar einleitender Worte für die Werbung eines deiner Produkte, hat Dein Beitrag Konstruktives?

Ich habe eine mögliche allgemeine Lösung für Unzulänglichkeiten von Attributen diskutiert. Dass hier eine Lösung gefragt war, die die von einer anderen Applikation benötigte Struktur beibehält, war mir allerdings nicht klar. Werbung im Beitrag habe ich keine gemacht, denn ich habe ja gar keine fertige Lösung für diese Sache. Aber ich habe mich gleich an die Arbeit gemacht, BETTERATT zu programmieren, weil ich da Bedarf sehe.

Zitat:

Falls du diese Frage beantworten kannst, dann tue dies bitte auch vor dem Hintergrund, dass mapcar bereits eine funktionierende Lösung für die ursprüngliche Frage gepostet hat! Tue dies bitte auch unter Berücksichtigung der Beiträge in diesem Thread, speziell die Beiträge von Wyko und Angelika Hädrich.

Was hat dies mit diesem Thread und mit meinem Beitrag zu tun?

Zitat:

Und ein Hinweis gleich vorweg: Hier auf CAD.de gibt es keine Filterfunktion für bestimmte Mitglieder.

Schade eigentlich

Tom Berger

------------------



Ex-Mitglied

erstellt am: 12. Sep. 2004 13:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Zitat:
Original erstellt von mapcar:
Nee, Tom,

jetzt bist du irgendwie auf dem falschen Dampfer...

Es geht doch wohl darum, Attribute zu einem Insert hinzuzufügen, ohne dass sich Ename/Handle ändern, damit PITCUP die Blöcke immer noch als 'applikationseigen' erkennt und die entspr. Referenzen nicht zerstört werden.


Das war mir tatsächlich nicht ganz klar.

Zitat:

Abgesehen davon: Ich habe ja nicht nur gewisse Einschränkungen in AutoCAD beschrieben, sondern auch dargelegt, warum ich diese Einschränkungen teilweise für durchaus sinnvoll halte. Was soll das ganze Attributkonzept denn, wenn in den Zeichnungen nur noch 'wilde' Attribute sind, an jedem Insert möglichst andere? Ein geregeltes Auslesen (attin, attout usw.) wird damit doch völlig unmöglich.

Das hast Du jetzt falsch verstanden. DynaText ist nicht in der Lage, Attribute zu ersetzen - es macht genau genommen eigentlich das genaue Gegenteil von Attributen (Attribute: individuelle Werte für jede Blockreferenz, DynaText: globale Werte für alle DynaTexte). Nur das Prinzip von DynaText ist übertragbar: MTEXTE mit Variablen zu verwenden.

Ich bin grade schon am Programmieren: einer Blockdefinition werden dabei Daten angehängt, die wie die AttDefs funktionieren - allerdings sind diese natürlich jederzeit editierbar. Beim Einfügen eines solchen Blocks werden passend dazu auch über Textschablonen MTEXTe erzeugt, die diese Attribute referenzieren. Die lästigen Probleme mit der Reihenfolge sind damit obsolet, die Attributdefinition kann jederzeit geändert werden, der Attributtext selbst kann jederzeit modifiziert werden, er kann eine beliebige editierbare Auswahl der Attribute anzeigen, ein Attribut kann auch mehrfach angezeigt werden, man kann einem Block nachträglich so viele Attributtexte zuweisen wie man möchte, man kann die Attributtexte wie MTEXTe formatieren ...

Zusätzlich kann man auch jedem beliebigen Element solche Attribute zuweisen, und man kann Attribut-Variablen und Dynatext Variablen in den Attributtexten mischen.

Zitat:

Wie dem auch sei: Das Problem ist doch schon gelöst, es funktioniert doch mit dem Anfügen der Attribute. 

Ja. Ich hab' ja keine Lösung vorgeschlagen, sondern eine Applikation, die die AutoCAD-Attribute ersetzt :-)

Gruß
Tom Berger

------------------


cadpower2
Mitglied
selbstständig

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

Beiträge: 3
Registriert: 09.09.2004

AutoCAD 2002i
Pentium 4
Windows XP
1GB RAM
Grafikkarte: Radeon 9000 Family

erstellt am: 14. Sep. 2004 20:46    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 Leute,

toll, das zum Problem soviel Feedback kommt. Leider verstehe ich oft nicht so richtig was mit manchen Vorschlägen gemeint ist. Ich habe doch keine Ahnung von der Programmierung und Lisp.
Aber ich probiere jetzt den Fünfzeiler.
Danke für Eure Hilfe.

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

kbm
Mitglied
Freiberufl. Konstrukteur


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

Beiträge: 78
Registriert: 14.04.2003

ACAD200X, liNear, Modulcad, XPCore2Duo4GBNEXOC-OS705

erstellt am: 15. Sep. 2004 15: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 cadpower2 10 Unities + Antwort hilfreich

Wenn du mit PIT arbeitest, kannst Du beliebig viele Attribute an egalwasfürblöcke anbauen, auch nachträglich. Ist bei PIT eingebaut -> FM-Attribute anhängen/entfernen. Definiert wird in Tabelle zublkatt.tbl
Noch fragen ? Dann los...

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

Juergen55
Mitglied
Elektrotechniker


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

Beiträge: 282
Registriert: 08.03.2001

AutoCAD2010, EPlan P8 2.8.1, Core I5 2400 3,1GHZ, 8GB Arbeitsspeicher

erstellt am: 15. Sep. 2004 21:06    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 cadpower2 10 Unities + Antwort hilfreich

-

[Diese Nachricht wurde von Juergen55 am 15. Sep. 2004 editiert.]

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

mapcar
Mitglied
CADmin



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

Beiträge: 1250
Registriert: 20.05.2002

Time flies like an arrow, fruit flies like a banana (Groucho Marx)

erstellt am: 16. Sep. 2004 11: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 cadpower2 10 Unities + Antwort hilfreich

Hi Cadpower2,

ich weiss ja nicht, ob's nun klappt oder nicht, oder ob es doch mit PITCUP geht...

Jedenfalls bin ich eben zufällig auf einen Bug-Report (495148) gestoßen. Es kann sein, dass (command "attsync" ...) nach 4 Aufrufen zu einem Absturz führt. Der Fehler soll in 2002 und 2004 auftreten, ich konnte ihn aber unter 2002 nicht reproduzieren. Die Version "2002i", die du in deinem Profil angibst, gibt es übrigens nicht.

Falls der fehler bei dir auftritt, gibt es noch eine etwas andere Lösung.

Gruß, Axel Strube-Zettler

------------------
(defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man's hat
Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze

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