Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Dynamische Blöcke

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:  Dynamische Blöcke (1099 mal gelesen)
woppi
Mitglied
cnc-programmierung


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

Beiträge: 65
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 16. Nov. 2018 12: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,

weiß einer, ob es eine Möglichkeit gibt, mit Hilfe von VBA in einer Zeichnung vorhandenen dynamischen Blöcken zusätzliche Parameter in der Blocktabelle zuzufügen?

Also nicht: [GetDynamicBlockProperties] sondern so was [createDynamicBlockProperties]

Ich hatte auch schon überlegt jeden einzelnen dynamischen Block (mit Hilfe von einer Schleife in VBA) im Blockeditor zu öffnen, die Blocktabelle aufzurufen, und dann einen neuen Parameter anzulegen.
Ich komme aber nur soweit das der Block im Blockeditor offen ist, und die Blocktabelle geöffnet ist, da aber ein neuer Parameter über das Dialogfeld eingetragen wird, komme ich da gerade nicht weiter.

Vieleicht hat ja einer einen Tipp für mich, ansonsten ein schönes Wochenende.

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

rexxitall
Mitglied
Dipl. -Ing. Bau


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

Beiträge: 266
Registriert: 07.06.2013

Various: systems, Operating systems, cad systems, cad versions, programming languages.

erstellt am: 18. Nov. 2018 11:53    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 woppi 10 Unities + Antwort hilfreich

Hi, Mit VBA kommst du da so nicht ran.
Aber du könntest The Thisdrawing.sendcommand benutzen
um über die Eingabesimulation da dran rum zu fummeln. Ich habe auch schon mal mit dem Gedanken gespielt den Block als DXF abzuspeichern und das DXF zu parsen.

Es mag auch ein VB.NET api geben, das habe ich noch nicht nachgesehen. Mit .NET eine VBA Erweiterung zu bauen ist recht einfach.
Lieben Gruß
Thomas

------------------
Wer es nicht versucht, hat schon verlorn 
Und bei 3 Typos gibts den vierten gratis !
<<< not for sale !

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

woppi
Mitglied
cnc-programmierung


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

Beiträge: 65
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 19. Nov. 2018 08:13    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 Thomas,

das habe ich mir schon fast gedacht. Deswegen habe ich es auch schon mit:

Code:
ThisDrawing.SendCommand "_BTable" & Chr$(13)

probiert, aber leider kommt man dann nicht weiter.
Die Schaltfläche "neuer Parameter" lässt sich nur mit der Maus bedienen.

Trotzdem vielen Dank.

Gruß
Ludger

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

rexxitall
Mitglied
Dipl. -Ing. Bau


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

Beiträge: 266
Registriert: 07.06.2013

Various: systems, Operating systems, cad systems, cad versions, programming languages.

erstellt am: 19. Nov. 2018 09:37    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 woppi 10 Unities + Antwort hilfreich

Hi, gugg dir dann doch mal AutoIt / Oxygene(Allgemeiner Makro Prozessor) an. Das ist zwar alles andere als elegant, aber damit sollte man diese Schaltfläche drücken können. Alternativ per Windows API dem Fenster den Mausevent schicken. Oder die ganze Block Geschichte bleiben lassen und diese Logik in VBA verpacken. Notfalls zeichnet dann halt VBA den Block. Lieben Gruß
Thomas

------------------
Wer es nicht versucht, hat schon verlorn 
Und bei 3 Typos gibts den vierten gratis !
<<< not for sale !

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

woppi
Mitglied
cnc-programmierung


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

Beiträge: 65
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 19. Nov. 2018 15:13    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 Thomas,

die Blöcke die ich ändern möchte gibt es schon alle (hunderte), ich wollte in alle noch mehr Parameter eintragen, damit ich noch bessere Auswertung mit der Datenextraktion machen kann.

Die Idee mit der Maus ist sicher etwas unkonventionell, habe ich aber ausprobiert.
Ich kann jetzt per VBA sie Maus bewegen, aber leider nur wenn das Dialogfeld Blocktabelle geschlossen ist.
Aber es sieht witzig aus, wenn die Maus von alleine über die Zeichnung fährt.

Aber so komm ich wahrscheinlich nicht weiter.
Mal gucken vielleicht fällt mir die Tage noch etwas ein.


Gruß Ludger


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

woppi
Mitglied
cnc-programmierung


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

Beiträge: 65
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 19. Nov. 2018 15:53    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

Ich muss da etwas verbessern, erst die Maus bewegen, dann das Dialogfeld aufrufen geht.
Jetzt steht die Maus an der richtigen Stelle, leider wird aber der Klick mit der linken Maustaste (kommt von VBA) erst ausgeführt,
wenn ich das Dialogfeld im ACAD selber schließe, ich kann also so lange das Dialogfeld aktiv ist, von VBA nicht darauf zugreifen.

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

rexxitall
Mitglied
Dipl. -Ing. Bau


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

Beiträge: 266
Registriert: 07.06.2013

Various: systems, Operating systems, cad systems, cad versions, programming languages.

erstellt am: 19. Nov. 2018 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 Nur für woppi 10 Unities + Antwort hilfreich

Deswegen habe ich ja auch Autoit oder Oxygen angeregt. Die sind explizit für die Fernbedienung von Fremdprogrammen gemacht.
Aus VBA heraus Mausklicks aufzurufen mag deswegen Probleme bereiten weil es zu nah am Autocad angeflanscht ist. Da im gleichen Prozess rumzumachen könnt Probleme bereiten. Ich habe mal sowas mit der Tastatur probiert, war auch nicht so glücklich. Autoit und OXYGEN haben meine ich ne Com Schnittstelle und die laufen in einem eigenen Prozess. Da hat es auch Tools um an die GUID des Dialogs dran zu kommen. Also irgendwie muss das ja gehen. Windows kriegt es ja auch hin dem Autocad nen Mausklick überzubraten  . Wird sicher kein Einzeiler aber machbar sollt das doch sein 
Lieben Gruß
Thomas

------------------
Wer es nicht versucht, hat schon verlorn 
Und bei 3 Typos gibts den vierten gratis !
<<< not for sale !

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

woppi
Mitglied
cnc-programmierung


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

Beiträge: 65
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 22. Nov. 2018 13: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

Hallo Thomas,

Du hast mir den richtigen Tipp gegeben!
Gestern konnte ich mich ein bisschen damit beschäftige, und es klappt wunderbar.
VBA sortiert die Blöcke, überspringt die bei denen schon der neue Parameter vorhanden ist (nicht alle Blöcke sind auf dem gleichen Stand) und öffnet sie dann im Blockeditor. Startet dann das AutoIT Programm, welches die neuen Parameter hinzufügt, den Block speichert und den Blockeditor wieder schließt. Das AutoIT Programm startet dann automatisch wieder das VBA Programm welches den nächsten Block öffnet und immer so weiter, bis alle Blöcke fertig sind.

Das spart mir viele viele Stunden Arbeit, die erste Datei mit mehreren hundert Blöcken ist schon fertig.

Liebe Grüße

Ludger

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