| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: VBA (Befehls-Syntax) in Makros für Inventor (7538 mal gelesen)
|
KonRoWi Mitglied
Beiträge: 15 Registriert: 03.06.2011 Intel Quad Core 2.83 GHz 3 GB RAM NVIDIA Quadro 2000 Windows XP Professional 5.1 (SP 3) AutoCad Inventor Suite 2011
|
erstellt am: 03. Jun. 2011 16:49 <-- editieren / zitieren --> Unities abgeben:
Hallo VBA-Inventor-Experten, wer von Euch kann mir denn wirklich helfen? Aktuell stehe ich vor dem Problem mehrere Zeichnungs-Text-Felder zu ändern. (u.a. ISOCP in ISOCPEUR) (ISOCP ist zu blaß !!!) Offensichtlich bin ich nicht der einzige, der zwar überzeugt ist, sein Problem mit VBA lösen zu können, aber an der fehlenden Information scheitert. Danke für einen guten Rat KonRoWi Ihr habt alle die AGBs bestätigt, also bitte keine Zitate von Adenauer und G.B. Shaw, Hinweise: "frag mal Nancy", oder Tips: lesen, lesen, lesen (würden wir ja gern, aber wo?), und "vielleicht geht das mit VBA" hilft nun wirklich nicht, sondern nur eine einzige brauchbare Antwort! Warum soll z.B. ein Makro-Rcorder überflüssig sein? In alten AutoCad-Versionen und in Medusa wurde die Syntax bei jedem Befehl unterhalb der Zeichnung angezeigt. Daraus konnte man eine Batch-Datei erstellen und aufrufen; VBA gab es noch garnicht. Woher soll jemand wissen wie die Syntax bei Inventor lautet: rechte MausTaste drücken, Eigenschaften auswählen, ... ? Danke für einen guten Rat KonRoWi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RODER Mitglied Maschineningenieur
Beiträge: 494 Registriert: 04.01.2003 Inventor 2023 Pro Win10 64Bit i9-10900K 3.7GHz 64GB RAM Nividia Quadro P2200 SpaceMouse
|
erstellt am: 03. Jun. 2011 17:02 <-- editieren / zitieren --> Unities abgeben: Nur für KonRoWi
|
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 03. Jun. 2011 17:42 <-- editieren / zitieren --> Unities abgeben: Nur für KonRoWi
|
KonRoWi Mitglied
Beiträge: 15 Registriert: 03.06.2011 Intel Quad Core 2.83 GHz 3 GB RAM NVIDIA Quadro 2000 Windows XP Professional 5.1 (SP 3) AutoCad Inventor Suite 2011
|
erstellt am: 03. Jun. 2011 18:10 <-- editieren / zitieren --> Unities abgeben:
|
KonRoWi Mitglied
Beiträge: 15 Registriert: 03.06.2011 Intel Quad Core 2.83 GHz 3 GB RAM NVIDIA Quadro 2000 Windows XP Professional 5.1 (SP 3) AutoCad Inventor Suite 2011
|
erstellt am: 03. Jun. 2011 18:11 <-- editieren / zitieren --> Unities abgeben:
|
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 03. Jun. 2011 18:29 <-- editieren / zitieren --> Unities abgeben: Nur für KonRoWi
Zitat: Original erstellt von KonRoWi: Danke! Das sieht sehr vielversprechend aus! Damit komme ich bestimmt weiter.
War das jetzt ironisch gemeint? Ich meine, es stehen in der Programmierhilfe genau die Codes, die Deine Problematik lösen. Oder hast Du überhaupt reingeschaut? Zitat: Original erstellt von KonRoWi: Genau diese Floskeln wollte ich nicht !!!
Dann solltest Du auch nicht gleich im allerersten Post, alle Leute hier, die freiwillig solchen Leuten wie Dir helfen, auf die AGB zu verweisen. Und jetzt halt mal lieber den Ball flach, und fülle lieber dein Profil aus, so dass wir überhaupt wissen wovon wir reden.
------------------ Grüße Igor FX64 Software Solutions - Inventor Tools FX64 LambdaSpect - Lichtsimulation mit Autodesk Inventor Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KonRoWi Mitglied
Beiträge: 15 Registriert: 03.06.2011 Intel Quad Core 2.83 GHz 3 GB RAM NVIDIA Quadro 2000 Windows XP Professional 5.1 (SP 3) AutoCad Inventor Suite 2011
|
erstellt am: 05. Jun. 2011 10:57 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen! Man sieht doch sicher daß ich hier neu bin? Ich war noch nie Mitglied in einem Forum, daher weiß ich auch nicht genau wie das funktioniert. Mit Klick auf den Beitrag von Roder, glaubte ich, mich bei diesem zu bedanken! Der Tip ist wirklich gut. Ich habe es ganz kurz angetestet, und bin überzeugt, daß mir damit geholfen ist. Mit Floskel meinte ich das Zitat von Kant. Ich bin wirklich einer der letzten, die nicht erst alles versuchen, bevor sie jemanden fragen. Uebrigens finde ich nichts von dem, was dort angegeben ist, auf meinem Rechner wieder. Und wenn ich auch mal ein Zitat anführen darf: "Zu jeder Lösung gibt es ein Problem" Lee Hazelwood Einen schönen Tag noch KonRoWi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RODER Mitglied Maschineningenieur
Beiträge: 494 Registriert: 04.01.2003 Inventor 2023 Pro Win10 64Bit i9-10900K 3.7GHz 64GB RAM Nividia Quadro P2200 SpaceMouse
|
erstellt am: 06. Jun. 2011 12:39 <-- editieren / zitieren --> Unities abgeben: Nur für KonRoWi
Hallo Also nur zur Verdeutlichung wo du die Programmierhilfe findest das Bild. Denn da Igor recht, dort findet man erstaunlich viele Hilfestellungen mit guten Beispielen, zu Beginn ist einfach immer die Gretchenfrage wie muss man suchen, dass man auch das Gesuchte findet Und noch etwas anderes, versuch dich doch mal in die Situation der fleissigen Hilfsbienen hier im Forum zu versetzen. Klar hat jeder einmal irgendwo angefangen, aber wenn einem zum x-ten Mal jemand eine gleiche oder ähnliche Frage stellt, kommen halt zuweilen etwas andere Antworten als der Fragende gerne hätte. Zudem ist das alles hier ja auch noch ehrenamtlich! Und das mit den Zitaten. Woran denkst du wenn ich dir sag, denk mal 5 Minuten NICHT an einen blauen Elefanten? ------------------ Grüsse, Toni Rechtschreibefehler gehören dem findigen Finder Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Little_Devil Mitglied Technische Zeichnerin
Beiträge: 1412 Registriert: 25.04.2003 IV 2023 Radeon (TM) Pro WX 5100 Dell Precision 5820 Tower Intel Xenon CPU @3,7 GHz 32 GB RAM 64 Bit
|
erstellt am: 06. Jun. 2011 13:07 <-- editieren / zitieren --> Unities abgeben: Nur für KonRoWi
und noch ein Tipp, Igor ist hier der Programierexperte Hat mir schon sehr viel geholfen, danke Igor auch an dieser Stelle. ------------------ Grüßle Daniela Wer meint es besser zu wissen, der soll es grad selber machen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KonRoWi Mitglied
Beiträge: 15 Registriert: 03.06.2011 Intel Quad Core 2.83 GHz 3 GB RAM NVIDIA Quadro 2000 Windows XP Professional 5.1 (SP 3) AutoCad Inventor Suite 2011
|
erstellt am: 08. Jun. 2011 17:03 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, vielen Dank, daß ihr Euch so intensiv bemüht, ich weiß das wirklich zu schätzen. Gut, ich habe mal wieder das kleine Dreieck neben dem Fragezeichen übersehen. Ich habs nicht so mit Bildchen klicken, DOS und VMS liegen mir mehr. Im Moment komm ich damit aber auch nicht weiter, zumal alles in Englisch/Amerikanisch ist. Deswegen gebe ich aber nicht gleich auf. Daß viele Andere das gleiche Problem haben ist bekannt, und nur weil ich dort keine befriedigende Anwort fand, habe ich die Frage nochmal neu formuliert. Zu meinem Profil habe mal etwas angehängt. Obwohl ich versucht habe, nicht zu sehr ins Detail zu gehen, ist es doch etwas ausführlich geraten. Vielleicht versteht Ihr jetzt, warum ich mich über den Spruch geärgert habe. Andereseits wußte er bis dahin nichts über mich. Doch zurück zum Problem: Es funktioniert leider nicht, wenigsten nicht bei mir unter Inventor 2011! "Inventor.Execute" sieht logisch aus, bringt aber nur SyntaxFehler. Spielereien mit der RestZeile ohne diese Einleitung brachten garnichts. Nach "inventor." wird ein Liste angeboten, aber execute ist nicht dabei! herzliche Grüße, und wir sollten uns wieder vertragen
Wilhelm Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 09. Jun. 2011 08:43 <-- editieren / zitieren --> Unities abgeben: Nur für KonRoWi
Hallo Willhelm. Mit Profil ausfüllen, meinte ich eher die Inventor Version die Du im Einsatz hast, aber so ein Lebenslauf hat auch schon was :-) Sehr vorbildlich, und hilft auch den Menschen und die Situation hinter dem Nick viel besser zu verstehen. Und was die Sprichwörter betrifft, war das doch nie böse gemeint (siehe blauer Elefant), also Vertragen, warum nicht. Zu deinem Problem, und dem Einstieg in VBA mache bitte folgendes: 1. Öffne den Inventor inkl. der betreffenden Zeichnung (die mit falscher Schrift) 2. Öffne den VBA Editor indem du a) ALT+F11 gleichzeitig auf der Tastatur drückst oder b) Inventor Menü -> Werkzeuge(bei mir Tools) -> VBA Editor 3. In dem VBA Editor auf der linken Seite siehst Du den Ordner Anwendungsprojekt (oder so), und darin auch das Modul1 auf den Du doppelklicken kannst. Danach öffnet sich auf der rechten Seite der Editor von dem Modul1, wo Du deine Funktionen schreiben kannst. 4. Kopiere folgenden Code in deinen Editor: Code:
Sub SchriftErsetzen() Dim oDrawing As DrawingDocument ' Zeichnung Objekt definieren Set oDrawing = ThisApplication.ActiveDocument ' Die aktive Zeichnung an das Objekt übergeben Dim oSheet As Sheet ' Ein Zeichnungsblatt definieren Dim oNote As DrawingNote ' Ein Objekt vom Typ DrawingNote definieren - Das sind die normalen Text Beschriftungen For Each oSheet In oDrawing.Sheets ' Alle Blätter in dieser Zeichnung durchlaufen For Each oNote In oSheet.DrawingNotes ' Alle Notes aus diesem Blatt in einer ForEach Schleife durchgehen oNote.FormattedText = Replace(oNote.FormattedText, "ISOCP", "ISOCPEUR") ' Die Font von iscop in iscopeur (muss vorhanden sein) ändern Next Next End Sub
5. Platziere deinen Maus Cursor beliebig innerhalb der Funktion und starte das Makro über die "Play" Schaltfläche oder mit einem Klick auf F5. Anschließend dürfte der Font von den normalen Texten von ISCOP auf ISCOPEUR umgestellt worden sein. Für einen besseren Einblick in das Inventor Objekt, kannst Du auch die Haltepunkte innerhalb der Funktion setzen, indem Du in dem Editor Fenster auf die vertikale graue Leiste klickst. Dann wird die Zeile rot, und wenn das Programm über diese Zeile drüber läuft, wird die Zeile gelb, was bedeutet, dass das Programm nun an dieser Stelle steht. Das kannst Du nutzen, um das Programm zu debuggen. Gehe dazu auf die beliebige Variable in der Zeile mit der rechten Maustaste, und klicke auf "Überwachen" (bei mir watch). Anschließend wird das Objekt in dem unteren Überwachungsfenster aufgelistet, und man kann es aufklappen und den aktuellen Zustand begutachten. Das ist oft hilfreich, wenn man sehen möchte, was das Objekt so zu bieten hat, bzw. wie die aktuellen Werte sind. Mit einem erneuten F5 fährt das Programm wieder weiter. Probier das einfach mal, und wenn es nicht funktioniert, melde Dich einfach wieder (vorzugsweise in einem Programmierforum - siehe die Links weiter oben). ------------------ Grüße Igor FX64 Software Solutions - Inventor Tools FX64 LambdaSpect - Lichtsimulation mit Autodesk Inventor Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
freierfall Ehrenmitglied V.I.P. h.c. Techniker
Beiträge: 11547 Registriert: 30.04.2004 WIN10 64bit, 32GB RAM IV bis 2022
|
erstellt am: 09. Jun. 2011 09:39 <-- editieren / zitieren --> Unities abgeben: Nur für KonRoWi
Hey Wilhem, ich verstehe deine Aufregung nicht, denn auch auf deiner WebSite benutzt du auch einen Spruch. Dein Home ist irgendwie defekt. Mich interssiert auch sehr, welche Grafikkarte du verwendest? sei herzlich gegrüsst und sei hier herzlich Willkommen Sascha Fleischer Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KonRoWi Mitglied
Beiträge: 15 Registriert: 03.06.2011 Intel Quad Core 2.83 GHz 3 GB RAM NVIDIA Quadro 2000 Windows XP Professional 5.1 (SP 3) AutoCad Inventor Suite 2011
|
erstellt am: 09. Jun. 2011 10:22 <-- editieren / zitieren --> Unities abgeben:
Hallo Sascha, was für einen Spruch soll ich auf meiner Seite haben? Und wieso ist meine Home defekt? Im Moment habe ich noch die "NVIDIA GeForce FX 5200" im Einsatz. Die 400,-- für eine Quadro muß ich erst mal reinholen! Gruß Wilhelm Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
freierfall Ehrenmitglied V.I.P. h.c. Techniker
Beiträge: 11547 Registriert: 30.04.2004 WIN10 64bit, 32GB RAM IV bis 2022
|
erstellt am: 09. Jun. 2011 10:43 <-- editieren / zitieren --> Unities abgeben: Nur für KonRoWi
Hey, ähm diese Grafikkarte ich schon sagen wir älter und ohne eigenen Speicher. Dies geht definitiv nicht. Für ca. 230 Euro inklusive Mehrwersteuer bekommt man einen Dell Pression 490 bei Ebay und da ist dann meist auch noch ein Quadro 1500 oder 3500 drin. Reicht für die Anfänge. Unbedingt die neue Xeon 51er/53er Reihe nehmen. WebSite: Bei unser Team dies meine ich als Spruch. Ist genau so nicht schlimm wie Igors Sache Bei Home steht GoogleTest: ACEGILORU Sei herzlich gegrüsst Sascha Fleischer Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KonRoWi Mitglied
Beiträge: 15 Registriert: 03.06.2011 Intel Quad Core 2.83 GHz 3 GB RAM NVIDIA Quadro 2000 Windows XP Professional 5.1 (SP 3) AutoCad Inventor Suite 2011
|
erstellt am: 09. Jun. 2011 11:50 <-- editieren / zitieren --> Unities abgeben:
Hallo Sascha, mit unser Team hast Du recht, das stammt noch aus dem 1&1 Baukasten, der hat überall Leerzeilen eingefügt. ACEGILORU war ein test von mir, weil meine Seite nirgends finden konnte. Ueberascht war ich, das ich mit diesem Begriff tatsächlich etwas fand, nur nicht meins! Ich habe lange nichts mehr an der Seite gemacht, weil sie eh nichts bringt. Im Moment scheint überdies 1&1 Probleme zu haben. bis demnächst mal Wilhelm Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KonRoWi Mitglied
Beiträge: 15 Registriert: 03.06.2011 Intel Quad Core 2.83 GHz 3 GB RAM NVIDIA Quadro 2000 Windows XP Professional 5.1 (SP 3) AutoCad Inventor Suite 2011
|
erstellt am: 09. Jun. 2011 11:59 <-- editieren / zitieren --> Unities abgeben:
Hallo Igor, vielen Dank für das Programm. Nur es geht nicht um Texte auf der Zeichnung, sondern im Schriftfeld. Das Programmierforum habe ich leider auch nicht gefunden. Nach dem Vorschlag von Roder habe ich Inventor mitschreiben lassen, und einen Text im Schriftfeld geändert. Ich habe das Protokoll mal zur Info angehängt. viele Grüße Wilhelm Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |