Команда "Расположение..."

From FreeCAD Documentation
Jump to navigation Jump to search
This page is a translated version of the page Std Placement and the translation is 47% complete.
Other languages:
Deutsch • ‎English • ‎français • ‎italiano • ‎polski • ‎română • ‎русский • ‎한국어

Std Placement.svg Расположение

Системное название
Std_Placement
Расположение в меню
Правка → Расположение...
Верстаки
Все
Быстрые клавиши
Нет
Представлено в версии
-
См. также
Выравнивание, Расположение

Описание

The Std Placement command displays the Placement task panel for a selected object.

Std Placement taskpanel.png

The Placement task panel

Применение

  1. Select a single object that has a ДанныеPlacement property in the property editor.
  2. Select the Edit → Placement... option from the menu.
  3. Change one or more of the translation and rotation parameters.
  4. Do one of the following:
    • Press the OK button to apply the changes and close the task panel.
    • Press the Apply button to apply the changes, but keep the task panel open for further changes.
  5. Press Esc or the Cancel button to abort the operation. This will undo any changes that have not been applied.

The dialog can also be launched by clicking on the ellipsis button ... that appears in the property editor when you click on the ДанныеPlacement property.

Примечания

  • For more information about the placement parameters see the Placement page, and the Aeroplane tutorial.

Scripting

Смотрите так же: Основы составления скриптов в FreeCAD.

See the Python scripting tutorial.

A placement is internally defined by a matrix; in many cases it is simpler to represent it by means of two components, a Base point (vector), and a Rotation value. The Rotation itself has different representations; it can be entirely defined by the value of a "quaternion" (xi + yj + zk + w), but it can also be described by a rotation Axis (unit vector) and a rotation Angle (radians).

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)

Move the base point of the object, then rotate the object 45 degrees around the X axis.

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