Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Bauteilbemaßung per VBA ändern

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

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Bauteilbemaßung per VBA ändern (3293 mal gelesen)
simon3
Mitglied


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

Beiträge: 2
Registriert: 16.02.2012

erstellt am: 16. Feb. 2012 22:44    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

Hallo zusammen!

Ich stehe gerade vor einem Problem, das ich trotz intensiver Suche in diesem Forum noch nicht lösen konnte.

Und zwar möchte ich den Durchmesser einer Kugel, die als .ipt abgespeichert ist, per VBA anpassen. Ich habe schon probiert die entsprechende Bemaßung als iProperty zu exportieren und auszulesen. Das funktioniert bisher auch. Allerdings kann ich den Wert dieser benutzerdefinierten iProperty nicht verändern oder speichern, sodass sich die Größe der Kugel ändert.
Ist dies überhaupt möglich, oder gibt es einen Weg Skizzenbemaßungen noch direkter per VBA anzusprechen?

Beste Grüße,
Simon

[Diese Nachricht wurde von simon3 am 16. Feb. 2012 editiert.]

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

Egbert Junge
Mitglied
Dipl.-Ing. Konstruktionstechnik


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

Beiträge: 38
Registriert: 22.02.2005

Inventor Professional 2010 SP4,Vault 2010, Windows 7 64bit, Xeon 4x 2,66GHz,6GB Arbeitsspeicher,Quadro FX1800

erstellt am: 24. Feb. 2012 13:41    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 simon3 10 Unities + Antwort hilfreich

Hallo Simon,
meinst Du etwas in dieser Art?

Code:
Public Sub MaßÄndern()
    Dim oapp As Application
    Set oapp = ThisApplication
    Dim oDoc As Document
    Set oDoc = oapp.ActiveDocument
    Dim oParameters As Parameters
    Set oParameters = oDoc.ComponentDefinition.Parameters
    Dim oDurchmesser As ModelParameter
    Set oDurchmesser = oParameters.Item("d7") 'Musst Du natürlich anpassen
    oDurchmesser.Value = 40 'Neuen Durchmesser setzen(Dran denken dies sind 400mm!)
    oDoc.Update
End Sub

Gruß Egbert

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

simon3
Mitglied


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

Beiträge: 2
Registriert: 16.02.2012

erstellt am: 26. Feb. 2012 15:41    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

Hallo Egbert!
Vielen Dank für deine Antwort!
Nach weiterem Suchen bin ich irgendwann auch auf diese Möglichkeit gestoßen, Bauteilparameter per VBA anzupassen. Jetzt funktioniert alles!
Beste Grüße, Simon

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

Scoopa
Mitglied
MB Techniker


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

Beiträge: 224
Registriert: 26.04.2006

HP Workstation / WIN 7 / Solid Edge ST7

erstellt am: 04. Sep. 2018 13:46    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 simon3 10 Unities + Antwort hilfreich

Bei mir hängt sich der Code in der 4. Zeile auf :-/

Fehler beim Kompilieren

Benutzerdefinierter Typ nicht definiert.


Woran liegt das? 

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

KraBBy
Mitglied
Maschinenbau-Ingenieur


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

Beiträge: 601
Registriert: 19.09.2007

Inventor Professional 2020
WinX

erstellt am: 05. Sep. 2018 08:25    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 simon3 10 Unities + Antwort hilfreich

kann ich leider nicht nachvollziehen (bei mir funktioniert es)
Der Fehler ist in dieser Zeile: "Set oDoc = oapp.ActiveDocument"?

Ich kann nur raten. Vielleicht die Zeile ersetzen durch
Set oDoc = ThisApplication.ActiveDocument
Dann werden die ersten beiden Zeilen mit oapp nicht mehr gebraucht, können auskommentiert werden.

Ist ein Part geöffnet, wenn das Makro gestartet wird?
Welche IV-Version?

------------------
Gruß KraBBy

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

Scoopa
Mitglied
MB Techniker


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

Beiträge: 224
Registriert: 26.04.2006

HP Workstation / WIN 7 / Solid Edge ST7

erstellt am: 05. Sep. 2018 10:28    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 simon3 10 Unities + Antwort hilfreich

Danke für Deine Antwort.

Nein schon eine Zeile davor:

Dim oDoc As Document

Ich habe versucht einen Verweis zu setzen auf die "Autodesk Inventor Object Library"
Hier kommt folgende Fehlermeldung -> "Fehler beim Laden einer DLL"


Ja es ist ein Part geöffnet.
Inventor 2018


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

KraBBy
Mitglied
Maschinenbau-Ingenieur


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

Beiträge: 601
Registriert: 19.09.2007

Inventor Professional 2020
WinX

erstellt am: 05. Sep. 2018 12:51    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 simon3 10 Unities + Antwort hilfreich

reden wir von VBA oder setzt Du das mit .Net in einem AddIn um?

falls .Net
- falsches Forum
- könnte ... As Inventor.Document klappen
  (wobei ich da keine Ahnung habe, wovon ich rede)

falls VBA:
mit Verweis setzen, ist VBA-Editor -> Menü Tools -> References gemeint?
Da sollte der Haken gesetzt sein bei der "Autodesk Inventor Object Library" (das halte ich für ~Standard). Zeigt bei mir auf diese Datei
"C:\Program Files\Autodesk\Inventor 2016\Bin\RxInventor.tlb" (falls das hilft, kA ob für IV2018 analog)

------------------
Gruß KraBBy

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

Scoopa
Mitglied
MB Techniker


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

Beiträge: 224
Registriert: 26.04.2006

HP Workstation / WIN 7 / Solid Edge ST7

erstellt am: 05. Sep. 2018 14:28    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 simon3 10 Unities + Antwort hilfreich

