Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Schnittstelle (COM API) - Solidworks

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
Autor Thema:  Schnittstelle (COM API) - Solidworks (1680 mal gelesen)
Jens S.
Mitglied
Dipl.-Ing.


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

Beiträge: 55
Registriert: 23.02.2005

erstellt am: 25. Mai. 2005 11: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

Moin Jungs,

wie sieht das eigentlich aus? Nutze ich bei der Verwendung von Visual Basic (API-Programmierung) die COM-Scnittstelle von Sldworks oder bietet SldWorks eine "seperate" Schnittestelle für VB, C++ und C# usw. für eine Art Direkt-Zugriff an?

Hat jemand Informationen über die "Theorie" wie SldWorks die Schnittestelle/Api anbietet?! Gibt es eine Visualisierung darüber?

Über Hilfe und Tipps würde ich mich sehr freuen, da ich mich neben der API-progrmmierung auch für den Backround wie Programme mit einander in Verbindung treten interessiere (speziell Sldworks und stelbst programmierte Tools).

Gruß an ALLE!
JENS

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

dr
Mitglied
CAD-/PLM-Entwickler und -Berater


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

Beiträge: 87
Registriert: 30.10.2001

erstellt am: 25. Mai. 2005 14: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 Jens S. 10 Unities + Antwort hilfreich

Moin,

Jepp - da wird COM benutzt. Ist im Prinzip dieselbe Technologie wie OLE oder ActiveX (verschiedene Namen fuer den gleichen Rotz, um unterschiedliche Marketingaspekte zu betonen).

Da die meisten Anwender SolidWorks mit VisualBasic automatisieren ist das auch gar nicht mal vekehrt - VisualBasic 'spricht' ja quasi von Haus aus OLE/COM/etc.

Dadurch, dass SolidWorks nicht direkt eine C/C++ Schnittstelle anbietet, ist die Verwendung von C/C++ Code allerdings ein klein wenig umstaendlicher als unbedingt noetig. Kann man aber trotzdem sehr gut mit arbeiten.

Zu OLE/COM/DCOM/ActiveX/etc. gibt es eine ganze Menge Buecher und viele interessante Seiten im Internet und im Microsoft Developer Network.

Die API-Beispiele zu SolidWorks sind aber ja auch schon huebsch und hilfreich...

Wolltest Du irgendetwas speziellen Wissen?

Beste Gruesse,
  Danny

------------------
Danny Reinhold
Reinhold Software & Services

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

Jens S.
Mitglied
Dipl.-Ing.


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

Beiträge: 55
Registriert: 23.02.2005

erstellt am: 25. Mai. 2005 14:56    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,

Also ich habe in der API von SldWorks nochmal genau hingesehen.
Bei der Verwendung von VB spricht man wohl die OLE-Schnittstelle an.
Beweis (Auszug aus der API)

Syntax (OLE Automation)

retval = PartDoc.FeatureByName ( Name)  -> Das ist ja der VB-Code!

Im Gegenzug:

Syntax (COM)

status = PartDoc->IFeatureByName ( Name, &retval )


Das heisst doch, dass wenn ich in VB programiere gehe ich über OLE und wenn ich in C++ prorammiere über die COM?!

Folgende Fragen habe ich dazu:
1. Kann ich nicht mit VB auch über die COM gehen? Dann würden mir doch mehr API-Befehle zur Verfügung stehen, oder?

2. Wie kann man sich das ganze graphisch Vorstellen? Gibt es von Soildworks eine Übersicht?

3. Gibt es eine Prinzip-Skizze über die Schnittstellen-Veröffentlichungen von SldWorks?

Gruß JENS

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

PASCAM
Mitglied
Diplom Informatiker


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

Beiträge: 67
Registriert: 25.11.2002

erstellt am: 27. Mai. 2005 07:22    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 Jens S. 10 Unities + Antwort hilfreich

Hallo Jens,

OLE-Autoamtion und COM sind das gleiche und dann doch wieder nicht. COM ist eine Basistechnologie basierend auf IUnkwon (und IDispatch). OLE-Autoamtion, auch ActiveX genannt, bietet zusaetzlich eine Infrastruktur an (Infos ueber Datentypen, Hilfe etc.) und ermoeglich, soweit ich weiss, auch das Marshalling an (Datenkonvertierung zwischen Prozesse).
Da VB diese Zusatzinfos benoetigt, muss dort ActiveX verwendet werden.
Gruss, Ralph

------------------
PASCAM Ralph Müller
Softwareentwicklung

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

PASCAM
Mitglied
Diplom Informatiker


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

Beiträge: 67
Registriert: 25.11.2002

erstellt am: 27. Mai. 2005 07:27    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 Jens S. 10 Unities + Antwort hilfreich

