Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  AutoCAD 2016 VBA Makro funktioniert nur bei kleinen Dateien

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:  AutoCAD 2016 VBA Makro funktioniert nur bei kleinen Dateien (857 / mal gelesen)
Braggart
Mitglied
Student

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

Beiträge: 2
Registriert: 26.09.2017

AutoCAD 2016

erstellt am: 26. Sep. 2017 13: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


VBA_Makro.txt

 
Hallo Leute,

ich schreibe für meine Firma ein VBA-Makro für AutoCAD 2016.
Wir planen die Baupläne für Elektroinstallationen, daher soll das Makro aus Grundrissen z.B.
Brandmelder als Blöcke erkennen und die Schema DWG dazu selbst zeichnen.
Damit soll der Aufwand für die Mitarbeiter minimiert werden.
Aktuell befinde ich mich in der Testphase und stoße hier auf ein Problem zu dem ich auf Anhieb keine
Lösung fand und ich somit Hilfe benötige (Weil es hier keine Ansprechpartner dafür gibt).
Das Makro funktioniert auf meinem lokalen Rechner einwandfrei, aber auch auf Netzwerkrechnern mit wenigen
Einschränkungen die hier aber nicht abgehandelt werden sollen.
Das Problem besteht sowohl auf dem lokalen Rechner als auch bei den anderen Netzwerkrechnern, dass das Makro nur bei Testdateien so funktioniert wie es soll.
Bei größeren realistischen Alltags-Dateien mit Grundriss und allen möglichen Objekten
funktioniert das Makro nicht mehr.

Ich habe das Makro als .txt beigefügt.
Erläuterung zum Makro:

Als Erstes werden aus der aktuellen Zeichnung alle Blöcke in eine Excel-Datei geschrieben.
Des weiteren wird überprüft ob schon eine Datei geschrieben wurde und falls dies der Fall ist
weiter geschrieben wird.(Da ein Schema mehrere Stockwerke beinhaltet und eine Zeichnung nur ein Stockwerk hat)
Im zweiten Teil werden alle Informationen in Arrays gespeichert.
Im dritten und größten Teil wird dann eine neue Zeichnung erstellt und das Schema gezeichnet.

Genaueres zum Problem:
Ich stellte fest, dass bei größeren DWG's die Excel-Tabelle leer bleibt und nur noch die Überschriften (Name, XScale, YScale, usw. ...) geschrieben werden.
Somit wäre mein erster Ansatz die "for Each - Schleife" mit der die Blöcke aus der Zeichnung ausgelesen werden. Ich weiß leider nicht wie ich das anders lösen kann z.B. mit einer for-Schleife.
Ich weiß, dass das Makro nicht optimal geschrieben ist ( viele Variablen ), ich mache das nicht hauptberuflich.

Wenn einer Zeit hat sich dem anzunehmen wäre ich sehr dankbar und offen für Anregungen und Verbesserungsvorschläge. Vielleicht ist es auch nur eine Kleinigkeit und ich komme einfach nicht darauf.. 

Vielen Dank im Voraus! 

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

System: F1
und Google

erstellt am: 26. Sep. 2017 17:59    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 Braggart 10 Unities + Antwort hilfreich

Also zunächst gehst bei dem Code davon aus
Alles was im Modellbereich platziert ist, ist eine Blockreferenz.

Das mag bei euren Dateien stimmen,
aber bei einer anderen Datei ist es dann nicht der Fall - also anpassen.
Sollte es weiter Probleme geben, so wäre eine ensprechende DWG zum testen sinnvoll,
wenigstens den Teil mit der XLS Erstellung funktioniert im Grunde auch bei größeren Dateien(10000 Objekte).Aber du könntest ja auch einfach selbst debuggen?

Für andere Anfragen in der Zukunft, hier ist das AutoCAD VBA Forum von CAD.de

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

Braggart
Mitglied
Student

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

Beiträge: 2
Registriert: 26.09.2017

AutoCAD 2016

erstellt am: 27. Sep. 2017 13:29    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

Vielen Dank für deine Antwort ich werde versuchen es anzupassen 

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