| |
 | 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 PRO Elite™ High Endurance microSD-Flash-Speicherkarten für Videoüberwachung und kontinuierliche Aufzeichnung, eine Pressemitteilung
|
Autor
|
Thema: VBA-Anfänge (3705 mal gelesen)
|
Stuuhl Mitglied

 Beiträge: 10 Registriert: 27.03.2012
|
erstellt am: 12. Jul. 2012 13:02 <-- editieren / zitieren --> Unities abgeben:         
Halli Hallo an euch  erstmal zu mir, ich bin in einer Auszubildung zum technischen Zeichner Fachrichtung HKS. Ich interessiere mich sehr für das Programmieren eines Aufsatzes oder zumindest kleinen Programmchen die das einfügen von 2D-Komponenten auf Knopfdruck können. Das ganze wollte ich mit Visual Basic realieren da ich auch gerne ein GUI haben möchte. Gibt es im Netz oder hier auf der Seite irgendwo ein Tutorial oder Anfänge ? Grüße auf Bremen, Daniel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13530 Registriert: 30.11.2003 ACAD 2008 Mechanical
|
erstellt am: 12. Jul. 2012 13:13 <-- editieren / zitieren --> Unities abgeben:          Nur für Stuuhl
|
Stuuhl Mitglied

 Beiträge: 10 Registriert: 27.03.2012
|
erstellt am: 12. Jul. 2012 16:41 <-- editieren / zitieren --> Unities abgeben:         
Hm, ich scheitere kläglich  Konkret geht es mir darum eine kleine Anwendung zu programmieren, in der ich von einem Lüftungskanal die Höhe und Breite eingeben kann. Diesen möchte ich dann als Block per Klick einfügen. Hat jemand soetwas schonmal realisiert beziehungsweise ist sowas mit VB überhaupt möglich? mfg Daniel [Diese Nachricht wurde von Stuuhl am 12. Jul. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
andreasde Mitglied Konstrukteur

 Beiträge: 10 Registriert: 04.07.2012
|
erstellt am: 12. Jul. 2012 17:36 <-- editieren / zitieren --> Unities abgeben:          Nur für Stuuhl
Zitat: Original erstellt von Stuuhl: Hm, ich scheitere kläglich  Konkret geht es mir darum eine kleine Anwendung zu programmieren, in der ich von einem Lüftungskanal die Höhe und Breite eingeben kann. Diesen möchte ich dann als Block per Klick einfügen. Hat jemand soetwas schonmal realisiert beziehungsweise ist sowas mit VB überhaupt möglich? mfg Daniel
Hallo, Es ist alles möglich. Du muss uns allerdings sagen wie der Luftkanal aussehen soll oder (am bestens) ein beispieleges Bild vom solchen Luftkanal anhängen. Zitat:
Gibt es evlt jemanden der mir sagen kann wieso das nicht geht? Ich versteh es einfach nicht nofrown:(nofrown: Public Sub CommandButton1_Click() Dim db1Zentrum(0 To 2) As Double Dim dblRadius As Double
'Koordinaten fest definiert dblZentrum(0) = 100: dblZentrum(1) = 100: dblZentrum(2) = 0 dblRadius = 30 'Zeichnen des Kreises Set ZeichnenKreis = ThisDrawing.ModelSpace.AddCircle(dblZentrum, dblRadius) End Sub
Die Deklaration sieht so aus: Dim db1Zentrum(0 To 2) As Double 'Ziffer eins (1) aber im weiteren Verlauf hast du: dblZentrum(0) = 100: 'hier hast du Buchstabe l (kleines L) Tippfehler? mfG Andreasde
------------------ Andrzej Szarek Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stuuhl Mitglied

 Beiträge: 10 Registriert: 27.03.2012
|
erstellt am: 12. Jul. 2012 17:47 <-- editieren / zitieren --> Unities abgeben:         
Vielen Dank für die Antwort, hab ich eben selbst rausgefunden deswegen auch der Edit, trotzdemvielen Dank. Ich werde wenn ich zuhauseb bin mal eine PDF anfügen, wie ich mir das gedacht hab... Ich hatte hier schon 2 Nervenzusammenbrüche Aber inzwischen schaff ich es einen Kreis zeichnen zu lassen.. Leider will er es ums verrecken nicht auf knopfdruck.. mfg Daniel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
andreasde Mitglied Konstrukteur

 Beiträge: 10 Registriert: 04.07.2012
|
erstellt am: 12. Jul. 2012 17:58 <-- editieren / zitieren --> Unities abgeben:          Nur für Stuuhl
Hi, Um das Kreis mit dem Knopfdruck zeichnen zu können muss du: 1. In VBA-Projekt einen Formular hinzufügen (rechte Maustaste auf Projektbaum, dann Einfügen, dann UserForm) 2. Auf dem Formular einen Knopf plazieren. Der muss "CommandButton1" heißen! 3. In Formularmodul deinen Code einfügen. 4. Den Formular starten (F5). 5. Dann - endlich - den Knopf drücken. TADA! Kreis ist da! Grüße aus Herzlake! ------------------ Andrzej Szarek Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stuuhl Mitglied

 Beiträge: 10 Registriert: 27.03.2012
|
erstellt am: 12. Jul. 2012 18:27 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von andreasde: Hi,Um das Kreis mit dem Knopfdruck zeichnen zu können muss du: 1. In VBA-Projekt einen Formular hinzufügen (rechte Maustaste auf Projektbaum, dann Einfügen, dann UserForm) 2. Auf dem Formular einen Knopf plazieren. Der muss "CommandButton1" heißen! 3. In Formularmodul deinen Code einfügen. 4. Den Formular starten (F5). 5. Dann - endlich - den Knopf drücken. TADA! Kreis ist da! Grüße aus Herzlake!
So einfach ist das leider nicht... Aber versuch es doch mal so wie du es geschrieben hast C: Private Sub CommandButton1_Click() Dim dbZ(0 To 2) As Double Dim dbR As Double 'Koordinaten fest definiert dbZ(0) = 100: dblZentrum(1) = 100: dblZentrum(2) = 0 dbR = 30 'Zeichnen des Kreises Set ZeichnenKreis = ThisDrawing.ModelSpace.AddCircle(dbZ, dblRadius) End Sub ich versteh nicht warum das nicht mehr funktioniert.. Grüße aus Bremen, Daniel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
andreasde Mitglied Konstrukteur

 Beiträge: 10 Registriert: 04.07.2012
|
erstellt am: 12. Jul. 2012 19:05 <-- editieren / zitieren --> Unities abgeben:          Nur für Stuuhl
Private Sub CommandButton1_Click() Dim dbZ(0 To 2) As Double Dim dbR As Double 'Koordinaten fest definiert dbZ(0) = 100: dblZentrum(1) = 100: dblZentrum(2) = 0 dbR = 30 'Zeichnen des Kreises Set ZeichnenKreis = ThisDrawing.ModelSpace.AddCircle(dbZ, dblRadius) End Sub Gruß ------------------ Andrzej Szarek Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
andreasde Mitglied Konstrukteur

 Beiträge: 10 Registriert: 04.07.2012
|
erstellt am: 12. Jul. 2012 19:06 <-- editieren / zitieren --> Unities abgeben:          Nur für Stuuhl
Private Sub CommandButton1_Click() Dim dbZ(0 To 2) As Double Dim dbR As Double 'Koordinaten fest definiert dbZ(0) = 100: dblZentrum(1) = 100: dblZentrum(2) = 0 dbR = 30 'Zeichnen des Kreises Set ZeichnenKreis = ThisDrawing.ModelSpace.AddCircle(dbZ, dblRadius) End Sub Gruß Double Post! Sorry! ------------------ Andrzej Szarek [Diese Nachricht wurde von andreasde am 12. Jul. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stuuhl Mitglied

 Beiträge: 10 Registriert: 27.03.2012
|
erstellt am: 12. Jul. 2012 19:18 <-- editieren / zitieren --> Unities abgeben:         
|
Stuuhl Mitglied

 Beiträge: 10 Registriert: 27.03.2012
|
erstellt am: 12. Jul. 2012 20:32 <-- editieren / zitieren --> Unities abgeben:         
Im Anhang ist eine 3D Zeichnung mit den Komponenten die ich immer wieder benutze. Die müssen über ein GUI in ihren Maßen veränderbar sein. Der Kanal müsse per Startpunkt und Endpunkt in der Zeichnung zeichenbar sein. Ist es möglich das über ein GUI zuverwirklichen und vorallem ist dies mit VBA möglich? Ist es für eine Person überhaupt zustämmen? Ich habe auch VB Express, allerdings keinerlei Programmiererfahrung. Das wäre mein erstes Größeres Projekt. Ich würde das Programmieren lernen so gleich mit etwas Nützlichem für mich verbinden. Ich bin über jegliche Antwort und Hilfestellung wirklich dankbar. Grüße aus Bremen, Daniel Edit: Kann ich auch das GUI in VB Express erstellen und dann bei ACAD benutzen? [Diese Nachricht wurde von Stuuhl am 12. Jul. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
andreasde Mitglied Konstrukteur

 Beiträge: 10 Registriert: 04.07.2012
|
erstellt am: 13. Jul. 2012 00:35 <-- editieren / zitieren --> Unities abgeben:          Nur für Stuuhl
Im Anhang mein Vorschlag. Lese den VBA-Projekt in AutoCAD ein. Dann starte den Formular. Zitat:
Die müssen über ein GUI in ihren Maßen veränderbar sein.
Schwer. Hier sollen denn dynamische Bloecke verwendet werden - kenne diese nicht - seit Jahren zeichne ich nicht mehr mit AutoCAD. Zitat:
Der Kanal müsse per Startpunkt und Endpunkt in der Zeichnung zeichenbar sein.
Verstehe ich nicht ganz... Zitat:
Ist es möglich das über ein GUI zuverwirklichen und vorallem ist dies mit VBA möglich?
Zitat:
Ist es für eine Person überhaupt zustämmen?
Ja. Zitat:
Kann ich auch das GUI in VB Express erstellen und dann bei ACAD benutzen?
Du kannst mit dem VB Express den AutocAD steuern. Der GUI fuer VBA extern erstellen - entweder geht nicht oder ist mir nicht bekannt. Auf jedem Fall ist zu kompliziert. Den GUI in VBA zu erstellen ist ganz einfach! Gruss
------------------ Andrzej Szarek Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stuuhl Mitglied

 Beiträge: 10 Registriert: 27.03.2012
|
erstellt am: 13. Jul. 2012 07:53 <-- editieren / zitieren --> Unities abgeben:         
Super lieben Dank Andreas für deine Bemühungen  Ich sollte evlt noch ein bisschen genauer werden. Ich will für mich und ggfs. meine Kollegen einen Aufsatz programmieren. Der aus einer Bibliothek, Lüftungskomponenten in 3D nimmt, ich die Maße und die Z-Höhe angepasste und die in meine Zeichnung einfügen will. Ist sowas wirklich mit VBA realisierbar? Oder eignetsich eine andere Sprache dafür besser? Ich habe gestern abend schonmal ein GUI gebastelt allerdings noch mit keinen Funktionen. Ich lade dieses nachher mal hoch, wäre cool wenn du mal drübergucken kannst  Grüße Daniel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
andreasde Mitglied Konstrukteur

 Beiträge: 10 Registriert: 04.07.2012
|
erstellt am: 15. Jul. 2012 12:19 <-- editieren / zitieren --> Unities abgeben:          Nur für Stuuhl
Hallo, Im Anhang die letzte Version. Jetzt außer Rechteckrohr kann man auch ein Bogen erstellen. Um den neuen Block einzufugen muß man die Prozedur InsertNewBlock aufrufen. Um einen vorhandenen Block zu editieren muß man die Prozedur EditBlock aufrufen. Viel Spaß beim Testen. mfG [Diese Nachricht wurde von andreasde am 15. Jul. 2012 editiert.]
[Diese Nachricht wurde von andreasde am 15. Jul. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
andreasde Mitglied Konstrukteur

 Beiträge: 10 Registriert: 04.07.2012
|
erstellt am: 17. Jul. 2012 19:34 <-- editieren / zitieren --> Unities abgeben:          Nur für Stuuhl
Hallo, Im Anhang die letzte Version. Jetzt kann man alle von Dir definierte Luftkanalmodulen einfügen und editieren. Instalationshinweis: --------------------- 1. Den Archiv Luftkanal.zip entpacken, zB. auf D:\Luftkanal 2. In AutoCADoptionen den Pfad zum Verzeichnis D:\Luftkanal\Picture hinzufügen 3. Menüdatei Luftkanal.mnu laden (_menuload) - die Ensprechende Tasten tauchen dem Toolbar und auf. 4. Lispdatei Luftkanal.lsp und VBA-Projektdatei Luftkanal.dvb laden (_appload) Um ein Luftkanalmodul einzufugen bitte Anweisung Luftkanal_Insert aufrufen Um ein Luftkanalmodul zu editieren bitte Anweisung Luftkanal_Edit aufrufen Viel Spaß beim Testen. mfG Andreasde ------------------ Andrzej Szarek Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADoktor Mitglied Techniker

 Beiträge: 35 Registriert: 29.03.2006
|
erstellt am: 04. Aug. 2012 13:45 <-- editieren / zitieren --> Unities abgeben:          Nur für Stuuhl
|