| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| PLM TechnologieForum Hannover |
Autor
|
Thema: Makro: Set Dimension to (3022 mal gelesen)
|
currie Mitglied Betriebsmittelkonstrukteur
Beiträge: 83 Registriert: 10.03.2005 WIN10 / SWX2020
|
erstellt am: 09. Mrz. 2009 14:04 <-- editieren / zitieren --> Unities abgeben:
Hallo alle zusammen, Leider benötige ich unterstüzung von den VB Profis. Ich habe mir ein Makro aus dem Forum heruntergeladen aus einem Beitrag den ich leider nicht mehr finde. Ich möchte unsere Modelle vor dem Bearbeiten mit der CAM Software auf Toleranz Mitte ändern. Das Makro Funktioniert eigentlich perfekt, aber leider bekomme ich einen Fehler wenn die das Makro zweimal ausgeführt wird, weil die Konfiguration bereits vorhanden ist Mit meinen bescheidenen VB Kentniesen habe ich das Makro angepasst, in dem ich 3 Formulare hinzugefügt habe. Leider bekomme ich einen Fehler wenn die Konfiguration bereits vorhanden ist. Ich bekomme es einfach nicht hin das die bereits vorhandene Konfiguration erkannt und gelöscht wird oder eine Fehlermeldung kommt. Grüße Currie
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lutz Federbusch Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau
Beiträge: 3094 Registriert: 03.12.2001 alle SW seit 97+ AutoCAD2016-2022 ERP ProAlpha + CA-Link Intel Core i7-7820K 32GB Win10x64 Quadro K5000 SpacePilot
|
erstellt am: 09. Mrz. 2009 14:16 <-- editieren / zitieren --> Unities abgeben: Nur für currie
Lösche doch einfach auf Verdacht die Konfiguration mit dem Namen vorher mit DeleteConfiguration2... Oder Du prüfst vorher alle Konfigurationen auf ihre Namen (Config = ModelDoc.GetConfigurationNames ist das Array mit den Namen, mit UBound(Config) bekommst Du die Anzahl) und löschst nur dann die gewünschte (, die nicht aktiv sein sollte). ------------------ Lutz Federbusch Mein Gästebuch Der Mensch, Herr oder Sklave der Technik? [Diese Nachricht wurde von Lutz Federbusch am 09. Mrz. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
currie Mitglied Betriebsmittelkonstrukteur
Beiträge: 83 Registriert: 10.03.2005 WIN10 / SWX2020
|
erstellt am: 09. Mrz. 2009 15:22 <-- editieren / zitieren --> Unities abgeben:
Hallo Lutz das ist eine gute Idee aber Leider bin ich mit meinen VB Kentnissen hier schon am Ende. Ich habe mich zuvor bereits mit der API Hilfe einige Stunden rumgeschlagen, aber leider nichts zustande gebracht. Wäre super wenn ein Profi das mal in das Makro basteln würde, dann versteh ich eventuell das ganze ein wenig besser. Danke Currie Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Baumjäger Mitglied CAD/PDM Administrator
Beiträge: 339 Registriert: 21.06.2006 SW2017 - S5.0 AutoCAD Mechanical 2018 Win10 Intel Xeon E3-1240 V2 3,4GHz 16GB RAM NVIDIA Quadro 4000
|
erstellt am: 09. Mrz. 2009 16:03 <-- editieren / zitieren --> Unities abgeben: Nur für currie
Hi, Ganz spontan mal aufgenommen... Part.DeleteConfiguration "Standard". Das sollte dir doch eigetnlich weiterhelfen!? Für mehr habe ich im mom grad leider keine Zeit. viele Grüße Andy edit: so, doch noch kurz Zeit gefunden. So sollte es eigentlich gehen. Hab gleich noch ein paar Rechtschreibfehler rausgemacht, was sollen denn deine Auszubildenden denken (txt einfach wieder zu swp umbenennen) [Diese Nachricht wurde von Baumjäger am 09. Mrz. 2009 editiert.] [Diese Nachricht wurde von Baumjäger am 09. Mrz. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nahe Ehrenmitglied
Beiträge: 1747 Registriert: 18.01.2001 arbeite mit: Dell Precision 7750 i7 2,6 GHz 6 Kerne 32GB RAM 512GB SSD NVIDIA Quadro RTX 4000 ------------------------ SWX-2020 SP5.0 EPDM ---------------- Windows 10 ---------------- VB.net VB VBA ein wenig Swift am Mac
|
erstellt am: 09. Mrz. 2009 17:16 <-- editieren / zitieren --> Unities abgeben: Nur für currie
Hallo zusammen so einfach geht es glaub ich nicht, weil das mit "swModel.DeleteConfiguration ("" & swConf.Name & " - mid tolerance")" nur dann funktioniert wenn die Elternkonfiguration aktiv ist. Was ist aber wenn die "mid-tolerance" Konfiguration aktiv ist, oder eine andere Konfiguration? Noch als Anmerkung habt Ihr schon mal probiert was das Makro macht wenn eine symetrische Toleranz angegeben wurde? Bei mir setzt er z.B.: bei 100±10 das Maß dann auf 105
------------------ Grüße Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Baumjäger Mitglied CAD/PDM Administrator
Beiträge: 339 Registriert: 21.06.2006 SW2017 - S5.0 AutoCAD Mechanical 2018 Win10 Intel Xeon E3-1240 V2 3,4GHz 16GB RAM NVIDIA Quadro 4000
|
erstellt am: 09. Mrz. 2009 19:56 <-- editieren / zitieren --> Unities abgeben: Nur für currie
Hallo, Also letzteren Fehler habe ich (hoffentlich) korrigiert. Zu ersterem bin ich etwas ratlos. Du könntest natürlich alle Konfigurationen auslesen, und anzeigen damit der Benutzer den zu löschenden auswählt. Aber IMHO macht das nicht wirklich Sinn. Mal angenommen du hast zwei Konfigurationen, dann wählst du ja diejenige an von der die Tolmitte Konfig erzeugt werden soll. Genau diese wird dann vorher, falls vorhanden auch gelöscht um den Fehler zu vermeiden. Und falls von einer anderen Konfig auch noch eine Tolmitte-Konfig besteht bleibt diese ja völlig unberührt. Da kann ich jetzt irgendwie dein Problem nicht erkennen. (wo bleibt das am Kopf kratzen smiley??) viele Grüße Andy
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SLDW-FEM Mitglied Simulations-Ingenieur
Beiträge: 640 Registriert: 21.02.2005 Solidworks 2017+2019+20+22 SpaceClaim Windows 11 64bit HP-ZBook 32gbRAM NVIDIA
|
erstellt am: 09. Mrz. 2009 20:47 <-- editieren / zitieren --> Unities abgeben: Nur für currie
|
currie Mitglied Betriebsmittelkonstrukteur
Beiträge: 83 Registriert: 10.03.2005 WIN10 / SWX2020
|
erstellt am: 10. Mrz. 2009 09:14 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von nahe: Noch als Anmerkung habt Ihr schon mal probiert was das Makro macht wenn eine symetrische Toleranz angegeben wurde? Bei mir setzt er z.B.: bei 100±10 das Maß dann auf 105
Hallo Stimmt ich hab alle Toleranzen durchgespielt, bei Symetrisch wird der Wert nicht richtig ausgegeben immer in Plus 0.5* Toleranz. somit ist das ganze unbrauchbar für das CAM oder Laser Schneiden. Schade! Ausser man könnte die Symetrischen Toleranzen ignorieren Grüße Currie
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Baumjäger Mitglied CAD/PDM Administrator
Beiträge: 339 Registriert: 21.06.2006 SW2017 - S5.0 AutoCAD Mechanical 2018 Win10 Intel Xeon E3-1240 V2 3,4GHz 16GB RAM NVIDIA Quadro 4000
|
erstellt am: 10. Mrz. 2009 09:24 <-- editieren / zitieren --> Unities abgeben: Nur für currie
|
nahe Ehrenmitglied
Beiträge: 1747 Registriert: 18.01.2001 arbeite mit: Dell Precision 7750 i7 2,6 GHz 6 Kerne 32GB RAM 512GB SSD NVIDIA Quadro RTX 4000 ------------------------ SWX-2020 SP5.0 EPDM ---------------- Windows 10 ---------------- VB.net VB VBA ein wenig Swift am Mac
|
erstellt am: 11. Mrz. 2009 07:44 <-- editieren / zitieren --> Unities abgeben: Nur für currie
Hallo nochmals also zum Löschen der Konfiguration hätte ich mal folgenden Vorschlag '* Änderung zum Löschen der Konfiguration Dim swparConf As SldWorks.Configuration Dim children As Variant Dim i As Integer Set swparConf = swConf.GetParent '* wenn es sich um eine Kindkonfiguration handelt If Not (swparConf Is Nothing) Then '* wenn die Kindkonfiguration den selben Namen wie die Elternkonfiguration + " - mid tolerance" hat If swConf.Name = swparConf.Name & " - mid tolerance" Then swModel.ShowConfiguration2 swparConf.Name swModel.DeleteConfiguration ("" & swparConf.Name & " - mid tolerance") End If Else '* wenn es sich um eine Elternkonfiguration handelt Set swparConf = swConf '* Kindkonfiguration holen children = swparConf.GetChildren '* gibt es Kindkonfiguration If Not IsEmpty(children) Then For i = 0 To UBound(children) Set swConf = children(i) '* gibt es eine Kindkonfiguration mit dem Elternnamen + " - mid tolerance" If swparConf.Name + " - mid tolerance" = swConf.Name Then swModel.DeleteConfiguration ("" & swparConf.Name & " - mid tolerance") Exit For End If Next i End If End If ----------------------------------------------- das Ganze sollte vor der Zeile
Set swMidConf = swConfMgr.AddConfiguration( _ swparConf.Name & " - mid tolerance", _ "mid tolerance", _ "mid tolerance", _ 0, _ swparConf.Name, _ "mid tolerance"): Debug.Assert Not swMidConf Is Nothing eingefügt werden ------------------ Grüße Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Baumjäger Mitglied CAD/PDM Administrator
Beiträge: 339 Registriert: 21.06.2006 SW2017 - S5.0 AutoCAD Mechanical 2018 Win10 Intel Xeon E3-1240 V2 3,4GHz 16GB RAM NVIDIA Quadro 4000
|
erstellt am: 12. Mrz. 2009 14:42 <-- editieren / zitieren --> Unities abgeben: Nur für currie
Schön das du dir die Mühe gemacht hast Heinz. Trotzdem kann ich leider immer noch nicht nachvollzeihen wozu man das in diesem Makro braucht denn wenn ich eine "mid-toleranz" Konfig erstellen will wähle ich als erstes die Konfig an von der ich sie erstellen will. und von dieser wird dann die "" & Elternkonfig "-mid-tol"" Konfig gelöscht falls sie existiert. (Und das nur um eine Fehlermeldung zu vermeiden.) Es kann also auch gar keine Kindkonfiguration ausgewählt sein. Ausser ich habe vorher bereits eine Kindkonfig erstellt und möchte davon noch eine, was ja etwas unsinnig wäre. Lange rede kurzer Sinn: Vllt. steh ich da auch auf dem Schlauch aber ich kann bei der Sache kein Problem erkennen. viele Grüße Andy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nahe Ehrenmitglied
Beiträge: 1747 Registriert: 18.01.2001 arbeite mit: Dell Precision 7750 i7 2,6 GHz 6 Kerne 32GB RAM 512GB SSD NVIDIA Quadro RTX 4000 ------------------------ SWX-2020 SP5.0 EPDM ---------------- Windows 10 ---------------- VB.net VB VBA ein wenig Swift am Mac
|
erstellt am: 12. Mrz. 2009 20:35 <-- editieren / zitieren --> Unities abgeben: Nur für currie
Hallo Andy wahrscheinlich hast Du ja recht ich schreib zwar nur ab und zu ein Makro od. kleines VB Programm, aber bis jetzt habe ich festgestellt, was der "Programmierer" denkt od. erwartet und die Benutzer dann machen sind zwei Paar Schuhe ------------------ Grüße Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Baumjäger Mitglied CAD/PDM Administrator
Beiträge: 339 Registriert: 21.06.2006 SW2017 - S5.0 AutoCAD Mechanical 2018 Win10 Intel Xeon E3-1240 V2 3,4GHz 16GB RAM NVIDIA Quadro 4000
|
erstellt am: 13. Mrz. 2009 08:26 <-- editieren / zitieren --> Unities abgeben: Nur für currie
Hallo Heinz, Meinen Programmiererfahrung ist auch sehr gering, (dieses Makro habe ich zum allgergrößten Teil aus einem Beispiel der SW-API-Hilfe einfach kopiert.) und wahrscheinlich hast du auch recht dass man ja nie sagen kann was so ein Anwender denkt... Da sich Currie aber scheinbar sowieso nicht mehr für das Makro interessiert lasse ich das ganze mal so stehen wie es ist. Falls nötig kann ich (oder auch gerne jemand anders) das Makro ja irgendwann mal anpassen, perfekt ist es sicher so oder so noch nicht. schönen Freitag, Andy
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
currie Mitglied Betriebsmittelkonstrukteur
Beiträge: 83 Registriert: 10.03.2005 WIN10 / SWX2020
|
erstellt am: 13. Mrz. 2009 09:09 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Baumjäger:
Da sich Currie aber scheinbar sowieso nicht mehr für das Makro interessiert lasse ich das ganze mal so stehen wie es ist. Falls nötig kann ich (oder auch gerne jemand anders) das Makro ja irgendwann mal anpassen, perfekt ist es sicher so oder so noch nicht.
Hallo Baumjäger Das stimmt so nicht, ich Interniere mich sehr wohl für das Makro und verfolge, das ganze sehr aufmerksam. Aber ich kann was das Makro angeht nicht mitreden und bevor ich unqualifiziert dazwischen quatsche lese ich aufmerksam mit. Das Makro habt ihr ja hier zum laufen gebracht, und dass es die Konfigurationen nicht richtig löscht und erstellt wenn man nicht aufpasst ist O.K. Solange ich noch zurück paddeln kann ist das für mich so in Ordnung Noch mal vielen Dank an alle die mir geholfen haben. Currie
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Baumjäger Mitglied CAD/PDM Administrator
Beiträge: 339 Registriert: 21.06.2006 SW2017 - S5.0 AutoCAD Mechanical 2018 Win10 Intel Xeon E3-1240 V2 3,4GHz 16GB RAM NVIDIA Quadro 4000
|
erstellt am: 13. Mrz. 2009 09:53 <-- editieren / zitieren --> Unities abgeben: Nur für currie
Hallo Currie, Sorry, ich wollte dich nicht anfeinden oder so, war nur eine (falsche) Feststellung . Falls doch noch Probleme mit dem Makro auftauchen kannst du dich ja nochmal melden aber ich denke prinzipiell sollte es ja jetzt so funktionieren wie es ist. viele Grüße Andy edit: blöde Hektik, ich sollte mal ab und zu nachlesen was ich zusammengeschrieben habe... [Diese Nachricht wurde von Baumjäger am 13. Mrz. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
currie Mitglied Betriebsmittelkonstrukteur
Beiträge: 83 Registriert: 10.03.2005 WIN10 / SWX2020
|
erstellt am: 13. Mrz. 2009 09:59 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Baumjäger: Hallo Currie, Sorry, ich wollte idch nichtanfeinden oder so, war nur eine (falshe) Feststellung .viele Grüße Andy
Hallo Andy Ich hab „keine“ Anfeindung gesehen, der Eindruck kann ja entstehen wenn man nicht mit Beiträgen am Ball bleibt und nur mitliest. Nochmals Danke Currie
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WOr Mitglied Maschinenbautechniker/CAD-Admin
Beiträge: 42 Registriert: 02.10.2001
|
erstellt am: 05. Mai. 2011 09:50 <-- editieren / zitieren --> Unities abgeben: Nur für currie
Hallo Baumjäger, vielen Dank für die Bereitstellung des Makros. Weiss dass, das schon eine Weile her ist. Bekomme folgende Meldung (siehe Anhang). Hast du dafür eine Lösung? Danke schon mal vorab. ------------------ Grüsse aus Röttingen WOr Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WOr Mitglied Maschinenbautechniker/CAD-Admin
Beiträge: 42 Registriert: 02.10.2001 SWX2014 SP5.0 DBWorks R15 SP2.5 Keytech R13 ME10 11.65 ************** HP Z440 32GB RAM NVIDIA QUADRO M4000 WIN7-64-bit
|
erstellt am: 05. Mai. 2011 09:53 <-- editieren / zitieren --> Unities abgeben: Nur für currie
Hallo Baumjäger, vielen Dank für die Bereitstellung des Makros. Weiss dass, das schon eine Weile her ist. Bekomme folgende Meldung (siehe Anhang). Hast du dafür eine Lösung? Danke schon mal vorab. ------------------ Grüsse aus Röttingen WOr Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WOr Mitglied Maschinenbautechniker/CAD-Admin
Beiträge: 42 Registriert: 02.10.2001
|
erstellt am: 05. Mai. 2011 10:03 <-- editieren / zitieren --> Unities abgeben: Nur für currie
|
WOr Mitglied Maschinenbautechniker/CAD-Admin
Beiträge: 42 Registriert: 02.10.2001 SWX2014 SP5.0 DBWorks R15 SP2.5 Keytech R13 ME10 11.65 ************** HP Z440 32GB RAM NVIDIA QUADRO M4000 WIN7-64-bit
|
erstellt am: 05. Mai. 2011 10:39 <-- editieren / zitieren --> Unities abgeben: Nur für currie
Hallo zusammen, wir beschäftigen uns momentan auch mit dem Thema Toleranzmitte für die Fertigung. Habe jetzt das Makro getestet und bekomme folgende Fehlermeldung beim Start des Makros. (Habe versucht einen Screenshot als Anhang hochzuladen, mag nicht Fehler beim Kompilieren Projekt oder Bibliothek nicht gefunden. Markiert ist: lngRetval = Model.GetTyp Kann mir hier einer von euch helfen. Vielen Dank schon vorab. ------------------ Grüsse aus Röttingen WOr Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WOr Mitglied Maschinenbautechniker/CAD-Admin
Beiträge: 42 Registriert: 02.10.2001
|
erstellt am: 05. Mai. 2011 10:53 <-- editieren / zitieren --> Unities abgeben: Nur für currie
Hallo zusammen, wir beschäftigen uns momentan auch mit dem Thema Toleranzmitte für die Fertigung. Habe jetzt das Makro getestet und bekomme folgende Fehlermeldung beim Start des Makros. (Habe versucht einen Screenshot als Anhang hochzuladen, mag nicht Fehler beim Kompilieren Projekt oder Bibliothek nicht gefunden. Markiert ist: lngRetval = Model.GetTyp Kann mir hier einer von euch helfen. Vielen Dank schon vorab.
------------------ Grüsse aus Röttingen WOr Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |