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