| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Block nachträglich annotativ machen (3421 mal gelesen)
|
lcad-maik Mitglied Dipl-Ing. FH
Beiträge: 37 Registriert: 29.09.2004 AutoCAD bis 2012 ACA 2008/2011/2012 pit 2008/2011/2012
|
erstellt am: 07. Okt. 2008 16:18 <-- editieren / zitieren --> Unities abgeben:
Hallo Ich versuche mit Hilfe eines einzigen Befehles einen namentlich bekannten Block nachträglich mit der Funktionalität der Maßstabs-Beschriftung annotativ zu machen, aber mir fehlt ein entscheidender kleiner/großer Schritt. Händisch funktioniert es folgendermaßen: - Block markieren - über Kontextmenü den Block-Editor aufrufen - in der Eigenschaftenpalette bei Block > Beschriftung > Ja setzen - Blockeditor schließen mit Speichern Wenn ich nun aber mein gebasteltes Makro verwende, geht es nicht: ^C^C_-bedit;blocknamexyz;eigändr;alle;;b;j;;_bsave;_bclose; Es werden nur die im Block verwendeten Attribute/Texte annotativ, nicht aber nur der Block selber wie bei der händischen Umstellung. Gibt es eine Möglichkeit die händische Umstellung mit einem Makro nachzubilden? Wie nennt sich die entscheidende Funktion, um den gewollten Wert in den Blockeigenschaften ändern zu können? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HeCader Mitglied
Beiträge: 514 Registriert: 01.03.2007
|
erstellt am: 08. Okt. 2008 09:18 <-- editieren / zitieren --> Unities abgeben: Nur für lcad-maik
Hallo, eine einfache zündende Idee fehlt mir leider auch - deshalb folgender Vorschlag (müßte dann in ein Makro umgesetzt werden): Block mit WBLOCK rauschreiben, als Zeichnung Annotativ machen (ANNOTATIVEDWG=1), zurückschreiben. ------------------ Beste Grüße HeCader Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lcad-maik Mitglied Dipl-Ing. FH
Beiträge: 37 Registriert: 29.09.2004 AutoCAD bis 2012 ACA 2008/2011/2012 pit 2008/2011/2012
|
erstellt am: 10. Okt. 2008 14:47 <-- editieren / zitieren --> Unities abgeben:
Das wollte ich eigentlich vermeiden. Zum einen macht das unnütze Arbeit, die der Computer mit einem Makro für den Anwender erledigen könnte und zum anderen können leicht Fehlbedienungen entstehen. Ein simpler Button mit Makro macht hier in diesem Fall mehr Sinn. Ich werd mal weiter forschen und probieren. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 11. Okt. 2008 12:22 <-- editieren / zitieren -->
hi, hilft dir das aus der autocad hilfe (der normale blockbefehl kann, was du suchst, zumindest wie ich deine frage verstehe): --------------------------------------------------------------------------- So aktualisieren Sie vorhandene Blockreferenzen als Beschriftungen Wählen Sie Zeichnen Block Erstellen....Geben Sie in der Befehlszeile block ein. Klicken Sie im Dialogfeld Blockdefinition im Feld Name auf den Pfeil, und wählen Sie den Namen des Blocks aus, den Sie als Beschriftung aktualisieren möchten. Wählen Sie unter Verhalten die Option Beschriftung. Klicken Sie auf OK. Die vorhandenen Blockreferenzen in der Zeichnung sind nun als Beschriftungen festgelegt. Befehlseingabe: BLOCK --------------------------------------------------------------------------- - alfred - |
lcad-maik Mitglied Dipl-Ing. FH
Beiträge: 37 Registriert: 29.09.2004
|
erstellt am: 13. Okt. 2008 08:53 <-- editieren / zitieren --> Unities abgeben:
Diese Möglichkeit kenne ich auch, denn nichts anderes macht mein Makro eben über das nachträgliche Ändern in den Eigenschaften. Aber ich möchte diesen Ablauf in ein Makro packen, damit ich die Schritte nicht alle händisch in den Masken ändern muss. Mir fehlt nur die Funktion bzw. ein Befehl, mit dem ich an den Eigenschaftenwert der Beschriftung kommen kann, um Beschriftung von "nein" auf "ja" zu setzen. Kennt jemand eine Möglichkeit? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 13. Okt. 2008 09:13 <-- editieren / zitieren -->
hi, das sind zwei unterschiedliche ergebnisse. - die von dir erstellte methode macht die 'objekte in der blockdefinition' annotativ. - die von mir beschriebene variante macht die 'blockdefinition selbst' annotativ. bzgl. automatisierung habe ich es mir kurz mit vba angesehen, dort finde ich (zumindest fuer acad2008) keine moeglichkeit, da die blockdefinition mir keine eigenschaft fuer annotativ anbietet. lisp'ler bin ich keiner, vielleicht geht's dort. - alfred - [Diese Nachricht wurde von a.n. am 13. Okt. 2008 editiert.] |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 13. Okt. 2008 09:56 <-- editieren / zitieren --> Unities abgeben: Nur für lcad-maik
Hinweis: ... die Sache mit den Maßstäben und der Annotativität. .. Jedes "Beschrifftungsobjekt" hat ein XDICT, in dem ein Dictionary "ACDBCONTEXTDATAMANAGER" und in dem wiederum ein Dictionary "ACDB_ANNOTATIONSCALES" gespeichert werden. Letzteres enthält dann die Verweise auf die Maßstäbe. Um also ein Objekt annotativ zu machen muß man ( wenn noch nicht vorhanden) das XDICT anlegen, die beiden Subdictionaries erzeugen und im "ACDB_ANNOTATIONSCALES" dann (zumindest) den Verweis auf den Maßstab "1:1" anlegen. Ganz schön aufwendig.... ------------------ - 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 |
lcad-maik Mitglied Dipl-Ing. FH
Beiträge: 37 Registriert: 29.09.2004
|
erstellt am: 13. Okt. 2008 10:00 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 13. Okt. 2008 10:02 <-- editieren / zitieren --> Unities abgeben: Nur für lcad-maik
Zitat: Original erstellt von lcad-maik:
Ich denke dann belasse ich es bei der Handarbeit.
Besser ist das ------------------ - 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 |
Ex-Mitglied
|
erstellt am: 13. Okt. 2008 10:18 <-- editieren / zitieren -->
hi CADmium, dazu kommt auch noch, dass die blockdefinition selbst auch eed-daten haben muss 1001:AcadAnnotative, ... 1001:AcDbDynamicBlockGUID ... 1001:AcDbBlockRepETag ... sonst funkt's nicht, oder? wie auch immer, ich halte das haendische erzeugen/befuellen von eed/ext.dictionaries/dictionaries (insbesondere mit gegenseitigen referenzierungen) um dem autocad etwas vorzuspiegeln, fuer eher unzuverlaessig (solange nicht mit transactions gearbeitet wird, also mittels arx oder .net), daher halte ich mich (wenn vba) davon, solange es geht, fern. - alfred - [Diese Nachricht wurde von a.n. am 13. Okt. 2008 editiert.] |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3358 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 14. Nov. 2012 16:51 <-- editieren / zitieren --> Unities abgeben: Nur für lcad-maik
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 14. Nov. 2012 18:06 <-- editieren / zitieren --> Unities abgeben: Nur für lcad-maik
|
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3358 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 15. Nov. 2012 11:16 <-- editieren / zitieren --> Unities abgeben: Nur für lcad-maik
oh sorry, das ganze ist eingeklappt. unter Verfahren So erstellen Sie eine Beschriftungsblockdefinition So aktualisieren Sie vorhandene Blockreferenzen als Beschriftungen Klicken Sie auf Registerkarte Blöcke & ReferenzenGruppe BlockErstellen. Klicken Sie im Dialogfeld Blockdefinition im Feld Name auf den Pfeil, und wählen Sie den Namen des Blocks aus, den Sie als Beschriftung aktualisieren möchten. Wählen Sie unter Verhalten die Option Beschriftung. Klicken Sie auf OK. Die vorhandenen Blockreferenzen in der Zeichnung sind nun als Beschriftungen festgelegt.
------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark Bernd P. Sport ist Mord Rekorde: Scalelist>11727, Fehler>34365, Layerfilter>XXXX Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 15. Nov. 2012 11:22 <-- editieren / zitieren --> Unities abgeben: Nur für lcad-maik
Jepp, das ist der Standardweg wie man einen Block (neu) definiert - sagte Alfred ja auch vor 4 Jahren, 6 Postings höher (falls das nicht bekannt war) Zitat: Original erstellt von Alfred: hilft dir das aus der autocad hilfe (der normale blockbefehl kann, was du suchst, zumindest wie ich deine frage verstehe):--------------------------------------------------------------------------- So aktualisieren Sie vorhandene Blockreferenzen als Beschriftungen Wählen Sie Zeichnen Block Erstellen....Geben Sie in der Befehlszeile block ein. Klicken Sie im Dialogfeld Blockdefinition im Feld Name auf den Pfeil, und wählen Sie den Namen des Blocks aus, den Sie als Beschriftung aktualisieren möchten. Wählen Sie unter Verhalten die Option Beschriftung. Klicken Sie auf OK. Die vorhandenen Blockreferenzen in der Zeichnung sind nun als Beschriftungen festgelegt. Befehlseingabe: BLOCK --------------------------------------------------------------------------- - alfred -
------------------ CAD.de System-Angaben - CAD on demand - User:FAQ(Acad) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3358 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 15. Nov. 2012 11:30 <-- editieren / zitieren --> Unities abgeben: Nur für lcad-maik
was ich nicht wusste ist das man dort den Block ohne neue Objektwahl ändern kann.... leider funktioniert das aber wieder nur wenn man den Blocknamen nicht eintippt sondern nur wenn man ihn per klick auswählt. ------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark Bernd P. Sport ist Mord Rekorde: Scalelist>11727, Fehler>34365, Layerfilter>XXXX Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 15. Nov. 2012 11:42 <-- editieren / zitieren --> Unities abgeben: Nur für lcad-maik
|
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3358 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 15. Nov. 2012 16:27 <-- editieren / zitieren --> Unities abgeben: Nur für lcad-maik
Zitat: Original erstellt von cadffm: Wenn der Block(name) bekannt ist sollte das auch in der Befehlszeile zu realisieren sein wenn es kein dyn._Block ist.PS: Kennst /liest du deine PM´s ? Ich hatte gefragt ob bei dir das Problem gerade aktuell ist und ob ich helfen kann..
ja kenn ich grad a bissal stressig bei mir (lauter micromanagment sachen hasse sowas) Jaein kommt aber immer wieder hoch wenn ich mit Lageplänen (mit Eigenem- und Fremdinhalten) in verschiedenen Maßstäben arbeite. Da denk ich mir dann "ach das kannst probieren..." und stoße immer wieder darauf das meine (und Fremd) Blöcke nicht beschriftet sind und ich verliere schlagartig die Lust daran bzw. fehlt auch die Zeit die Blöcke durch zu ackern. ------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark Bernd P. Sport ist Mord Rekorde: Scalelist>11727, Fehler>34365, Layerfilter>XXXX Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 15. Nov. 2012 16:42 <-- editieren / zitieren --> Unities abgeben: Nur für lcad-maik
Fremd-Blöcke .. da kennst du ja den Namen nicht und es handelt sich nicht um einen sondern um viele. Wenn es nur um einen speziellen gehen würde (so wie ursprünglich in dem Thread) dann geht das auf die zwei Arten: DWG als Blockdefinition erstellen (mit Eigenschaft "Beschriftung") und diesen dann einfach einfügen per INSERT-Befehl und neudefinieren. Warum auch immer war das oben nicht gewollt.. dafür hätte ich dann die Methode es ohne externer DWG zu machen: hier der Textfenster-Auszug des Vorgehens :
Code: Befehl: _.-insert Blocknamen eingeben oder [?]: MEINBLOCKNAME Einfügepunkt angeben oder [Basispunkt/Faktor/X/Y/Z/Drehen]: 0,0,0 X-Skalierfaktor eingeben, entgegengesetzte Ecke angeben oder [Ecke/XYZ] <1>: 1 Y-Skalierfaktor eingeben : 1Drehwinkel angeben <0.00000000>: 0 Attributwerte eingeben Bestell.-Nr <***>: SFB-Code : FaMe-Code <00>: Befehl: _explode Objekte wählen: _l 1 gefunden Objekte wählen: Befehl: _.-BLOCK Blocknamen eingeben oder [?]: MEINBLOCKNAME Block "MEINBLOCKNAME" existiert bereits. Neu definieren? [Ja/Nein] : J Einfügebasispunkt angeben oder [Beschriftung]: B Beschriftungs-Block erstellen [Ja/Nein] : J Relativ zu Blatt in Ansichtsfenstern im Papierbereich ausrichten [Ja/Nein] : J Einfügebasispunkt angeben oder [Beschriftung]: 0,0,0 Objekte wählen: v 35 gefunden Objekte wählen: Block "MEINBLOCKNAME" neu definiert
hier das Makro (OHNE Layerprüfung usw. - hat Entsorger01 von dem F2-Auszug getippt)
Code:
^C^C_.-insert;MEINBLOCKNAME;0,0,0;1;0;_explode;_l;_.-Block;MEINBLOCKNAME;j;b;j;n;0,0,0;v;;
PS: Das mit dem Blocknamen kann man DOCH auch variabel gestalten fällt mir gerade so auf ------------------ CAD.de System-Angaben - CAD on demand - User:FAQ(Acad) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |