Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Platzierte Komponenten ausrichten mit Z=0

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:  Platzierte Komponenten ausrichten mit Z=0 (667 mal gelesen)
st.w
Mitglied



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

Beiträge: 59
Registriert: 08.11.2011

erstellt am: 29. Nov. 2013 10:40    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 vbaler,

um die Zusammenstellung meiner Bauteile zu erstellen nehme ich eine leere iam und gehe über 'Komponente platzieren'. Dann wähle ich alle benötigten Komponenten an (alle meines Unterordners) und füge diese ein.

Inventor legt mir diese auch an sich schlüssig in einer verschobenen Reihe hin, so dass ich alle aufgefächert sehen (und mit Abhängigkeiten) einfügen kann.

Um innere Dichtungen in eine Führung z.B. einzusetzen wähle ich die Halb-Schnittansicht der XY-Ebene. Nun muß ich mit der Hand alle Dichtelemente in die Schnittebene ziehen, damit ich die Kanten abhängig machen kann.

Ich würde gerne ein Makro haben, dass die Einfügepunkt aller Komponenten mit Z=0 setzt, so dass alle in der XY-Ebene liegen.

Leider habe ich keine Idee, wie ich das machen kann ? (obwohl ich schon manchen Code weiter entwickeln konnte)

Über ein Codegerüst würde ich mich freuen - Danke!

Viele Grüße,
Stefan

------------------
IV2008

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



Mechatronic Engineer (m/w/d)

Die Motherson Group ist einer der 25 größten und am schnellsten wachsenden An­bieter von Komplett­system­lösungen für die globale Auto­mobil­industrie und bedient eine Viel­zahl weiterer Branchen wie Eisen­bahn, Luft- und Raum­fahrt, Medizin, IT und Logistik mit über 168.000 Mitarbeitenden in 41 Ländern weltweit.
Samvardhana Motherson Reflectec (SMR) ist der Spezialist der Gruppe für Rück­sicht­systeme für die Auto­mobil­industrie....

Anzeige ansehenMechatronik
noctis79
Mitglied
Konstrukteur/ CAD-Administrator


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

Beiträge: 164
Registriert: 07.10.2009

Inventor Pro 2017
Cideon Workspace

erstellt am: 09. Dez. 2013 09:47    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 st.w 10 Unities + Antwort hilfreich

Hallo Stefan,

schau Dir mal folgenden Code an:

Code:
Public Sub Teil_auf_Ursprung()
    If ThisApplication.ActiveDocument Is Nothing Then
        MsgBox "No Document open", 16, "Error"
        Exit Sub
    End If
   
    Dim oapp As Application
    Set oapp = ThisApplication
    If Not ThisApplication.ActiveDocument.DocumentType = kAssemblyDocumentObject Then
        MsgBox "No Assembly", 16, "Error"
        Exit Sub
    End If
   
    ' Set a reference to the assembly component definintion.
    Dim oAsmCompDef As AssemblyComponentDefinition
    Set oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition
   
    ' Get an occurrence from the select set.
    On Error Resume Next
    Dim oOccurrence As ComponentOccurrence
    Set oOccurrence = ThisApplication.ActiveDocument.SelectSet.Item(1)
    If Err Then
        MsgBox "An occurrence must be selected."
        Exit Sub
    End If
    On Error GoTo 0

    ' Get the current transformation matrix from the occurrence.
    Dim oTransform As Matrix
    Set oTransform = ThisApplication.TransientGeometry.CreateMatrix
   
    ' Set the rotation of the matrix for a 45 degree rotation about the Z axis.
    Call oTransform.SetToRotation(3.14159265358979 / 4, _
                            ThisApplication.TransientGeometry.CreateVector(0, 0, 0), ThisApplication.TransientGeometry.CreatePoint(0, 0, 0))
                           
    ' Move the occurrence ignoring any constraints.
    ' Anything that causes the assembly to recompute will cause the
    ' occurrence to reposition itself to honor the constraints.
    oTransform.SetTranslation ThisApplication.TransientGeometry.CreateVector(0, 0, 0)
    Call oOccurrence.SetTransformWithoutConstraints(oTransform)

    ' Iterate through all of the occurrences and ground them.
        oOccurrence.Grounded = True
    'Next
End Sub


Sollte was brauchbares für Dich dabei sein...

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