| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Bechtle stärkt PLM-Geschäft mit Neugründung |
Autor
|
Thema: API: Material löschen (2317 mal gelesen)
|
HaPe Mitglied Dipl. Ing Maschinenbau, Konstrukteur, CAD-Admin
Beiträge: 1096 Registriert: 27.11.2001 i7 CPU 960@3.20GHz 8GB Ram Quadro 2000 4GB 70GB Raid 0 WIN7 prof. SP1 64 bit SWX 2010 SP5.0 SWX 2012 SP5.0 SWX 2013 SP5.0
|
erstellt am: 12. Feb. 2008 10:06 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich würde gerne per Macro das Material löschen, mit swPart.SetMaterialPropertyName2 Config, MaterialDB, myMaterial komme ich irgendwie nicht weiter. Ich kann zwar das Material wechseln (z.B. von Baustahl auf Gold) aber was muss ich dem String myMaterial zuweisen, damit ich kein Material bekomme. Oder benutze ich den falschen Befehl? Der Macrorecorder zeichnet leider nichts auf. Vielen Dank für Eure Hilfe Gruß HaPe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation
Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 12. Feb. 2008 10:17 <-- editieren / zitieren --> Unities abgeben: Nur für HaPe
Material löschen?! Wie stellst Du Dir das vor? Und dann? Was wohl SolidWorks dazu sagen würde? Ich habe einfach ein "Dummy" Material names "---". Wenn ich kein Material brauche, weise ich das zu. Ich denke nicht, dass man das Material "löschen" kann... ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HaPe Mitglied Dipl. Ing Maschinenbau, Konstrukteur, CAD-Admin
Beiträge: 1096 Registriert: 27.11.2001 i7 CPU 960@3.20GHz 8GB Ram Quadro 2000 4GB 70GB Raid 0 WIN7 prof. SP1 64 bit SWX 2010 SP5.0 SWX 2012 SP5.0 SWX 2013 SP5.0
|
erstellt am: 12. Feb. 2008 10:25 <-- editieren / zitieren --> Unities abgeben:
vielen Dank für die Antwort, ich habe mich etwas ungeschickt ausgedrückt , das Macro soll das selbe leisten, was ich händisch mit -> Material bearbeiten -> Material entfernen bewirken kann. (Material <nicht festgelegt> ) Wenn ich Dich recht verstehe, müsste der String ein "nicht festgelegt" enthalten. /edit Habe das gerade mal probiert, scheint aber so nicht zu funktionieren. Wie es aussieht kann ich nur Materialien zuweisen, die in der Materialdatenbank vorhanden sind. /edit Gruß HaPe
[Diese Nachricht wurde von HaPe am 12. Feb. 2008 editiert.] [Diese Nachricht wurde von HaPe am 12. Feb. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 12. Feb. 2008 11:26 <-- editieren / zitieren --> Unities abgeben: Nur für HaPe
|
HaPe Mitglied Dipl. Ing Maschinenbau, Konstrukteur, CAD-Admin
Beiträge: 1096 Registriert: 27.11.2001 i7 CPU 960@3.20GHz 8GB Ram Quadro 2000 4GB 70GB Raid 0 WIN7 prof. SP1 64 bit SWX 2010 SP5.0 SWX 2012 SP5.0 SWX 2013 SP5.0
|
erstellt am: 12. Feb. 2008 11:44 <-- editieren / zitieren --> Unities abgeben:
Hallo, das war auch mein erster Gedanke, nur leider funktioniert es nicht. Könnte es daran liegen, das das Teil mehrere Konfigurationen hat und ich die Konfiguration nicht spezifiziert habe, in der Annahme, das dann die aktive Konfiguration bearbeitet wird? Gruß HaPe /edit Habe es mit nur einer Konfig probiert, ohne Erfolg. Das Material ändern geht, löschen nicht! Sub main() Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim swPart As SldWorks.PartDoc Dim sMatName As String Dim sMatDB As String Dim bRet As Boolean Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc Set swPart = swModel sMatName = swPart.GetMaterialPropertyName2("", sMatDB) MsgBox (" Material = " & sMatName & " (" & sMatDB & ")") sMatName = "" swPart.SetMaterialPropertyName2 "", sMatDB, sMatName sMatName = swPart.GetMaterialPropertyName2("Default", sMatDB) MsgBox (" Material = " & sMatName & " (" & sMatDB & ")") End Sub /edit
[Diese Nachricht wurde von HaPe am 12. Feb. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 12. Feb. 2008 14:11 <-- editieren / zitieren --> Unities abgeben: Nur für HaPe
Hallo HaPe Bei mir funktioniert dein Makro für die aktuelle Konfiguration ohne Problem (SWX2007 SP5). Wieso es bei dir nicht tut... Anbei der umgeschriebene Code, der bei mir für alle Konfigurationen geht. Code: Sub main() Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim sMatName As String Dim sMatDB As String Dim vConfNameArr As Variant Dim bRet As Boolean Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc sMatDB = "" sMatName = "" vConfNameArr = swModel.GetConfigurationNames For i = 0 To UBound(vConfNameArr) bRet = swModel.SetMaterialPropertyName2(vConfNameArr(i), sMatDB, sMatName) Next i End Sub
Gruss Andreas
------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HaPe Mitglied Dipl. Ing Maschinenbau, Konstrukteur, CAD-Admin
Beiträge: 1096 Registriert: 27.11.2001 i7 CPU 960@3.20GHz 8GB Ram Quadro 2000 4GB 70GB Raid 0 WIN7 prof. SP1 64 bit SWX 2010 SP5.0 SWX 2012 SP5.0 SWX 2013 SP5.0
|
erstellt am: 12. Feb. 2008 14:22 <-- editieren / zitieren --> Unities abgeben:
Hallo Andreas, schön zu hören, das es bei Dir läuft. Ich habe es gerade nochmal mit Deinem Code versucht, es ist zum verzweifeln aber Solid läßt sich nicht dazu überreden das Material rauszuwerfen. Vielen Dank für Deine Hilfe. Gruß HaPe
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |