Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Inventor
  Inventor VBA - Abhängigkeiten per Arbeitspunkte AddMateConstraint

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
  
EMU entwickelt Batterien und Stromversorgungssysteme mit ZWCAD
Autor Thema:  Inventor VBA - Abhängigkeiten per Arbeitspunkte AddMateConstraint (798 mal gelesen)
Zeichnerschlumpf
Mitglied
Technischer Zeichner


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

Beiträge: 79
Registriert: 26.01.2010

AutoCAD 2005-2018 LT
AutoCAD 2009-2018 Mechanical
Inventor Professional 8-2018 + Space Pilot pro
Pault Professional 2016

erstellt am: 24. Aug. 2020 09:54    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 ihr da draußen,

nach längerer Abstinenz habe ich mal wieder eine persönliche Wissensgrenze im VBA-Bereich gestoßen.

Und zwar versuche ich aktuell zwei Arbeitspunkte von Bauteilen einer Baugruppe mittels AddMateConstraint automatisch aufeinander zu setzen.

Im Internet habe ich dazu nichts finden können, lediglich um Arbeitsebenen aufeinander zu setzen. Dieses klappt auch, nur für Arbeitspunkt leider nicht.

In Anlehnung an die Herangehensweise bei Arbeitsebenen habe ich es natürlich auch über workpointproxy(s) versucht, jedoch leider ohne erfolg.

Bisher habe ich folgendes versucht:

Public Sub connect()

    Dim oDoc As Inventor.AssemblyDocument
    Set oDoc = ThisApplication.ActiveDocument
   
    Dim oCompDef As Inventor.ComponentDefinition
    Set oCompDef = oDoc.ComponentDefinition
   
    Dim oAsmCompDef As AssemblyComponentDefinition
    Set oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition

    Dim oCompOcc As ComponentOccurrence
   
    Dim point_x, point_y, point_z As Double
    point_x = oCompDef.Occurrences(1).Definition.WorkPoints.Item(5).point.X
    point_y = oCompDef.Occurrences(1).Definition.WorkPoints.Item(5).point.Y
    point_z = oCompDef.Occurrences(1).Definition.WorkPoints.Item(5).point.Z
   

    Dim oPoint As WorkPoint
    Dim oMasterPoint, opostPoint As WorkPoint
   
    Set oMasterPoint = oCompDef.Occurrences(1).Definition.WorkPoints.Item(5)
  Set opostPoint = oCompDef.Occurrences(2).Definition.WorkPoints.Item(1)


    Call oAsmCompDef.Constraints.AddMateConstraint(oMasterPoint, opostPoint, 0)

End Sub

Hierzu habe ich in der Baugruppe 2 Bauteile abgelegt, Bauteil 1 besitzt neben dem Ursprung noch 4 weitere Arbeitspunkte.

Vielleicht habt ihr eine Idee?

Besten Dank im Voraus.

Liebe Grüße

Zeichnerschlumpf

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2428
Registriert: 15.11.2006

Windows 10 x64, AIP 2023

erstellt am: 25. Aug. 2020 16:39    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 Zeichnerschlumpf 10 Unities + Antwort hilfreich

Hallo

Keine Ahnung was du da als Adaption probiert hast, aber so geht's.

Code:

Public Sub connect()

    Dim oAsmCompDef As AssemblyComponentDefinition
    Set oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition

    Dim oOcc1 As ComponentOccurrence
    Set oOcc1 = oAsmCompDef.Occurrences.Item(1)

    Dim oOcc2 As ComponentOccurrence
    Set oOcc2 = oAsmCompDef.Occurrences.Item(2)

    Dim oMasterPoint As WorkPoint
    Set oMasterPoint = oAsmCompDef.Occurrences(1).Definition.WorkPoints.Item(2)
   
    Dim oPostPoint As WorkPoint
    Set oPostPoint = oAsmCompDef.Occurrences(2).Definition.WorkPoints.Item(2)
   
    Dim oMasterPointProxy As WorkPointProxy
    Call oOcc1.CreateGeometryProxy(oMasterPoint, oMasterPointProxy)
   
    Dim oPostPointProxy As WorkPointProxy
    Call oOcc2.CreateGeometryProxy(oPostPoint, oPostPointProxy)
       
    Call oAsmCompDef.Constraints.AddMateConstraint(oMasterPointProxy, oPostPointProxy, 0)

End Sub


------------------
MfG
Ralf

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