Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Makros für Eigenschaten mit Verweisen

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
  
Social Business Analyst liefert die Antworten auf Ihre wichtigsten geschäftlichen Fragen - natürlich in Echtzeit!
Autor Thema:  Makros für Eigenschaten mit Verweisen (778 mal gelesen)
Malte70
Mitglied
Konstrukteur


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

Beiträge: 61
Registriert: 11.11.2020

PC1
AMD Threadripper 1020X 12-Core
G.Skill 64GB DDR4
MSI RX5700XT GDDR6 8GB
1TB SSD M2
Windows 10 Pro
Inventor 2018
Inventor 2017
Solidworks 2015
Solidworks 2020
Solidworks 2018
SW PDM 2015 und 2020
Logitrace V.12
Autocad R13
Autocad 2017
Office 2019
Baugruppen meist ab 20.000 Teile<P>PC2
Dell Precision 5820

erstellt am: 12. Nov. 2020 08: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

Hallo,

ich habe ein Macro umgeschrieben, das mir die Eigenschaften "säubert"

nun wollte ich einen Materialverweis und ein Gewichtsverweis auf den Strukturbaum einbauen.
Bedeutet, das sollte nachher in den Eigenschaften so aussehen:

Gewicht         Text "SW-Mass@Teil.SLDPRT"       0.00
Material Text "SW-Material@Teil.SLDPRT"

wie mache ich das(wie und wo füge ich das ein)     

...
    strName = Dir(strOrdnerName & "*.sldlfp")
    
...
            boolstatus = swCustProp.Get4("Oberflächenbehandlung", False, val, valout)
            boolstatus = ModelDoc.DeleteCustomInfo("Oberflächenbehandlung")
            boolstatus = swCustProp.Get4("Oberflächenbehandlung", False, val, valout)
 ...

[Diese Nachricht wurde von Malte70 am 27. Nov. 2023 editiert.]

[Diese Nachricht wurde von Malte70 am 27. Nov. 2023 editiert.]

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

ad_man
Mitglied
freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))


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

Beiträge: 1366
Registriert: 20.12.2003

erstellt am: 12. Nov. 2020 14: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 Malte70 10 Unities + Antwort hilfreich

Hallo Malte,

erst einmal "Herzlich willkommen im SWX-Board" 
Schau mal in das Beispiel

http://help.solidworks.com/2020/english/api/sldworksapi/add_and_get_custom_properties_example_vb.htm

Dort findest du Hinweise, wie das in SWX gemacht wird 
Und du solltest deinen Code noch mal durchschauen, da sind eine Menge
unsinnige Befehle drin. So zum Beispiel hier:

Code:

strName = Dir(strOrdnerName & "*.sldlfp")

Du rufst zum einen nicht ein Teil sondern ein Bibliotheksfeature auf.
Zum anderen erschliesst sich der Sinn des * nicht. Willst du alle
Bibliotheksfeature aufrufen? Das musst du unter VBA anders lösen. Ich
gehe auch davon aus, dass es hier zu einem Fehler kommt, hab es aber noch
nicht ausprobiert.

In den Zeilen

Code:
boolstatus = swCustProp.Get4("Oberflächenbehandlung", False, val, valout)
boolstatus = ModelDoc.DeleteCustomInfo("Oberflächenbehandlung")
boolstatus = swCustProp.Get4("Oberflächenbehandlung", False, val, valout)

rufst du zwei mal die Property Oberflächenbehandlung auf. Dazwischen wird
dann mit einem "alten" Befehl die Property gelöscht. Warum 
Das sieht ein wenig nach "Cut&Paste bis der Arzt kommt" aus. Nicht falsch
verstehen, aber du solltest dich in das Thema "Programmieren mit VBA"
noch ein wenig einarbeiten.

------------------
==========
Gruß
Andreas
==========

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

Malte70
Mitglied
Konstrukteur


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

Beiträge: 61
Registriert: 11.11.2020

PC1
AMD Threadripper 1020X 12-Core
G.Skill 64GB DDR4
MSI RX5700XT GDDR6 8GB
1TB SSD M2
Windows 10 Pro
Inventor 2018
Inventor 2017
Solidworks 2015
Solidworks 2020
Solidworks 2018
SW PDM 2015 und 2020
Logitrace V.12
Autocad R13
Autocad 2017
Office 2019
Baugruppen meist ab 20.000 Teile<P>PC2
Dell Precision 5820

erstellt am: 12. Nov. 2020 14:52    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

Schonmal vielen vielen Dank,

Ja, sind Bibliotheksfeatures

Die SW Beispiele hab ich schon gefunden, konnte nur nix damit anfangen  

Copy,Cut& Paste bis der Arzt kommt stimmt schon  
das mit dem einarbeiten ist auch vollkommen richtig (Anfänger)
habe diese Woche mit dem umschreiben angefangen und vor ein paar Jahren mal die ersten 3 Seiten von einem VB Wälzer gelesen.

das Programm läuft bis hier einwandfrei.

nur die Materialeigenschaften fehlen mir

In den Zeilen

Code:

    boolstatus = swCustProp.Get4("Oberflächenbehandlung", False, val, valout)
    boolstatus = ModelDoc.DeleteCustomInfo("Oberflächenbehandlung")
    boolstatus = swCustProp.Get4("Oberflächenbehandlung", False, val, valout)

habe ich ein Property drin was blödsinn ist, das soll halt raus.

wenn ich das nicht tue, dann lässt er den wert stehen.

(hab zwar fast keine Ahnung davon aber ich glaube er schaut nach, welcher wert (in dem falle keiner, weil er ja gelöscht wurde)
drin steht und schreib diesen dann in die Eigenschaften.


[Diese Nachricht wurde von Malte70 am 12. Nov. 2020 editiert.]

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