Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  problem mit konvertierung von vb in c#

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 SOLIDWORKS
  
Bechtle Competence Days | Online
Autor Thema:  problem mit konvertierung von vb in c# (586 mal gelesen)
_InvasoR_
Mitglied
student


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

Beiträge: 55
Registriert: 17.03.2005

erstellt am: 19. Apr. 2005 13: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

Hi !

Ich wollte das Beispiel "Get Named Entities Example(VB)" aus der API-Help in C# nach programmieren.
aber kann swModel nicht swPart zuweisen
weiß Jemand wie das geht ?

VB-Teil:
Dim swModel  As SldWorks.ModelDoc2
Dim swPart    As SldWorks.PartDoc
Set swModel = swApp.ActiveDoc

    Set swPart = swModel      -> geht anscheinend
c# Teil:
SldWorks.ModelDoc2 Model;
SldWorks.PartDoc  Part;
Model = (SldWorks.ModelDoc2)swApp.ActiveDoc;  //Typecast muss glaub ich sein
Part = Model;                    // geht nicht
Part = (SldWorks.PartDoc)Model;  // geht auch nicht proggi stürzt ab
Part = (SldWorks.PartDoc)swApp.ActiveDoc; //geht auch nicht 

Danke
Gruß Robin


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

Brummbaer
Mitglied
Student / Maschinenbau


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

Beiträge: 28
Registriert: 25.11.2004

erstellt am: 19. Apr. 2005 14:12    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 _InvasoR_ 10 Unities + Antwort hilfreich

Hallo!

Also folgendes sollte funktionieren:

SldWorks.SldWorksClass sw_App;
SldWorks.ModelDoc2 Modell;
...
Modell = (SldWorks.Modeldoc2) sw_App.ActiveDoc;

Diese API-Programmierung hat so manche Tücken und kostet daher einiges an Zeit, aber na ja, ist halt auch schön den Fehler dann endlich zu finden. 

mfg Brummbaer

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

_InvasoR_
Mitglied
student


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

Beiträge: 55
Registriert: 17.03.2005

erstellt am: 19. Apr. 2005 14: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

dann taucht auch schon ein fehler an anderer stelle auf 
ich starte mein SW mit
SldWorks.SldWorks swApp;
swApp = new SldWorks();
swApp.Visible = true;

aber wenn ich die class variable einsetze:
SldWorks.SldWorksClass swApp_class;
swApp_class = new SldWorks(); // geht nicht

kann ich kein SW starten

Gruß Robin

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

Brummbaer
Mitglied
Student / Maschinenbau


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

Beiträge: 28
Registriert: 25.11.2004

erstellt am: 19. Apr. 2005 14:53    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 _InvasoR_ 10 Unities + Antwort hilfreich

Hallo!

Die Instanz der Klasse erstellst Du folgendermaßen:

sw_App = new SldWorks.SldWorksClass();
sw_App.Visible = true;

so, müsste eigentlich funktionieren.

mfg Brummbaer

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

_InvasoR_
Mitglied
student


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

Beiträge: 55
Registriert: 17.03.2005

erstellt am: 19. Apr. 2005 14: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

super das deht jetzt!
aber irgendwie kann man immer noch nicht
Part = Model setzen
und mit typecast gehts auch nicht
sorry wenn ich nerve 

Gruß Robin

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

Brummbaer
Mitglied
Student / Maschinenbau


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

Beiträge: 28
Registriert: 25.11.2004

erstellt am: 19. Apr. 2005 15: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 _InvasoR_ 10 Unities + Antwort hilfreich


Also das mit der Modell-Zuweisung funktioniert nun hoffentlich, die andere Umwandlung funktioniert bestimmt genauso. Ich habe PartDoc noch nicht benutzt.

mfg Brummbaer

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

Andreas Müller
Mitglied
Masch. Ing. HTL / Betriebsing. STV


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

Beiträge: 1151
Registriert: 11.04.2001

erstellt am: 19. Apr. 2005 16:03    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 _InvasoR_ 10 Unities + Antwort hilfreich

...vorsicht, jetzt wird der Bär gleich brummelig!

------------------
Gruss
Andreas
A+E Müller AG

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

FlorianGerteisz
Mitglied
IT-Anwendungsentwickler


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

Beiträge: 43
Registriert: 28.04.2005

erstellt am: 28. Apr. 2005 15:32    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 _InvasoR_ 10 Unities + Antwort hilfreich

 
Zitat:
Original erstellt von _InvasoR_:
super das deht jetzt!
aber irgendwie kann man immer noch nicht
Part = Model setzen
und mit typecast gehts auch nicht
sorry wenn ich nerve    

Gruß Robin


Hallo Robin,

wie schon Brummbaer geschrieben hat, müsste es mit folgender Zeile gehen. 

Code:

===8<==== BEGIN C# CODE =======================

modeldoc = (SldWorks.ModelDoc2)sldworks.ActiveDoc;

===8<====  END C# CODE  =======================



Hast du schon mal mit try/catch probiert?
Welche Fehlermeldung bekommst du?
Code:

===8<==== BEGIN C# CODE =======================

try
{
    modeldoc = (SldWorks.ModelDoc2)sldworks.ActiveDoc;
}
catch(Exception ex)
{
    Debug.WriteLine(ex);
}

===8<====  END C# CODE  =======================



gruß
Flo

PS: sldworks.ActiveDoc gibt meines Wissens sogar das ModelDoc-Objekt zurück, somit wäre ein Typecast garnicht nötig. Aber mit müsste es natürlich genau so funktionieren

[Diese Nachricht wurde von FlorianGerteisz am 28. Apr. 2005 editiert.]

[Diese Nachricht wurde von FlorianGerteisz am 29. Apr. 2005 editiert.]

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

Brummbaer
Mitglied
Student / Maschinenbau


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

Beiträge: 28
Registriert: 25.11.2004

erstellt am: 28. Apr. 2005 18:01    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 _InvasoR_ 10 Unities + Antwort hilfreich

Hallo Florian!

Vielleicht einfach mal selbst ausprobieren, wäre wohl praktischer, dann weiß man ob es funktioniert ... oder?

mfg Brummbaer

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

FlorianGerteisz
Mitglied
IT-Anwendungsentwickler


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

Beiträge: 43
Registriert: 28.04.2005

erstellt am: 29. Apr. 2005 08:29    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 _InvasoR_ 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Brummbaer:

Vielleicht einfach mal selbst ausprobieren, wäre wohl praktischer, dann weiß man ob es funktioniert ... oder?

Was soll ich ausprobieren?!

gruß
flo

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

_InvasoR_
Mitglied
student


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

Beiträge: 55
Registriert: 17.03.2005

erstellt am: 29. Apr. 2005 09:13    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

Danke !
Nee habe Try/Catch noch nie benutzt.
Werd mich da gleich mal schlau machen.

Gruß Robin 

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