Hallo Jens,

noch ergaenzend zu Deinen Fragen:
1. Nein, die API ist nahezu gleichwertig. Unterscheide liegen meist darin begruendet, dass die COM-Schnittstelle fuer die statische Speicherverwaltung von C++ angepasst ist, wahrend die OLE-Automation die dynamischen Arrays unterstuetzt

2. Ich habe noch keine gesehen. Wenn Du richtig ins programmieren einsteigen willst, gibt es fuer Partner kostenlose API-Schulungen z.B: bei SWXSolidWorks in Cambridge. Ansonsten ist die Hilfe eigentlich ausreichend

3. Was meinst Du mit Prinzip-Skizze? Beispiele? Auf der HP von SWXSolidWorks gibt es jede Menge Beispiele, auch ein AddIn-Wizzard, der ein gutes Start-Framework erstellt. Und wenn Du dann noch in den Strukturen von SWXSolidWorks denkst (man geht von der Applikaton ueber das Modell zum Entity oder Feature) ist eigentlich alles klar.

Gruss,

Ralph

------------------
PASCAM Ralph Müller
Softwareentwicklung

[Diese Nachricht wurde von PASCAM am 27. Mai. 2005 editiert.]

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

Bruggmann
Mitglied
Konstrukteur (& Nachdiplomstudium Software-Engineering)


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

Beiträge: 85
Registriert: 17.03.2004

Workstation:
Fujitsu Siemens P4 3.2GHz
2.0 GB RAM
Win XP SP1 - SW2005 SP0.1
(PDM: Smarteam)<P>Laptop:
Compaq Evo 800w P4 2GHz
500MB RAM
WinXP SP2 - SW2005 SP0.1
(PDM: ec-Manager, eigenes Tool..)

erstellt am: 27. Mai. 2005 10: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 Jens S. 10 Unities + Antwort hilfreich


p03.gif

 
Für alle die mehr wissen wollen: http://www.activevb.de/tutorials/tut_middleware/middleware.html

Und das Bild zeigt einen Zeitlichen Ablauf, grob was nach wem kam und was es sonst grad noch so gibt..

------------------
----------
Firma:  encom GmbH
Privat: NewGen.ch

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

Jens S.
Mitglied
Dipl.-Ing.


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

Beiträge: 55
Registriert: 23.02.2005

erstellt am: 31. Mai. 2005 10: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

Hallo Jungs,

vielen Dank für die nützlichen Tipps.
Habe nun zumindest Informationsmaterial gefunden, welches Verwendbar ist.

Mit Prinzip-Skizze meinte ich, ob es eine Visualiesierung (Bild) von SldWorks gibt mit allen veröffentlichen Schnittstellen und die Anbindung eines externes Moduls an diese?

Gruß JENS

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

Jens S.
Mitglied
Dipl.-Ing.


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

Beiträge: 55
Registriert: 23.02.2005

erstellt am: 01. Jun. 2005 15:19    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 Leute,

nach einiger Literaturrecherche stellt sich mir immer noch die Frage,
wieso Visual Basic die OLE (Automation) und nicht die COM-Schnittstelle nutzt? Bzw. wieso SldWorks für VB die OLE-Schnittstelle zur Verfügung stellt?

Hat da einer eine Antwort drauf?

Gruß JENS

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

PASCAM
Mitglied
Diplom Informatiker


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

Beiträge: 67
Registriert: 25.11.2002

erstellt am: 01. Jun. 2005 16: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 Jens S. 10 Unities + Antwort hilfreich

Hallo Jens,

VB braucht mehr als COM, naemlich mindestens OLE Automation (das ist eine Uebermenge von COM).
Und da VB /bzw. VBA) eine Sprache fuer einfache und schnelle zu erstellende Anwendung ist, hat sie SWXSolidWorks anbinden muessen. Von der Performance ist sie aber etwas schlechter als die COM-Schnittstelle, wie sie fuer C++ inplementiert ist (es fehlt z.B. das Marshalling, soweit ich weiss).
D.h.: OLE Automation fuer die breite Anwendungsgebiete (VB, Delphi, .NET etc.), COM fuer Performance.

Gruss, Ralph

------------------
PASCAM Ralph Müller
Softwareentwicklung

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

Jens S.
Mitglied
Dipl.-Ing.


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

Beiträge: 55
Registriert: 23.02.2005

erstellt am: 09. Jun. 2005 10:27    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


COM-OLE.gif

 
Hallo Pascam,

ich habe mal eine Visualisierung dessen gemacht, was ich mir darunter vorstelle.

Ich hoffe, ich bin damit auf dem richtigen Weg.

Gruß JENS

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