| |
 | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: Blutiger .NET Anfang SoldiWorks (664 mal gelesen)
|
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2008 SP 4.1
|
erstellt am: 16. Mai. 2008 15:33 <-- editieren / zitieren --> Unities abgeben:         
Hallo... ich fang gerade blutig und hart im Selbststudium ein wenig VB.NET mit VS 2008 zu Programmieren. Nun möchte ich einige kleine Tools für Solidworks Programmieren, nur scheitere ich gleich am Anfang (leider) Ich schaffe es zwar Solidworks in den Speicher zu laden, jedoch erscheint es nicht am Bildschirm. Wenn ich es normal starte funktioniert alles ohne Probleme. Ich möchte zum Einstieg nur mal: 1.) Solidworks starten 2.) Eine neue Baugruppe erstellen 3.) Eine Konfiguration hinzufügen, die Test heißt. Mein Code (ohne Variablen Dekl.) Code: Sub main() swApp = New SldWorks.SldWorks() swApp.NewAssembly() Part.AddConfiguration("Test","","",1,0,0,1,256)End Sub
Wieso klappt das nicht?
Danke für die Hilfe!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2008 SP 4.1
|
erstellt am: 16. Mai. 2008 16:42 <-- editieren / zitieren --> Unities abgeben:         
|
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2008 SP 4.1
|
erstellt am: 16. Mai. 2008 17:14 <-- editieren / zitieren --> Unities abgeben:         
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles... i.R.

 Beiträge: 2678 Registriert: 06.11.2000
|
erstellt am: 19. Mai. 2008 08:49 <-- editieren / zitieren --> Unities abgeben:          Nur für gegy3
Hallo Gegyman, also es gibt in der swConst die vordefinierten Konstanten
swWindowNormal - The window is displayed in its normal state. swWindowMaximized - The window fills the whole client area. swWindowMinimized - The window is represented by an icon only. in der Enumeration swWindowState_e, ob und wie diese allerdings verwendet werden können, um das SWX-Fenster zu ändern, das habe ich nicht gefunden.Da gibts nur einen Umweg: 1. Versuchen, ein laufendes SolidWorks zu finden
Code: 'SolidWorks Objekt belegen oSwApp = CType(GetObject(, _ "SldWorks.Application"), _ sldworks.SldWorks)
2. Testen, ob das erfolgreich war
Code: If Not oSwApp is Nothing then 'alles ok, SWX läuft schon ' ... mit deinen Aktionen weitermachen Else 'Kein SolidWorks gefunden ' Solidworks starten Endif
3. wenn SWX nicht läuft, dann SWX starten. Aber nicht mit swApp = New SldWorks.SldWorks() sondern über den Shell-Befehl:
Code: Shell("C:\Programme\SolidWorks\SLDWORKS.exe", AppWinStyle.MaximizedFocus,True,10000)
Hierbei sind - "C:\Programme\SolidWorks\SLDWORKS.exe" - Der Pfad zu Solidworks, das musst du passend ändern - AppWinStyle.MaximizedFocus - die Anweisung, die Anwendung maximiert mit Fokus zu starten - True - Parameter für "Wait", damit wartet deine Anwendung, bis SWX gestartet ist oder bis ein Timeout eintritt - 10000 - Parameter für Timeout, Anzahl der Millisekunden, die deine Anwendung warten soll. Wenn die Anwendung bis dahin nicht gestartet ist, tritt ein Timeout ein.4. Danach noch einmal wie oben unter 1. SWX connecten und wie in 2. überprüfen. Ich hoffe, das hilft dir und trifft dein Problem.
------------------ Klaus www.al-ko.com | mein Gästebuch | privat... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2008 SP 4.1
|
erstellt am: 19. Mai. 2008 09:38 <-- editieren / zitieren --> Unities abgeben:         
Hey, das klingt sehr gut.. Hab mir schon gedacht, das ich SWX möglicherweise über die Shell starten muss, weil da kann ich ja die Fenstergröße angeben. Aber ich glaube, du hast für mich auch ein zweites Problem gelöst, ohne das ich es schon angegeben habe  Wie stelle ich es an, dass mein Programm Solidworks nicht nochmal startet, wenn Solidworks schon läuft. Ich glaub damit könnt ich das hinbekommen: Code: If Not oSwApp is Nothing then 'alles ok, SWX läuft schon ' ... mit deinen Aktionen weitermachen Else 'Kein SolidWorks gefunden ' Solidworks starten Endif
Ich teil schon mal für den guten Ansatz Ü's aus . Wenns funktioniert, lasse ich dir gern noch welche zukommen. Kann aber noch ein wenig dauern, bis ich es testen kann. DANKE!!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles... i.R.

 Beiträge: 2678 Registriert: 06.11.2000
|
erstellt am: 19. Mai. 2008 10:06 <-- editieren / zitieren --> Unities abgeben:          Nur für gegy3
|
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2008 SP 4.1
|
erstellt am: 19. Mai. 2008 10:16 <-- editieren / zitieren --> Unities abgeben:         
|
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2008 SP 4.1
|
erstellt am: 19. Mai. 2008 12:24 <-- editieren / zitieren --> Unities abgeben:         
So...bin nun am testen: Folgender Code: Code: swApp = CType(GetObject(, _ "SldWorks.Application"), _ SldWorks.SldWorks)
bringt folgenden Fehler: Die ActiveX-Komponente kann nicht erstellt werden. was mache ich denn falsch?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles... i.R.

 Beiträge: 2678 Registriert: 06.11.2000
|
erstellt am: 19. Mai. 2008 14:23 <-- editieren / zitieren --> Unities abgeben:          Nur für gegy3
Hmm... Irgendwelche Verweisprobleme? Den Verweis auf Solidworks solltest du ja schon haben, sonst hätte deine ursprüngliche Fassung auch nicht funktioniert. Ich habe mal ein leeres Projekt definiert, das enthält nur die Standardverweise sowie die Solidworks-Verweise, damit funktioniert das bei mir: Ein Gedanke war, dass du vielleicht noch das Solidworks API SDK runterladen und installieren musst- aber ich habe gerade festgestellt, dass es für SWX 2007 und 2008 gar kein SDK zum download gibt oder ich finde es nur nicht. Wie auch immer- ich habe mit Sicherheit noch das letzte SDK installiert. ------------------ Klaus www.al-ko.com | mein Gästebuch | privat... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2008 SP 4.1
|
erstellt am: 19. Mai. 2008 14:32 <-- editieren / zitieren --> Unities abgeben:         
Die VVErweise sind auch bei mir vorhanden. Das SDK hab ich nicht installiert, weil ich eben für SWX  2008 keines gefunden habe. Ich werd mal versuchen das für 2006 zu installieren. Kannst Du vielleicht mal ein kleines Beispielprojekt hier posten für mich, damit ich testen kann, ob alle verweise funktionieren? Danke!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles... i.R.

 Beiträge: 2678 Registriert: 06.11.2000
|
erstellt am: 19. Mai. 2008 14:48 <-- editieren / zitieren --> Unities abgeben:          Nur für gegy3
|
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2008 SP 4.1
|
erstellt am: 19. Mai. 2008 15:19 <-- editieren / zitieren --> Unities abgeben:         
Jetzt funktioniert es. Ich glaube die "Importanweisungen" am Anfang des Projects waren die Fehler .... die hatte ich nicht. Wusste nicht, dass ich diese einfügen muss. Danke! Hab jetzt nur noch zwei warnungen. Zu sehen im Anhang unten.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles... i.R.

 Beiträge: 2678 Registriert: 06.11.2000
