SolidWorks Programme - ModelTools Dichte (kurz MTD)

Swtool.gif (1531 Byte) Auf diesen Seiten stelle ich einige von meinen Programmen zur Verfügung. Um die Dateigrößen für den Download möglichst klein zu halten (und auch, weil ich nicht beliebig viel Webspace zur Verfügung habe) kommen die meisten Programm ohne Installationsroutinen oder die Visual Basic Laufzeitbibliotheken.

Programm: mtd - ModelToolsDichte
aktuelle Version: Version 1.1.5 vom 11.11.1999
Kompiliert: mtd.exe
Sourcecode: Visual Basic 6 SP3, Sourcecode nicht freigegeben (aber Basissourcecode im API-Tutor Kapitel 4 auf der Schwestersite solidworks.cad.de )
Beispiele: -
Download:  Programmdateien siehe Tabelle, aktuelle Vorgabeliste mtd.ini (746 Bytes, 8 Werte vom 06.10.1999)

flag_us.gif (1193 Byte) prog_mtdinst_us.zip (1.489.397 Bytes) standardmäßig englische Texte, inklusive Setup und VB6-Runtime
flag_de.gif (1170 Byte) prog_mtd_de.zip (23.721 Bytes) standardmäßig deutsche Texte, ohne Setup-Programm
flag_us.gif (1193 Byte) prog_mtd_us.zip (23.702 Bytes) standardmäßig englische Texte, ohne Setup-Programm
Spanisch prog_mtd_es.zip (24.909 Bytes) standardmäßig spanische Texte, ohne Setup-Programm

Sprachdateien: (als default.ini in das Programmverzeichnis kopieren)

fl16_de.gif (124 Byte) Deutsch mtdlng_de.ini (3.653 Bytes)
fl16_us.gif (134 Byte) Englisch mtdlng_us.ini (3.536 Bytes)
Spanisch mtdlng_es.ini (3.476 Bytes)

Herzlichen Dank an Daniel Fernández für die spanische Sprachdatei.

Update auf Version 1.1.5 vom 11.11.1999

Aufgrund einiger Anregungen vor allem aus dem nicht-deutschsprachigen Raum wurde das Programm etwas überarbeitet. Folgenden Änderungen / Ergänzungen sind in die Version 1.1.5 eingeflossen:

Allgemeines

Das kompilierte Programm mtd.exe benötigt keine spezielle Installation, sondern sollte aus jeden beliebigen Ordner heraus lauffähig sein. Scannen Sie sicherheitshalber den Download und die EXE nach dem Herunterladen auf Viren, ich habe alles mit Norton Antivirus und McAffee gescannt, bei mir scheint alles klar zu sein, aber man weiß ja nie.

Wenn Sie keine eigene VB6 Entwicklungsumgebung haben benötigen Sie noch zusätzlich die VB6-Laufzeitbibliotheken. Diese findet man heutzutage auf jeder 2. Heft-CD (und sicherlich auch bei Microsoft) deswegen brauchen Sie nicht das komplette Installationspakete herunterzuladen. Probieren Sie im Zweifelsfall mal einfach aus das Programm zu starten, die Runtimes sind häufig schon (ohne Ihr Wissen) von anderen Programmen installiert worden. Wenn Sie das aber nirgendwo finden, können Sie auch das komplette Installationsprogramm (hier 1.454 KB) herunterladen.

Die erste öffentliche Version ist die Version 1.1 und wurde an dieser Stelle am 06.10.1999 veröffentlicht. Der Sourcecode steht (bisher) nicht zur freien Verfügung. Wer diesen unbedingt haben möchte kann ihn bei mir gegen eine Registriergebühr erwerben. Bitte setzen Sie sich in diesem Fall mit mir in Verbindung.

Wenn Sie nur an der Art interessiert sind, wie der Kontakt zu SolidWorks dabei funktioniert schauen Sie doch mal einfach in mein API-Tutorial Kapitel 4 und laden von dort den Sourcecode (5 KB), da steht, wie es geht.

Die wichtigsten Features kurz zusammengefasst

  • Auslesen der Materialeigenschaft (Dichte) von SolidWorks, dabei Unterscheidung nach aktuellem Teil und Systemstandard
  • Auswahl eines Material aus der Dropdownliste und eintragen des Wertes in SolidWorks
  • Anwenden auf ... wie in SolidWorks
  • einfachste Erweiterungsmöglichkeit durch Editieren der separaten ASCII-Liste mit Namen und Werten
  • einfachste Anpassung an Fremdsprache (Beispieldateien für Deutsch und Englisch liegen bei)
