Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Create a matrix

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:  Create a matrix (680 mal gelesen)
yamaha
Mitglied
Konstrukteur


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

Beiträge: 374
Registriert: 19.05.2004

Autocad/Inventor 2022, Windows 10 Pro 64Bit

erstellt am: 21. Aug. 2004 15:06    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 Leute,
könnte mir jemand ein paar erklärende Tips zum untenstehenden
Beispiel geben. Im Grunde meine ich es zu verstehen; Es wird eine
Matrix gebildet auf die eine Teil abgelegt wird, aber seht unten:

Public Sub AddOccurrence()
    Dim oAsmCompDef As AssemblyComponentDefinition
    Set oAsmCompDef = 
          ThisApplication.ActiveDocument.ComponentDefinition
'Ok das ist klar   
    Dim oTG As TransientGeometry
'Da fängst schon an
    Set oTG = ThisApplication.TransientGeometry
'Was stellt das dar? Die Fläche Ursprung?
    Dim oMatrix As Matrix
    Set oMatrix = oTG.CreateMatrix
'Die Matrix ist ein Fläche, oder? (also ist schon klar Keanu Reeves
'würde mir das anders erklären)
    Call oMatrix.SetToRotation(3.14159265358979 / 4, _
        oTG.CreateVector(0, 0, 1), oTG.CreatePoint(0, 0, 0))
'Matrix wird gedreht??   
    Call oMatrix.SetTranslation(oTG.CreateVector(3, 2, 1))
'setTranslation = setze Übersetzung????   
    ' Add the occurrence.
    Dim oOcc As ComponentOccurrence
    Set oOcc = oAsmCompDef.Occurrences.Add("C:\Part1.ipt", oMatrix)
'Gut das ist auch klar Teil infügen auf der Matrix
End Sub

------------------
Gruß Jörn

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

PaulSchuepbach
Moderator
Programmierer




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

Beiträge: 1005
Registriert: 01.10.2003

erstellt am: 22. Aug. 2004 16:06    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 yamaha 10 Unities + Antwort hilfreich

Hallo Joern,

mal eines nach dem Anderen. Das TransientGeometrie - Objekt brauchst Du um - wie soll ich sagen.... 'temporaere Geometrie' zu erzeugen ('transient' laut Langenscheidt: voruebergehend, vergaenglich, fluechtig).

Set oTG = ThisApplication.TransientGeometry
brauchst Du (bzw. Inventor) um z.B. Punkte zu erzeugen. Punkte sind nicht zu verwechseln mit Arbeitspunkten ! Der Arbeitspunkt ist ein reales Geometrie-Objekt. Ein Punkt dagegen 'existiert' nur als Objekt irgendwo in den Bits und Bytes von IV. Beispiel: wenn Du eine Linie skizzieren willst, geht diese vom Anfangs- zum Endpunkt. Dafuer brauchst Du 2 Point2D-Objekte fuer Start- und Endpunkt, erzeugt mittels TransientGeometrie.
Ebenso erzeugst Du Vector, UnitVector, Matrix usw. mittels TransientGeometrie.

Dim oMatrix As Matrix
Set oMatrix = oTG.CreateMatrix

Jedes Objekt (Part, Assembly-Occurance, usw.) hat eine Matrix. Die Matrix beschreibt die Verschiebung und Drehung zum Ursprung. Eine Flaeche hat einen (Richtungs-) Vektor.

Beispiel: Du modellierst ein Part (Klotz) beginnend auf 0,0,0. Du extrudierst in Z+ Richtung. Anschliessend verbaust Du Dein Part in einem Assembly. Wenn Du es auf 100, 50, 20 mit gleicher Ausrichtung verbaust, hat die Matrix eine Verschiebung (= Translation - nicht Uebersetzung) - von 100, 50, 20 und eine Rotation von 0, 0, 1 (Vektor in Bezug zum Part-Koordinatensystem). Haettest Du's ueberkopf eingebaut, waere der Vektor 0, 0, -1.

Eine Matrix beschreibt also die Lage einer Instanz in Bezug auf Verschiebung und Drehung relativ zum Ursprung.

Nun sollten die letzten Klarheiten endgueltig beseitigt sein.

Gruesse,

Paul

www.morecam.ch/cad.htm


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

yamaha
Mitglied
Konstrukteur


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

Beiträge: 374
Registriert: 19.05.2004

Autocad/Inventor 2022, Windows 10 Pro 64Bit

erstellt am: 23. Aug. 2004 08:30    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 Paul,

vielen Dank,

im Grunde ja, hört sich logisch an, muß ich selbst
nochmal ausprobieren.

Besten Dank

------------------
Gruß Jörn

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