| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
|
Autor
|
Thema: .sldprt mit VisaulBasic öffnen (2909 mal gelesen)
|
Bergfeuer Mitglied Mechatroniker
 Beiträge: 7 Registriert: 08.04.2008
|
erstellt am: 09. Apr. 2008 15:56 <-- editieren / zitieren --> Unities abgeben:         
Hallo, das Funktioniert: Private Sub ÖffnenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ÖffnenToolStripMenuItem.Click OpenFileDialog1.Filter = "Solidteil(*.sldprt)|*.sldprt| SolidBaugruppe(*.sldasm)|*.sldasm" OpenFileDialog1.Title = "Öffne SolidWorks Dateien" If OpenFileDialog1.ShowDialog() = DialogResult.OK Then .....was muss jetzt hier stehen damit ich Datei auch Öffnen kann. EndIF Bitte kein Antwort schalgs in der API nach, erst würde ich es gerne wissen, dann schau ich nach. Danke (Bin noch am API lernen, bitte habt geduld) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)

 Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 09. Apr. 2008 16:19 <-- editieren / zitieren --> Unities abgeben:          Nur für Bergfeuer
|
SLDW-FEM Mitglied Simulations-Ingenieur
  
 Beiträge: 643 Registriert: 21.02.2005 Solidworks 2017+2019+20+22 SpaceClaim Windows 11 64bit HP-ZBook 32gbRAM NVIDIA
|
erstellt am: 09. Apr. 2008 16:24 <-- editieren / zitieren --> Unities abgeben:          Nur für Bergfeuer
Hallo auch, meinst du die dialog-antwort oder das Öffnen? Stefan meint: Set part = swApp.OpenDoc6(Pathname, modeltype, swOpenDocOptions_Silent, "", fileerror, filewarning) und er hat recht: alles steht in der Hilfe, sogar mit Beispielen mein tipp: (A) Hilfe (B) benutze intellisense (C) benutze den Objekt-inspektor des VBA-Editors! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bergfeuer Mitglied Mechatroniker
 Beiträge: 7 Registriert: 08.04.2008
|
erstellt am: 09. Apr. 2008 18:59 <-- editieren / zitieren --> Unities abgeben:         
Ja Hallo und Danke für eure Mühe. " Schlicht" das öffnen der Soliddatei. Mein Dialog geht auf, durch den Filter kann ich nur die Soliddateien sehen such mir die richtige aus, und dann möchte ich sie öffnen, und das öffnen klappt nicht. Das mit der API is ja schon richtig. Nur eine Kontrolle ob ich etz total auf dem Holzweg bin ist halt nit schlecht.......oder ;o). Danke Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bergfeuer Mitglied Mechatroniker
 Beiträge: 7 Registriert: 08.04.2008
|
erstellt am: 10. Apr. 2008 11:49 <-- editieren / zitieren --> Unities abgeben:         
Hallo, hab es ausprobiert funktioniert nicht in VisualBasic 2008 Standart Edition, erhalt folgenden Fehler NullReferenceException wurde nicht festgelegt, ich soll ein Obejektinstanz mir dem Schlüsselwort "new" einfügen, aber wie??. Danke für eure Geduld.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bergfeuer Mitglied Mechatroniker
 Beiträge: 7 Registriert: 08.04.2008
|
erstellt am: 11. Apr. 2008 13:41 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich merk schon am feedback das díe Frage für euch zu dämlich ist. Es tut mit leid, ich arbeite mir Visual Basic 2008 Express Edi., und in dem Programm werden schlichtweg einges von VB6 nich akzeptiert. Bitte kann mir nicht jemand diese kleine Codezeile nennen......steh echt auf dem Schlauch.........Danke! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lutz Federbusch Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau

 Beiträge: 3094 Registriert: 03.12.2001 alle SW seit 97+ AutoCAD2016-2022 ERP ProAlpha + CA-Link Intel Core i7-7820K 32GB Win10x64 Quadro K5000 SpacePilot
|
erstellt am: 11. Apr. 2008 13:49 <-- editieren / zitieren --> Unities abgeben:          Nur für Bergfeuer
Nimm doch das OpenDoc, wie es Dir bereits ehrlich helfend empfohlen wurde! In der API-Hilfe gibts gerade dazu mehrere Beispiele! Mit Bergfeuer assoziiere ich so einen Ziegelsteinwinterglühwein ------------------ Lutz Federbusch Mein Gästebuch Der Mensch, Herr oder Sklave der Technik? [Diese Nachricht wurde von Lutz Federbusch am 11. Apr. 2008 editiert.] [Diese Nachricht wurde von Lutz Federbusch am 11. Apr. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bergfeuer Mitglied Mechatroniker
 Beiträge: 7 Registriert: 08.04.2008
|
erstellt am: 11. Apr. 2008 14:03 <-- editieren / zitieren --> Unities abgeben:         
Schau ma, Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim swApp As Object swApp = CreateObject("SldWorks.Application") swApp.Visible = True swApp.UserControl = True End Sub Private Sub ÖffnenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ÖffnenToolStripMenuItem.Click OpenFileDialog1.Filter = "Solidteil(*.sldprt)|*.sldprt| SolidBaugruppe(*.sldasm)|*.sldasm" OpenFileDialog1.Title = "Öffne SolidWorks Dateien"
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then swApp.OpenDoc6() (was kommt hier hin.......???!) End If End Sub Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk End Sub End Class Danke Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)

 Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 11. Apr. 2008 14:17 <-- editieren / zitieren --> Unities abgeben:          Nur für Bergfeuer
Hallo Bergfeuer, ohne dir zu nahe treten zu wollen, du lässt leider die Grundlagen der Programmierung mit VB (oder VB2008, was ich selbst gar nicht habe) vermissen. In deinem Codeschnipsel sind z.B. in den Prozeduren für den Klick auf den Button und das Toolstripmenu beidesmal die swapp als Objektvariable für das SoldiWorks drin ... aber in der Buttonprozedur lokal deklariert, in der anderen gar nicht -> kann nicht klappen. Du hast dir scheinbar auch nicht die API Hilfe zu dem Befehl durchgelesen, sonst würdest du gesehen haben, dass die OpenDoc6 als Rückgabewert das entsprechende ModelDoc Objekt hat ... die hast du bei dir gar nicht drin als Zuweisung. Ebenso steht in der Beschreibung genau drin, welche Parameter in welcher Reihenfolge zu OpenDoc6 gehören, und meine ehrliche Meinung: wenn du das alles mit der Hilfe und den bisher gegebenen Stichworten und Ansätzen und Codebeispielen nicht hinbekommst solltest du vielleicht ernsthaft drüber nachdenken, erst mal ein paar Stunden mit dem Studium der Grundlagenprogammierung zu verbringen und dich erst dann an SolidWorks Programmierung zu wagen. Das API Grundlagen und Dokumenthandling Handbuch, dass kostenlos von Schuler DA (durch tbd) zur Verfügung gestellt wird, ist da sicher ein guter Anfang. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Stefans SolidWorks Blog Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2012 SP 5.0
|
erstellt am: 10. Nov. 2008 23:46 <-- editieren / zitieren --> Unities abgeben:          Nur für Bergfeuer
Hallo, weiß nicht obs noch aktuell ist, aber mit VS 2008 geht das so: Code: Sub dateioeffnen() Dim swApp As SldWorks.SldWorks swApp = CreateObject("sldworks.Application") Dim openfile As New OpenFileDialog Dim errors As Long Dim warnings As Long openfile.InitialDirectory = "C:\" openfile.Filter = "Baugruppe(*.sldasm)|*.sldasm" If openfile.ShowDialog = DialogResult.OK Then swApp.OpenDoc6(openfile.FileName, swDocumentTypes_e.swDocASSEMBLY, _ swOpenDocOptions_e.swOpenDocOptions_LoadModel, "", errors, warnings) End If End Sub
Dieses Codeschnippsel zeigt den windows standard öffnen dialog und schreibt den Namen der zu öffnenden Datei in openfile.FileName, welcher dann ganz einfach mit OpenDoc6 geöffnet werden kann.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |