S- oder NS-Zustand einer Funktion über ein Makro - VBA

Hallo ihr alle

Ich suche derzeit nach einer Möglichkeit, ein SolidWorks (VBA)-Makro zu verwenden, um eine Funktion des Erstellungsbaums in den gelöschten Zustand zu versetzen oder nicht (ich habe zuvor alle Namen der Dimension in meine Excel-Datei eingegeben).

Wenn jemand die Lösung hat, wäre es sehr nützlich für mich...

Herzliche Grüße

Stein

Hallo

Klicken Sie einfach mit der rechten Maustaste auf die Funktion und dann auf die Eigenschaften der Funktion und wählen Sie Löschen und wählen Sie entweder in dieser Konfiguration oder in allen Konfigurationen oder geben Sie die Konfiguration(en) an.... Das Ergebnis ist das gleiche, da viele Klicks und weniger lästig...

Hallo ac cobra 427,

Sie werden feststellen, dass ich "über ein Makro" angegeben habe, sodass Ihre Antwort für mich nicht wirklich nützlich ist, aber ich danke Ihnen trotzdem.

Tampis, es war in der Zwischenzeit eine alternative Lösung für Ihr Problem. Denn um das in VBA zu tun, wird es heiß...

 

Hallo

Der Makrorekorder funktioniert nicht?

Hallo!

Haben Sie schon darüber nachgedacht, einen Blick auf DriveWorksXpress zu werfen?

DriveWorksXpress ist ein kostenloses Tool, mit dem Sie Ihre Entwürfe automatisieren können. Eine der Funktionen ist die Möglichkeit, den Status (gelöscht oder nicht) einer oder mehrerer SolidWorks Funktionen zu ändern.

Aber wenn Sie sich mit dem Programmieren auskennen und dieser Aufgabe Zeit widmen möchten.

Ihr Makro sollte:

  • Rufen Sie den Wert einer Excel-Zeile ab. (Schleife)
  • Abrufen der Namen aller SolidWorks Funktionen in Ihrem Modell (Schleife)
  • Wenn es vorhanden ist, wählen Sie es aus.
  • Abrufen des zu steuernden Zustands aus derselben Excel-Zeile
  • Ändern des Status der Funktion

usw. usw.

Sie möchten auf jeden Fall einen Blick auf die SOLIDWORKS API werfen:

Zum Beispiel

  • Part.Extension.SelectByID2 (eine von mehreren Auswahlmethoden)
  • Part.EditSuppress2 (eine Möglichkeit, den Status der ausgewählten Funktion zu ändern).

Nachfolgend finden Sie den Link zu den SolidWorks Schnittstellen zur Dokumentation:

http://help.solidworks.com/2016/English/api/SWHelp_List.html?id=e016d4d94ffb4feb9865a83290877513#Pg0&ProductType=&ProductName=

Viel Glück!

2 „Gefällt mir“

Übrigens, ich habe gerade schnell nachgeschaut, die Idee von optiSW ist völlig gültig, alles, was ich gerade gesagt habe, ist in einem schnell aufgezeichneten Makro enthalten.

Tatsächlich denke ich, dass er gerne ein kleines "Dropdown"-Menü mit den gelöschten und ungelöschten im Erstellungsbaum hätte. Aber dafür solltet ihr lieber darauf achten, ein Addon zu entwickeln oder ob es existiert ....

Hallo thomas.guillard,

Ich habe endlich die Lösung gefunden, und sie ist die gleiche, die Sie mir vorgeschlagen haben.

Ich habe ein kleines Makro erstellt, das in meinem Excel nach dem Namen der Küste sucht und ihn dann im 3D-Teil auswählt, um seinen Zustand zu ändern.

                    name = Zellen(2, i). Wert
                    Suchzeichenfolge = Name
                    SearchChar="@"
                    mypos = InStr(1, Suchzeichenfolge, Suchzeichen, 1)
                    nom_cote = Right(Searchstring, Len(name) - Mypos) 'zählt die Anzahl der Zeichen und subtrahiert das Mypos davon
                        Set Part = swApp.ActiveDoc
                    boolstatus = Part.Extension.SelectByID2(nom_cote, "BODYFEATURE", 0, 0, 0, Falsch, 0, Nichts, 0)
                            Teil.BearbeitenUnterdrücken2

 

Vielen Dank an alle für Ihre Hilfe,

Wenn thomas.guillard Ihnen die Antwort gegeben oder Sie stark angewiesen hätte, hätte er als die beste Antwort validiert werden müssen...

Ich habe es als die beste Antwort identifiziert, keine Sorge.

Auch wenn ich die Lösung schließlich selbst gefunden hätte und nachdem ich sie gefunden hatte, sah ich seine Antwort, die dem Anfang meiner Lösung entsprach.

Auf jeden Fall vielen Dank an alle,

1 „Gefällt mir“