Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API Zusatzanwendungen in SWX starten

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
  
SolidCAM Professor Videos | Tipps & Tricks (SolidCAM)
Autor Thema:  API Zusatzanwendungen in SWX starten (4425 mal gelesen)
JM
Mitglied



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

Beiträge: 223
Registriert: 02.11.2000

SW2006 SP5.0 Produktiv
SW2009 SP4.1 Tesr

erstellt am: 14. Aug. 2001 17:09    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,

ich programmiere per API Modelle in SWXSolidWorks, welche ich mit Zusatzanwendungen (z.B. E-Drawings, Surfcam) weiterbearbeiten bzw. speichern möchte.

Wenn ich SWXSolidWorks mit
Set swApp = CreateObject("SldWorks.Application")
starte, habe ich zwar SWXSolidWorks aber keine der Zusatzanwendung, obwohl diese im Menü unter Extras ausgewählt sind.

Ich hoffe jemand kann mir einen Tip geben.

Danke
JM

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

Oberparleiter
Mitglied
Konstrukteur


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

Beiträge: 706
Registriert: 06.06.2000

erstellt am: 15. Aug. 2001 07:15    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 JM 10 Unities + Antwort hilfreich


loadaddin.zip

 
Hallo JM

Ich habe da ein kleines Macro geschrieben. 
Das Macro Startet den Spaceball in SWXSolidWorks und/oder prüft ob dieser schon geladen ist.
Es ist jederzeit auch auf andere Applicationen anwendbar.

Ich hoffe du kannst was damit anfangen.

------------------
Tschue

Oberparleiter

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

Axel
Mitglied
 


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

Beiträge: 169
Registriert: 05.09.2000

erstellt am: 15. Aug. 2001 11:05    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 JM 10 Unities + Antwort hilfreich

Hallöle!

Wenn du SWXSolidWorks mit CreateObject startest, werden immer keine Zusatzanwendungen gestartet, egal was unter Extras... angehakt ist. 
Einzige Möglichkeiten:
SolidWorks vorher normal starten und dann mit deinem Programm drauf zugreifen oder
SolidWorks vom Programm starten lassen und die notwendigen Zusatzprogramme dazuladen, wie Oberparleiter das macht.

Axel

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

JM
Mitglied



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

Beiträge: 223
Registriert: 02.11.2000

SW2006 SP5.0 Produktiv
SW2009 SP4.1 Tesr

erstellt am: 15. Aug. 2001 11:26    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 für die prompten Antworten, mit dem nachträglichen dazuladen der Addins funktionierts prima.

Tschö
JM

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

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: 16. Aug. 2001 07:25    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 JM 10 Unities + Antwort hilfreich

Hallo JM,

es gibt auch noch eine andere Möglichkeit, bei der du die Pfade zu den installierten und angehakten Add-Ins nicht brauchst: Win32-API Funktion ShellExecute.

Das könnte dann so aussehen:

Code:

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
        (ByVal hwnd As Long, _
        ByVal lpOperation As String, _
        ByVal lpFile As String, _
        ByVal lpParameters As String, _
        ByVal lpDirectory As String, _
        ByVal nShowCmd As Long) _
        As Long

Sub StartSWX()
   
    Const SW_SHOWNORMAL = 1
    ' Solidworks per ShellExecute aufrufen hat den Vorteil,
    ' dass Add-Ins mit geladen werden. Aber man muss den Pfad
    ' kennen oder z.B. mit FindExecutable selbst suchen (3.Parameter)
    '
    ' die folgende Zeile kann in einem Stück geschrieben werden,
    ' der erste Parameter Form1.hwnd ist irgendein Fensterhandle
    ' z.B. aus dem eigenen Programm
    ShellExecute Form1.hwnd, vbNullString, "p:\sw2001\sldworks.exe", _
                vbNullString, "C:\", SW_SHOWNORMAL

End Sub


Auf diese Weise wierden auch alle angehakten Add-Ins mitgeladen.

Ciao,
Stefan


------------------
--
Inoffizielle Solidworks Hilfeseite
http://solidworks.cad.de
EMail:          Stefan.Berlitz@solidworks.cad.de

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

Wing-at-work
Mitglied
Student

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

Beiträge: 2
Registriert: 05.12.2006

erstellt am: 06. Dez. 2006 00: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 JM 10 Unities + Antwort hilfreich

Der Beitrag ist immer noch GOLD wert!!!
Ein hoch auf den Autor.

Erklärung:
5 Jahre nach dem Posting. Ich habe mir eine serielle Spacemouse ersteigert. Und eine Studentenversion von SWXSolidWorks, sogenantes SDK.
Nur verweigert das die Zusammenarbeit die Zusammenarbeit mit dem Spaceball treiber. 
Besser gesagt bietet es sie gar nicht erst an.

Durch das Makro - und eine kleine Modifikation läßt sich die API für den Spaceball trotzdem ausführen!!!
Nur die DLL, die heißt jetzt "mglsw20u.dll" und den Pfad anpassen.
Und läuft!

Nochmals besten Dank.
Gruß
Uwe

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

tbd
Mitglied
Teamleiter


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

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
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 06. Dez. 2006 08:42    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 JM 10 Unities + Antwort hilfreich

Eine viel bessere Möglichkeit sich ein Objekt mit der aktuellen SolidWorks Instanz zu belegen ist

Code:

Set SwApp = GetObject(,"SldWorks.Application")

Durch diesen Befehl wird die aktuelle SolidWorks Sitzung übernommen.
Denn Fall das SolidWorks nicht geöffnet ist, sollte man allerdings abfangen.

------------------
Mfg Daniel

Brauchen Sie Hilfe, sind Sie in Not? Wir retten Sie mit unserem Code!
----------------------------------------------
SolidWorks API-Programmierung | Es gibt neue Freeware Tools und Addins

SolidWorks API Programmierung; Schuler Design Automation GmbH
|     kontakt@schuler-da.de

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

Wing-at-work
Mitglied
Student

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

Beiträge: 2
Registriert: 05.12.2006

erstellt am: 19. Dez. 2006 15:16    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 JM 10 Unities + Antwort hilfreich

mh. ergibt sich dadurch eigentlich irgendein vorteil bzw. ein nachteil wenn man es nicht macht?

Bei mir ging beides ohne Probleme gleich. Und mein SDK ist eh ohne gedächtnis was die API angeht.

Gruß Uwe

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



Mechanikdesign-Ingenieur für die Vielstrahl-Elektronenmikroskopie (m/w/x)
Sich etwas Neues trauen, über sich hinauswachsen und dabei die Grenzen des Machbaren neu de?nieren. Genau das ist es, was unsere Mitarbeiter täglich leben dürfen und sollen. Um mit unseren Innovationen das Tempo vorzugeben und Großartiges zu ermöglichen. Denn hinter jedem erfolgreichen Unternehmen stehen eine ganze Menge faszinierender Menschen.
Die Mitarbeiter von ZEISS arbeiten in einem offenen und modernen Umfeld mit zahlreichen Entwicklungs- und Weiterbildungsmöglichkeiten....
Anzeige ansehenProduktdesign, Industriedesign
tbd
Mitglied
Teamleiter


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

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
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 19. Dez. 2006 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 JM 10 Unities + Antwort hilfreich

Hallo Uwe,

es funktionieren klar beide Methoden.
Aber zwischen Get und CreateObject gibt es schon einige wichtige Unterschiede.
Mit CreateObject öffnet man evtl. eine ungewünschte SolidWorks Version, in welcher die Zusatzanwendungen nicht geladen sind.
Mit GetObject erhält man immer nur einen Verweis auf eine bestehende SolidWorks Sitzung.
Schlag einfach mal in der VB-Hilfe nach, ich weis jetzt nicht in was für eine Umgebung du programmierst, aber die beiden Methoden sind in vb6, vba und vb.net gleichermaßen gut erklärt.

------------------
Mfg Daniel

Brauchen Sie Hilfe, sind Sie in Not? Wir retten Sie mit unserem Code!
----------------------------------------------
SolidWorks API-Programmierung | Es gibt neue Freeware Tools und Addins

SolidWorks API Programmierung; Schuler Design Automation GmbH
|      kontakt@schuler-da.de 

[Diese Nachricht wurde von tbd am 19. Dez. 2006 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)2024 CAD.de | Impressum | Datenschutz