| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
 | EMO 2025, eine Veranstaltung am 22.09.2025
|
Autor
|
Thema: Makro Dateieigenschaften Listentrennzeichen (1628 / mal gelesen)
|
defreez Mitglied Staatlich geprüfter Techniker

 Beiträge: 23 Registriert: 23.07.2015 Xeon 16Gb Quadro 4000 Win 7 64
|
erstellt am: 01. Mrz. 2016 20:50 <-- editieren / zitieren --> Unities abgeben:         
ich schreibe in einem Makro eine Dateieigenschaft. Debug.Print ModelDoc.AddCustomInfo3(Config, Prop, swCustomInfoText, "TEXT DER IN DIE EIGENSCHAFT GESCHRIEBEN WERDEN SOLL") Anstatt diesem Text soll aber dieser Strang drin stehen.
Bl."dicke@Blech" ... "RD1@Beschriftungen" x "RD2@Beschriftungen" Dieser Textstrang enthält " ein Trennzeichen. Das mag VB nicht. wie bekomme ich den Strang in dieser Form eingesetzt ? Meine Fähigkeiten in VB sind nur rudimentär. Vielen Dank schon mal. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau

 Beiträge: 2800 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 02. Mrz. 2016 06:39 <-- editieren / zitieren --> Unities abgeben:          Nur für defreez
