Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  zusätzl.Attribut an Insert

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:  zusätzl.Attribut an Insert (687 mal gelesen)
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: 15. Jul. 2008 10: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

Grüß Euch

Aus einer DWG sind Symbole (Inserts) in eine andere zu übernehmen.
Allerdings hat der Zielblock ein Attribut mehr.
Attsync geht nicht, da die vorhandenen Attribute (Position, Drehung, etc.) nicht verändert werden dürfen.

Ich dachte, mit

Code:

(entmake (list
'(0 . "ATTRIB")
'(1 . "")
'(2 . "ABCD")
'(7 . "Standard")
'(8 . "LayerA")
'(10 1.58459 -0.976213 0.0)
'(11 0.0 0.0 0.0)
'(40 . 1.5)
'(41 . 0.6)
'(50 . 0.0)
'(51 . 0.0)
'(62 . 7)
'(67 . 0)
'(70 . 0)
'(71 . 0)
'(72 . 0)
'(73 . 0)
'(74 . 0)
'(100 . "AcDbAttribute")
'(100 . "AcDbEntity")
'(100 . "AcDbText")
'(210 0.0 0.0 1.0)
'(330 . <Objektname: 7999e168>;)
))


könnts funktionieren, aber das Ergebnis ist:
Code:
; Fehler: Überzählige CDR-Exemplare in Listenpaar mit Punkttrennung in Eingabe

Ohne

Code:
'(330 . <Objektname: 7999e168> )

gäbs zwar keine Fehlermeldung, aber wie kommt das Attribut dann an das richtige INSERT?

Bitte helft mir runter vom Schlauch - oder bin ich damit komplett auf dem Holzweg

(Übrigens, der ";" am Ende der ersten 330er Zeile stammt nicht von mir)

------------------
Schöne Grüße
Ernst

www.geopaint.at

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

Ex-Mitglied
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. Jul. 2008 11:21    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 Geos 10 Unities + Antwort hilfreich

Attribute kannste praktisch bloß bei der Blockerstellung mit ranpappen.. aber für dein Problem:
Wie wäre es mit einem AttsyncX, das die (ausgewählten) Eigenschaften der bestehenden Attribute so läßt, wie sie sind?
-->Siehe hier

------------------
  - Thomas -
"Bei 99% aller Probleme 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

archtools
Mitglied



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

Beiträge: 823
Registriert: 09.10.2004

Entwickler für AutoCAD, BricsCAD u.a., alle Systeme

erstellt am: 15. Jul. 2008 18:58    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 Geos 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Geos:
Ohne
Code:
'(330 . <Objektname: 7999e168> )

gäbs zwar keine Fehlermeldung, aber wie kommt das Attribut dann an das richtige INSERT?

Attribute sind noch ziemlich alte Entities aus den Anfängen der AutoCAD Entwicklung, und da ist noch recht wenig an Neuem eingeflossen. Zu der Zeit war die Datenbank einer AutoCAD-Zeichnung streng seriell aufgebaut - solche Dinge wie Gruppen, Xdata oder Reaktoren gab's damals noch nicht, mit denen beliebige Zeichnungselemente in Abhängigkeit zueinander gebrahct werden konnten.

Bei Attributen ist es noch immer so, dass diese in der Zeichnungsdatenbank UNMITTELBAR hinter der Blockreferenz stehen müssen, zu der sie gehören - die Bindung von Attributen an ein Insert geschieht also auf die denkbar primitivste Weise. Deshalb kannst Du an eine bestehenden Blockreferenz keine Attribute mehr anhängen.

Natürlich gibt's Tricks und Workarounds, aber wirklich perfekt ist keiner. Im Prinzip musst Du den vorhandenen Block löschen und mit denselben Daten einen neuen erzeugen, an den Du dann die Attribute anhängst. Wenn Du die Xdata des ursprünglichen Inserts mit übernimmst, dann wirst Du 99,9% aller möglichen Problemfälle mit abgedeckt haben. Schwieriger wird's mit Reaktoren, die an einer Blockreferenz hängen können. Persistente Reaktoren kannst Du noch ermitteln, aber persistente Reaktoren sind Gift, das kaum ein Programmierer anfasst. Nicht-persistente Reaktoren an einem Insert kannst Du mit vertretbarem Aufwand nicht ermitteln, deshalb kann es passieren, dass irgend welche Applikationen (einschließlich AutoCAD) plötzlich Probleme bereiten. Das wird selten der Fall sein, auszuschließen ist es aber nicht.

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: 15. Jul. 2008 19:11    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 Rabbit

ATTREQ nützt mir nix - die Inserts sind schon vorhanden.

Servus Thomas

Wenn ich's richtig verstehe, hast Du die Attributdaten gesichert - attsync ausgeführt - und dann die Attribute "wiederhergestellt". Also 2 x alle INSERTs durchlaufen?

Wäre es nicht einfacher/schneller (bei mehreren tausend INSERTs), die Daten eines INSERTs zu lesen, altes löschen, neues INSERT entmaken? Oder spricht da was dagegen?

------------------
Schöne Grüße
Ernst

www.geopaint.at

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: 15. Jul. 2008 19: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

Hallo Archtools

Wie ich grad seh, hast Du meine letzte Frage beantwortet, bevor ich sie gestellt habe.

Danke Euch, jetzt ist einiges klarer


------------------
Schöne Grüße
Ernst

www.geopaint.at

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