Wyodrębnianie współrzędnych punktu

Cze wszystkim

Proszę, szukam sposobu na wyznaczenie współrzędnych punktu  części w solidworks za pomocą VB.NET.

Z góry dziękuję.


oo.png

Witam

Nie wiem, jak to zrobić, ale jest wyświetlany u dołu ekranu, jeśli na niego klikniesz. Kliknięcie, takie jak uruchomienie makra.


coordonnees_dun_point.jpg
2 polubienia

Witam

Czy może Pan/Pani określić cel? czy chcesz wziąć wartości X, Y i Z danego punktu, czy też chcesz umieścić ten punkt w X, Y i Z?

Pozdrowienia

1 polubienie

Dobry wieczór i dziękuję za odpowiedzi, próbuję określić wartości X, Y i Z punktu w pomieszczeniu SW za pomocą VB.NET.

Witam, ale i tak wybierzesz żądany punkt!? A ty chciałbyś wyeksportować jego współrzędne w excelu to wszystko????

Pozdrowienia

Witam

To makro umożliwia wyświetlenie współrzędnych X, Y i Z wybranego punktu.

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

 

Wybrane współrzędne są w metrach, pomnożyłem je przez 1000, aby wyświetlić je w mm.

3 polubienia

Witam, tak, to prawie to makro, ale chcę też wybrać punkt, który ma zostać określony za pomocą vb.net.

  Próbowałem umieścić

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

przed 

Dim Coordinates() As Double

Ale dostałem taką odpowiedź:

Odwołanie do obiektu nie jest ustawione na instancję obiektu.

 

 

Witam

Spróbuj wykonać następujące czynności:

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

zastępując "Point1@Esquisse3D1" nazwą swojego punktu ("nom_du_point@nom_de_la_piece@nom_d_assemblage").

Pozdrowienia

3 polubienia

Bardzo dziękuję za pomoc.