Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Hilfe zu Stefans Schriftfeld Macro

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
  
Smart Engineering Session: CAD-Automation in SOLIDWORKS in Hannover, eine Veranstaltung am 18.08.2026
Autor Thema:  Hilfe zu Stefans Schriftfeld Macro (2956 mal gelesen)
Julius
Mitglied
Projektleiter


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

Beiträge: 289
Registriert: 10.06.2003

erstellt am: 02. Sep. 2008 16:24    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,

erstmals möchte ich Stefan und allen anderen die bei dem Schriftfeldscript geholfen haben danken!
Tolles Script wo mir viel Zeit spart.

Was ich jetzt noch  Suche, bzw frage mich obs überhaupt geht, ist ein VBA Script um die Abmessungen eines Teils im Model ein zu tragen.

D.h. bei meiner Benutzerdefiniertem Feld: "Abmessungen" soll dann z.B. stehn: "RD3@Beschriftung@208517-ZTRR-0001.moPart_c"x"RD1@Beschriftung@208517-ZTRR-0001.moPart_c"x"RD2@Beschriftung@208517-ZTRR-0001.moPart_c"

Bis jetzt geh ich so vor das ich Datei-> Eigenschaften -> dann in das Abmessungsfeld klicke und dann die 3 Bemaßungen anklicke mit zwischen drin "x" Taste drücke.

Am liebsten währe es mir wenn ich ein Button anklicken könnten und dann 3 Maße und fertig...

Und dann hab ich noch eine 2te Frage:
Wie kann ich   $PRP:"SW-Dateiname(File Name)".$PRP:"Version"  als einen Text in einem Eigenschaftsfeld einfügen? (allso ich will auf einen Button im Macrofeld drücken und diesen Wert als Standart eintragen.... mit normalen Texten funktioniert das einwandfrei.
Allso VBA meckert das hier drin wo irgend ein Befehl steck etc...

Sprich das hier geht nicht:
Private Sub cmdZeich_Click()
    txtSfZeichnungsnummer.Text = "$PRP:"SW-Dateiname(File Name)".$PRP:"Version""
   
End Sub


wie würde es gehn??

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?


Vielen Dank schonmal für jede Hilfe!    


PS: SW 2008 SP4

Edit:
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?

Und noch eine Frage: Ich  ändere auch per Script das Material. Aber irgend wie übernimmt er es nicht. (Wert: "Material")

[Diese Nachricht wurde von Julius am 02. Sep. 2008 editiert.]

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

Nobbi
Mitglied
Techniker


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

Beiträge: 151
Registriert: 21.08.2002

Windows 10 Enterprise
SW2001 - SW2019
MDT
ACPIx64-basierter PC
NVIDIA Quadro M4000
Space Pilot
SAP-Cideon

erstellt am: 02. Sep. 2008 19:54    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 Julius 10 Unities + Antwort hilfreich

Hi Julius

nur mal so ne Frage
hast du schon mal die Suche Funktion benutzt
hier gibt es soviele Betraege drin

mfg Nobbi

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

SteffenB
Mitglied
Geprüfter Konstrukteur (IHK) / Key-User


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

Beiträge: 268
Registriert: 10.08.2005

Intel Xeon 3,6Ghz
32GB RAM
NVIDIA Quadro 2000
Windows 7 Pro / 64bit
SWX 2015 SP2.1

erstellt am: 03. Sep. 2008 08:38    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 Julius 10 Unities + Antwort hilfreich

Hallo Julius,

du musst das Rad nicht neu erfinden. Schau mal hier
http://ww3.cad.de/foren/ubb/Forum2/HTML/015062.shtml#000022

Das Makro musst du im Einzelteil ausführen.

Gruß Steffen

------------------
Wer Rechtschreibfehler findet darf sie gerne behalten! :-)

www.egoproducts.com

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: 03. Sep. 2008 09:17    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 Julius 10 Unities + Antwort hilfreich

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

Julius
Mitglied
Projektleiter


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

Beiträge: 289
Registriert: 10.06.2003

erstellt am: 08. Sep. 2008 12:14    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

Vielen Dank für die Hilfe.
Was ich noch nicht kapiert hab ist das mit den "

alt:
txtSfZeichnungsnummer.Text = "$PRP:"SW-Dateiname(File Name)".$PRP:"Version""

neu:
txtSfZeichnungsnummer.Text = "$PRP:CHR$(34)SW-Dateiname(File Name)CHR$(34).$PRP:CHR$(34)VersionCHR$(34)"

???
Stimmt das? Falls ja es geht damit immer noch nicht.

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: 08. Sep. 2008 13:28    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 Julius 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Julius:
Was ich noch nicht kapiert hab ist das mit den "
neu:
txtSfZeichnungsnummer.Text = "$PRP:CHR$(34)SW-Dateiname(File Name)CHR$(34).$PRP:CHR$(34)VersionCHR$(34)"


Nicht ganz, du musst den mit der Funktion Chr(34) zusammensetzen, also:

txtSfZeichnungsnummer.Text = "$PRP:" & CHR$(34) & "SW-Dateiname(File Name)" & CHR$(34) & ".$PRP:" & CHR$(34) & "Version" & CHR$(34)

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

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