Makro zum Starten und Validieren der Smartproperties

Hallo

Ich möchte ein Makro erstellen, um die axemble smartproperties zu starten und zu validieren, um einige Eigenschaften aktualisieren zu können, die nur von den smartproperties gesteuert werden.

Das Problem ist, dass ich den VBA nicht kenne und dass der Makrorecorder für dieses Makro, das ziemlich einfach zu sein scheint, nicht zu funktionieren scheint.

Ziel ist es, dieses Makro dann zu integrieren, um es zu einem Feature-Makro zu machen, das die Eigenschaften des Teils bei jeder Änderung aktualisiert.

Egal wie viel ich bei Google und anderen schaue, ich muss nicht die richtigen Suchbegriffe eingeben, um ein Makro aus einem SW-Makro zu starten...

Hallo

Wie möchten Sie dieses Makro starten? Mit einem Knopf? Eine Tastenkombination? Beim Öffnen einer Datei?

 

Jedes Mal, wenn die Datei geändert wird, da wir die Bezeichnung des Raumes abrufen, um unsere Bestellungen automatisch mit unserem ERP zu tätigen, und die Bandbreite sowie die Länge in der Bezeichnung aktualisiert werden müssen, und dies geschieht nur beim Start von smartproperties.

 

EDIT: Daher der Wunsch, dieses Makro in ein Feature-Makro zu integrieren

Für alle, die es nicht mögen

http://www.lynkoa.com/tutos/r%C3%A9alisation-dune-macro-fonction-dans-solidworks#

 

Ich denke, Ihre Rettung liegt in der Verwendung des Axemble CustomToolBar-Dienstprogramms, vielleicht in Verbindung mit LocalHelp.

Interessante Informationen finden Sie hier:

http://www.lynkoa.com/forum/solidworks/solidworks-2014-mycadtools-localhelp-l-ouverture

Im Anhang befindet sich die Hilfe von CulstomToolBar.


customtoolbar_fr.chm

Und die Hilfe von LocalHelp


localhelp_fr.chm

Das Problem ist, dass nur 1 von 500 Münzen dieses Makro hat, sodass ich es nicht über die benutzerdefinierte Symbolleiste / lokale Hilfe ausführen kann

Ich sehe eine Makrofunktion, aber dafür müsste ich ein Makro erstellen, das ein anderes Makro startet:SmartProperties 2014-Auto.swp und das sich nicht im selben Verzeichnis wie das erste Makro befindet

Beispiel für das aktuelle Verzeichnis von C:\Macro macros und smartproperties in C:\Smartproperties

Und das mit Run Macro sicherlich

Ah ok, also ein anderes Makro in einem anderen Verzeichnis aufzurufen, das sollte funktionieren:

http://help.solidworks.com/2010/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.ISldWorks~RunMacro2.html

 

Oh, aber ich habe gerade noch einmal gelesen, tatsächlich gibt es wahrscheinlich keine Notwendigkeit für SmartProperties.

Welche benutzerdefinierten Eigenschaften werden aktualisiert?

 

Nebenfrage:

Wie können wir sicher sein, dass die Person das Makro häufiger startet, als die Smartproperties bestätigen?

Ich hatte das Gleiche gefunden, nur RunMacro anstelle von RunMAcro2, ich probiere das aus und dann komme ich zurück, um das Ergebnis zu erzählen.

Wie kann ich sonst sicher sein, dass die Person das Makro startet, indem sie eine Makrofunktion ausführt, weil es zum 1. Mal manuell gestartet wird, wenn ich es richtig verstanden habe, und dann startet es sich bei jeder Änderung selbst, siehe Beispiel Makroschwerpunkt angehängt (aber der Code ist vom Autor gesperrt ->Axemble)

 

BEARBEITEN: Damit die Eigenschaften aktualisiert werden können, sind sie je nach Art des Teils vielfältig

1-) Länge und Breite eines Blechs für Blech

2-) Die Bandlänge wird je nach Art des Bandes berechnet

   - PVC = Lgbelt+4‰

   - Modular = Lgbelt+100mm

   - .....

3-) Bezeichnung, die manchmal einige der oben genannten Eigenschaften aufgreift


