Std Placement/ru: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
 
(17 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>


{{Docnav
{{Docnav/ru
|[[Std_SendToPythonConsole|Std SendToPythonConsole]]
|[[Std_SendToPythonConsole/ru|Команда "Отправить в консоль Python"]]
|[[Std_TransformManip/ru|Команда "Преобразование"]]
|[[Std_Alignment|Std Alignment]]
|[[Std_Edit_Menu|Std Edit Menu]]
|[[Std_Edit_Menu/ru|Меню "Правка"]]
|IconL=Std_SendToPythonConsole.svg
|IconL=Std_SendToPythonConsole.svg
|IconR=
|IconR=Std_TransformManip.svg
|IconC=Freecad.svg
|IconC=Freecad.svg
}}
}}


{{GuiCommand/ru
<div class="mw-translate-fuzzy">
|Name/ru=Расположение
{{GuiCommand/ru|Name=Std Placement|Name/ru=Std Placement|MenuLocation=[[Std Edit Menu/ru|Правка]] → Размещение...‏‎||Workbenches=All|Shortcut=|SeeAlso=[[Tasks Placement/ru|Tasks Placement]], [[Placement/ru|Placement]]}}
|Name=Std_Placement
</div>
|MenuLocation=Правка → Расположение...
|Workbenches=Все
|SeeAlso=[[Std_Alignment/ru|Выравнивание]], [[Placement/ru|Расположение]]
}}


==Description==
<span id="Description"></span>
==Описание==


The '''Std Placement''' command displays the Placement [[Task_panel|task panel]] for a selected object.
The '''Std Placement''' command displays the Placement [[Task_panel|task panel]] for a selected object.


[[Image:PlacementDialogv10.png]]
[[Image:Std_Placement_taskpanel.png]]
{{Caption|The Placement task panel}}
{{Caption|The Placement task panel}}


==Usage==
<span id="Usage"></span>
==Применение==


# Select a single object. The object must have a {{PropertyData|Placement}} [[Property editor|property]].
# Select a single object that has a {{PropertyData|Placement}} property in the [[Property_editor|property editor]].
# Select the {{MenuCommand|Edit → Placement...}} option from the menu.
# Select the {{MenuCommand|Edit → Placement...}} option from the menu.
# Change one or more of the translation and rotation parameters.
# Change one or more of the translation and rotation parameters.
Line 29: Line 35:
#* Press the {{Button|OK}} button to apply the changes and close the task panel.
#* Press the {{Button|OK}} button to apply the changes and close the task panel.
#* Press the {{Button|Apply}} button to apply the changes, but keep the task panel open for further changes.
#* Press the {{Button|Apply}} button to apply the changes, but keep the task panel open for further changes.
# Press {{KEY|Esc}} or the {{Button|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 {{Button|...}} that appears in the [[Property_editor|property editor]] when you click on the {{PropertyData|Placement}} property.
==Options==


<span id="Notes"></span>
* Press {{KEY|Esc}} or the {{Button|Cancel}} button to abort the operation. This will undo any changes that have not been applied.
==Примечания==


* For more information about the placement parameters see the [[Placement|Placement]] page, and the [[Aeroplane|Aeroplane]] tutorial.
==Notes==
* The rotation angle can be set in degrees in the GUI but is stored in radians internally so that angles usually have to be converted when used in scripts.

* The Placement task panel is also displayed when you select an object, click in the {{PropertyData|Placement}} field in the [[Property_editor|Property editor]] or the [[Combo_view|Combo view]], and then press the {{Button|...}} button that appears.
* For more information about the placement parameters see the [[Tasks_Placement|Tasks Placement]] and [[Placement|Placement]] pages, and the [[Aeroplane|Aeroplane]] tutorial.


==Scripting==
==Scripting==


{{Emphasis|See also:}} [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]].
{{Emphasis|Смотрите так же:}} [[FreeCAD_Scripting_Basics/ru|Основы составления скриптов в FreeCAD]].

See the [[Python_scripting_tutorial#Vectors_and_placements|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 {{incode|Base}} point (vector), and a {{incode|Rotation}} value. The {{incode|Rotation}} itself has different representations; it can be entirely defined by the value of a "[https://en.wikipedia.org/wiki/Quaternion quaternion]" {{incode|(xi + yj + zk + w)}}, but it can also be described by a rotation {{incode|Axis}} (unit vector) and a rotation {{incode|Angle}} (radians).

{{Code|code=
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.

The math module supplies a method {{incode|radians()}} to easily convert degrees to radians and has to be imported at first.

{{Code|code=
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))
}}


See the [[Python_scripting_tutorial#Vectors_and_Placements|Python scripting tutorial]].


{{Docnav
{{Docnav/ru
|[[Std_SendToPythonConsole|Std SendToPythonConsole]]
|[[Std_SendToPythonConsole/ru|Команда "Отправить в консоль Python"]]
|[[Std_TransformManip/ru|Команда "Преобразование"]]
|[[Std_Alignment|Std Alignment]]
|[[Std_Edit_Menu|Std Edit Menu]]
|[[Std_Edit_Menu/ru|Меню "Правка"]]
|IconL=Std_SendToPythonConsole.svg
|IconL=Std_SendToPythonConsole.svg
|IconR=
|IconR=Std_TransformManip.svg
|IconC=Freecad.svg
|IconC=Freecad.svg
}}
}}
Line 56: Line 105:
{{Std Base navi{{#translation:}}}}
{{Std Base navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{clear}}

Latest revision as of 10:01, 20 September 2023

Other languages:

Расположение

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

Описание

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

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.
  • The rotation angle can be set in degrees in the GUI but is stored in radians internally so that angles usually have to be converted when used in scripts.

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.

The math module supplies a method radians() to easily convert degrees to radians and has to be imported at first.

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