Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor .NET
  SelectEvents und Attribute

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:  SelectEvents und Attribute (717 mal gelesen)
C-Hoppen
Mitglied
CAD-Trainer


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

Beiträge: 51
Registriert: 23.10.2006

Inventor 2019-22 Professional
Produkt Design Suite, Factory Design Suite
Win 10
Core i9/9900k @ 5 GHz
32 GB RAM
GeForce RTX 270
---
Sinclair ZX 81 mit 16 KB RAM-Erweiterung und High-Res-Platine für Grafikauflösung 256 x 256 Pixel, Grundig-Kassettenrekorder, S/W-Fernseher ;-)

erstellt am: 16. Jul. 2009 14:24    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


clsSelect-vb.txt

 
Hallo zusammen,

ich habe hier ein merkwürdiges Phänomen, vielleicht kann es ja wer erklären:

Ich habe in einem Bauteil mehrere Arbeitsebenen per Programm erstellt.
An diese hänge ich Attribute, die von einer anderen procedure ausgelesen werden. In dieser (anderen) procedure lasse ich die AE mittels SelectionEvents auswählen. Als Code habe ich das Beispiel der Class clsSelect aus den Onlinehilfe verwendet (siehe Anhang).

So, die Attribute sind nicht da, wenn ich die AE auswähle:

        Dim oSelectWP As WorkPlane
        Dim cSelect As New clsSelect
        oSelectWP = cSelect.Pick(SelectionFilterEnum.kWorkPlaneFilter)

Die Auswahl funktioniert so weit (oSelectWP.Name ist richtig), aber
oSelectWP -> AttributeSets -> Count steht auf 0 

Wenn ich aber "von hinten durch die Brust in Auge schieße" und die AE als "Child" des "Parent" der AE suche:

        oPartCompDef = oSelectWP.Parent
        Dim oWP As WorkPlane = Nothing
        For n As Integer = 4 To oPartCompDef.WorkPlanes.Count
            If oPartCompDef.WorkPlanes.Item(n).Name = oSelectWP.Name Then
                oWP = oPartCompDef.WorkPlanes.Item(n)
            End If
        Next

... dann sind die Attribute da: oWP -> AttributeSets -> Count=1
Diese "Lösung" ist aber unbefriedigend, weil man eine AE umbenennen kann, und dann habe ich ein Problem...
(Die AE hat ein Attribut "InternalName", worüber ich sie eindeutig identifizieren will.)

Christoph

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

Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570
Laptop: Alienware m17x
Win7, Inventor2012

erstellt am: 16. Jul. 2009 15:44    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 C-Hoppen 10 Unities + Antwort hilfreich

Schon mal probiert den Rückgabewert von oSelectWP = cSelect.Pick(SelectionFilterEnum.kWorkPlaneFilter) zu casten (von Object in WorkPlane Typ)?

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

FX64 Software Solutions - Inventor Tools

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

C-Hoppen
Mitglied
CAD-Trainer


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

Beiträge: 51
Registriert: 23.10.2006

erstellt am: 16. Jul. 2009 18:25    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 Igor,

habe noch nicht so ganz verstanden, was du mit dem "casten" meinst. Da muss ich immer an Heidi Klum denken.   

Aber ich hab's gefunden:
Die ...SelectEvents.SelectedEntities sind Proxies! Beim Debuggen habe ich immer nur bis .Name geschaut, aber nach N kommt ja noch o,p,q,r,s,t und bei T kommt Type. 
Und das Zauberwort heißt .NativeObject

        ' Select workplane.
        Dim oSelectWP As WorkPlaneProxy
        Dim cSelect As New clsSelect
        oSelectWP = cSelect.Pick(SelectionFilterEnum.kWorkPlaneFilter)
        Dim oWP As WorkPlane = oSelectWP.NativeObject

...und dann klappt's auch mit den Attributen 

Danke,

Christoph

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

C-Hoppen
Mitglied
CAD-Trainer


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

Beiträge: 51
Registriert: 23.10.2006

Inventor 2019-22 Professional
Produkt Design Suite, Factory Design Suite
Win 10
Core i9/9900k @ 5 GHz
32 GB RAM
GeForce RTX 270
---
Sinclair ZX 81 mit 16 KB RAM-Erweiterung und High-Res-Platine für Grafikauflösung 256 x 256 Pixel, Grundig-Kassettenrekorder, S/W-Fernseher ;-)

erstellt am: 18. Jul. 2009 13:08    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

Nachtrag: Das mit dem Proxy ist wohl nur in einer Assembly. In einem Part ist "Pick" das ursprüngliche Objekt und hat AttributeSets.

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