Extraire les coordonnées d'un point

Bonjour à tous,

s'il vous plait, je suis entrain de chercher comment peut on déterminer les coordonnées d'un point  d'une pièce dans solidworks en utilisiant VB.NET.

Merci d'avance.


oo.png

Bonjour,

Je ne sais pas comment faire mais c'est affichés en bas de l'écran si vous cliquez dessus. Un clic comme pour lancer la macro.


coordonnees_dun_point.jpg
2 « J'aime »

Bonjour,

Peux-tu préciser le but recherché stp ? tu veux relever les valeurs X, Y et Z du point en question ou tu veux positionner ce point en X, Y et Z ?

Cordialement,

1 « J'aime »

Bonsoir et merci pour vos réponses, je cherche à déterminer les valeurs X, Y et Z d'un point d'une pièce de SW en utilisant VB.NET.

Bonjour, mais de toute manière vous allez bien séléctionner le point désiré!? et vous voudriez exporté ses coordonnées dans un excel c'est celà????

Cordialement

Bonjour,

Cette macro permet d'afficher les coordonnées X,Y et Z d'un point sélectionné.

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

 

Les coordonnées sélectionnées sont en mètres, j'ai multiplié par 1000 pour les afficher en mm.

3 « J'aime »

Bonjour, oui c'est presque ce macro, mais je cherche à sélectionner le point à déterminer avec le vb.net aussi.

j'ai  essayé de mettre

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

avant 

Dim Coordinates() As Double

mais, j'ai eu cette réponse :

La référence d'objet n'est pas définie à une instance d'un objet.

 

 

Bonjour,

Essaye ce qui suit :

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

en remplaçant "Point1@Esquisse3D1" par le nom de ton point ("nom_du_point@nom_de_la_piece@nom_d_assemblage").

Cordialement,

3 « J'aime »

merci beaucoup pour vos aides.