Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  (dxf 5) Handle ändern wg. Attout/Attin

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:  (dxf 5) Handle ändern wg. Attout/Attin (1173 mal gelesen)
cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 05. Jun. 2003 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 Gemeinde...

Habe mir folgende Aufgabe gestellt und komme nicht weiter...
( genauer: selbst der Anfang fehlt )

Es geht um die Nutzung der ET-Befehle Attin/Attout die sich am
Handle (dxf 5) orientieren - mein Problem, welches wohl auch andere haben ist:

Die Blockreferenz (Stempel) die ich aussauge hat in mehreren Plänen das gleiche
Handle ! - Die einzige Möglichkeit die ich kenne den Namen/Wert zu ändern ist
das Objekt neu einzufügen (zB copyclip / pasteclip) ,dumm ist dabei das ACAD
immer nach dem gleichen Schema den Wert vergibt- wenn ich also in allen
betroffenen Dateien den Block 1x neu einfüge so hat sich der Wert zwar geändert,
aber immer auf den (wieder) gleichen Wert, bringt mir also nichts.

;;;zum besseren Verständnis:
habe eine Datei (Plot-Layout) 30x kopiert (30 Etagen) - nun hat die
Blockreferenz "Stempel" welche 1x im Plan vorhanden ist, in jeder der
30 Dateien das gleiche Handle. Wenn ich mir mit attout eine Datei erstelle,
die mir die Attributwerte der Bl.Referenz  Stempel aus allen Dateien liefert,
kann ich die Werte nicht zurückschreiben lassen wegen dem genannten Problem !


F R A G E :

welche Möglichkeiten gibt es das Händle eines Objektes zu ändern und 2.
-welche Ideen könnt ihr mir mit auf den Weg geben ?
es sollte halt möglichst was universelles sein, da diese Problematik
immer wieder vorkommt...

Hoffend auf Antwort: Sebastian Mattis

cadffm

------------------
Gruß Sebastian , Ffm
Der Feind des Guten ist das Bessere.

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

CADwiesel
Moderator
CAD4FM UG




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

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 05. Jun. 2003 13: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 cadffm 10 Unities + Antwort hilfreich

Hai

Ich denke Dein Vorhaben wird sich so nicht ändern lassen, Da du meines Wissens NICHT den GC 5 ändern kannst.

Du bist doch mit sicherheit viel schneller Fertig, wenn du dir ein eigense attout/attin prog schreibst.
Das kannst du dann ja genau auf Deine Bedürfnisse zurechtschnitzen.
Zu dieser Geschichte gibt's ja auch einiges an Bausteinen im Netz :-)

------------------
Gruß
CADwiesel

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 05. Jun. 2003 14: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

Hi Martin,

was du mir alles zutrauen tust .... (kopfschüttel)
-aber evtl kann ich ja "ein bestehendes Programm" umschreiben,
welches dann nach meinen Wünschen läuft !


Dafür benötige ich aber noch eine Aussage !!!

In (m)einem Buch steht geschrieben:

"Während sich Entity-Namen von ACAD-Sitzung zu ACAD-Sitzung ändern können,
bleiben die Referenzbezeichnungen immer dieselben"

Mir ist bisher noch nicht aufgefallen das der gc -1 sich ändert - wann also
ändert er sich - oder ist es einfach Bullshit was in dem Buch steht ?
---------------------------------------------------------------
Hatte nun daran gedacht das ganze an gc -1 zu orientieren, der variiert mehr...

geändert: gc 0  in gc -1

------------------
  Gruß Sebastian , Ffm
Der Feind des Guten ist das Bessere.

[Diese Nachricht wurde von cadffm am 05. Juni 2003 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: 05. Jun. 2003 16:04    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 cadffm 10 Unities + Antwort hilfreich

Hi Sebastian,

ich verstehe dein Problem nicht ganz - der Handle ist doch extra dafür eingeführt worden, damit Eindeutigkeit herrscht. Es gibt jeden Handle in jeder Zeichnung nur einmal, und wenn du ein Entity löschst, bleibt der Handle trotzdem belegt - er wird nicht wiederverwendet.

Wenn du mit Attout rausschreibst, hast du doch eine eindeutige Zuordnung: E4BDDF aus Z. 1 ist was anderes als E4BDDF aus Z. 2 usw., und bei Attin darfst du ja die Textdateien auch nicht verwechseln. Wenn du die Daten aus den Einzelzeichnungen parallel verarbeiten willst, kannst du im externen Programm ja 1-E4BDDF, 2-E4BDDF usw. draus machen und die Zeichnungsnummer vor dem attin wieder abtrennen.
Das ist doch das Selbe wie die Ortsvorwahl beim Telefon.


Die Handles kann man jedenfalls nicht ändern, und das ist gut so. Und mit den Enamen, das solltest du ganz schnell vergessen. Das sind letztendlich bloss benannte Speicherstellen. Und es ist auch mit Bedacht so eingerichtet, dass man auch da nicht manipulieren kann: Alles in Lisp, was in der Form <...: ...> erscheint, ist manipulationsgeschützt. Wesentlich dabei ist die Leerstelle nach dem Doppelpunkt - die macht ein read usw. unmöglich. Also auch da nix zu holen, und selbst wenn das gelänge, dann hättest du den POKE-Befehl vom C64 nach Acad portiert.

Also: Über Datenstrukturen und Benennungskonventionen nachdenken - die Mittel in AuoCAD reichen aus.

Gruss, Axel

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

Meine AutoLisp-Seiten
Meine private Homepage
Mein Angriff auf dein Zwerchfell
Mein Lexikon der Fotografie
Mein gereimtes Gesülze
Meine Überzeugung...

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 05. Jun. 2003 16: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

Danke Axel,

werde darüber nachdenken .

Hier mal eine Übersicht über mein bisheriges Vorgehen:

1.) per script attout über 30 Dateien laufen lassen.

  ---> nun habe ich 30 txt-Dateien mit je einem Datensatz
(weil ich attout nur auf einen bestimmten Block pro Datei anwende)

2.) nun die Dateien zusammenführen zu einer: copy *.txt c:\gesamt.txt
  ---> jetzt habe ich eine Datei mit allen Datensätzen.

3.) Attributwerte ändern
  --->Sinn dieser Prozedur

4.) via Script die Attributwerte zurück in Datei schreiben


---break-----

Hier habe ich nun das Problem- attin wertet jede Zeile mit dem richtigen
Handle aus- Da der Block in Ebene (zB. 01-30 das gleiche Handle hat
werden also zuerst der 1. Datensatz in die Datei zurückgeschrieben, dann
wird der 1.DS mit dem 2.Datensatz überschrieben (gleiches Handle). Nun
überschreibt man dies mit dem 3.  usw usw.

Also steht später überall der gleich DS drin, nämlich der Letzte in der
"attout" Datei.


werde mir Gedanken machen - danke an alle, (P.S.: wird etwas dauern)

------------------
Gruß Sebastian , Ffm
Der Feind des Guten ist das Bessere.

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

CADwiesel
Moderator
CAD4FM UG




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

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 05. Jun. 2003 17: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 cadffm 10 Unities + Antwort hilfreich

sach mal - wie oft gibt's denn den zu ändernden Block in der Zeichnung?

und soll denn in den Attributen aller gleichnamigen Blöcken das gleiche rein?

Wenn es 'nur' um globales Ausfüllen von Att in Blöcken geht, mach das doch mit entmod
Such über 'nen ssget AWS alle betreffenden Blöcke raus, geh mit entnext in die Teile Rein, und ersetze Die Attributwerte durch gen neuen Wert.
Du kannst ja vorher 'ne ascii-datei erstellen, worin die Attributnamen mit den neuen Werten stehen. Die liest du per Read-line ein und vergleichst die Attribute mit bspw. wcmatch. Bei übereinstimmung wird's Alte durch's Neue ersetzt. Vergiss entmod am ende nicht.

------------------
Gruß
CADwiesel

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 06. Jun. 2003 07: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

hey Wiesel,

da sind ein paar Schlagwörter drin mit denen ich arbeiten kann !

- Pro Datei wird nur ein Block "gesaugt" - der Name ist Stempel
  und soll hierbei der Schriftkopf sein...

Ich meld mich die Tage wieder...

------------------
Gruß Sebastian , Ffm
Der Feind des Guten ist das Bessere.

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