Hallo allemaal.
Omdat ik een macro wilde maken om het maken van een functie te automatiseren om het gezicht = > naar het oppervlak te verplaatsen + vervolgens een andere functie, schreef ik de volgende code.
De functie is echter niet gemaakt en ik zie echt niet het waarom of hoe. Ik heb mijn begin- en eindvlakken met de vereiste markeringen geselecteerd, maar er wordt niets gemaakt.
Heb je een idee??
Dim swApp als object
Dim swmodel als SldWorks.ModelDoc2
Dim swModelDocExt als SldWorks.ModelDocExtension
Dim swFeatMgr als SldWorks.FeatureManager
Dim swFeat als SldWorks.Feature
Dim swMoveFaceFeat als SldWorks.MoveFaceFeatureData
Sub hoofd()
Stel swApp = Toepassing.SldWorks in
Stel swmodel = swApp.ActiveDoc in
'Controleer of het geopende bestand een deelbestand is
Als swmodel. GetType <> swDocPART dan
MsgBox "Open a.u.b. een onderdeelbestand", vbApplicationModal + vbOKOnly + vbCritical, "Deelbestand vereist"
Sub afsluiten
Einde als
Dim Selectmanager als SelectionMgr
Stel Selectmanager = swmodel in. Selectie herstellen door SelectionManager
swmodel. ClearSelection2 True ' Clear Selection
' Lus voor wachtende selectie
Dim bool1 als booleaanse
Zon y
bool1 = Onwaar
Doen tot bool1 = Waar
Als Selectmanager.GetSelectedObjectType3(1, -1) = 2 dan
bool1 = Waar
Einde als
Voor y = 1 tot 50000
Doe-evenementen
Volgende y
Strik
Dim coördinaat als variant
Coördinaat = Selectmanager.GetSelectionPointInSketchSpace2(1, -1)
Dim x0 als single
Zon y0 Als single
Dim z0 als single
x0 = Coördinaat(0)
y0 = Coördinaat(1)
z0 = Coördinaat(2)
swmodel. ClearSelection2 (waar)
Stel swModelDocExt = swmodel in. Extensie
Stel swFeatMgr = swmodel in. Functiebeheer
swmodel. ClearSelection2 (waar)
' Lus voor wachtende selectie
bool1 = Onwaar
Doen tot bool1 = Waar
Als Selectmanager.GetSelectedObjectType3(1, -1) = 2 dan
bool1 = Waar
Einde als
Voor y = 1 tot 50000
Doe-evenementen
Volgende y
Strik
Coördinaat = Selectmanager.GetSelectionPointInSketchSpace2(1, -1)
x1 = Coördinaat(0)
y1 = Coördinaat(1)
z1 = Coördinaat(2)
swmodel. ClearSelection2 (waar)
bret = swmodel. Extension.SelectByID2("", "FACE", x0, y0, z0, True, 1, Nothing, 0)
bret = swmodel. Extension.SelectByID2("", "FACE", x1, y1, z1, True, 8, Nothing, 0)
Stel swFeat in = swFeatMgr.InsertMoveFace3(swMoveFaceTypeTranslate, Onwaar, 0, Niets, Niets, swEndConditions_e.swEndCondUpToSurface, 0)
Einde Sub
Bij voorbaat dank
Blije papa