Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  vorhandenes makro erweitern

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:  vorhandenes makro erweitern (1111 mal gelesen)
junior33
Mitglied



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

Beiträge: 14
Registriert: 03.02.2003

erstellt am: 04. Mrz. 2005 12: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,
ich habe vor kurzem (im inventor-forum) ein makro erhalten was es mir erlaubt eine bestimmte datei auf einen button zu legen. funktioniert auch wunderbar. nur jetzt habe ich festgestellt, dass es von vorteil wäre wenn die datei auch zur weiteren platzierung an dem mauszeiger hängen bleiben würde. der jetzige zustand ist, dass er die datei einfach irgendwo ins modell schmeisst. weiss einer von euch vielleicht wie man das makro so erweitern könnte, dass die datei auch an dem mauszeiger hängen bleibt, so wie beim einfügen aus der bibliothek heraus? hier das makro:

Public Sub AddOccurrence()
    ' Set a reference to the assembly component definintion.
    ' This assumes an assembly document is open.
    Dim oAsmCompDef As AssemblyComponentDefinition
    Set oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition
   
    ' Set a reference to the transient geometry object.
    Dim oTG As TransientGeometry
    Set oTG = ThisApplication.TransientGeometry
   
    ' Create a matrix.  A new matrix is initialized with an identity matrix.
    Dim oMatrix As Matrix
    Set oMatrix = oTG.CreateMatrix
   
    ' Set the rotation of the matrix for a 45 degree rotation about the Z axis.
    Call oMatrix.SetToRotation(3.14159265358979 / 4, _
                            oTG.CreateVector(0, 0, 1), oTG.CreatePoint(0, 0, 0))
   
    ' Set the translation portion of the matrix so the part will be positioned
    ' at (3,2,1).
    Call oMatrix.SetTranslation(oTG.CreateVector(3, 2, 1))
   
    ' Add the occurrence.
    Dim oOcc As ComponentOccurrence
    Set oOcc = oAsmCompDef.Occurrences.Add("C:\Temp\Part1.ipt", oMatrix)
End Sub


mfg junior33

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: 07. Mrz. 2005 15: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 junior33 10 Unities + Antwort hilfreich

Hallo Junior,

das geht so:


Private Sub InsterPart()
 
  Dim oApp As Inventor.Application
  Set oApp = ThisApplication
 
  Dim oCMgr As CommandManager
  Set oCMgr = oApp.CommandManager
 
  Dim FileName As String

  ' hier den richtigen Filenamen setzen
  FileName = "Klotz.ipt"
 
  Call oCMgr.PostPrivateEvent(kFileNameEvent, FileName)
 
  Call oCMgr.StartCommand(kPlaceComponentCommand)
 
End Sub


Gruesse,

Paul

www.morecam.ch/cad.htm

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

junior33
Mitglied



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

Beiträge: 14
Registriert: 03.02.2003

erstellt am: 10. Mrz. 2005 10:19    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 erstmal für deine antwort. entweder mache ich etwas falsch oder das makro funktioniert nicht. ich denke mal eher dass ich etwas falsch mache. bei mir passiert nämlich nichts wenn ich nur dein makro benutze. ich habe mal versucht nur den dateinamen anzugeben und danach mal den kompletten pfad. bin jedoch zu keinen funktionierenden resultat gekommen. kann es sein dass ich beide makros irgendwie in kombination benutzen muss ? habe von vba und makros wirklich keine ahnung. es wäre super nett von dir wenn du mir dass makro so schicken könntest wie ich es auch einfügen muss, falls es eine kombination von beiden makros sein sollte. vielen dank nochmals im voraus.

mfg junior33

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: 10. Mrz. 2005 10: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 junior33 10 Unities + Antwort hilfreich

Hallo Junior,

nein, es ist keine Kombination beier Makros. Ich habe das Ganze nochmals mit dem Kompletten Pfad und Dateinamen versuch und es geht auch:


Public Sub InsertPart()
 
  Dim oApp As Inventor.Application
  Set oApp = ThisApplication
 
  Dim oCMgr As CommandManager
  Set oCMgr = oApp.CommandManager
 
  Dim FileName As String
 
  ' hier den richtigen Filenamen setzen
  FileName = "D:\InventorData9\Test9\Workgroup\Platte.ipt"
 
  Call oCMgr.PostPrivateEvent(kFileNameEvent, FileName)
 
  Call oCMgr.StartCommand(kPlaceComponentCommand)
 
End Sub


Hast Du auch ein Assembly-Dokument offen ?

Hast Du auch das richtige Makro ausgefuehrt ?

Gruesse,

Paul

www.morecam.ch/cad.htm

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

junior33
Mitglied



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

Beiträge: 14
Registriert: 03.02.2003

erstellt am: 10. Mrz. 2005 11:00    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,
ich weiss zwar nicht warum, aber jetzt funktioniert es. vielen dank nochmal für deine hilfe. selbstverständlich gibts dafür auch 10 units 

mfg junior33

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