Witam
Próbuję stworzyć makro, które pobiera wartość czujnika i określoną właściwość (zwaną formatowaniem) każdej konfiguracji i otwiera formularz użytkownika zawierający tablicę 2-kolumnową.
Formatowanie | Czujnik
Czy możesz mi pomóc?
Dziękuję
Witam
Próbuję stworzyć makro, które pobiera wartość czujnika i określoną właściwość (zwaną formatowaniem) każdej konfiguracji i otwiera formularz użytkownika zawierający tablicę 2-kolumnową.
Formatowanie | Czujnik
Czy możesz mi pomóc?
Dziękuję
Witam
W przypadku czujników zapoznaj się z tym przykładem, który umożliwia pobranie wartości czujnika.
https://help.solidworks.com/2020/English/api/sldworksapi/Get_and_Set_Sensor_Example_VB.htm?verRedirect=1
Aby wyświetlić listę konfiguracji, 2 przykłady:
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
W takim razie mam wątpliwości, że dziś wieczorem może być bardziej wykonalne w formie użytkownika lub w najgorszym przypadku eksport do Excela.
Witam
Dziękuję, patrzę na to i tak, rzeczywiście szukam możliwości otwarcia go w formularzu użytkowym, a nie w polu msg
Jeszcze raz dziękuję za przykłady
Edit: kod do czujników niestety nie działa
Właśnie przetestowałem to dla mnie, działa, potrzebujesz otwartego pokoju. I czujnik już utworzony i wybrany przed uruchomieniem.
Ach!
Czy ktoś ma rozwiązanie, aby uniknąć konieczności wyboru czujnika?
Spojrzałem trochę w bok, ale niestety utknąłem.
Dziękuję
Oto 1. link z kodem do wyszczególnienia wszystkich czujników, działa częściowo, ale może dać dobry lead:
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
Tu też jest link z kodem w C++, będziesz musiał zrobić tłumaczenie w vba, ale zasada jest tam:
https://r1132100503382-eu1-3dswym.3dexperience.3ds.com/#community:yUw32GbYTEqKdgY7-jbZPg/iquestion:jpK7Vvu2QlugstMincAFoQ