| |  | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: VBA Makros aufnehmen (174 / mal gelesen)
|
realkingchaos Mitglied konstrukteur
 Beiträge: 6 Registriert: 25.08.2025 win 11 mit workstation autocad 2018
|
erstellt am: 25. Aug. 2025 08:17 <-- editieren / zitieren --> Unities abgeben:         
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

 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 / zitieren --> Unities abgeben:          Nur für realkingchaos
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
 Beiträge: 6 Registriert: 25.08.2025 win 11 mit workstation autocad 2018
|
erstellt am: 25. Aug. 2025 12:21 <-- editieren / zitieren --> Unities abgeben:         
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
 Beiträge: 6 Registriert: 25.08.2025 win 11 mit workstation autocad 2018
|
erstellt am: 25. Aug. 2025 12:27 <-- editieren / zitieren --> Unities abgeben:         
|
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin

 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 / zitieren --> Unities abgeben:          Nur für realkingchaos
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
 Beiträge: 6 Registriert: 25.08.2025 win 11 mit workstation autocad 2018
|
erstellt am: 26. Aug. 2025 09:35 <-- editieren / zitieren --> Unities abgeben:         
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. 良い精神

 Beiträge: 22647 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 26. Aug. 2025 09:59 <-- editieren / zitieren --> Unities abgeben:          Nur für realkingchaos
|
realkingchaos Mitglied konstrukteur
 Beiträge: 6 Registriert: 25.08.2025 win 11 mit workstation autocad 2018
|
erstellt am: 26. Aug. 2025 10:30 <-- editieren / zitieren --> Unities abgeben:         
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

 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 / zitieren --> Unities abgeben:          Nur für realkingchaos
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
 Beiträge: 6 Registriert: 25.08.2025 win 11 mit workstation autocad 2018
|
erstellt am: 27. Aug. 2025 13:36 <-- editieren / zitieren --> Unities abgeben:         
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

 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 / zitieren --> Unities abgeben:          Nur für realkingchaos
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |