poniedziałek, listopada 21, 2011

Makro w VSTA cz.III

Akurat w naszym przypadku nie zalecam korzystanie z funkcji „Zmierz”, jednak warto zapoznać się zarówno z możliwościami jak i ograniczeniami tej metody pomiaru. Sposób wykorzystania funkcji „Zmierz” przedstawia poniższy kod, który można wykorzystać alternatywnie do wcześniej opisanego.

Dim Measure As Measure

Measure = swDoc.Extension.CreateMeasure
Measure.ArcOption = 0 'Możliwe ustawienia: 0, 1, or 2

boolstatus = Measure.Calculate(Nothing)

If (boolstatus) Then

If (Not (Measure.Area = -1)) Then

MsgBox("Wartość zaznaczenia = " & Math.Round(Measure.Area * 1000000, 2) & " mm^2")

End If

If (Not (Measure.TotalArea = -1)) Then

MsgBox("Wartość zaznaczenia = " & Math.Round(Measure.TotalArea * 1000000, 2) & " mm^2")

End If

Else

MsgBox("Nieprawidłowa kombinacja wybranych elementów.")

End If

Wszystkie możliwości funkcji „Zmierz” w SolidWorks możemy wykorzystać bez ograniczeń w naszych makrach. I tak np. możemy mierzyć:

  • długość (Measure.Length),
  • średnicę (Measure.Diameter),
  • promień (Measure.Radius),
  • kąt (Measure.Angle)
  • współrzędne (Measure.X, Measure.Y, Measure.Z),
  • odległość między obiektami (Measure.Distance) i
  • inne (Measure.Perimeter, Measure.ArcLength, Measure.ChordLength, Measure.DeltaX, Measure.DeltaY, Measure.DeltaZ, Measure.CenterDistance, Measure.NormalDistance, Measure.TotalLength, Measure.TotalArea, Measure.IsParallel, Measure.IsIntersect, Measure.IsPerpendicular, Measure.Projection, Measure.Normal, Measure.SpericalCenterDistance, Measure.IsConcentricSpheres)

Możemy ustawić sposób pomiaru łuku/okręgu:

  • Środek do środka (Measure.ArcOption = 0)
  • Minimalna odległość (Measure.ArcOption = 1)
  • Maksymalna odległość (Measure.ArcOption = 0)

Możemy ustawić „Rzutowanie na”

  • Brak (Measure.ProjectionOption = 0)
  • Ekran (Measure.ProjectionOption = 1)
  • Wybierz ścianę/płaszczyznę (Measure.ProjectionOption = 2)

Copyright © ADKSolid. All rights reserved

Brak komentarzy:

Prześlij komentarz