Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  VBasic / vb.net / vbs / wsh
  VB.NET + SolidWorks: PartDoc = ModelDoc2 Problem

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
Autor Thema:  VB.NET + SolidWorks: PartDoc = ModelDoc2 Problem (58 mal gelesen)
KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2643
Registriert: 06.11.2000

** CSWP 01/2008 **
Endlich Dell Precision 7540 mobile Workstation,
64GB, Quadro RTX 3000;
Noch SWX2016 SP4;
SAP/PLM;
DriveWorks Pro;
Programmierung: VBA, aktuell VB.NET 2017

erstellt am: 15. Sep. 2021 10: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 Experten,

ich habe mal wieder ein unerklärliches Problem.

In einem Programm, dass schon einige Zeit unverändert und problemlos läuft, tritt auf einmal ein Fehler auf.

Ich öffne mit OpenDoc6 ein Modell als ModelDoc2 und weise dann dieses ModelDoc2 einem PartDoc zu, da ich die Funktion partDoc.RemoveAllDisplayStates benötige.

Dabei tritt seit neuestem ein Ausnahmefehler auf, den ich vorher nicht hatte:
System.InvalidCastException: "Das COM-Objekt des Typs "System.__ComObject" kann nicht in den Schnittstellentyp "SolidWorks.Interop.sldworks.PartDoc"

Die Vorgehensweise ist im Prinzip genaus so in der API Hilfe vorgegeben:
http://help.solidworks.com/2020/English/api/sldworksapi/Clear_Display_States_Example_VBNET.htm

Mein Code:

Code:

Public swModel As SolidWorks.Interop.sldworks.ModelDoc2
Public swPartDoc As SolidWorks.Interop.sldworks.PartDoc


'....
swModel = swApp.OpenDoc6(SWXFilename, swxType, swOpenDocOptions_e.swOpenDocOptions_ReadOnly, "Standard", Warnings, Errors)
    ModelTitle = swModel.GetTitle
    If Not swModel Is Nothing Then
'....
        'Erscheinungsbilder löschen
        swPartDoc = swModel 'Hier tritt die Ausnahme auf
        boolstatus = partDoc.RemoveAllDisplayStates
'....
End if


Auch TryCast bringt mir als Ergebnis zwar keinen Fehler, aber eben Nothing.

Code:
swPartDoc = TryCast(swModel, SolidWorks.Interop.sldworks.PartDoc)


Ich verstehe nicht, warum jetzt auf einmal dieses Problem auftritt, obwohl an dem Programm nichts verändert wurde.
Als Workaround kann ich das nur auskommentieren bzw. mit Try und Catch klammern, das ist aber keine Lösung.

Kann mir hier jemand auf die Sprünge helfen?

------------------
Klaus

http://www.alko-tech.com | mein Gästebuch

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)2021 CAD.de | Impressum | Datenschutz