|
erstellt am: 19. Mai. 2008 16:12 <-- editieren / zitieren --> Unities abgeben:          Nur für gegy3
Sry, die beiden Zeilen brauchst du für das Testprojekt nicht. Grundsätzlich (bitte korrigiert mich, falsch ich jetzt was falsches sage) bräuchtest du die Imports-Zeilen gar nicht, dann müsstest du aber oft bestimmte Methoden und Objekte mit deren vollen Verweispfad ansprechen, damit VB weiß, welche du meinst. Schau dir mal die Hilfe zu Imports an, da ist das ausführlich beschrieben.
------------------ Klaus www.al-ko.com | mein Gästebuch | privat... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2008 SP 4.1
|
erstellt am: 19. Mai. 2008 16:33 <-- editieren / zitieren --> Unities abgeben:         
Ja, Du hast Recht. Die Imports braucht man wirklich nicht. Man muss aber nicht unbedingt den Pfad angeben. Zumindest läuft das Testprogramm auch ohne die Imports. Die Schlüsselstellen und somit auch mein Fehler liegt in der "Try" funktion. Wenn ich das ganze ohne Try versuche, bricht er bei der bereits erwähnten Codezeile ab. Try sagt ja, das VB den Code versuchen soll, auch wenn er nicht geht, oder? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles... i.R.

 Beiträge: 2678 Registriert: 06.11.2000
|
erstellt am: 21. Mai. 2008 12:51 <-- editieren / zitieren --> Unities abgeben:          Nur für gegy3
Zitat: Original erstellt von gegy3: ... Try sagt ja, das VB den Code versuchen soll, auch wenn er nicht geht, oder?
 ja so ungefähr. "Try" heißt "ich probiere, ob die folgenden Zeilen funktionieren. Wenn ja- alles paletti, wenn nein: springe zu "Catch" und mache, was da steht. Das entspricht vom Sinn und Zweck her ungefähr dem alten "On Error goto ..." Der Vorteil ist, dass dein Programm nicht einfach abschmiert, sondern du gezielt auf mögliche Fehler reagieren kannst. Was mir aber nicht erklärt, warum das bei dir nicht funktioniert. Ehrlich gesagt: Da müssen jetzt die Experten ran... ------------------ Klaus www.al-ko.com | mein Gästebuch | privat... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2008 SP 4.1
|
erstellt am: 21. Mai. 2008 13:03 <-- editieren / zitieren --> Unities abgeben:         
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles... i.R.

 Beiträge: 2678 Registriert: 06.11.2000
|
erstellt am: 21. Mai. 2008 13:09 <-- editieren / zitieren --> Unities abgeben:          Nur für gegy3
|
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2008 SP 4.1
|
erstellt am: 21. Mai. 2008 13:53 <-- editieren / zitieren --> Unities abgeben:         
Aber funktioniert nicht dein kleines Programm nach dem Prinzip, dass es diesen Fehler sucht und dann sagt, das SWX  nicht gestartet ist? Wenn es gestartet ist, dann gibt es natürlich keine Fehler. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles... i.R.

 Beiträge: 2678 Registriert: 06.11.2000
|
erstellt am: 21. Mai. 2008 14:02 <-- editieren / zitieren --> Unities abgeben:          Nur für gegy3
Oh Mann, du hast recht, sorry. Ich habe dir in der Eile "blind" geantwortet und hatte meinen eigenen Code nicht mehr vor Augen. Und dann hatte ich deinen Beitrag "..Die Schlüsselstellen und somit auch mein Fehler liegt in der "Try" funktion..." irgendwie falsch verstanden. Also funktioniert ja jetzt alles so wie es soll, oder? ------------------ Klaus www.al-ko.com | mein Gästebuch | privat... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2008 SP 4.1
|
erstellt am: 21. Mai. 2008 14:45 <-- editieren / zitieren --> Unities abgeben:         
|
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2008 SP 4.1
|
erstellt am: 30. Mai. 2008 11:41 <-- editieren / zitieren --> Unities abgeben:         
So, nun hab ich ein Problem mit einer Funktion. Ich habe ein Dokument von dem ich mit der Funktion ModelDoc2::GetType (Rückgabe al Type LONG) den Dokumententyp auslesen möchte (Baugruppe, Teil, Zeichnung). Jedoch bekomme ich im vb2008 immer eine Fehlermeldung: "Der Wert vom Type "System.Type" kann nicht in "Long" konvertiert werden." Meine Syntax: Code:
Dim Type Dim Doc Type = Doc.GetType
Mir kommt es so vor, als würder vb den ersten Teil, also "Get" als Variable sehen und "Type" als Funktion. Wieso funktioniert GetType nicht?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tbd Moderator Teamleiter
  
 Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600
