Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Frage zu SelectSet in Inventor 2008

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:  Frage zu SelectSet in Inventor 2008 (1460 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: 25. Jan. 2008 08:15    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 zusammen,

folgender Code funktionierte unter Inevntor 10,
aber unter Inventor 2008 leider nicht mehr.
Vorgabe: Eine Baugruppe mit Unterbaugruppen

Set Baugruppe = ThisApplication.ActiveDocument.ComponentDefinition.Occurrences(2)
Set TeilInBaugruppe = Baugruppe.Definition.Occurrences(2)
ThisApplication.ActiveDocument.SelectSet.Clear
ThisApplication.ActiveDocument.SelectSet.Select TeilInBaugruppe

In der letzten Zeile gibt es einen Fehler
Kann die Komponente in der Unterbaugruppe halt nicht auswählen.
Weiß jemand wo der Fehler liegt?
Hat sich beim 'SelectSet' irgendwas geändert zu INV 10?

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

[Diese Nachricht wurde von yamaha am 25. Jan. 2008 editiert.]

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: 27. Jan. 2008 13:17    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 Jörn,

'SubOccurances' verwenden:

Private Sub TestSelectSubOcc()

  Dim oApp As Inventor.Application
  Set oApp = ThisApplication
 
  Dim oDoc As AssemblyDocument
  Set oDoc = oApp.ActiveDocument
 
  Dim oCompOcc1 As ComponentOccurrence
  Set oCompOcc1 = oDoc.ComponentDefinition.Occurrences(2)
 
  Dim oCompOcc2 As ComponentOccurrence
  Set oCompOcc2 = oCompOcc1.SubOccurrences(2)
 
  Call oDoc.SelectSet.Clear
 
  Call oDoc.SelectSet.Select(oCompOcc2)
 
End Sub


------------------
Grüsse, Paul

Inventor-Programmierung, Inventor-Tools und Inventor API-Schulung

Meine Tochter auf Youtube

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: 28. Jan. 2008 08:20    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,

besten Dank.
Na manchmal steht man halt auf dem Schlauch.
Da hab ich doch noch so einen ähnlichen Fall.
Hast Du dafür auch noch einen Tip:
(Dies Jahr scheint der Wurm drin zu sein)

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

    Dim oCompOcc1 As ComponentOccurrence
    Set oCompOcc1 = oAsmCompDef.Occurrences(11)

    Dim oAsmCompDef2 As AssemblyComponentDefinition
    Set oAsmCompDef2 = oCompOcc1.Definition
   
    ' 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 = oAsmCompDef2.Occurrences.Add("C:\_Temp\Bauteil2.ipt",
oMatrix)
   
    ThisApplication.ActiveDocument.SelectSet.Clear
    ThisApplication.ActiveDocument.SelectSet.Select (oOcc)

End Sub

In der letzten Zeile gibt es wieder einen Fehler.

------------------
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: 28. Jan. 2008 11:10    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 Jörn,

ich schätze, das Problem ist genau dasselbe wie oben.

------------------
Grüsse, Paul

Inventor-Programmierung, Inventor-Tools und Inventor API-Schulung

Meine Tochter auf Youtube

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

daywa1k3r
Moderator
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

Alienware m17x, Win7, Inventor2012

erstellt am: 28. Jan. 2008 11: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 Nur für yamaha 10 Unities + Antwort hilfreich

Ohne dass ich es jetzt testen kann: für mich sieht der Syntax falsch aus.

Entweder:

Code:

ThisApplication.ActiveDocument.SelectSet.Select oOcc

oder

Code:

Call ThisApplication.ActiveDocument.SelectSet.Select (oOcc)

aber nicht:

Code:

ThisApplication.ActiveDocument.SelectSet.Select (oOcc)


PS: Bitte die Fehlermeldung immer mit hoch laden (oder abschreiben). Hilft bei der Fehlersuche.


------------------
Grüße Igor

FX64 Software Solutions

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: 28. Jan. 2008 20:56    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,

zu Daywa1k3r:
Hast natürlich recht mit der Ausführung der Syntax.
In meiner Variante natürlich keine Klammern.
Ging aber mit beiden Varianten trotzdem nicht.
Fehlermeldung:
-Laufzeitfehler 438
-Objekt unterstützt diese Eigenschaft oder Methode nicht

zu Paul:
Ja hast recht hab das jetzt mit folgenden Code hinbekommen:
  ........
    ' Add the occurrence.
    Dim oOcc As ComponentOccurrence
    Set oOcc = oAsmCompDef2.Occurrences.Add("C:\_Temp\Bauteil2.ipt", oMatrix)
   
    Set Teil = oCompOcc1.SubOccurrences(oAsmCompDef2.Occurrences.Count)
   
    ThisApplication.ActiveDocument.SelectSet.Clear
    ThisApplication.ActiveDocument.SelectSet.Select (Teil)
   
    Debug.Print oOcc.Type '67113776 = kComponentOccurrenceObject

    Debug.Print Teil.Type '67113888 = kComponentOccurrenceProxyObject

Trotzdem:
Ich hab den Eindruck in INV2008 hat sich da etwas geändert.
Weil wie schon gesagt unter INV10 funktionierte "Select oOcc"

Besten Dank für Eure Hilfe

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

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



Projektleiter (m/w/d) Produktentwicklung Photomask Solutions

Innovative Produkte für namhafte Kunden in einem zukunftsorientierten, internationalen Markt ? das ist SÜSS MicroTec. Die SÜSS-Gruppe mit Hauptsitz in Garching bei München entwickelt und fertigt Prozesslösungen für die Mikro­strukturanwendungen in der Halbleiter­industrie und verwandten Märkten ? ein Bereich, in dem SÜSS MicroTec über 75 Jahre Erfahrung verfügt. Unser Portfolio umfasst ein breites ...

Anzeige ansehenProjektmanagement
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: 29. Jan. 2008 08:23    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

Zitat:
Original erstellt von yamaha:

Trotzdem:
Ich hab den Eindruck in INV2008 hat sich da etwas geändert.
Weil wie schon gesagt unter INV10 funktionierte "Select oOcc"



Tja, sowas kommt vor...

------------------
Grüsse, Paul

Inventor-Programmierung, Inventor-Tools und Inventor API-Schulung

Meine Tochter auf Youtube

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