De coördinaten van een punt extraheren

Hoi allemaal

Alsjeblieft, ik ben op zoek naar hoe ik de coördinaten van een punt  van een onderdeel in solidworks kan bepalen met behulp van VB.NET.

Bij voorbaat dank.


oo.png

Hallo

Ik weet niet hoe ik het moet doen, maar het wordt onderaan het scherm weergegeven als je erop klikt. Een klik zoals het starten van de macro.


coordonnees_dun_point.jpg
2 likes

Hallo

Kunt u het doel specificeren? wil je de X, Y en Z waarden van het betreffende punt nemen of wil je dit punt in X, Y en Z positioneren?

Vriendelijke groeten

1 like

Goedenavond en bedankt voor uw antwoorden, ik probeer de X-, Y- en Z-waarden van een punt in een SW-kamer te bepalen met behulp van VB.NET.

Hallo, maar hoe dan ook, je selecteert het gewenste punt!? En je zou zijn coördinaten in een excel willen exporteren, dat is alles????

Vriendelijke groeten

Hallo

Met deze macro kunt u de X-, Y- en Z-coördinaten van een geselecteerd punt weergeven.

Dim swApp As SldWorks.SldWorks
Sub main()

Set swApp = Application.SldWorks
Dim swModel As ModelDoc2
Set swModel = swApp.ActiveDoc
Dim mgr As SelectionMgr
Set mgr = swModel.SelectionManager
Dim Coordinates() As Double
Coordinates = mgr.GetSelectionPoint2(1, 0)
MsgBox (Coordinates(0) * 1000 & "," & Coordinates(1) * 1000 & "," & Coordinates(2) * 1000)
End Sub

 

De geselecteerde coördinaten zijn in meters, ik heb ze vermenigvuldigd met 1000 om ze in mm weer te geven.

3 likes

Hallo, ja, het is bijna deze macro, maar ik ben op zoek naar het punt dat moet worden bepaald met de vb.net ook.

  Ik probeerde te zetten

boolstatus = swDocExt.SelectByID2("nom_du_point@nom_de_la_piece@nom_d_assemblage", "EXTSKETCHPOINT", 0, 0, 0, Waar, 1, Niets, 0)

voor 

Dim Coordinates() As Double

Maar ik kreeg dit antwoord:

De objectverwijzing is niet ingesteld op een instantie van een object.

 

 

Hallo

Probeer het volgende:

Dim swApp As SldWorks.SldWorks

Sub main()
    Set swApp = Application.SldWorks
    Dim Part As ModelDoc2
    Set Part = swApp.ActiveDoc
    Dim swSelMgr As SelectionMgr
    Set swSelMgr = Part.SelectionManager
    boolstatus = Part.Extension.SelectByID2("Point1@Esquisse3D1", "EXTSKETCHPOINT", 0, 0, 0, False, 0, Nothing, 0)
    Dim skPoint As SketchPoint
    Set skPoint = swSelMgr.GetSelectedObject6(1, -1)
    MsgBox (skPoint.X * 1000 & " - " & skPoint.Y * 1000 & " - " & skPoint.Z * 1000)
End Sub

door "Point1@Esquisse3D1" te vervangen door de naam van uw punt ("nom_du_point@nom_de_la_piece@nom_d_assemblage").

Vriendelijke groeten

3 likes

Hartelijk dank voor uw hulp.