|
erstellt am: 30. Mai. 2008 11:58 <-- editieren / zitieren --> Unities abgeben:          Nur für gegy3
Hallo gegy3, der Rückgabe von GetType ist vom Wert Integer oder noch besser von SwConst.swDocumentTypes_e. In Visual Basic.NET ist der Datentyp für ganze 16-Bit-Zahlen jetzt Short, und der Datentyp für ganze 32-Bit-Zahlen ist jetzt Integer (Long verfügt jetzt über 64-Bit-Zahlen). Schau dir dazu mal folgenden Snippet an, das sollte alle Fragen über die Vorgehensweise beantworten. Kleiner Tipp: Du solltest deine Variablen richtig deklarieren und die Option Strict auf On stellen. Das verhindert viel Fehler. ------------------ Mfg Daniel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2008 SP 4.1
|
erstellt am: 30. Mai. 2008 12:32 <-- editieren / zitieren --> Unities abgeben:         
Na ja, laut API Docu von Solidworks, gibt ja GetType einen Long Wert zurück, oder? Zitat: Syntax (OLE Automation)retval = ModelDoc2.GetType () Return: (long) retval Type of this document
Aber danke für den Link, sieht genau nach dem aus, was ich such  Ach ja,...ich deklariere normal meine Variablen schon, wollte hier nur die sytax recht kurz halten 
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tbd Moderator Teamleiter
  
 Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600
|
erstellt am: 30. Mai. 2008 12:49 <-- editieren / zitieren --> Unities abgeben:          Nur für gegy3
Kann mich nur wiederholen. Zitat: Original erstellt von tbd: In Visual Basic.NET ist der Datentyp für ganze 16-Bit-Zahlen jetzt Short, und der Datentyp für ganze 32-Bit-Zahlen ist jetzt Integer (Long verfügt jetzt über 64-Bit-Zahlen).
Verwende aber am besten SwConst.swDocumentTypes_e, zum Beispiel so: Code:
Dim oSwApp As SldWorks.SldWorks Dim oSwModel As SldWorks.ModelDoc2 Dim eType As SwConst.swDocumentTypes_e oSwApp = CType(GetObject(Class:="SldWorks.Application"), _ SldWorks.SldWorks) oSwModel = CType(oSwApp.ActiveDoc, SldWorks.ModelDoc2) eType = CType(oSwModel.GetType(), SwConst.swDocumentTypes_e)
------------------ Mfg Daniel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2008 SP 4.1
|
erstellt am: 30. Mai. 2008 13:25 <-- editieren / zitieren --> Unities abgeben:         
Im Prinzip hast du Recht. Deine Version würde auch funktionieren, jedoch funktioniert nun meine auch. Ich konnte nun plötzlich auswählen, ob ich GetType von der System API benutzen wollte, oder von der Solidworks API. Nun gibt GetType auch einen Long wert zurück. Mein Code: Code: For Each ChildPart In ChildArr Child = ChildPart P = Child.GetModelDoc PType = P.GetType() 'PType ist als LONG definiert If PType = 1 Then Debug.Print(Child.Name2 & "@" & Assem.GetTitle, "Testfenster") maße(PartType, Child) 'Funktion aufrufen End If 'Loop Next
Also kurz gesagt: GetType gibt es einmal fürs System und einmal für Solidworks und die haben sich überlagert. Deswegen hat das ganze nicht funktioniert. Man kann aber nur auswählen, welches man benutzen will, wenn man () hinten dran macht. Dann kann man dann in so einem kleinen fenster auswählen, welches man verwenden will. Ich wollte nen screenshot machen, man sieht aber die auswahl nicht auf ihm. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tbd Moderator Teamleiter
  
 Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600
|
erstellt am: 30. Mai. 2008 13:32 <-- editieren / zitieren --> Unities abgeben:          Nur für gegy3
Was mein Code funktioniert, cool  . Nein mal im ernst! Diese Methode gibt immer eine 32-Bit-Zahl zurück, ob du willst oder nicht. Klar kannst du eine 32-Bit-Zahl in eine 64-Bit-Variable (Long) stecken, das ist halt unnötiger Speicherverbrauch! Die 32-Bit-Zahl kannst du allerdings zur besseren Code-Lesbarkeit in eine Enumerationsvariable stecken. Warum man das machen soll steht hier. Deine Schleife wirst du in eins/zwei Wochen evtl nicht mehr lesen können und du verschwendest viel Zeit. Aber wenn du diese Erfahrung unbedingt machen möchtest, ich habe kein Problem damit, ich meine es nur gut! ------------------ Mfg Daniel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2008 SP 4.1
|
erstellt am: 30. Mai. 2008 13:46 <-- editieren / zitieren --> Unities abgeben:         
Ja, ich versteh Dich schon. Mir gehts aber um was anderes. Klar ist deine Variante besser lesbar. Aber wenn Du in deiner Variante statt GetType() nur GetType schreibst, wird es auch nicht funktionieren. Ich meine der Code würde überhaupt nicht funktionieren. Das Programm wäre wegen eines Fehlers nicht startbar, weil er die Funktion GetType aus dem Systemobject verwendet und nicht aus dem Solidworksobject. Wenn Du aber nun die () hinzufügst, kannst Du wählen, aus welchem Object er die GetType Funktion nimmt. Da is es völlig egal ob Du die swConst verwendest oder nicht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2008 SP 4.1
|
erstellt am: 30. Mai. 2008 13:50 <-- editieren / zitieren --> Unities abgeben:         
|
tbd Moderator Teamleiter
  
 Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600
|
erstellt am: 30. Mai. 2008 13:54 <-- editieren / zitieren --> Unities abgeben:          Nur für gegy3
Ja ne klar? Ich glaube das Visual Studio kann zwischen den Befehl ModelDoc2.GetType und dem GetType (Zum Beispiel einer Variablen) sehr gut unterscheiden. Die Methode wird durch das initialisierte ModelDoc2 Objekt genau definiert, ob mit oder ohne Klammern! Aber ich rede glaube ich e gegen eine Wand! Die SolidWorks API Hilfe wurde für die eigene VBA welche wiederum Stand VB6 ist geschrieben und du arbeitest mit vb.net! Ich hoffe dir ist dieser kleine Unterschied wenigstens klar. ------------------ Mfg Daniel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2008 SP 4.1
|
erstellt am: 30. Mai. 2008 14:11 <-- editieren / zitieren --> Unities abgeben:         
So bitte, im Anhang siehst Du , das vb.net NICHT automatisch unter diesen beiden unterscheiden kann. Zur Info ich klicke auf die schwarzen Pfeile um umzustellen. Kannst Du mir bitte nun erklären was ich da umstell, bevor du mich als vollidiot hinstellst? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tbd Moderator Teamleiter
  
 Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600
|
erstellt am: 31. Mai. 2008 08:34 <-- editieren / zitieren --> Unities abgeben:          Nur für gegy3
Ich gebe es auf! Was hat eine Überladungsliste damit zutun das Visual Studio nicht weis welchen Methode es verwenden soll. GetType kommt einmal vom Basisklasse Object, welche in alle Variablen vererbt wird und von der Klasse ModelDoc2. Ich sehe dein Problem, bzw Frage nicht. Ich kann dir nur mal empfehlen dich zum Beispiel mit einem Buch mal ausführlich mit den Eigenschaften und Möglichkeiten von Visual Basic 2008 zu beschäftigen. Zitat: Original erstellt von gegy3:...bevor du mich als vollidiot hinstellst?
Ich will dich nicht als Vollidiot hinstellen, wenn es so rüber kam Entschuldigung! Es ist nur so das du mir als selbsternannter Blutiger .NET Anfänger in SolidWorks nicht die Vorgehensweise von Visual Studio und der Methode ModelDoc2.GetType erklären musst. Ich mache seit über zwei Jahren nichts anderes... Ich wünsche ein schönes Wochenende! ------------------ Mfg Daniel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2008 SP 4.1
|
erstellt am: 01. Jun. 2008 19:14 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Es ist nur so das du mir als selbsternannter Blutiger .NET Anfänger in SolidWorks nicht die Vorgehensweise von Visual Studio und der Methode ModelDoc2.GetType erklären musst.
Habe ich wo getan? Ich glaube nur das DU mir die Methode von modelDoc2.gettype erklären wolltest. Die verstehe ich aber schon. Glaub mir, das war nicht meine Frage! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles... i.R.

 Beiträge: 2678 Registriert: 06.11.2000
|
erstellt am: 02. Jun. 2008 08:20 <-- editieren / zitieren --> Unities abgeben:          Nur für gegy3
Also beruhigt euch Leute, das lohnt sich nicht. Ich arbeite inzwischen (oder versuche es) auch schon einige Zeit mit VB.Net- mit vielfacher und tatkräftiger Unterstützung durch Daniel und andere hier in dieser Runde. Ohne diese hätte ich wohl keins meiner Projekte so fertig gebracht. Und ich glaube, meine Fragen waren oft wesentlich blöder als die, um die es hier geht- und trotzdem hat keiner die Geduld verloren. Und die Konzepte hinter vb.net habe ich bis heute auch noch nicht so richtig verstanden, aber ich versuche mich da durch zu beißen. Das mit dem GetType und der Meldung von VB.Net hätte mich genauso verwirrt- wenns bei mir aufgetreten wäre. Da der Hinweis aber nur kommt, wenn man eine Klammer öffnet, wurde ich wohl bisher davon verschont. Also gegy3, mach einfach p.gettype ohne Klammer und gut is (ich gehe davon aus, dass p vom Typ SldWorks.ModelDoc2 ist) Viel Spaß beim weiter machen, lass dich nicht aufhalten ------------------ Klaus www.al-ko.com | mein Gästebuch | privat... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2008 SP 4.1
|
erstellt am: 02. Jun. 2008 09:40 <-- editieren / zitieren --> Unities abgeben:         
Hey, ich will hier auf keine Fall Unruhe stifften. Auch will ich es mir hier nicht mit Daniel verscherzen. Ich bin richtig froh, dass mir jemand hilft, da ja das Thema .NET nicht ganz so einfach ist. Hab auch schon ein Buch gekauft und ackere mich da gerade durch. Mein Problem war eben genau das: Zitat: Also gegy3, mach einfach p.gettype ohne Klammer und gut is (ich gehe davon aus, dass p vom Typ SldWorks.ModelDoc2 ist)
meine Variable war glaube ich als Obeject oder Variatn definiert und somit hat glaube ich vb.NET nicht erkannt, welches gettype ich verwende. als ich gettype ohne klammern verwendet habe, bekam ich immer einen fehler. Als ich dann aber () dazu gemacht hatte (was ich nur durch Daniel herrausgefunden habe und ich selbst nie herraus gefunden hätte) bekam ich plötzlich die möglichkeit zu wählen. Seit dem funktioniert es! *freu* Ich werde sicher noch fragen haben und wenn keiner was dagegen hat, diese hier posten. Es tut mir auch leid, wenn meine Frage wirklich blöd war und ich das ganze niocht so begriffen habe, aber das macht ja einen Anfänger leider aus. Vielen Dank für die Hilfe! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles... i.R.

 Beiträge: 2678 Registriert: 06.11.2000