macro_-_centredegravite_2012-12-01.swp
1 „Gefällt mir“

Da Sie eine MyCAD-Wartung haben, fragen Sie sie direkt und geben Sie uns die Antwort hier, nachdem :)

Frage an die Wartung, danke you@.PL

Das Makro selbst funktioniert gut, es wird gestartet, fügt das Makro in den Raumbaum ein, startet die Smartproperties und validiert es. Wenn Sie dann die geringste Änderung an der Küste vornehmen, startet sie gut, auf der anderen Seite habe ich ein Problem, je nach verwendeter Methode, stürzt sie ab.

Wenn ich eine Dimension ändere und im Dialogfeld validiere und dann Strg+Q drücke oder neu erstellung, kein Problem.

Auf der anderen Seite, wenn ich die Dimension ändere und im Dialogfeld neu aufbaue, bevor ich validiere, stürzen die Smartproperties ab.

Wenn jemand eine Idee hat, dies zu umgehen, wird der Makrocode in der Textdatei angehängt (es ist unmöglich, ihn in die Antwort einzufügen, da die Antwort zu lang ist)

Für den Absturz hat die Wartung keine Ahnung, deshalb rufe ich die Community auf!

Hier ist die Antwort der Wartung:

"Das Problem muss sein, dass wir versuchen, ein AddIn zu starten, und Solidworks darf das nicht gefallen, während eine Makrofunktion ausgeführt wird."

 

Im Moment suche ich in den Smartproperties und versuche, eine Run-Eigenschaft mit der Option hinzuzufügen, auf das Ende der Anwendung zu warten oder mit Update-Eigenschaften.


smartproperties_auto.txt

Tut mir leid, wenn die Wartung keine Lösung gefunden hat, ich fürchte, es gibt keine!

Ich konnte nichts Besseres finden, ich schließe das Thema.

Ich konnte nichts Besseres finden, ich schließe das Thema.

Hallo;
Ich erlaube mir, dieses Thema auszugraben (7 Jahre jedenfalls)...
Es ist möglich, die Smartproperties aus einem anderen Makro heraus aufzurufen (optional mit dem Integrationswerkzeug nutzbar.
Gehen Sie im Installationsverzeichnis von Visiativ Tools wie folgt vor:
Suchen und Bearbeiten (mit dem Solidworks Makro-Editor) SmartProperties.swp
Suchen Sie nach der ToolbarID und der Nummer, die "Set swDCAddIn = swApp.GetAddInObject"{...}") zugeordnet ist.

Um dann die Smartproperties zu initialisieren und zu starten:

Sub main()
    Dim swApp                   As Object
    Dim swModel                 As Object
    Dim swDCAddIn               As Object
    Dim strDllFileName          As String
    Dim strExecutablePath       As String
    Dim strRegFileName          As String
    Dim lStatus                 As Long
    Dim retval                  As Long
    Dim ToolbarId               As Long
    
    
    On Error Resume Next
    
    ToolbarId = ***Le N° du ToolBarID***        'Attention, il faut recuperer le numero de la toolbar SmartProperties depuis la macro "Smarproperties_Auto.swp" la plus recente
   
   'On récupére l'application SW
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc

    If swModel Is Nothing Then
        MsgBox ("Pas de document actif")
        End
    Else 
Dim stPathMacro As String
        stPathMacro = swApp.GetCurrentMacroPathName
        strRegFileName = Replace(stPathMacro, "-Auto.swp", ".dll")
        strDllFileName = strRegFileName
               
        'on initialise l'Add-ins
        lStatus = swApp.LoadAddIn(strDllFileName)
        
        'on récupére l'Add-ins (Attention, il faut recuperer le numero de l'app SmartProperties depuis la macro "Smarproperties_Auto.swp" la plus recente)
        Set swDCAddIn = swApp.GetAddInObject("{***XXXXX-XXX-XXXX***}")
        
....
            'on lance SmartProperties
             swDCAddIn.OpenAndValidateSmartProperties

End If 

End Sub

Achtung: Die Nummern der ToolBarID und der AppSmar-Eigenschaften ändern sich mit jedem neuen Update der MyCad-Werkzeuge... (Und auch ihr Standort).

Herzliche Grüße.