Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Attribut an nur einen bestimmten 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:  Attribut an nur einen bestimmten Block anhängen (1786 mal gelesen)
WolfgangSCH
Mitglied



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

Beiträge: 145
Registriert: 01.10.2002

AutoCAD 2021 64-bit
Windows 10 64-bit Home Premium
AMD Phenom II X6 1055T, 2,8GHz, 8GB RAM

erstellt am: 19. Aug. 2005 14: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,
folgendes Problem: ich möchte in einer AutoCAD-Zeichnung mit diversen Blöcken einen bestimmten Block einfügen, den ich je nach Bedarf mit einem oder mehreren Attributen versehen kann. Jetzt mein Problem: Ich habe einen Block mit Namen BLOCK-1 ohne Attribute. Diesen Block füge ich in eine Zeichnung ein und versehe diesen bei Bedarf mit einem oder mehreren Attributen.
Das Attribut soll aber nur an den ausgewählten Block z.B. BLOCK-1 angehängt werden. Wenn ich den Block BLOCK-1 nochmals in die Zeichnung einfüge, soll er wieder ohne Attribut eingefügt werden. Auch alle anderen Blöcke dieses Namens (BLOCK-1) sollten unverändert bleiben. So dass ich jedem eingefügten Block BLOCK-1 unterschiedliche Attribute anhängen kann.
Ist so etwas mit VB zu realisieren, wenn ja wie?

Vorab vielen Dank.

mfg

Wolfgang

[Diese Nachricht wurde von WolfgangSCH am 19. Aug. 2005 editiert.]

[Diese Nachricht wurde von WolfgangSCH am 19. Aug. 2005 editiert.]

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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9732
Registriert: 01.12.2003

AutoCAD 2.5 - 2022, LDD, MDT, RD, ADT, Civil
Inventor AIP 4-11, 2008 -2022
Win 10

erstellt am: 19. Aug. 2005 15:44    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 WolfgangSCH 10 Unities + Antwort hilfreich

Also mit Lisp ist das ohne Probleme möglich, zur Umsetzung in VBA kann ich aber nichts sagen.

------------------
Mit freundlichem Gruß

Udo Hübner

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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9732
Registriert: 01.12.2003

AutoCAD 2.5 - 2022, LDD, MDT, RD, ADT, Civil
Inventor AIP 4-11, 2008 -2022
Win 10

erstellt am: 19. Aug. 2005 16:07    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 WolfgangSCH 10 Unities + Antwort hilfreich

Dazu vielleicht auch noch einen Hinweis auf diesen Beitrag mit kontroversen Meinungen´über die Nutzung von unterschiedlichen Attributen an gleichnamigen Blockeinfügungen. http://ww3.cad.de/foren/ubb/Forum145/HTML/000269.shtml

------------------
Mit freundlichem Gruß

Udo Hübner

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

Die Phönizier haben das Geld erfunden - aber warum so wenig?
(Johann Nepomuk Nestroy)

erstellt am: 19. Aug. 2005 17: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 WolfgangSCH 10 Unities + Antwort hilfreich

Man kann mit ActiveX keine Attributs-Referenzen erzeugen. Die bleibt nur der umgekehrte Weg: Attdefs an den Block, und die Attribs am Insert löschen. Erzeugen geht nur in Lisp mit entmake - und auch da nicht über vl-irgendwas.

Der zitierte Thread enthält übrigens eine Menge Quatsch - da warne ich mal vorsorglich.

Gruß, Axel Strube-Zettler

------------------
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

WolfgangSCH
Mitglied



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

Beiträge: 145
Registriert: 01.10.2002

erstellt am: 23. Aug. 2005 08:01    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,

danke für Eure Antworten, welche ja nicht gerade Mut machen.
Aber ich werde Eure Tipps einmal ausprobieren und versuchen das Problem so in den Griff zu bekommen.

Gruß
Wolfgang

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

Stelli1
Moderator
Verm.-Ing.


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

Beiträge: 1521
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 26. Aug. 2005 15:36    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 WolfgangSCH 10 Unities + Antwort hilfreich

Hallo Wolfgang,

es gibt wohl einen Workaround:

1. Einen Dummyblock mit den zu vergebenden Attributen erzeugen
    ...
    Set obj_ACAD_Block = obj_ACAD_app.ActiveDocument.blocks.Add(InsPkt(), Blockname)
    Set obj_ACAD_Entity = obj_ACAD_Block.AddCircle(InsPkt(), 1)
    ....

2. Diesen Block an die Position des Blockes dem die Attributte
angehängt werden sollen einfügen.
    ....
      Select Case acad_TYP
      Case 14
            Set DummyBlock = obj_ACAD_app.ActiveDocument.ModelSpace.InsertBlock(InsPkt, Block, Skal_Y, Skal_X, Richtung)
      Case 15, 16, 17
            Set DummyBlock = obj_ACAD_app.ActiveDocument.ModelSpace.InsertBlock(InsPkt, Block, Skal_Y, Skal_X, 1, Richtung)
  ....

3. Eigenschaften wie Layer , Skalierung etc übertragen.
  dummyblock.Layer = alterBlock.Layer

4. Die Referenz des Dummyblockes auf den alten Block umbiegen
  dummyblock.name = alterBlock.name

5. Alten Block löschen

Erstaunlicherweiser hat der neue Block (der aber der alte ist)
die Attribute des Dummyblocks übernommen.
Die können dann mit

                If Dummyblock.HasAttributes Then
                    attributes = Dummyblock.GetAttributes

abgefragt werden.

Nicht schön, aber geht.

Gruß
Stelli1

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

WolfgangSCH
Mitglied



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

Beiträge: 145
Registriert: 01.10.2002

erstellt am: 01. Sep. 2005 16:52    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 Stelli1,

danke auch hier für Deine Hilfe!
Ich werde damit ein bichen experimentieren.

Gruß
Wolfgang

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