Es ist VBA

der Pfad ist bei mit exakt der selbe wie ich eben sehe.
Daher kann das auch nicht funktionieren!?

Richtig wäre:
C:\Program Files\Autodesk\Inventor 2018\Bin

wie kann ich den Pfad ändern?

[Diese Nachricht wurde von Scoopa am 05. Sep. 2018 editiert.]

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

KraBBy
Mitglied
Maschinenbau-Ingenieur


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

Beiträge: 601
Registriert: 19.09.2007

Inventor Professional 2020
WinX

erstellt am: 05. Sep. 2018 18:15    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 simon3 10 Unities + Antwort hilfreich

Erscheint mir logisch, dass darin die Ursache liegen könnte.

In dem Dialog gibt es rechts einen Button, über den dann die Datei gewählt werden kann. (Habs gerade nicht zur Hand, deshalb weiß ich nicht wie der Button heißt)

------------------
Gruß KraBBy

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

Scoopa
Mitglied
MB Techniker


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

Beiträge: 224
Registriert: 26.04.2006

HP Workstation / WIN 7 / Solid Edge ST7

erstellt am: 06. Sep. 2018 07:53    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 simon3 10 Unities + Antwort hilfreich

Ja das habe ich schon versucht. Aber die Ursache bleibt komischerweise die selbe.
Gleiche Fehlermeldung. Wollte die RxInventor.tlb einbinden.
Aber vermutlich braucht es eine DLL Datei? Nur welche ist das?

Vielleicht die hier?
https://forums.autodesk.com/t5/inventor-customization/a-reference-to-autodesk-inventor-object-library-could-not-be/td-p/5681019

Autodesk.Inventor.Interop.dll

Der Button heisst "Durchsuchen" ... Dort kann man die Datei einbinden. Also eigentlich  

[Diese Nachricht wurde von Scoopa am 06. Sep. 2018 editiert.]

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

Scoopa
Mitglied
MB Techniker


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

Beiträge: 224
Registriert: 26.04.2006

HP Workstation / WIN 7 / Solid Edge ST7

erstellt am: 07. Sep. 2018 08:43    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 simon3 10 Unities + Antwort hilfreich

Wenn ich den Code direkt in ein Bauteil einbinde, dann funktioniert es! 

Also liegt es offenbar wirklich nur an der Verknüpfung von dem Verweis auf die Datei!?

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

Scoopa
Mitglied
MB Techniker


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

Beiträge: 224
Registriert: 26.04.2006

HP Workstation / WIN 7 / Solid Edge ST7

erstellt am: 07. Sep. 2018 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 Nur für simon3 10 Unities + Antwort hilfreich

Ist es auch möglich in einer Baugruppe einige Bauteile masslich zu verändern?

oder muss man dazu jedes einzelne Bauteil extra ändern?
Also evtl so

-Bauteil öffnen
-Bauteil masslich editieren
-Bauteil speichern
-Bauteil schliessen
-Baugruppe aktualisieren

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

Egbert Junge
Mitglied
Dipl.-Ing. Konstruktionstechnik


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

Beiträge: 38
Registriert: 22.02.2005

Inventor Professional 2010 SP4,Vault 2010, Windows 7 64bit, Xeon 4x 2,66GHz,6GB Arbeitsspeicher,Quadro FX1800

erstellt am: 07. Sep. 2018 13:42    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 simon3 10 Unities + Antwort hilfreich

Nein, geht auch direkt aus der Baugruppe:
Code:
Public Sub MaßBgÄndern()
    Dim oapp As Application
    Set oapp = ThisApplication
    Dim oBgDoc As Document
    Set oBgDoc = oapp.ActiveDocument
    Dim oDoc As PartDocument
    Set oDoc = oBgDoc.ReferencedDocuments.Item(1) 'Hier deine Parts auswählen
    Dim oParameters As Parameters
    Set oParameters = oDoc.ComponentDefinition.Parameters
    Dim oDurchmesser As ModelParameter
    Set oDurchmesser = oParameters.Item("d7") 'Musst Du natürlich anpassen
    oDurchmesser.value = 20 'Neuen Durchmesser setzen(Dran denken dies sind 400mm!)
    oBgDoc.Update
End Sub

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

Scoopa
Mitglied
MB Techniker


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

Beiträge: 224
Registriert: 26.04.2006

HP Workstation / WIN 7 / Solid Edge ST7

erstellt am: 07. Sep. 2018 15:28    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 simon3 10 Unities + Antwort hilfreich

Vielen Dank!

Bei Item nehme ich Namen des Bauteils im Strukturbaum?

Set oDoc = oBgDoc.ReferencedDocuments.Item(1) 'Hier deine Parts auswählen

Also

Set oDoc = oBgDoc.ReferencedDocuments.Item(Name des Bauteils) 'Hier deine Parts auswählen

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

Scoopa
Mitglied
MB Techniker


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

Beiträge: 224
Registriert: 26.04.2006

HP Workstation / WIN 7 / Solid Edge ST7

erstellt am: 12. Sep. 2018 13:41    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 simon3 10 Unities + Antwort hilfreich

Geht das ganze auch in einer Unterbaugruppe?
Bzw bei einem Bauteil, dass in der Baugruppe in einer darin enthaltenen Baugruppe auftaucht?

Hauptbaugruppe
|__ Bauteil          'das ist mit Set oDoc = oBgDoc.ReferencedDocuments.Item(1) anzuwählen - soweit verstanden
|__ Unterbaugruppe
      |___Bauteil    'wie kann ich diese Bauteile editieren?
      |___Bauteil    'wie kann ich diese Bauteile editieren?


[Diese Nachricht wurde von Scoopa am 12. Sep. 2018 editiert.]

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)2023 CAD.de | Impressum | Datenschutz