prog_mdt_main_de.gif (6843 Byte)

Was soll das überhaupt?

SolidWorks bietet die Möglichkeit für Einzelteile die Materialeigenschaften (Dichte) einzustellen. Dieser Wert wird für die verschiedenen Berechnungen für z.B. das Gewicht zu Grunde gelegt.

Hierzu geben Sie unter Extras/Optionen/Materialeigenschaften den Wert per Hand in g/mm³ ein. Dummerweise kann man sich recht schnell dabei mal mit den Nullen verhaspeln und außerdem sind für etwas exotische Materialien die passenden Werte nie zur Hand und man muss sich diese erst mühsam heraussuchen.

An dieser Stelle setzt ModelTools - Dichte an, indem es einige Aspekte dieser immer wiederkehrende Tätigkeit durch eine einfache Auswahl vereinfacht. In der aktuellen Version können Sie mit ein paar Klicks komfortabel aus einer vorgegebenen Liste ein Material im Klartext auswählen und SolidWorkstypisch auf das aktuelle Modell, den Systemstandard oder beides anwenden. Für die Zukunft könnte ich mir aber auch noch einige Erweiterungen vorstellen.

So, genug erzählt, gehen wir ins Eingemachte.

Vorbereitung

Laden Sie das gezipte Programmpaket und entpacken Sie es in einen Ordner Ihrer Wahl. Zu diesem Programmpaket gehören zwingend die Dateien mtd.exe (das ausführbare Programm) sowie die zwei INI-Dateien mtd.ini (mit den ganzen Vorgabewerten für die Tabelle) und default.ini (das ist die Sprachendatei für die ganzen Texte im Programm).

Im den ZIP-Files sind noch Beispieldateien namens mtdlng_XX.ini beigelegt. Diese stellen die Sprachenresourcedateien für die verschiedenen Sprachen (hier de = deutsch und us = englisch) dar und können einfach benutzt werden, indem Sie als default.ini in das Verzeichnis von mtd.exe kopiert werden. Doch zur möglichen eigenen Anpassung später.

Benutzen des Programms

Wenn Sie das Programm mtd.exe aufrufen sollten Sie nebenstehenden Hauptbildschirm zu Gesicht bekommen.

Das Fenster gliedert sich in drei Bereiche: Menuleiste, Werte auslesen und Werte setzen.

Materialeigenschaft auslesen

Im rechten oberen Bereich können Sie den aktuellen Wert aus SolidWorks durch Mausklick auslesen. Durch die Checkbox entscheiden Sie, ob der Systemstandard oder der Wert des aktuellen Modells ausgelesen wird. Der ausgelesene Wert wird im Textfeld darunter angezeigt. Sie brauchen diese Funktion nicht anzuwenden, wenn Sie nur die Dichte setzen wollen.

Wenn noch kein SolidWorks auf Ihrem Arbeitsplatz läuft wird automatisch eines gestartet (und ggf. eine Fehlermeldung erzeugt, wenn dies nicht möglich ist).

Dichtewert setzen

Im unteren Teil des Fensters können Sie zunächst aus einer Dropdownliste das Material, dass Sie einsetzen wollen, auswählen. Dieses geschieht Windows-typisch durch anklicken mit der Maus und auswählen des passenden Eintrags mit Maus und/oder Tastatur.

Sobald Sie einen Wert aus der Liste ausgewählt haben wird zu Kontrollzwecken dieser Wert im Textfeld links unten angezeigt.

Wählen Sie anschließend aus, worauf dieser Dichtewert angewendet werden soll. Auch hier können Sie wie von SolidWorks bereits gewohnt einfach aus einer Dropdownliste eine der drei Möglichkeiten wählen.

Haben Sie alle Einstellungen vorgenommen so werden diese Werte durch anklicken des Buttons Dichte nach SWX übertragen an SolidWorks übergeben.

Wenn noch kein SolidWorks auf Ihrem Arbeitsplatz läuft wird automatisch eines gestartet (und ggf. eine Fehlermeldung erzeugt, wenn dies nicht möglich ist).

Weitere Optionen

Die festen Optionen können Sie wahlweise auch über die Menuleiste verändern.