|
erstellt am: 02. Jun. 2008 09:44 <-- editieren / zitieren --> Unities abgeben:          Nur für gegy3
|
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2008 SP 4.1
|
erstellt am: 02. Jun. 2008 11:08 <-- editieren / zitieren --> Unities abgeben:         
Zitat:
Genau da liegt der Hund im Pfeffer..oder der Hase begraben? Egal. Variant gibts übrigens in VB.Net nicht mehr.
Ja, das denek ich nun auch. Das ging leider aus den vorigen Postings für mich nicht so klar hervor. Normal definiere ich meine Variablen immer gleich richtig. Ich hatte aber nur wenig zeit und hab deswegen möglicherweise die variablen nur als object definiert und nicht richtig als sldworks.modeldoc2
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MWN Mitglied Dipl.-Ing.
 
 Beiträge: 492 Registriert: 14.02.2007
|
erstellt am: 10. Jul. 2008 07:21 <-- editieren / zitieren --> Unities abgeben:          Nur für gegy3
Guten Morgen Gegy3, also ich muss sagen, dass mir folgendes Dokument als blutiger Anfänger von vb.NET in Kombination mit SolidWorks geholfen hat. SDA-Schulung Objekte und Dokumente Einfach Schritt für Schritt durchackern das Ding und du wirst für den Anfang erst einmal gut gerüstet sein. Und der Rest? Kommt von ganz alleine, mit ein Wenig Ehrgeiz und Enthusiasmus! In dem Zusammenhang noch mal einen herzlichen Dank an Daniel! Grüße Tobias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2008 SP 4.1
|
erstellt am: 10. Jul. 2008 07:59 <-- editieren / zitieren --> Unities abgeben:         
Hallo Tobias, danke für Deine Hilfe und den Link zum Dokument. Das habe ich schon. Ist nicht so schlecht und hat mir schon ein wenig geholfen... Du hast noch vergessen, dass man auch ZEIT zum programmieren lernen benötigt  Leider habe ich bei der Arbeit nicht so viel Zeit das nebenbei noch zu machen und wenn ich heim komm bleibt da auch nocht viel. Ich versuche aber so gut wie möglich mich mit dem Thema zu beschäftigen, da es mich sehr interessiert und ich früher in der Schule schon gerne programmiert habe. Damals noch c++......blöd ist nur, dass man wenn man lange nichts damit zu tun hat, man fast alles wieder verlernt. Aber das kommt schon wieder! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles... i.R.

 Beiträge: 2678 Registriert: 06.11.2000
|
erstellt am: 10. Jul. 2008 08:03 <-- editieren / zitieren --> Unities abgeben:          Nur für gegy3
Zitat: Original erstellt von gegy3: ...Du hast noch vergessen, dass man auch ZEIT zum programmieren lernen benötigt...
Genau das ist das Problem. Das Dokument ist super ( Daniel ) aber leider bekomme ich dafür auch keine Extra-Zeit. Meine ganzen Programmier-Projekte muss ich so schon immer irgendwie mit in den Tageslablauf rein quetschen. So ist das eben im Alltag bei inoffiziellen Programmierern. ------------------ Klaus www.al-ko.com | mein Gästebuch | privat... [Diese Nachricht wurde von KMassler am 10. Jul. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2008 SP 4.1
|
erstellt am: 10. Jul. 2008 08:12 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von KMassler: [QUOTE]Original erstellt von gegy3: ...Du hast noch vergessen, dass man auch ZEIT zum programmieren lernen benötigt...
Genau das ist das Problem. Das Dokument ist super ( Daniel ) aber leider bekomme ich dafür auch keine Extra-Zeit. Meine ganzen Programmier-Projekte muss ich so schon immer irgendwie mit in den Tageslablauf rein quetschen. So ist das eben im Alltag bei inoffiziellen Programmierern. [/QUOTE] Genau meine Worte.......genau so geht es mir. Ich hoff dass ich mal mehr Zeit dafür bekomme. Versuche dafür hab ich schon gestartet 
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tbd Moderator Teamleiter
  
 Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600
|
erstellt am: 10. Jul. 2008 09:43 <-- editieren / zitieren --> Unities abgeben:          Nur für gegy3
|