Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Aktualisieren von Blöcken durch DWGs

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
  
PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
Autor Thema:  Aktualisieren von Blöcken durch DWGs (797 mal gelesen)
CountvonCount
Mitglied
MovingLightOperator

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

Beiträge: 4
Registriert: 12.08.2014

erstellt am: 12. Aug. 2014 17: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, zusammen!
Ich bin auf der Suche nach der korrekten Variante, Blöcke (die Definitionen, nicht deren Referenzierungen) durch ein Neuladen mittels VBA zu aktualisieren. Die entsprechende Vorgehensweise in AutoCAD wäre das Neuladen eines schon existierenden Blocks und dem anschliessenden Refresh aller Referenzierungen des Blocks, so wie es nach einem Erneuten Einladen angeboten und durchgeführt wird.
Falls das zu kryptisch war:
1. Einfügen > Block > Dateiauswahl
2. Dasselbe procedere mit derselben Datei führt zur Abfrage "Block neu definieren (Aktualisierung aller Referenzen)"
Genau das möchte ich aus VBA heraus steuern. Bisher habe ich nur Tipps gefunden, um Block[i][referenzierungen/i] einzufügen

Für einen hilfreichen Code-Schnipsel wäre ich sehr dankbar ...

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

CountvonCount
Mitglied
MovingLightOperator

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

Beiträge: 4
Registriert: 12.08.2014

erstellt am: 12. Aug. 2014 18:43    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

Da es vielleicht noch jemanden geben könnte, den es interessiert, antworte ich mir selbst, auch wenn das ein wenig schräg erscheinen mag.
Die Lösung:

Gar nicht verwirren lassen, sondern tatsächlich einfach nur denselben Block einfügen und wieder löschen:

Sub blockrefresh(block_dateiname As String)
    Dim in_point(2) As Double
    Dim temp_block As AcadBlockReference

    in_point(0) = 0
    in_point(1) = 0
    in_point(2) = 0

    Set temp_block = ThisDrawing.ModelSpace.InsertBlock(in_point, blockdateiname, 1, 1, 1, 0)
   
    tempblock.Delete
End Sub

Wenn der Block vorher existiert hat, ist er nun entsprechend der Änderungen in der Datei angepasst. Dies gilt dann auch für Beigaben wie z.B. Attributwertänderungen, etc.

Viel Spass damit...

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: 9807
Registriert: 01.12.2003

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

erstellt am: 12. Aug. 2014 18:55    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 CountvonCount 10 Unities + Antwort hilfreich

Woher kommt die neue Blockdefinition - aus einer separaten DWG?
Dann reicht die Angabe der DWG zur Neudefinition des Blockes - siehe auch hier:
http://www.theswamp.org/index.php?topic=43521.0
Bei dyn. Blöcken wird es dann komplizierter.

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

Udo Hübner
www.CAD-Huebner.de

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

CountvonCount
Mitglied
MovingLightOperator

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

Beiträge: 4
Registriert: 12.08.2014

erstellt am: 13. Aug. 2014 09:16    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

Offengestanden sehe ich unter dem entsprechenden Link keinen Unterschied zu meiner Lösung, abgesehen davon, dass ich den eingefügten Block noch lösche, da er nur zur Auffrischung der Definition dient.
Übersehe ich da etwas?

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)2025 CAD.de | Impressum | Datenschutz