Witam wszystkich.
Chcąc stworzyć makro w celu zautomatyzowania tworzenia funkcji do przesuwania twarzy => na powierzchnię + następnie innej funkcji, napisałem następujący kod.
Jednak funkcja nie jest tworzona i naprawdę nie widzę dlaczego ani jak. Wybrałem moje początkowe i końcowe ściany z wymaganymi znakami, ale nic nie zostało utworzone.
Masz pomysł?
Dim swApp As Object
Dim swmodel As SldWorks.ModelDoc2
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim swFeatMgr As SldWorks.FeatureManager
Dim swFeat As SldWorks.Feature
Dim swMoveFaceFeat jako SldWorks.MoveFaceFeatureData
Sub main()
Ustaw swApp = Application.SldWorks
Ustaw swmodel = swApp.ActiveDoc
'Sprawdź, czy otwarty plik jest plikiem części
Jeśli swmodel. GetType <> swDocPART Następnie
MsgBox "Proszę otworzyć plik części", vbApplicationModal + vbOKOnly + vbCritical, "Wymagany plik części"
Wyjdź z subwoofera
Zakończ jeżeli:
Dim Selectmanager jako SelectionMgr
Ustaw Selectmanager = swmodel. Odzyskiwanie wyboru przez SelectionManager
SWMODEL. ClearSelection2 True ' Wyczyść zaznaczenie
' Pętla dla wyboru oczekującego
Dim bool1 As Boolean
Niedz. y
bool1 = Fałsz
Rób, dopóki wartość logiczna1 = Prawda
Jeśli Selectmanager.GetSelectedObjectType3(1, -1) = 2, to
bool1 = Prawda
Zakończ jeżeli:
Dla y = 1 do 50000
DoWydarzenia
Następny rok
Pętla
Dim coord jako wariant
Współrzędna = Selectmanager.GetSelectionPointInSketchSpace2(1, -1)
Przyciemnij x0 jako pojedynczy
Słońce y0 Jako pojedynczy
Dim z0 As Pojedynczy
x0 = Współrzędna(0)
y0 = Współrzędna(1)
z0 = współrzędny(2)
SWMODEL. ClearSelection2 (prawda)
Ustaw swModelDocExt = swmodel. Rozszerzenie
Ustaw swFeatMgr = swmodel. Menedżer operacji
SWMODEL. ClearSelection2 (prawda)
' Pętla dla wyboru oczekującego
bool1 = Fałsz
Rób, dopóki wartość logiczna1 = Prawda
Jeśli Selectmanager.GetSelectedObjectType3(1, -1) = 2, to
bool1 = Prawda
Zakończ jeżeli:
Dla y = 1 do 50000
DoWydarzenia
Następny rok
Pętla
Współrzędna = Selectmanager.GetSelectionPointInSketchSpace2(1, -1)
x1 = Współrzędna (0)
y1 = współrzędna(1)
z1 = współrzędny(2)
SWMODEL. ClearSelection2 (prawda)
bret = swmodel. Extension.SelectByID2("", "TWARZ", x0, y0, z0, Prawda, 1, Nic, 0)
bret = swmodel. Extension.SelectByID2("", "TWARZ", x1, y1, z1, Prawda, 8, Nic, 0)
Set swFeat = swFeatMgr.InsertMoveFace3(swMoveFaceTypeTranslate, False, 0, 0, Nothing, Nothing, swEndConditions_e.swEndCondUpToSurface, 0)
Koniec subwoofera
Z góry dziękuję
Szczęśliwy tata