Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Inventor
  Bemaßung über VBA auslesen

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
  
ZWCAD 2023: Leistungsfähigeres Tabellen-Tool
Autor Thema:  Bemaßung über VBA auslesen (231 mal gelesen)
mechanical
Mitglied
Entwicklungsingenieur


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

Beiträge: 192
Registriert: 28.06.2002

ANSYS Workbench 15 @Windows 7
Workstation HP Z820
SolidWorks 2014

erstellt am: 15. Jan. 2003 17:01    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

Wie kann man mit VBA Parameter von Bemaßungen auslesen?
Z.b. Der Parameter eines Durchmesser ist d0 und hat den Wert 5.
Wie kann ich den Wert von d0 bestimmen? Wie greife ich auf d0 zu?

------------------
mechanical   

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

daywa1k3r
Ehrenmitglied V.I.P. h.c.
Softwareentwickler



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

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: 15. Jan. 2003 17:22    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 mechanical 10 Unities + Antwort hilfreich

Hallo,

das müsste funzen:

Code:

Dim oApp As Inventor.Application
Dim oAsm As AssemblyDocument
Dim oNewDoc As PartDocument
Dim oTransGeom As TransientGeometry
Dim CurrentTransform As Matrix
Dim wert_neu as Double

Set oApp = GetObject(, "Inventor.Application")
Set oTransGeom = oApp.TransientGeometry
Set oAsm = oApp.ActiveDocument
Set CurrentTransform = oApp.TransientGeometry.CreateMatrix
CurrentTransform.SetToIdentity
 
Set oNewDoc = oApp.Documents.Open(dein_teil.ipt, False)

wert_neu = 5.8 'zB.

wert_neu = oAsm.UnitsOfMeasure.GetValueFromExpression(wert_neu, kDefaultDisplayLengthUnits)
oNewDoc.ComponentDefinitions(1).parameters("d0").Value = wert_neu

oNewDoc.Update


Der Code läuft extern, so wenn Du es als Makro laufen lassen möchtest, müsstest Du die Set oApp = ThisApplication... setzen.

------------------
Grüße daywa1k3r

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

VOSTA1
Mitglied
techn. Angestellter


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

Beiträge: 108
Registriert: 23.12.2002

erstellt am: 15. Jan. 2003 18:16    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 mechanical 10 Unities + Antwort hilfreich

Das müsste auch gehen
MfG K.W.


Sub Parameter()
Dim oPartDoc As Inventor.PartDocument
Set oPartDoc = ThisApplication.ActiveDocument

Dim oParams As Parameters
Set oParams = oPartDoc.ComponentDefinition.Parameters

'Parameter auslesen

AB_1 = oParams.Item("d0").Value * 10
MsgBox (AB_1)

'UserParameter  auslesen

Dim oUserParams As UserParameters
Set oUserParams = oParams.UserParameters
     
'Neue Parameter einlesen
Dim AB_3 As Double
     
AB_3 = oUserParams.Item("AB_3").Value * 10
MsgBox (AB_3)

d0_neu = 10.8895

oParams.Item("d0").Value = d0_neu * 10

AB_3_neu = 1000.456
oUserParams.Item("AB_3").Value = AB_3_neu * 10

End Sub

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

mechanical
Mitglied
Entwicklungsingenieur


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

Beiträge: 192
Registriert: 28.06.2002

ANSYS Workbench 15 @Windows 7
Workstation HP Z820
SolidWorks 2014

erstellt am: 15. Jan. 2003 19: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

Danke
Werde es Morgen gleich ausprobieren.

------------------
mechanical   

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



Technischer Produktdesigner oder Technischer Zeichner (m/w/d)
Du teilst unsere Leidenschaft für Innovationen und Technologien und willst dich den Herausforderungen der Zukunft stellen? Dann komme zu FERCHAU Rosenheim: Wir realisieren spannende Projekte für namhafte Kunden in allen Technologien und für verschiedene Branchen. Ready for the next Level? Dann bist DU bei uns genau richtig!

Technischer Produktdesigner oder Technischer Zeichner (m/w/d)
Anzeige ansehenTechnischer Zeichner, Bauzeichner
mechanical
Mitglied
Entwicklungsingenieur


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

Beiträge: 192
Registriert: 28.06.2002

erstellt am: 16. Jan. 2003 08:22    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

Danke Leute, es funzt

VOSTA1 hat es genau getroffen.

------------------
mechanical   

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