Std: Umiejscowienie |
Lokalizacja w menu |
---|
Edycja → Umiejscowienie ... |
Środowisko pracy |
wszystkie |
Domyślny skrót |
brak |
Wprowadzono w wersji |
- |
Zobacz także |
Wyrównanie, Umiejscowienie |
Polecenie Std: Umiejscowienie wyświetla panel zadań Umiejscowienia dla wybranego obiektu.
Panel zadań funkcji umiejscowienie
Okno dialogowe można również uruchomić, klikając przycisk z elipsą ..., który pojawia się w edytorze właściwości po kliknięciu właściwości DANEUmiejscowienie.
Zobacz również stronę: Dokumentacja API generowana automatycznie oraz Podstawy pisania skryptów dla FreeCAD.
Zobacz również stronę Tworzenie skryptów Python.
Umiejscowienie jest wewnętrznie zdefiniowane przez macierz. W wielu przypadkach prościej jest przedstawić je za pomocą dwóch składników, punktu (wektora) Baza
i wartości Obrót
. Sam Obrót
ma różne reprezentacje. Może być całkowicie zdefiniowany przez wartość "quaternion" (xi + yj + zk + w)
, ale może być również opisana przez rotację Oś
(wektor jednostkowy) oraz rotację Kąt
(radiany).
import FreeCAD as App
doc = App.newDocument()
obj = doc.addObject("Part::Cylinder", "Cylinder")
print(obj.Placement)
# Placement [Pos=(0,0,0), Yaw-Pitch-Roll=(0,0,0)]
print(obj.Placement.Base)
# Vector (0.0, 0.0, 0.0)
print(obj.Placement.Rotation)
# Rotation (0.0, 0.0, 0.0, 1.0)
print(obj.Placement.Rotation.Angle)
# 0.0
print(obj.Placement.Rotation.Axis)
# Vector (0.0, 0.0, 1.0)
print(obj.Placement.Rotation.Q)
# (0.0, 0.0, 0.0, 1.0)
Przesuń punkt bazowy obiektu, a następnie obróć obiekt o 45° wokół osi X.
Moduł matematyczny dostarcza metodę radians()
do łatwej konwersji stopni na radiany i musi zostać zaimportowany na początku.
import math
obj.Placement.Base = App.Vector(5, 3, 1)
obj.Placement.Rotation.Axis = App.Vector(1, 0, 0)
obj.Placement.Rotation.Angle = math.radians(45)
print(obj.Placement)
# Placement [Pos=(5,3,1), Yaw-Pitch-Roll=(0,0,45)]
print(obj.Placement.Rotation.Q)
# (0.3826834323650898, 0.0, 0.0, 0.9238795325112867)
print(obj.Placement.Matrix)
# Matrix ((1,0,0,5),(0,0.707107,-0.707107,3),(0,0.707107,0.707107,1),(0,0,0,1))