| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: block tauschen gc2 (1988 mal gelesen)
|
gmk Mitglied Dipl.-Ing.(FH) Vermessung
Beiträge: 669 Registriert: 23.10.2002 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM
|
erstellt am: 14. Okt. 2003 11:42 <-- editieren / zitieren --> Unities abgeben:
hi! tausche mit folgender Zeile einen Block mit attribute (setq as(subst (cons 2 "1") (assoc 2 as)as)) blockdarstellung (geometrie) wird getauscht, att-werte bleiben erhalten. (wie gewünscht) wenn ich jetzt aber die att-werte ändern möchte bekomme ich folgende fehlermeldung: Befehl: _.eattedit Wählen Sie einen Block: 223.684189,166.253959,0.000000 Der ausgewählte Block verfügt über keine bearbeitbaren Attribute. wo liegt der fehler?? ciao georg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 14. Okt. 2003 12:15 <-- editieren / zitieren --> Unities abgeben: Nur für gmk
Hallo, mit dem Austauschen des Gruppencodes 2 setzt du nur einen neunen Namen ein. Das Austauschen eines Blockes mit Attributen sollte man, möchte man den Aufwand im Rahmen halten, mit (command "_insert"..) machen. Dazu müssen dann natürlich die Attributwerte, ~Position, ... alles zwischen gespeichert werden. Ist immer noch ein ganz schöner Aufwand, aber es funktioniert. Ich habe das bereits in den verschiedensten Varianten realisiert, wenn du also Fragen hast ... Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD NEU: AutoLISP- Projektschulung NEU: Praxisorientierte Schulungen und Workshops durch die bekannten CAD.de Moderatoren AutoCAD, AutoCAD LT, AutoCAD Mechanical, Mechanical Desktop, Architectural Desktop Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gmk Mitglied Dipl.-Ing.(FH) Vermessung
Beiträge: 669 Registriert: 23.10.2002 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM
|
erstellt am: 14. Okt. 2003 13:13 <-- editieren / zitieren --> Unities abgeben:
die attr. sollen nicht getauscht werden. d.h. die zeile macht genau das was ich will, ich möchte nur die geometrie tauschen (was ich mit dem namen-tausch auch erreiche). das problem ist nur dass acad nicht mehr erkennt, dass die alten attr. zur neuen geometrie gehören. tausche ich übrigens den block mit einem block mit attr. funzt der _.eattedit befehl 1a. kleines bsp. block 1 = block mit attr. block 2 = block ohne attr. block 3 = block mit attr. tausch 1 mit 2 -> geometrie geändert, alte attr. werden nicht erkannt tausch 1 mit 3 -> geometrie geändert, alte attr. werden erkannt. liegt's evtl. an der blockdefinition?? (tblsearch "block" ......) ciao georg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 14. Okt. 2003 13:53 <-- editieren / zitieren --> Unities abgeben: Nur für gmk
Hallo Georg, du bist dir schon bewußt, dass du mit dieser Vorgehensweise den Grundstein für viele Probleme und Zeichnungsabstürze selber legst. Tausche die Blöcke aus, oder wenn du die Geometrie ändern willst, dann ändere die Geometrie in der Blockdefinition! Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD NEU: AutoLISP- Projektschulung NEU: Praxisorientierte Schulungen und Workshops durch die bekannten CAD.de Moderatoren AutoCAD, AutoCAD LT, AutoCAD Mechanical, Mechanical Desktop, Architectural Desktop Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gmk Mitglied Dipl.-Ing.(FH) Vermessung
Beiträge: 669 Registriert: 23.10.2002 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM
|
erstellt am: 14. Okt. 2003 14:27 <-- editieren / zitieren --> Unities abgeben:
hi holger! "du bist dir schon bewußt, dass du mit dieser Vorgehensweise den Grundstein für viele Probleme und Zeichnungsabstürze selber legst." versteh ich nicht? gc2 macht doch nichts anderes als dass es dem "insert" sagt: schau in der blocktabelle nach wie die geometrie aussieht. (oder hab ich hier einen denkfehler??) welchen einfluss hat dann die blocktabelle auf das element insert (außer der darstellung auf dem bildschirm)? dass wir uns nicht falsch verstehen: ich wehre mich nicht gegen das einfügen eines neuen blocks aber ich check nicht ganz warum es so nicht auch funzt! ciao georg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 14. Okt. 2003 15:13 <-- editieren / zitieren --> Unities abgeben: Nur für gmk
Hallo Georg, Ein INSERT ist ein Verweis auf einen BLOCK, die Darin enthaltenen ATTDEF's werden beim Einfügen kopiert und sind dann ATTRIB's. Im BLOCK sind die Geometrieelemente und auch als Besonderheit die variablen Elemente, die ATTDEF's, gespeichert. Mit Deiner Vorgehensweise schaffst du da Unterschiede, die Acad manchmal eben nicht so sehr mag. Egal was du machs, achte immer darauf, dass die Blockdefinition die gleichen Daten beinhaltet wie die Insert's, ansonsten fällst du damit auf die Nase. Um das sicherzustellen ist eben ein (command "_insert" ..) der einfachste, aber auch sicherste Weg. Bei Fragen ... Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD NEU: AutoLISP- Projektschulung NEU: Praxisorientierte Schulungen und Workshops durch die bekannten CAD.de Moderatoren AutoCAD, AutoCAD LT, AutoCAD Mechanical, Mechanical Desktop, Architectural Desktop Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marvin101010 Mitglied ingenieur der architektur ohne diplom, bauzeichner ohne lehre, cad-admin ohne wissen :-)
Beiträge: 562 Registriert: 22.01.2003 Pentium 4 Windows XP Autocad 2002 Autocad 2002LT + Extender ADT 3.3 ArchiCAD
|
erstellt am: 14. Okt. 2003 15:17 <-- editieren / zitieren --> Unities abgeben: Nur für gmk
muss holger recht geben... eine der wichtigsten regeln bei autocad: "attdefs" und "attribs" sind irgendie anders! also versuch problemen mit ihnen aus dem weg zu gehen. hätte ich das von anfang an getan, hätte ich vieeel zeit gespart. dem holger schmerzt jedes "command" in tiefster seele. geh also davon aus, dass es hier wirklich sinn macht ------------------ .......good vibrations make the world go round Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dabrunz Mitglied
Beiträge: 127 Registriert: 28.05.2003
|
erstellt am: 15. Okt. 2003 10:27 <-- editieren / zitieren --> Unities abgeben: Nur für gmk
Zitat: Original erstellt von Brischke: [..] Mit Deiner Vorgehensweise schaffst du da Unterschiede, die Acad manchmal eben nicht so sehr mag. Egal was du machs, achte immer darauf, dass die Blockdefinition die gleichen Daten beinhaltet wie die Insert's, ansonsten fällst du damit auf die Nase. [..]
Da muss ich aber mal energisch widersprechen. Attibute sind Bestandteile des Inserts und Attdefs gehören in einen Block. So weit so gut. Der einzige Zusammenhang entsteht beim Einfügen des Blocks, wenn er _.insert-Befehl Verwendung findet, denn hier wird das Insert erzeugt und aus den AttDefs werden Attribute abgeleitet. Das bringt Bequemlichkeit - das war's aber auch schon. Ein unmittelbares Problem kann ich bei Austauschen von Blöcken nicht erkennen - insbesondere hänge ich auch an beliebige Inserts Attribute 'ran, wenn ich da welche brauche - unabh. von der Block-Definition. Zu beachten ist hierbei einzig, welche AutoCAD-Befehle auf worauf zugreifen. "eattedit" greift auf die Block-Definition zu, um einige Eigenschaften aus den AttDefs zu gewinnen. Zwangsläufig taugt der nix, wenn die Block-Definition keine AttDefs (oder die falschen) enthält. Es gibt aber auch Befehle, die nur mit den Attributen arbeiten, wie z.B. "-attedit" und da gibt's dann auch keine Komplikationen. [..] viele Probleme und Zeichnungsabstürze [..] werden meiner Kenntnis nach jedenfalls nicht durch Attribute an Inserts erzeugt, deren Blöcke keine AttDefs aufweisen. Da warte ich auf den Beweis der Behauptung. Achim Dabrunz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 15. Okt. 2003 10:37 <-- editieren / zitieren --> Unities abgeben: Nur für gmk
Hi Achim, ich habe in einem Tool die Attribute eines Inserts gelöscht. Danach war die Zeichnung nicht mehr zu gebrauchen. Das habe ich auf die Unterschiede zwischen Definition und Insert zurück geführt. Aus dieser Erfahrung heraus, ist es für mich zum Gesetz geworden, die Blockdefinition und die Inserts auf dem gleichen Stand zu halten, was die Anzahl der Attdefs/Attribs angeht. Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD NEU: AutoLISP- Projektschulung NEU: Praxisorientierte Schulungen und Workshops durch die bekannten CAD.de Moderatoren AutoCAD, AutoCAD LT, AutoCAD Mechanical, Mechanical Desktop, Architectural Desktop Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 15. Okt. 2003 11:10 <-- editieren / zitieren --> Unities abgeben: Nur für gmk
Schonmal an die Leute gedacht die evtl. später mit der Datei arbeiten Müssen ??? - in einer deinen Dateien ist keine klare Struktur mehr vorhanden. - Das ganze hat ja auch nicht unbedingt was mit Lisp zutun da man diese Effekte ja auch händisch hinbekommt (versaut) . - Schön das sich aber jmd zu einer solchen Unsitte bekennt . Der eigentlich Nutzen von Blöcken ist zum Teil dahin... ------------------ - Sebastian Mattis - CAD.de-User Treffen JEDEN Tag ! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dabrunz Mitglied
Beiträge: 127 Registriert: 28.05.2003
|
erstellt am: 15. Okt. 2003 14:47 <-- editieren / zitieren --> Unities abgeben: Nur für gmk
Hi Holger. [..] ich habe in einem Tool die Attribute eines Inserts gelöscht. Danach war die Zeichnung nicht mehr zu gebrauchen. Das habe ich auf die Unterschiede zwischen Definition und Insert zurück geführt. [..] Interessant. Hast du noch ein paar Einzelheiten über dieses Tool? Würde ich mir gerne mal anschauen. Achim Dabrunz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gmk Mitglied Dipl.-Ing.(FH) Vermessung
Beiträge: 669 Registriert: 23.10.2002 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM
|
erstellt am: 15. Okt. 2003 15:09 <-- editieren / zitieren --> Unities abgeben:
hi holger! [..] ich habe in einem Tool die Attribute eines Inserts gelöscht. Danach war die Zeichnung nicht mehr zu gebrauchen. Das habe ich auf die Unterschiede zwischen Definition und Insert zurück geführt. [..] kann ich mir nicht vorstellen daß das die zeichnung beeinflußt. habe gerade folgendes probiert: 1.block xy ohne attr. in zeichnung1 erzeugt. 2.block xy mit attr. in zeichnung2 erzeugt. 3.block xy aus zeichnung 2 in zeichnung 1 über zwischenablage eingefügt. geometrie des blocks aus zeichnung2 wird angepaßt, attr bleiben erhalten (keine fehlermeldung). 4.zeichnung prüfen Befehl: _audit Gefundene Fehler beheben? [Ja/Nein] <N>: 2 Blöcke geprüft Durchgang 1 5 Objekte geprüft Durchgang 2 5 Objekte geprüft (5.attr. sind in zeichnung1 mit _.eattedit nicht ansprechbar, jedoch mit attedit wie von achim bereits angesprochen.) ciao georg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 15. Okt. 2003 16:38 <-- editieren / zitieren --> Unities abgeben: Nur für gmk
|
gmk Mitglied Dipl.-Ing.(FH) Vermessung
Beiträge: 669 Registriert: 23.10.2002 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM
|
erstellt am: 16. Okt. 2003 10:19 <-- editieren / zitieren --> Unities abgeben:
hi sebastian! ...- in einer deinen Dateien ist keine klare Struktur mehr vorhanden. das ist ja wohl eher ansichtssache wie die beiträge von holger und achim beweisen. - Das ganze hat ja auch nicht unbedingt was mit Lisp zutun da man diese Effekte ja auch händisch hinbekommt (versaut) . richtig: siehe meinen letzten beitrag - Schön das sich aber jmd zu einer solchen Unsitte bekennt.
mach ich gerne. wer nichts probiert kann auch nichts dazulernen. (... wo das "rumschrauben" doch soviel spaß macht!!) ciao georg
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 16. Okt. 2003 11:29 <-- editieren / zitieren --> Unities abgeben: Nur für gmk
Ich weis ja leider nicht mit welchen Hirnen (Mitarbeiter/Kunden) du zusammenarbeitest, aber den Schnitt der ACAD-Nutzer den ich kennenlerne fällt schon in Starre wenn man 1 Obj. anpickt und 5 markiert sind, es kein Block (oder Xref) ist, einfach weil sie keine Gruppen kennen. Was passiert bei dir wenn man _attredef oder _attsync benutzt ? Alles im A... Die Möglichkeit eine Blockdef. und alle Inserts wieder auf einen Stand zu bringen wäre ab ACAD2002 einigermaßen gegeben, davor aber praktisch unmöglich... (Ab 2002 kann man mit "_EAttExt" alle Attributwerte auslesen lassen ohne die Attributnamen zu kennen, dann müßte eine neue Blockdef. erzeugt werden in der alle Attdef(namen) vorhanden sind, dann die Insert´s syncronisieren - in AC2000 oder früher hat man praktisch garkeine chance drauf) ------------------ - Sebastian Mattis - CAD.de-User Treffen JEDEN Tag ! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |