Hallo Julius,
Zitat:
Original erstellt von Julius:
Was ich jetzt noch Suche, bzw frage mich obs überhaupt geht
Als Hausnummer: alles, was du interaktiv machen kannst, kannst du im Prinzip auch irgendwie automatisieren. Da gibt es nur ganz wenige Ausnahme und selten mal Fehler in der API, die das verhindern.
Allerdings ist es programmtechnisch nicht immer so einfach wie es interaktiv erscheint, du musst selbst als Makroprogrammierer schon oft in die Trickkiste greifen oder mal 30-50 Zeilen Code schreiben, wo du in SolidWorks nur einen Knopf drückst.
Zitat:
Original erstellt von Julius:
... ist ein VBA Script um die Abmessungen eines Teils im Model ein zu tragen ... Am liebsten währe es mir wenn ich ein Button anklicken könnten und dann 3 Maße und fertig
Das ist schon so ein Fall. Dazu musst du entweder die Selektion abfangen und dich dazu in die Events von SolidWorks einhängen, die Maße vorselektieren oder eine PropertyManagerpage bauen, da gibt es selektionsfelder, die das automatisch machen. Dann musst du die Selektion auswerten (Stichwort: SelectionMgr::GetSelectedObjectCount2, SelectionMgr::GetSelectedObjectType3 und SelectionMgr::GetSelectedObject6) und dich dann von der selektierten DisplayDimension zum dahinterliegenden Parameter hangeln ( DisplayDimension::GetDimension2 ) um vom dem den Namen zu holen ( Dimension::Name ). Daraus dann den String zusammensetzen und wie bekannt in die Dateieigenschaft einschreiben.
Zitat:
Original erstellt von Julius:
Wie kann ich $PRP:"SW-Dateiname(File Name)".$PRP:"Version" als einen Text in einem Eigenschaftsfeld einfügen?
[...]
Sprich das hier geht nicht:
Private Sub cmdZeich_Click()
txtSfZeichnungsnummer.Text = "$PRP:"SW-Dateiname(File Name)".$PRP:"Version""
End Sub
Du musst die Gänsefüßchen
im String richtig maskieren, am einfachsten ist es den String mit CHR$(34) (der ASCII Code der Gänsefüßchen) zusammenzubauen.
Zitat:
Original erstellt von Julius:
Und mein letzte Frage: Woran kann es liegen das das Fenster machmal nicht im Vordergrund ist wenn ich auf das VBA-Script-Button drücke?
Hm, schwer zu sagen, da hab ich im Moment auf keine Idee.
Zitat:
Original erstellt von Julius:
Eine Nachfrage noch: Kann man per VBA sich z.B. das Aktuelle Gewicht anzeigen lassen? Allso z.B. von "SW-Mass@test.SLDPRT" den Ausgabewert?
Siehe oben. Du holst dir die Masse etwas anders: vom aktuellen/selektierten Dokument holst du dir das ModelDoc oder die Bodys, deren Gewicht du haben willst, davon die Masseeigenschaften mit ModelDocExtension::GetMassProperties und da hast du als Parameter 5 im Safearray die Masse in Kilogramm.
Wie gesagt, alles nicht so einfach wie es auf den ersten Blick aussieht, aber machbar 
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