Hot News:
   

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  VBA Makros aufnehmen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  VBA Makros aufnehmen (174 / mal gelesen)
realkingchaos
Mitglied
konstrukteur

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

Beiträge: 6
Registriert: 25.08.2025

win 11 mit workstation autocad 2018

erstellt am: 25. Aug. 2025 08:17    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

Moin,


ich wollte VBA erstmalig im Autocad nutzen und habe es installiert.

Leider bin ich nicht mehr versiert genug, um das geplante hier umzusetzen.

Ich moechte einen Button/Code haben, der:

1.  "Die Zeichnung nach Bloecken durchsucht, diese Bloecke betritt, und dort in dem obersten Block alle enthaltenen Bloecke aufloest und auch die bloecke aufloest, in da drin sind usw."

2. Alle Layer auf 0 zusammenfuehren.

3. Den Maßstab auf 1:1 festlegt.

Dann bleibt also in der Autocaddatei nur noch ueberig:

1- die bloecke und objekte, welche in der obersten Ebene drin waren
2- der Layer 0

Kann mir jemand helfen, damit ich den Makrorecorder benutzen kann, oder gar einen Code basteln, der mir da den Einstand vereinfacht? Ich bin leider kein Programmierer und VBA Dinge gehen scheinbar im Autocad ein wenig anders von statten als im Excel.

Gruß KC

am ende soll dann die Zeichnung

------------------
eine Abkuerzung ist die laengste Entfernung zwischen 2 Punkten

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

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



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

Beiträge: 2875
Registriert: 02.05.2006

AutoCAD LandDesktop R2 bis 2004
Civil 3D 2005 - 2025
Plateia, Canalis
Visual Basic

erstellt am: 25. Aug. 2025 12:17    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 realkingchaos 10 Unities + Antwort hilfreich

Hallo KC, willkommen im Forum 

Das Autocad VBA einen Makrorecorder hat wäre mir neu und auch den von Excel benutze ich äußerst selten, da die Programme sowieso immer Nachbearbeitungen brauchen. Aber ist ein anderes Thema.

Das wäre doch jetzt ein guter Grund sich einmal mit der VBA-Programmierung in Autocad auseinanderzusetzen. Das wäre wichtig um zu verstehen wie die einzelnen Elemente angesprochen werden können und wie die Eigenschaften geändert werden können (Object Modell).

Somit könntest Du dann auch die nächste Frage beantworten, willst Du wirklich die Blöcke (Darstellungsanweisung) bearbeiten oder hast Du Blockreferenzen in der Zeichnung, die verändert werden sollen?

Grüße, Klaus

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

realkingchaos
Mitglied
konstrukteur

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

Beiträge: 6
Registriert: 25.08.2025

win 11 mit workstation autocad 2018

erstellt am: 25. Aug. 2025 12: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

Moin Klaus,


ich ging davon aus, wenns in Excel geht gehts auch in ACAD. Frage 1 also beantwortet.

ich haette schon gerne am Ende Bloecke, weil diese beim Import ins Vectorworks als Symbole importiert werden, was viele Vorteile mit sich bringt und die Bloecke an sich schon vorhanden sind.

also im prinzip, dann so.

1. nimm alle Bloecke, die du in der obersten Zeichnungsebene findest
2. gehe da rein und solange bloecke anthalten sind, loese sie auf

Das sollte im prinzip mit wenigen Zeilen erschlagen werden koennen. Ich habe nur als holztechnik ing. im Tagesgeschaeft kaum Zeit dort was zu bauen, da ich auch nur ein halber programmierer bin  

------------------
eine Abkuerzung ist die laengste Entfernung zwischen 2 Punkten

[Diese Nachricht wurde von realkingchaos am 25. Aug. 2025 editiert.]

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

realkingchaos
Mitglied
konstrukteur

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

Beiträge: 6
Registriert: 25.08.2025

win 11 mit workstation autocad 2018

erstellt am: 25. Aug. 2025 12:27    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

3. 1 x aufraeumen in Bloecke
4. bereinige ganze datei, bis nichts mehr zu bereinigen ist

------------------
eine Abkuerzung ist die laengste Entfernung zwischen 2 Punkten

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

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



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

Beiträge: 2875
Registriert: 02.05.2006

AutoCAD LandDesktop R2 bis 2004
Civil 3D 2005 - 2025
Plateia, Canalis
Visual Basic

erstellt am: 25. Aug. 2025 17:11    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 realkingchaos 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von realkingchaos:
also im prinzip, dann so.

1. nimm alle Bloecke, die du in der obersten Zeichnungsebene findest
2. gehe da rein und solange bloecke anthalten sind, loese sie auf

Das sollte im prinzip mit wenigen Zeilen erschlagen werden koennen. Ich habe nur als holztechnik ing. im Tagesgeschaeft kaum Zeit dort was zu bauen, da ich auch nur ein halber programmierer bin   



Ganz so einfach wie Du Dir das vorstellst ist das aber nicht. Vielleicht solltest Du Dich einmal mit Blöcken / Blockreferenzen in Autocad beschäftigen (FAQ:Blöcke)
Nur mal so als Beispiel:
Du hast in der Zeichnung eine BlockReference eines verschachtelten Blocks.
Block1 hat den Bezugspunkt 0,0 und enthält Block2 an Position 1,1
Block2 hat ebenfalls Bezugspunkt 0,0 und enthält Kreis an Postion 1,1, somit müßte der Kreis dann nach dem auflösen an Position 2,2 im Block1 haben.
Hat der Block2 noch Attribute, was soll mit denen geschehen? Sollen das Attribute bleiben oder werden das Texte?

Enthalten die verschachtelten Blöcke keine Attribute ist das einfacher. Hier könnte man wirklich einfach die Blockdefinitionen durchgehen und vereinfachen. Danach müßte nur noch kontrolliert werden ob auch die Blockreferenzen auf dem Layer 0 sind (falls das sinnvoll ist).

Grüße, Klaus 

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

realkingchaos
Mitglied
konstrukteur

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

Beiträge: 6
Registriert: 25.08.2025

win 11 mit workstation autocad 2018

erstellt am: 26. Aug. 2025 09:35    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

na wenn ich die Grundbloecke, ich nenne sie mal Grundbloecke weil sie in der Ziechnungsebene drin liegen, betrete haendisch kann ich sie mit ursprung aufloesne, ohne dass es irgendeinen fehler gibt.

ich nehme dann sauswahl bloecke alle und gebe ursprung ein, das mache ich solaange, es bloecke in sauswahl nicht mehr waehlbar sind.

dann gehe ich aus dem 1. grundblock und nehme den 2. und mache dann das gleiche.

das ist doch vom programmiererischen keine huerde oder?
4Welche Attribute meinst du denn? die bloecke haben keine profis angelegt, da sind nur linien und schraffuren und texte drin mit denen m.E. nichts kompliziertes angestellt wurde, da die zeichner gar keine komplitierten Dinge im ACAD machen koennen.


gruß kc

------------------
eine Abkuerzung ist die laengste Entfernung zwischen 2 Punkten

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

cadffm
Ehrenmitglied V.I.P. h.c.
良い精神



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: 22647
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 26. Aug. 2025 09: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 realkingchaos 10 Unities + Antwort hilfreich

Hi,

wenn du dich damit nicht auskennst (ObjectModel DWG/VBA), dann greife lieber auf vorhandene Programme zurück,
egal in welcher Sprache.


random Google Beispiel: EXPLODENESTED

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

realkingchaos
Mitglied
konstrukteur

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

Beiträge: 6
Registriert: 25.08.2025

win 11 mit workstation autocad 2018

erstellt am: 26. Aug. 2025 10:30    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 wuerde auch dafuer bezahlen, wenn mir jemand son programm/script baut, wenn es denn funktioniert.

ich brauche eine definierte funktionalitaet, wie man die erreicht weiss ich nicht und ist egal, ich ging wohl faelschlicherweise davon aus, vba koennte in acad genau so zaubern wie im excel.

schade.

------------------
eine Abkuerzung ist die laengste Entfernung zwischen 2 Punkten

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

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



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

Beiträge: 2875
Registriert: 02.05.2006

AutoCAD LandDesktop R2 bis 2004
Civil 3D 2005 - 2025
Plateia, Canalis
Visual Basic

erstellt am: 27. Aug. 2025 13:14    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 realkingchaos 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von realkingchaos:
na wenn ich die Grundbloecke, ich nenne sie mal Grundbloecke weil sie in der Ziechnungsebene drin liegen, betrete haendisch kann ich sie mit ursprung aufloesne, ohne dass es irgendeinen fehler gibt.


Wenn Sie in der Zeichnungsebene liegen (Modell oder Layout) sind das Blockreferenzen
Mit betreten meinst Du wahrscheinlich Block bearbeiten (RefEdit), damit bist Du dann aber nicht mehr in der "Zeichnungsebene" sondern in der Blockebene.

Zitat:
Original erstellt von realkingchaos:
ich nehme dann sauswahl bloecke alle und gebe ursprung ein, das mache ich solange, es bloecke in sauswahl nicht mehr waehlbar sind.

Könnte man machen

Zitat:
Original erstellt von realkingchaos:
das ist doch vom programmiererischen keine huerde oder?
Welche Attribute meinst du denn? die bloecke haben keine profis angelegt, da sind nur linien und schraffuren und texte drin mit denen m.E. nichts kompliziertes angestellt wurde, da die zeichner gar keine komplitierten Dinge im ACAD machen koennen.


Attribute sind Zusatzinformationen zu Blöcken die beim Einfügen des Blocks in die Zeichnung mit der Blockreferenz gespeichert werden. Wenn ihr das nicht verwendet umso besser. Kompliziert ist das nicht, vereinfacht nur manchmal die Arbeit wenn man z.B. bestimmte Angaben gleich am Block haben möchte (Bestellnummer, Größe, Material, ...)

Stell doch einfach mal eine Zeichnung mit ein paar dieser Blöcke ein, dann kann man sehen was Du meinst.
Ansonsten hat Dir cadffm ja schon einen Link mit zwei LISP-Routinen geschickt. Sind die bereits ausreichend?

Grüße, Klaus 

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

realkingchaos
Mitglied
konstrukteur

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

Beiträge: 6
Registriert: 25.08.2025

win 11 mit workstation autocad 2018

erstellt am: 27. Aug. 2025 13: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

die Zeichnungen sind von einer namenhaften Firma, die kann ich hier leider nicht posten :O

da ich nicht weiss, wie und was lisp ist, ich weiss nur es wird dafuer verwendet, kann ich damit leider nichts anfangen, da mir die Zeit fehlt das zu lernen.

ich bin nur der, der den Krempel besorgen muss 

Wenn das programm Geld kostet und der erschaffer ein Gewerbe hat, kann man jedes auftretende problem loesen 

------------------
eine Abkuerzung ist die laengste Entfernung zwischen 2 Punkten

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

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



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

Beiträge: 2875
Registriert: 02.05.2006

AutoCAD LandDesktop R2 bis 2004
Civil 3D 2005 - 2025
Plateia, Canalis
Visual Basic

erstellt am: 27. Aug. 2025 18:02    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 realkingchaos 10 Unities + Antwort hilfreich

Mit etwas Zeit könnte man das auch lösen, außer Autocad bleibt Randbereich:
FAQ: APPLOAD:  Wie LISP Tool laden ?

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