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
  
Engineering in der Cloud: Link-Sharing von Konstruktionsdaten
Autor Thema:  Makros für Eigenschaten mit Verweisen (1127 / 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 16:29    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,

vorerst bitte ich schonmal um Entschuldigung das ich diesen Tread nochmal so aufmache (bin nicht so oft unterwegs gewesen auf Foren und habe den anderen glaube ich ausversehen zu gemacht.)

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

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

(Nachricht 2)

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


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 27. Nov. 2023 editiert.]

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: 14. Nov. 2020 09:44    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

So habe nach 1 Woche lernen und Internet durchforsten eine Lösung gefunden (ergebnis zählt  ),

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

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

Christian_W
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl-Ing)


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

Beiträge: 3189
Registriert: 04.04.2001

CSWP 12/2015<P>SWX2021sp5 Win10/11
(SWX2016, SWX2012)
proAlpha6.2e00/calinkV9
(Tactonworks)
(Medusa7, NesCAD2010,
solidEdge19)

erstellt am: 15. Nov. 2020 22:07    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

Zitat:
....

Code:

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

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

(hab zwar fast keine Ahnung davon ...


Hallo,

erstmal super, dass du deine Lösung jetzt hier auch postest :)
oder ist es noch nicht ganz die Lösung?

die DIMs würd ich aus der Schleife nach vorne ziehen, braucht man nur einmal oder?

Nochmal zu den 3 Zeilen ...
du arbeitest zum Teil mit dem Propertymanager, beim Löschen aber mit dem älteren Befehl. Da gibt es aber auch etwas im Propertymanager.
Habe die Hilfe von 2016 verlinkt - wenn du auf deine Version umstellst, merkst du, dass dort wieder einige Befehle verändert wurden.

wenn du mit den gelesenen Werten nichts machst, müsste die Zeile mit dem Löschen reichen,
ggf. auch als

Code:
DIM iResult as integer
iResult = swCustProp.Delete2("Oberflächenbehandlung")

in den Ergebnisvariablen val und valout bleibt natürlich was drin, auch wenn du die Property gelöscht hast.
wenn du danach etwas leeres zuweist, sind sie auch leer.
und etwas leeres braucht man mit "&val" auch nicht anhängen ... also gleich weglassen.

Bei den danach neu angelegten Eigenschaften scheinen mir auch ein paar Zeilen übrig zu sein.
und irgendwo taucht "sconfigname" auf - scheint aber leer zu sein? ...
beim Propertymanager (swCustProp) gibt es einen von modeldocext (den für die benutzerdefinierten Eigenschaften)
und auch einen jeweils von der Konfiguration her - falls du die Konfiguration brauchst und Befehle vereinheitlichen möchtest.

ich hab auch irgendwo gelesen, dass es sicherer sein könnte erst zu löschen und dann neu anzulegen, insofern wäre .delete und .add schon ok als Befehlsauswahl.

Bei einigen Blöcken sieht es für mich so aus, als soll eine Eigenschaft quasi umbenannt werden. Es wird etwas aus "Benennung" geholt, dann aber gelöscht, und das gelöschte bei "Gewicht" wieder dran gehängt? da komm ich noch nicht ganz dahinter .... 

Gruß, Christian

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: 16. Nov. 2020 10:08    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

 

Benennung ung Gewicht agieren unabhängig voneinander, es ist nur nicht richtig geordnet.

Gewicht wird hier gelöscht und unabhäng davon wird Benennung mit seinem Wert gerufen.

den rest werd ich mal probieren

------------------
Ich lehne es ab, anzuerkennen, dass es Unmöglichkeiten gibt - Henry Ford

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: 16. Nov. 2020 10: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

Mir ist grade nochwas aufgefallen

in der Zeile

boolstatus = swModel.AddCustomInfo3(sConfigName, "Material", swCustomInfoText, Chr(34) + "SW-Material" + "@@" + sConfigName + "@" + strName + Chr(34))

setzt er mir jetzt natürlich den Dateinamen (strName) sieht natürlich so aus weils ein Struktubauteil ist  .

"SW-Material@@Default@UPE 140.SLDLFP"

soll aber so aussehen:

"SW-Material@@Default@UPE 140.SLDPRT"

kann ich ein Ende löschen, sowas wie:

boolstatus = swModel.AddCustomInfo3(sConfigName, "Material", swCustomInfoText, Chr(34) + "SW-Material" + "@@" + sConfigName + "@" + strName + deleteend (3) + "prt" + Chr(34))

------------------
Ich lehne es ab, anzuerkennen, dass es Unmöglichkeiten gibt - Henry Ford

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: 16. Nov. 2020 14:19    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

auch hier wieder meine Lösung:

Dim varsplit As Variant
           
varsplit = Split(strName, ".")
           
boolstatus = swModel.AddCustomInfo3(sConfigName, "Material", swCustomInfoText, Chr(34) + "SW-Material" + "@@" + sConfigName + "@" + varsplit(0) + ".sldprt" + Chr(34))

------------------
Ich lehne es ab, anzuerkennen, dass es Unmöglichkeiten gibt - Henry Ford

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

Christian_W
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl-Ing)


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

Beiträge: 3189
Registriert: 04.04.2001

CSWP 12/2015<P>SWX2021sp5 Win10/11
(SWX2016, SWX2012)
proAlpha6.2e00/calinkV9
(Tactonworks)
(Medusa7, NesCAD2010,
solidEdge19)

erstellt am: 16. Nov. 2020 18:10    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,

hauptsache, dir macht niemand einen 2. Punkt in den String ...
sonst so ähnlich:  left(strName(len(strName)-6))&"sldprt"
auch gerne genommen: Konstrukte mit find / find reverse.

Gruß, Christian.

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: 19. Nov. 2020 12: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

wenn mich nicht alles täuscht fehlen da Leerzeichen, aber das wäre vielleicht sogar die bessere Möglichkeit

------------------
Ich lehne es ab, anzuerkennen, dass es Unmöglichkeiten gibt - Henry Ford

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