Verwendung des Excel-Solvers zur iterativen Lösungsfindung in SOLIDWORKS

~ 0 min
2018-05-24 11:16
 
SOLIDWORKS Standard
Modul SOLIDWORKS CAD
Gültig für: Versionsübergreifend
Stand 24.05.2018

1. Begriffsklärung

Es gibt Aufgabenstellungen in der Konstruktion, die eine Lösungsfindung sehr zeitaufwendig gestalten oder die Lösung nur über einen Prototyp gefunden wird ( z.B. Füllstandshöhen für einen Behälter oder Auswuchten eines Drehteils ).

Eine Möglichkeit solche iterativen Aufgaben zu lösen, ist die Verwendung der Solver-Funktion von Excel. Dabei werden die in Excel evaluierten Daten, über die API-Schnittstelle an das SOLIDWORKS-Modell übergeben. In dem folgenden Beispiel wurde eine Excel-Datei als ein OLE-Objekt in das aktive SolidWorks Dokument eingebettet ( z.B. Excel-Datei per Drag&Drop vom Windows-Explorer in das SOLIDWORKS-Dokument ziehen ) um die Excel zusammen mit dem Modell in einer Datei zu speichern.

Anmerkung:

Um entsprechende Aufgabenstellung über das API zu realisieren, sollte der Anwender über SOLIDWORKS-API-KnowHow und VBA-Kenntnisse verfügen. Damit der Solver in Excel zur Verfügung steht, muss unter Add-Ins... der Solver aktiviert werden (Standardeinstellung ist deaktiviert). In dem folgenden Beispiel so der die Füllhöhe, für ein bestimmtes Fassungsvermögen einer Flasche ermittelt werden. Es handelt sich hierbei um eine Baugruppe mit dem Teil "bottle" und dem Teil "volume". Das Volumen wird durch ein Formnest-Feature erzeugt.

Das Teil "volume" enthält ein eingebettetes Excel, über das der Zielwert des Füllvolumens unter Einbeziehung des Excel-Solvers ermittelt wird. In diesem Beispiel so der Volumen 500ml betragen.

Um den Solver zu starten öffnen Sie das eingebettete Excel mit Rechtsklick auf das Excel-Objekt und wählen Sie "Bearbeiten mit Workshett". Anmerkung: Öffnen Sie das Objekt nicht durch Doppelklick, da dies zu einem Excel-Fehler führt.

Öffnen Sie nun den Excel-Solver um die Iteration zu starten (Beachten Sie, dass Sie den AddIn für den Solver aktiviert haben).

Um einen kleinen Einblick über die Kommunikation zwischen Excel und SOLIDWORKS über die API-Schnittstelle zu bekommen, können Sie in Excel das VisualBasic Programm öffnen und einsehen.

Schließen Sie das Makro-Programm wieder, wechseln Sie in den Excel-Solver und starten Sie die Interation über die Schaltfläche "Lösen".

Die Interation wird nun in den max. vorgegebenen Lösungsschritten ausgeführt, bis der Sollwert (hier sollen es 500ml sein) in einem bestimmten Toleranzbereich gefunden ist.

Schließen Sie nun Ihr Excel und wechseln Sie zurück in die Baugruppe um sich das Ergebnis anzusehen. Hier können Sie jetzt z.B. die Füllhöhe für eine Füllstrichmarkierung an der Flasche abgreifen.

Tags: Formnest, VBA
Durchschnittliche Bewertung 0 (0 Abstimmungen)

Kommentieren nicht möglich