| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | | | Autodesk AutoCAD: Crashkurs, ein Seminar am 28.04.2025
|
Autor
|
Thema: Machbarkeit Bibliothek mit Baugruppen/VBA (894 / mal gelesen)
|
Maier2018 Mitglied Schlaumaier
Beiträge: 25 Registriert: 15.01.2018
|
erstellt am: 16. Feb. 2022 11:14 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, wir planen die Einführung einer 3D-Software bei uns und wir schauen uns dafür nun Inventor an. Momentan arbeiten wir mit Autocad und einer eigenen LISP-Programmierung, mit welcher wir recht einfach eigene Elemente ablegen können mit vorher definierten Maßen. Wenn alle Elemente abgelegt wurden, wird eine Stückliste ausgegeben. In 3D abgebildet wäre ein solches Element eine Unterbaugruppe aus mind. drei Teilen (zwei Bleche und ein Volumenkörper). Ein fertiges Projekt besteht dann also aus mehreren Elementen mit verschiedenen Maßen. Die Elemente in Inventor abzubilden und mit den nötigen Parametern zu bestücken, dürfte nicht das Problem sein. Jedoch wie wir eine Bibliothek aufbauen, pflegen und damit arbeiten, ist für mich noch ein Rätsel. Unsere Wunschvorstellung wäre, eine übersichtliche Darstellung innerhalb von Inventor (ähnlich wie im Inhaltscenter) aller erstellten Elementen zu haben, aus der wir die passenden Elemente in eine Baugruppe einfügen und so ein fertigen Projekt erstellen. Dabei sollte jedes Element eine eigene Instanz sein mit eindeutigem Namen. Ich habe nun festgestellt, dass man ins Inhaltscenter nur eigene Bauteile einpflegen kann. Mit Baugruppen funktioniert das nicht. Ich hätte auch kein Problem damit, mich mit VBA zu beschäftigen. Jedoch kann ich aktuell noch nicht einschätzen, ob sich der Aufwand lohnt bzw. ob sowas überhaupt denkbar ist umzusetzen. Man kann ja recht einfach eine Userform basteln und durch einen Button Baugruppen und Bauteile einfügen lassen. Das habe ich auch schon in einfachster Form ausprobiert. Bevor ich da aber tiefer einsteige, dachte ich, frage ich hier mal nach Tipps und Anregungen. Idealerweise hat jemand auch schon etwas im Ansatz ähnliches im Einsatz oder kann mir sagen, dass unsere Vorstellung mit VBA nicht umsetzbar ist. Danke im Voraus! MfG, Sergej Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2630 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 17. Feb. 2022 08:51 <-- editieren / zitieren --> Unities abgeben: Nur für Maier2018
Hallo Auf keinen Fall mit VBA. Autodesk hat zwar keinen Termin genannt, aber seit Microsoft den Support eingestellt hat, ist VBA auf der Stirbt-aus-Liste. Mal eben einen Dreizeiler ja, aber keine größeren Projekte die längerfristig laufen sollen. Wenn, dann als .Net Addin. Auch iLogic wäre denkbar, halte ich aber derzeit funktional noch für zu beschränkt. Ohne das im Detail geprüft zu haben, könnte ich mir vorstellen: - je eine iAssembly, die die drei Einzelteile enthält pro Elementtyp - eine selbst erstellte GUI, in der die Elementtypen aufgelistet werden - bei Auswahl eines Elementyps in der GUI wird die Variantenliste dieses Typs (z.B. Länge 10, 20, 30mm) angezeigt - nach Auswahl der Variante wird die iAssembly eingefügt und die entsprechende Variante aktiviert Das ginge auch zu Fuß ohne die zusätzliche GUI, da die iAssemblies einfach in einem Verzeichnis abgelegt sind. Je nach Menge wird es nur schwieriger den passenden Typ zu finden. Eine Alternative sind ab Inventor 2022 eventuell die Modellzustände in Baugruppen. Es hängt auch von der Anzahl der Typen und Varianten ab. Sind es in Summe 5.000, kann man über einen der am Markt verfügbaren Konfiguratoren nachdenken. Ohne eure Teile, die Anforderungen (Zeichnungen, Stücklisten, etc.) usw. zu kennen, ist es schwierig den optimalen Weg zu nennen. Möglicherweise ist auch eine Beratung durch ein Systemhaus empfehlenswert, die sich euren Datenbestand genau ansehen. Warum wechselt ihr eigentlich? Nur weil alle jetzt 3D machen oder gibt es echte Gründe? ------------------ MfG Ralf RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Maier2018 Mitglied Schlaumaier
Beiträge: 25 Registriert: 15.01.2018
|
erstellt am: 17. Feb. 2022 09:41 <-- editieren / zitieren --> Unities abgeben:
Hallo Ralf, danke für die Antwort. Das VBA aussterben soll, war mir noch nicht bekannt. Da muss man nun wirklich zwei mal überlegen, dort viel Arbeit reinzustecken. Es gibt mehrere Gründe für den Wechsel zu 3D. Zum einen wünschen immer mehr Kunden 3D Modelle von uns und zum anderen möchten es die Mitarbeiter, da man sich erhofft einige Fehler dadurch zu vermeiden. Aber ja, auch ein bisschen weil "alle" nun mit 3D arbeiten und man sich veraltet vorkommt. Je mehr ich mit Inventor beschäftige, desto mehr befürchte ich auch, dass wir ohne externe Hilfe nicht an unser Ziel kommen bzw. keine praktibale Lösung finden. Und nun nochmal kurz genauer die Funktionsweise von unserer LISP-Programmierung und auch der Wunsch, wie es in Inventor umgesetzt werden sollte: 1. einige globale Parameter werden gesetzt (Höhe, Blechstärke, Material etc.) 2. ein Elementtyp wird aus einer eigenen Multifunktionsleiste ausgewählt 3. es werden zwei Einfügepunkt gepickt, welche dann die Breite des Elementes bestimmen 4. zu Schluss werden alle Elemente automatisch nummeriert, in einer Stückliste ausgegeben und ggf. werden auch automatisch DXF's daraus generiert
MfG Sergej Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2630 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 22. Feb. 2022 08:19 <-- editieren / zitieren --> Unities abgeben: Nur für Maier2018
Hallo Sorry, wieder zwei Sachen durcheinander gebracht. VBA ist ja schon seit dem Ende von VisualBasic 6 quasi ohne Weiterentwicklung. Microsoft hat 2020 das Entwicklungsende für VB.Net verkündet. Es soll keine Weiterentwicklung mehr geben. Neue Techniken und Features sollen wohl C# vorbehalten bleiben. Ob das alles so kommt, wer weiß. MS hat schon oft genug eine Kehrtwende hingelegt. Mit der Einführung von iLogic, das witzigerweise auf VB.Net basiert, wird Autodesk aber mM VBA ablösen. Auf Dauer beide APIs zu pflegen wird einfach zu teuer. Ich bin mir relativ sicher, das die Anforderung mit iAssemblies abbildbar wäre. Wenn die Umsetzung ein oder gar das entscheidende Kriterium für/gegen Inventor ist, solltet ihr auf einen funktionierenden Prototypen bestehen, der unter realen Bedingungen getestet wird. Für das Picken der Einfügepunkte muss irgendein Objekt (Grundriss?) vorhanden sein von dem ihr das abgreift. Definieren die zwei Punkte die Breite in definierten Schritten oder ist das ein Wert der in 1/100 mm Schritten variiert? Hier muss man schauen wie man das Picken adaptiert. Das Nummerieren macht die Stückliste von Inventor nebenbei automatisch. ------------------ MfG Ralf RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Maier2018 Mitglied Schlaumaier
Beiträge: 25 Registriert: 15.01.2018
|
erstellt am: 23. Feb. 2022 13:29 <-- editieren / zitieren --> Unities abgeben:
Danke nochmal für die Hilfe. Jedoch bin ich für mich zu dem Schluss gekommen, dass wir uns bei der Komplexitität externe Hilfe holen müssen. Zumindest für eine Beratung/Unterstützung. Jetzt muss nur noch die Geschäftsführung überzeugt werden... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mb-ing Mitglied F&E-Mangement, MB-Ing. (u)
Beiträge: 774 Registriert: 06.09.2012 Inventor 2021 WIN 10 (64bit), Dell Precision T1650, 16GB (Pro.File 8.7)
|
erstellt am: 24. Feb. 2022 07:23 <-- editieren / zitieren --> Unities abgeben: Nur für Maier2018
Zitat: Original erstellt von rkauskh: Hallo Microsoft hat 2020 das Entwicklungsende für VB.Net verkündet. Es soll keine Weiterentwicklung mehr geben. Neue Techniken und Features sollen wohl C# vorbehalten bleiben. Ob das alles so kommt, wer weiß. MS hat schon oft genug eine Kehrtwende hingelegt.
Wusste ich noch gar nicht, ist aber sehr interessant. Ich entwickle ansonsten Class Libraries, Konsolen-Anwendungen und Back-Ends ausschließlich mit C#. Gibt es in Bezug auf Inventor Unterschiede zwischen VB.NET und C#.NET? Das Umstellen von VB.NET auf C#.NET sollte ja relativ schnell gehen... Den riesen Vorteil von VBA direkt in Inventor sehe ich im schnellen Entwickeln und der sehr einfachen und sehr guten Analyse der Objekte. Bei komplett neuen Ideen starte ich des Öfteren in VBA und schwenke erst später in .NET um. Aber in einem .NET-Add-In für Inventor stehen ein gefühlt 1000 mal mehr Möglichkeiten zur Verfügung Vor allem kann man hier sehr einfach weitere 3rd Party Libraries einbinden. Danke und Grüße MB-Ing. ------------------ Wissen ist Macht. Nichts wissen macht auch nichts Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2630 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 24. Feb. 2022 09:46 <-- editieren / zitieren --> Unities abgeben: Nur für Maier2018
Hallo @Maier2018 Man muss es ja auch so sehen, so eine Softwareumstellung macht man nicht alle 14 Tage. In der Regel behält man die gewählte Lösung für Jahre. Ein paar tausend Euro vorneweg, um die passende Lösung zu finden, spart einem über die Laufzeit schnell zigtausende Euro. Und, mein wichtigster Tipp, nix glauben. Egal welcher Anbieter. An realen Beispielen eurer Produkte demonstierte Machbarkeit zählt. Man kann immer ein Demomodell bauen mit dem es perfekt funktioniert, hat aber nicht zwingend Bezug zur Realität. Eine parametrische Baugruppe bei der ein Maß geändert und einmal Aktualisieren gedrückt wird, passt sich vollautomatisch an. Toll. Nur die Erwähnung, das diese ganze Logik dahinter nicht von allein entsteht und Arbeit/Zeit kostet, wird gern "vergessen". @mb-ing So ganz schlau bin ich aus der Ankündigung damals auch nicht geworden. Es sollte keine neuen Feature mehr geben, nur noch sicherheitsrelevante Updates. Ab wann dieser Featurefreeze relevant für die breite Masse wird, keine Ahnung. Dann las ich irgendwo, das es mit core weiter gehen wird, dann wieder ein Dementi. Also wie immer bei MS. Die API's für VB und C# im Inventor sind sicher nicht ganz gleich im Funktionsumfang. Auf jeden Fall ist C# noch viel schlechter dokumentiert. Ich glaube so ziemlich jeder entwickelt eine Idee erst mal in kleinem Rahmen, um die Machbarkeit sicher zu stellen. VBA ist in meinen Augen ideal dafür. Vielleicht belässt es Autodesk ja dabei, dass man es manuell nachinstallieren muss. Dann ist jeder User selbst schuld, der sich dieses "Sicherheitsrisiko" installiert. 1000 mehr Möglichkeiten halte ich für stark untertrieben. ------------------ MfG Ralf RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mb-ing Mitglied F&E-Mangement, MB-Ing. (u)
Beiträge: 774 Registriert: 06.09.2012 Inventor 2021 WIN 10 (64bit), Dell Precision T1650, 16GB (Pro.File 8.7)
|
erstellt am: 24. Feb. 2022 13:03 <-- editieren / zitieren --> Unities abgeben: Nur für Maier2018
Zitat: Original erstellt von rkauskh:
Die API's für VB und C# im Inventor sind sicher nicht ganz gleich im Funktionsumfang. Auf jeden Fall ist C# noch viel schlechter dokumentiert.
Bestehen wirklich Unterschiede im Funktionsumfang? Gibt es hierzu Artikel oder ähnliches? Danke und Grüße MB-Ing. ------------------ Wissen ist Macht. Nichts wissen macht auch nichts Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2630 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 24. Feb. 2022 13:35 <-- editieren / zitieren --> Unities abgeben: Nur für Maier2018
Hallo Frag mich jetzt bitte nicht nach einem Beispiel. Ich hatte 2 oder 3 mal den Fall das es mit VB.Net funktionierte, das gleiche mit C# lieferte nur eine allgemeine Ausnahme, falsches Argument oder ein not implemented. Vielleicht waren diese Unterschiede nicht gewollt, sondern kleine Unschärfen. Und irgendwie meine ich mich dunkel zu erinnern, das in einem der PartFeature Befehle ein Featureedit an der Skizze in VB.net funktionierte, in C# musste man seltsamerweise erst das Bauteilende über das Feature hochschieben und danach konnte man die Skizze ändern. ------------------ MfG Ralf RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Maier2018 Mitglied Schlaumaier
Beiträge: 25 Registriert: 15.01.2018
|
erstellt am: 24. Feb. 2022 13:56 <-- editieren / zitieren --> Unities abgeben:
Hallo ihr zwei, wie hoch schätzt ihr den Aufwand sich in VB oder C# einzuarbeiten? Einzige nennenswerte Programmiererfahrung habe ich in nur mit LISP. Das habe ich mir neben meiner Tätigkeit selbst beigebracht. Wobei ich aber mit einer bestehenden Programmierung angefangen habe, welche ich weiter verbessert habe. Heißt, ich konnte durchs studieren der Codes nach und nach viel lernen. Bei Inventor müsste ich quasi von null anfangen. Das wäre für mich eine ganz andere Situtation... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mb-ing Mitglied F&E-Mangement, MB-Ing. (u)
Beiträge: 774 Registriert: 06.09.2012 Inventor 2021 WIN 10 (64bit), Dell Precision T1650, 16GB (Pro.File 8.7)
|
erstellt am: 28. Feb. 2022 07:22 <-- editieren / zitieren --> Unities abgeben: Nur für Maier2018
Zitat: Original erstellt von Maier2018: Hallo ihr zwei,wie hoch schätzt ihr den Aufwand sich in VB oder C# einzuarbeiten? Einzige nennenswerte Programmiererfahrung habe ich in nur mit LISP. Das habe ich mir neben meiner Tätigkeit selbst beigebracht. Wobei ich aber mit einer bestehenden Programmierung angefangen habe, welche ich weiter verbessert habe. Heißt, ich konnte durchs studieren der Codes nach und nach viel lernen. Bei Inventor müsste ich quasi von null anfangen. Das wäre für mich eine ganz andere Situtation...
Hallo Maier2018, der initiale Aufwand ist nicht so hoch, da es boilerplates gibt Zum Beispiel: https://ekinssolutions.com/wp-content/uploads/2018/11/CreatingInventorAddIns-AU2018.pdf Einfach Vorlage herunterladen und mal starten... Als IDE brauchst Du auf jeden Fall Visual Studio, was aber ein sehr gutes Programm ist. Das boilerplate kannst Du dann entsprechend an Deine Bedürfnisse adaptieren. Vorhandenen VBA-Code kann man extrem einfach auf VB.NET-Syntax ummodeln. Sehr oft muss man nur bei der Initialisierung von Objekten den Namespace einmalig zuweisen und "Set" entfernen. Findest Du Code in C# kannst Du es zu 99,5% mit https://converter.telerik.com/ übersetzen lassen. Bedeutet: - Boilerplate ist vorhanden und kann sehr einfach angepasst werden - Vorhandener oder zm Netz gefundener Code in VBA oder C# kann leicht in die VB.NET-Syntax transformiert werden - Die Möglichkeiten eines .NET-Add-Ins sind enorm » Es gibt keinen Grund dagegen Man kann sich nur überlegen, ob VB oder C# VG MB-Ing. ------------------ Wissen ist Macht. Nichts wissen macht auch nichts Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|