Hallo, Versuch es mal mit. "Bl." & """dicke@Blech""" & " ... " & """RD1@Beschriftungen""" & " x " & """RD2@Beschriftungen""" So funktioniert es zumindest bei mir problemlos. Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete  [Diese Nachricht wurde von bk.sc am 02. Mrz. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
defreez Mitglied Staatlich geprüfter Techniker

 Beiträge: 23 Registriert: 23.07.2015 Xeon 16Gb Quadro 4000 Win 7 64
|
erstellt am: 02. Mrz. 2016 22:02 <-- editieren / zitieren --> Unities abgeben:         
|
Andi Beck Ehrenmitglied V.I.P. h.c. Konstrukteur

 Beiträge: 2608 Registriert: 02.10.2006 Firma: SW 2024-5.0 + PDM Prof. Windows 10 Pro 64bit, i9-11900 32 GbRAM, Quadro P2200 Home: SW 2025-1.0 Passungstabelle von Heinz Windows 11 Pro 64bit, i7-12700K, 32 GbRAM, GeForce GTX 1050Ti Samsung C34H892, 3440x1440 Pixel
|
erstellt am: 02. Mrz. 2016 22:53 <-- editieren / zitieren --> Unities abgeben:          Nur für defreez
Hallo, schaust du... dummy = Model.DeleteCustomInfo2("", "Description") dummy = Model.DeleteCustomInfo2(glbConfName, "Description2")
Wobei glbConfName der Konfigurationsname ist.
Grüße, Andi Grüße, Andi ------------------ Hast du kein Problem? Such dir eins. ( Und löse es ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau

 Beiträge: 2800 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 03. Mrz. 2016 07:08 <-- editieren / zitieren --> Unities abgeben:          Nur für defreez
Hallo, um Andi seine Ausgae noch zu komplettieren noch die Info wenn als Konfigurationsname "" eingesetzt wird, wird an Stelle einer konfigurationsspezifischen eine benutzerdefinierte Eigenschaft erstellt. Alternativ könntest du auch über den ICustomPropertyManager gehen um deine Eigenschaften anzulgen, ändern, löschen etc.. Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
defreez Mitglied Staatlich geprüfter Techniker

 Beiträge: 23 Registriert: 23.07.2015 Xeon 16Gb Quadro 4000 Win 7 64
|
erstellt am: 03. Mrz. 2016 18:55 <-- editieren / zitieren --> Unities abgeben:         
|
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau

 Beiträge: 2800 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 04. Mrz. 2016 06:38 <-- editieren / zitieren --> Unities abgeben:          Nur für defreez
Hallo defeez, wenn du uns dein bereits vorhandenes Macro gibst oder zumindest den Teil der nicht passt wird sich vielleicht jemand die Zeit nehmen dir die fehlenden Codezeilen zu nennen. Beispiele für die ganzen Befehle findest du aber unter anderem auf Stefans Seite in der Macrotauschbörse Beispiel: Alle Dateieigenschaften listen Beispiel: Dateieigenschaften kopieren Beispiel: Dateieigenschaften erzeugen In die API Hilfe zu schauen und nach den diversen Befehlen zu suchen ist auch Hilfreich: CustomInfo Property (IModelDoc2) AddCustomInfo3 Method (IModelDoc2) DeleteCustomInfo2 Method (IModelDoc2) CustomPropertyManager Property (IModelDocExtension) Gruß Bernd
------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
defreez Mitglied Staatlich geprüfter Techniker

 Beiträge: 23 Registriert: 23.07.2015 Xeon 16Gb Quadro 4000 Win 7 64
|
erstellt am: 04. Mrz. 2016 14:29 <-- editieren / zitieren --> Unities abgeben:         
So sieht der Teil des zu setzenden Wertes aus ' zu erstellender Wert PropNames.Add "AMF_Abmasse" ' ********************************************************************** ' alle Dateieigenschaften aus der Konfiguration holen ConfigCount = ModelDoc.GetConfigurationCount ConfigNames = ModelDoc.GetConfigurationNames ' die Coolection vorbereiten mit den Namen der Konfigs bzw. "" wenn auf Datei If AllConfigs = 0 Then PropConfigs.Add "" Else For i = 0 To ConfigCount - 1 PropConfigs.Add ConfigNames(i) Next i End If For Each Config In PropConfigs For Each Prop In PropNames ' ********************************************************************** ' Wert setzen ' nach swCustomInfoText, "den wert eintragen" merke wenn Trennzeichen dann 3fach """ Debug.Print ModelDoc.AddCustomInfo3(Config, Prop, swCustomInfoText, "Bl." & """dicke@Blech""" & " ... " & """RD1@Beschriftungen""" & " x " & """RD2@Beschriftungen""") mir fehlt davor das löschen der alten Variable. in Teilen in denen die Variable vorhanden ist setzt er diese nicht neu ein.
Ich muss mir ein wenig zusammen reimen was passiert und das Makro aus Stücken zusammen setzen. Ich finde nur nichts zu löschen. Kann mir jemand gut Literatur zu dem Thema empfehlen ? [Diese Nachricht wurde von defreez am 04. Mrz. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
defreez Mitglied Staatlich geprüfter Techniker

 Beiträge: 23 Registriert: 23.07.2015 Xeon 16Gb Quadro 4000 Win 7 64
|
erstellt am: 06. Mrz. 2016 21:56 <-- editieren / zitieren --> Unities abgeben:         
Zur Auflösung Hier der Code zum löschen der Eigenschaft 'löschen des alten AMF_Abmaße wertes Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc Set swCustPropMgr = swModel.Extension.CustomPropertyManager(Empty) swCustPropMgr.Delete "AMF_Abmasse" Set swCustPropMgr = swModel.Extension.CustomPropertyManager("Standard") swCustPropMgr.Delete "AMF_Abmasse" Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau

 Beiträge: 2800 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 07. Mrz. 2016 07:12 <-- editieren / zitieren --> Unities abgeben:          Nur für defreez
Hallo defreez, wenn du hier schon mit dem CostumPropertyManager arbeitest, könntest du auch diesen mit intstatus = swCustPropMgr.Add3(FieldName, FieldType, FieldValue, OverwriteExisting) verwenden um deine Eigenschaft(en) anzulegen, hier kann dann das seperate löschen entfallen weil man die OverwriteExisting Option hat. Zu finden in der API-Hilfe unter Add3 Method (ICustomPropertyManager). Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |