Makrowertwiederherstellung eines Sensors aus den verschiedenen Konfigurationen

Hallo

Ich versuche, ein Makro zu erstellen, das den Wert eines Sensors und eine bestimmte Eigenschaft (Formatierung genannt) jeder Konfiguration abruft und ein Benutzerformular öffnet, das ein 2-spaltiges Array enthält.

Formatierung |   Sensor

 

Können Sie mir bitte helfen?

Vielen Dank

Hallo

Sehen Sie sich für Sensoren dieses Beispiel an, mit dem Sie den Wert eines Sensors abrufen können.

https://help.solidworks.com/2020/English/api/sldworksapi/Get_and_Set_Sensor_Example_VB.htm?verRedirect=1

Um die Konfigurationen aufzulisten, 2 Beispiele:

http://help.solidworks.com/2020/English/api/sldworksapi/Get_List_Of_Configurations_Example_VB.htm?verRedirect=1

http://help.solidworks.com/2017/English/api/sldworksapi/Change_Configuration_Properties_Example_VB.htm

Dann habe ich Zweifel, dass heute Abend in einem Benutzerformular oder im schlimmsten Fall ein Export nach Excel machbarer sein kann.

Hallo

Danke, ich schaue mir das an und ja, ich möchte es in einer Gebrauchsform und nicht in einer Nachrichtenbox öffnen

Nochmals vielen Dank für die Beispiele

Edit: der Code für die Sensoren funktioniert leider nicht

Ich habe es gerade für mich getestet, es funktioniert, man braucht einen offenen Raum. Und ein Sensor, der bereits vor dem Start erstellt und ausgewählt wurde.

Ah! 

Hat jemand eine Lösung, um die Auswahl des Sensors zu vermeiden?

Ich habe ein wenig auf die Seite geschaut, aber leider bleibe ich stecken.

Vielen Dank

Hier ist ein 1. Link mit Code, um alle Sensoren aufzulisten, es funktioniert teilweise, aber es kann einen guten Vorsprung geben:

https://www.eng-tips.com/viewthread.cfm?qid=468348

'https://www.eng-tips.com/viewthread.cfm?qid=468348
Option Explicit
Sub main()
    Dim swApp As SldWorks.SldWorks
    Dim swPart As SldWorks.PartDoc
    Dim swModel As SldWorks.ModelDoc2
    Dim swFeat As SldWorks.Feature
    Dim swSubFeat As SldWorks.Feature
    Dim swSensor As SldWorks.Sensor
    Dim swDimSensor As SldWorks.DimensionSensorData
    Dim sensorValue As Double
    Dim text As String

    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swFeat = swModel.FirstFeature

    Do While Not swFeat Is Nothing
    Debug.Print "swFeat.Name" & swFeat.Name
        If (swFeat.Name = "Capteurs") Then
            Set swSubFeat = swFeat.GetFirstSubFeature
            Do While Not swSubFeat Is Nothing
                Set swSensor = swSubFeat.GetSpecificFeature2
                'Mis en commentaire car ne fonctionne pas
                'swDimSensor = swSubFeat.GetSensorFeatureData
                'sensorValue = swDimSensor.sensorValue

                Debug.Print swSensor.Name & ": " & sensorValue
                Set swSubFeat = swSubFeat.GetNextSubFeature
            Loop
        End If
        Set swFeat = swFeat.GetNextFeature
    Loop
    MsgBox (text)
End Sub

Hier ist auch ein Link mit Code in C++, Sie müssen die Übersetzung in vba durchführen, aber das Prinzip ist da:

https://r1132100503382-eu1-3dswym.3dexperience.3ds.com/#community:yUw32GbYTEqKdgY7-jbZPg/iquestion:jpK7Vvu2QlugstMincAFoQ