| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Nahe an industriellen Realbedingungen, eine Pressemitteilung
|
Autor
|
Thema: API2006: Material ändern funktioniert nur für eine Konfiguration (1367 mal gelesen)
|
INKN Mitglied Consulant/Softwareentwickler
Beiträge: 277 Registriert: 22.08.2001
|
erstellt am: 18. Okt. 2005 14:44 <-- editieren / zitieren --> Unities abgeben:
Hallo, die Funktionen SetMaterialPropertyName und SetMaterialPropertyName2 ändern das SWX Material immer nur in der aktuellen Konfiguration, selbst eine abgeleitet Konfiguration bleibt wie sie ist. Auch in 2005 so, sehr tückich weil man die Option meistens nicht sieht weil sie so weit unten sind. Als Warnung anzusehen, Meldung bereits aufgegeben. ------------------ Gruß Ingo
[Diese Nachricht wurde von INKN am 18. Okt. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Müller Mitglied Masch. Ing. HTL / Betriebsing. STV
Beiträge: 1151 Registriert: 11.04.2001
|
erstellt am: 18. Okt. 2005 16:47 <-- editieren / zitieren --> Unities abgeben: Nur für INKN
Zitat: Original erstellt von INKN: ... Meldung bereits aufgegeben...
Wieso denn das?!? Gerade dass man nun jeder Konfig eine eigene Dichte (Material) zuordnen kann, war doch eine der markanten Verbesserungen in SWX2005. ------------------ Gruss Andreas A+E Müller AG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
INKN Mitglied Consulant/Softwareentwickler
Beiträge: 277 Registriert: 22.08.2001 SolidWorks 2015-2018 Lino 3D layout 2.2<P>Visual Studio 2017
|
erstellt am: 18. Okt. 2005 16:52 <-- editieren / zitieren --> Unities abgeben:
Hallo Andreas, aber normale Fall ist doch das alle Konfiguration das gleiche Material haben und das wird jetzt nicht mehr sauber gemacht, da immer nur eine Konfig geändert wird, man müßte jetzt alle Konfigs durchschalten und die gleiche Änderung des SWX MAterial machen. Ich habe schon einen trickreichen Workaround gefunden, ich sage nur SendKey! ------------------ Gruß Ingo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Müller Mitglied Masch. Ing. HTL / Betriebsing. STV
Beiträge: 1151 Registriert: 11.04.2001
|
erstellt am: 19. Okt. 2005 07:31 <-- editieren / zitieren --> Unities abgeben: Nur für INKN
Morgen Ingo. Ich meine, der richtige Weg wäre mit "GetConfigurationNames" erst mal alle Konfinamen zu holen und dann halt, wie Du selber schreibst, alle Konfigs durchzuschalten. Sind ja nur ca. 4 Zeilen mehr. Dim KonfigNames as Variant KonfigNames = Modeldoc.GetConfigurationNames for i = 0 to UBound(Konfignames) ModelDoc.SetMaterialPropertyName2 ( Konfignames(i), database, name) next i ...oder so ähnlich. ------------------ Gruss Andreas A+E Müller AG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
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: 19. Okt. 2005 09:31 <-- editieren / zitieren --> Unities abgeben: Nur für INKN
Hallo Ingo, hallo Andreas, das sehe ich genauso wie Andreas, ist für mich kein Fehler, sondern das geänderte Verhalten aufgrund der Funktionserweiterung in SolidWorks. Das verhält sich konform zum Userinterface, wenn du da ein Material auswählst wird das auch nur der aktuellen Konfiguration zugewiesen (wenn man die schnelle Zuweisung aus der DropDown-Liste macht). Die SetMaterialPropertyName ist als obsolet gekennzeichnet, und mit der neuen SetMaterialPropertyName2 kannst du ja wie Andreas beschrieben über alle Konfigs drüberlaufen, ohne diese aktivieren zu müssen (glaub ich jedenfalls, hab's nicht extra ausprobiert). Vielleicht wäre ein Komfortfunktion wünschenswert, bei den man praktisch die Schalter für "aktuelle", "alle", "ausgewählte Konfigurationen" nachbilden kann. Aber du hast natürlich Recht, die Warnung ist schon angebracht, damit wir anderen nicht auch noch einmal drauf reinfallen Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
INKN Mitglied Consulant/Softwareentwickler
Beiträge: 277 Registriert: 22.08.2001
|
erstellt am: 19. Okt. 2005 10:30 <-- editieren / zitieren --> Unities abgeben:
Hallo Jungs, mir ist schon klar das ich über alle Konfigs gehen kann, es ist halt sehr unschön wenn man diesen zusätzlichen Aufwand machen muß, es wäre so einfach gewesen, wenn config = "" dann Material allen configs zuweisen, oder die alte Funktion so lassen wie sie war. Inzwischen habe ich einen SPR für eine Verbesserung: SPR 286365 - Need new version of PartDoc::SetMaterialPropertyName that supports swInConfigurationOpts_e Ein weiteres Problem ist: SPR 281582 - PartDoc.SetMaterialPropertyName2 switches on texture, opening Edit Material PMP switches it off Mein Workaround ist mittels SendKey den Eigenschaftsmanager für das Material ändern zu öffnen und auf alle Konfigs umzuschalten und zu schließen. ------------------ Gruß Ingo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Müller Mitglied Masch. Ing. HTL / Betriebsing. STV
Beiträge: 1151 Registriert: 11.04.2001
|
erstellt am: 19. Okt. 2005 13:03 <-- editieren / zitieren --> Unities abgeben: Nur für INKN
Zitat: Original erstellt von INKN: ...wenn config = "" dann Material allen configs zuweisen...
Das wäre natürlich sehr nützlich und im grösseren API-Umfeld auch logisch. Heisst, so wird's auch bei anderen API-Funktionen gemacht.
------------------ Gruss Andreas A+E Müller AG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |