Std Placement/bg

Std Placement

Menu location
Редактиране → Разположение
Workbenches
All
Default shortcut
None
Introduced in version
-
See also
Std Alignment, Placement

Описание

Командата Разположение (Std Placement) показва панела Разположение в панел Задачи за избран обект.

Панелът Разположение в панел Задачи

Използване

  1. Изберете един обект, който има свойство ДанниPlacement.
  2. Изберете от менюто Редактиране → Разположение.
  3. Променете един или повече от параметрите на разположението и завъртането.
  4. Направете едно от следните неща:
    • Натиснете бутон Добре за да приложите промените и да затворите панела на задачите.
    • Натиснете бутон Прилагане за да приложите промените, но оставите панела на задачите отворен за по-нататъшни промени.
  5. Написнете клавиш Esc или бутон Отказ за прекратяване на операцията. Това ще отмени всички промени, които не са приложени.

Диалоговият прозорец може да бъде стартиран и като кликнете върху бутона многоточие … който се появява в Преглед на свойствата когато кликнете върху свойството ДанниPlacement.

Бележки

В скриптове

Вижте също: Autogenerated API documentation и FreeCAD Scripting Basics.

Вижте Python scripting tutorial.

Разположението е вътрешно дефинирано от матрица; в много случаи е по-лесно да се представи чрез две компоненти, точка Base (вектор) и стойност Rotation. Rotation има различни представяния; може да бъде изцяло дефинирана от стойността на "quaternion" (xi + yj + zk + w), но може да бъде описана и чрез ротация Axis (единичен вектор) и ротация {incode|Angle}

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)

Преместване на основната точка на обект, след което завъртане на обекта на 45 градуса около оста X.

Модулът math предоставя метод radians() за лесно преобразуване на традуси в радиани и трябва да бъде импортиран в началото.

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))

За да завъртите обекта на 90 градуса както около X-оста, така и около Z-оста, може да се използва obj.Placement.Rotation.setYawPitchRoll.

obj.Placement.Base = App.Vector(5, 3, 1)
obj.Placement.Rotation.Axis = App.Vector(1, 0, 0)
obj.Placement.Rotation.setYawPitchRoll(90, 0, 90)

print(obj.Placement)
# Placement [Pos=(5,3,1), Yaw-Pitch-Roll=(90,0,90)]