Ferner ist hier auch eine Option Always on top auswählbar. Wenn Sie diese Option anwählen. legt sich das Programmfenster automatisch über alle anderen Fenster und bleibt dadurch immer im Vordergrund. Wenn Sie dies nicht mehr wollen wählen Sie diese Option einfach wieder ab.

 

prog_mdt_main_de.gif (6843 Byte)

MTD Hauptfenster

prog_mdt_material_de.gif (2247 Byte)

Material auswählen

prog_mdt_aa_de.gif (2434 Byte)

Anwenden auf ... einstellen

prog_mdt_menu_de.gif (3551 Byte)

auch über das Menu auswählbar

Achten Sie bitte dabei darauf, dass alle Werte in Kilogramm pro m³ angezeigt werden, da SolidWorks intern diese Basis-SI-Einheiten benutzt. Wenn Sie den Wert auf die (zumindest mir) vertrauteren Einheiten Kg/dm³ umrechnen kommen Sie auf die bekannten Werte.

Wie funktioniert das genau?

Tja, keine Hexerei, nur ein paar (na ja, ein paar mehr) API-Aufrufe. Der Part für die Anbindung an SolidWorks ist verhältnismäßig trivial; schauen Sie doch einfach mal in mein API-Tutorial, da steht beschrieben, wie dieser Teil zu lösen ist.

In diesem Progrämmchen bin ich aber zwei Schritte weitergegangen. Da bei einigen anderen meiner hier veröffentlichten Programmen der ein oder andere Hinweis von Nicht-Programmierern kam, die a) die Funktionen erweitern wollten oder die b) das auch gerne in einer anderen Sprache hätten (das lustigste war eine Anfrage aus Brasilien nach einer Übersetzung ins portugisische :-)) habe ich hier den Hauptaugenmerk auf diese beiden Aufgaben gelegt.

Deswegen sind diese beiden Dinge in separate INI-Dateien ausgelagert worden, die Sie selbst anpassen können.

Wertedatei anpassen

Die Namen der auszuwählenden Materialen und je dazu passenden Dichtewerte stehen in der Datei mtd.ini, die im selben Verzeichnis wie mtd.exe stehen muss. Sie können die aktuelle Liste mtd.ini einfach herunterladen und in das Verzeichnis kopieren.

Wenn Sie diese Datei selbst erweitern wollen öffnen Sie diese einfach in einem Texteditor. Sie sehen hier eine Überschrift in eckigen Klammern und darunter drei Bereiche mit Werten.

Sie dürfen weder die Überschrift noch die Namen der Einträge ändern, können aber die Werte (hinter den = Zeichen) anpassen.

Wenn Sie Liste erweitern wollen fügen Sie einfach unten jeweils ein Name-Wert-Paar mit der nächsten laufenden Nummer an. Bitte achten Sie darauf, das keine Leerzeichen zwischen den Eintragnamen, dem =-Zeichen und dem Wert steht. Für die Werte denken Sie bitte daran, dass SolidWorks die Werte in Kilogramm pro Kubikmeter haben will, deswegen sind die Werte verhältnismäßig groß.

Passen Sie anschließend noch ganz oben den Wert für Anzahl= auf die neue höchste Nummer an (Anzahl beginnt bei 0, deswegen ist die Anzahl so gesehen eine Einheit zu klein; Computerdenken ...)

Hinter den Eintrag Default= geben Sie die Nummer des Eintrages an, der standardmäßig in der Dropdown-Liste vorausgewählt sein soll.

Sie können beliebig viele Kommentare in diese Datei einfügen. Jede Zeile, die mit einem ; beginnt gilt als Kommentarzeile und wird nicht ausgewertet.

Die mittegelieferte mtd.ini ist schon zweisprachig aufgebaut. Wenn Sie dies weiterführen wollen (oder noch eine Sprache hinzufügen wollen) schreiben Sie einfach immer die Zeilen für NameXX= mehrfach und kommentieren die für Ihre Sprachvariante nicht benötigte einfach aus.

prog_mdt_mdtini_de.gif (7063 Byte)

Sprachdatei anpassen

Ähnlich einfach funktioniert auch das Anpassen des Programms an eine andere Sprache. Die vom Programm benutzte Sprachendatei heißt default.ini und muss im selben Verzeichnis liegen wie die Programmdatei mtd.exe.

Wenn Sie die Texte und Bezeichner ändern wollen laden Sie diese Datei in einen Texteditor Ihrer Wahl und verändern die einzelnen Werte. Der Aufbau der Datei sieht zunächst etwas konfus aus, aber alle Einträge laufen nach demselben Schema:

In einer Abschnittsüberschrift (durch die eckigen Klammern zu erkennen) steht zunächst der Name des Controls (also Textfeld, Liste, Button ...) und darunter die Werte, die Sie anpassen können. Einen groben Überblick über die einzelnen Einträge und deren Bedeutung entnehmen Sie bitte der Tabelle:

Vorsilben Beispiel Bedeutung
frm... frmModelToolsDichte Form (Welches Fenster ist gemeint)
chk... chkSWXSystemStandard Checkbox
cmb... cmbAnwendenAuf ComboBox (d.h. DropDownlisten)
cmd... cmdSetDensity Commandbutton (Befehlsknöpfe)
lbl... lblAnwendenAuf Label (einfache Textfelder)
mnu... mnuOptionen Menu (Einträge in den Menus)

Je nach Control werden dann die verschiedenen Werte angegeben. Sie dürfen weder die Überschriften noch die einzelnen Eintragsnamen ändern, sondern nur die Werte hinter dem = Zeichen anpassen. Die Werte der einzelnen Einträge dürfen Leerzeichen, aber keine Zeilenumbrüche enthalten. Außerdem passen sich die Größen der Controls nicht an, also schreiben Sie möglichst nicht mehr Text als vorher schon da gewesen ist.

Und noch ein letzter Tipp: Ändern Sie besser nichts, von dem Sie nicht wissen, was es tut :-))

In der folgenden Tabelle erhalten Sie eine kurze Übersicht über die verschiedenen Einträge und deren Bedeutung:

Eintrag Bedeutung Bemerkung
Caption angezeigter Text dieses Controls praktisch bei allen Controls vorhanden und im Allgemeinen genau das, was Sie bei der Lokalisierung ändern müssen
ToolTipText kleiner gelber Hilfstext die ToolTips ploppen auf, wenn man den Mauszeiger etwas länger unbewegt auf einem Control hält. Auch der ToolTipText ist praktisch bei allen Controls vorhanden und sollte mit übersetzt werden
Default Standardanzeige wird bei DropDownlisten benutzt, um den standardmäßig angezeigten Eintrag anzugeben, ACHTUNG: unbedingt darauf achten, dass Sie einen gültigen Wert angeben
AnzahlListe Anzahl Einträge in einer Liste für Listen und DropDownlisten wird hier die Anzahl der eingetragenen Listenelemente angegeben
AddItemXX Listeneintrag hinzufügen hierdurch wird der angegebene Wert als Listeneintrag hinzugefügt. XX ist eine vorlaufende Nummer von 0 bis XX. ACHTUNG: den Wert bei AnzahlListe anpassen

Ich würde mich freuen, wenn Sie mir Anpassungen oder Übersetzungen in andere Sprachen zur Veröffentlichung hier zur Verfügung stellen würden.

Erweiterungen

Für die Zukunft könnte ich mir noch einige Erweiterungsmöglichkeiten vorstellen, die ich u.U. bei entsprechender Nachfrage nach und nach einbauen werde:

Feedback

Wenn Sie nicht mehr aus noch ein wissen können Sie mich auch gerne anmailen, die Adresse ist lautet Stefan.Berlitz@swtools.cad.de   Auch für Anregungen, Kritik (bitte konstruktiv) und Lob bin ich offen und hoffe auf einige Resonanz.

Für weitere internationale Sprachdateien (in meiner Macht ist da bisher nur [leidliches] englisch) wäre ich sehr dankbar und werde Sie hier mit veröffentlichen.

Ach ja, da fehlt noch etwas unvermeidliches:

DISCLAIMER

Die Software, Beispielprogramme und Dokumente stehen "so wie sie sind" zur freien Verfügung. In keinem Fall kann der Autor für irgendwelche Schäden oder auch nur Funktionen zur Verantwortung gezogen werden. Der Benutzer trägt das gesamte Risiko, wenn er dieses Programm benutzt.

Zurück zum Seitenanfang

hr.gif (4491 Byte)

Kritik und Anregungen bitte an Stefan Berlitz. Letzte Änderung dieser Seite am Freitag, 10. Juni 2011 08:52