Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor .NET
  Zugriff auf SelectSet

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:  Zugriff auf SelectSet (690 mal gelesen)
rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 16. Nov. 2009 00:18    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

Wie bitte komme ich an die Items meines SelectSets heran? Mit dem nachfolgenden Code kommt ein "E_NOINTERFACE" weil System.__ComObjekt kann nicht in Inventor.DrawingCurve umgewandelt werden.

Code:
Private Sub UpdateSelection(ByVal oSelection As Inventor.SelectSet, ByVal myDrawDoc As DrawingDocument, ByVal myInventor As Inventor.Application)
        Try
            Dim i As integer = 1
            Dim lAllCurveCount As Long = oSelection.Count

            Dim oCurve As DrawingCurve

            For i = 1 To lAllCurveCount
                Try
                    oCurve = oSelection.Item(i)  'Hier kommt die Exception
                 
                Catch ex As Exception
                    myBasic.MessageBoxError(ex.Message & vbNewLine & vbNewLine & ex.ToString)
                End Try
            Next

        Catch ex As Exception
           
        End Try
    End Sub


------------------
MfG
RK

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. Nov. 2009 08:45    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 rkauskh 10 Unities + Antwort hilfreich

Hallo rkauskh,

.NET ist typsicher, daher müssen die Objekte immer in den richtigen Typ gecastet werden (bei dir in DrawingCurve). C#.NET lässt so etwas gar nicht kompilieren.

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

FX64 Software Solutions - Inventor Tools

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 16. Nov. 2009 09: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

Danke, aber kannst du das nochmal für Deppen erklären? Ich weiß nicht was ich jetzt wie ändern müßte.

------------------
MfG
RK

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. Nov. 2009 09:59    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 rkauskh 10 Unities + Antwort hilfreich

Also C#,

oCurve = oSelection.Item[i] as DrawingCurve

oder

oCurve = (DrawingCurve)oSelection.Item[i]

Ich benutze meistens die erste Zeile, denn wenn die Selektion keine DrawingCurve ist, dann wird deine oCurve auf NULL gesetzt (die zweite wirft da eine Exception).

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

FX64 Software Solutions - Inventor Tools

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 16. Nov. 2009 10:46    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

Danke, das war's leider auch nicht. Der Fehler war, daß im SelectSet keine DrawingCurve, sondern ein DrawingCurveSegment drin ist. 
Die Meldung in der Exception soll später raus, die ist nur jetzt zum Fehler finden. Dann sollte es auch keine Unterbrechungen mehr geben, wenn ein Fehler auftritt.

------------------
MfG
RK

[Diese Nachricht wurde von rkauskh am 16. Nov. 2009 editiert.]

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. Nov. 2009 11: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 rkauskh 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von rkauskh:
Hallo
Danke, das war's leider auch nicht.

Mit der ersten Zeile von mir kommt die Fehlermeldung immernoch? Du solltest die Bearbeitung natürlich nur dann fortsetzen wenn deine Variable nicht NULL ist (also wenn das Objekt vom Typ DrawingCurve ist). Das zu erwähnen, erschien mir überflüssig.

PS: Bereits die erste Fehlermeldung sagt dir doch, dass in der Selektion ein anderer Typ als DrawingCurve ist. Um das zu umgehen gibt es verschiedene Wege (Casten, auf Typ prüfen, eine ForEach DrawingCurve in SelectSet, usw.) Was du aber grundsätzlich verstehen musst ist, dass es in .NET eine Ordnung gibt und alles zu 100% typsicher ist. Die Objekte sind zu 100% gekapselt und da gibt es keine Variants oder sonstiges.

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

FX64 Software Solutions - Inventor Tools

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



Meister:in/Techniker:in/Ingenieur:in Planung von Elektroanlagen (d/m/w)

Als Verkehrsdienstleister arbeiten wir an der Zukunft Frankfurts ? als Arbeitgeber kümmern wir uns mit Ihnen um Ihre Zukunft. Darum leben wir in unserem Unternehmen Offenheit, Toleranz und Gleichberechtigung und unterstützen Sie mit vielfältigen Benefits. Wir glauben: Der Nahverkehr ist die Zukunft der Mobilität. Deswegen entwickeln wir mit Leidenschaft neue Ideen und Konzepte.

Arbeiten Sie ...

Anzeige ansehenElektrotechnik, Elektronik
rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 16. Nov. 2009 12:36    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

Zitat:
Das zu erwähnen, erschien mir überflüssig.
 

Ich sagte doch: 

Zitat:
für Deppen erklären
  

Es läuft jetzt erstmal. Ich werde mir das Kapitel "Typprüfungen" nochmal zu Gemüte führen und den Code entsprechend ergänzen.

Danke vielmals.

------------------
MfG
RK

[Diese Nachricht wurde von rkauskh am 16. Nov. 2009 editiert.]

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