Std Part/ru: Difference between revisions
(Updating to match new version of source page) |
(Updating to match new version of source page) |
||
(23 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
<languages/> |
||
<div class="mw-translate-fuzzy"> |
|||
{{Docnav/ru |
{{Docnav/ru |
||
| |
| |
||
|[[Std_Group/ru| |
|[[Std_Group/ru|Создать группу]] |
||
|[[Std_Base/ru| |
|[[Std_Base/ru|Стандартные команды и инструменты]] |
||
|IconL= |
|IconL= |
||
|IconR=Std_Group.svg |
|IconR=Std_Group.svg |
||
|IconC=Freecad.svg |
|IconC=Freecad.svg |
||
}} |
}} |
||
</div> |
|||
{{GuiCommand |
{{GuiCommand/ru |
||
|Name/ru=Создать деталь |
|||
|Name=Std Part |
|||
|Name=Std_Part |
|||
|MenuLocation=None |
|MenuLocation=None |
||
|Workbenches= |
|Workbenches=Все |
||
|Version=0.17 |
|Version=0.17 |
||
|SeeAlso=[[Std_Group| |
|SeeAlso=[[Std_Group/ru|Создать группу]], [[PartDesign_Body/ru|Создать тело]] |
||
}} |
}} |
||
<span id="Description"></span> |
|||
==Описание== |
==Описание== |
||
Line 29: | Line 30: | ||
Do not confuse the {{Button|[[File:PartDesign_Body.svg|16px]] [[PartDesign_Body|PartDesign Body]]}} with the {{Button|[[File:Std_Part.svg|16px]] [[Std_Part|Std Part]]}}. The first one is a specific object used in the [[File:Workbench_PartDesign.svg|24px]] [[PartDesign_Workbench|PartDesign Workbench]], intended to model a [[PartDesign_Body#Single_contiguous_solid|single contiguous solid]] by means of [[PartDesign_Feature|PartDesign Features]]. On the other hand, the [[Std_Part|Std Part]] is not used for modelling, just to arrange different objects in space, with the intention to create [[assembly|assemblies]]. |
Do not confuse the {{Button|[[File:PartDesign_Body.svg|16px]] [[PartDesign_Body|PartDesign Body]]}} with the {{Button|[[File:Std_Part.svg|16px]] [[Std_Part|Std Part]]}}. The first one is a specific object used in the [[File:Workbench_PartDesign.svg|24px]] [[PartDesign_Workbench|PartDesign Workbench]], intended to model a [[PartDesign_Body#Single_contiguous_solid|single contiguous solid]] by means of [[PartDesign_Feature|PartDesign Features]]. On the other hand, the [[Std_Part|Std Part]] is not used for modelling, just to arrange different objects in space, with the intention to create [[assembly|assemblies]]. |
||
The {{Button|[[File:Std_Part.svg|16px]] [[Std_Part|Std Part]]}} tool is not defined by a particular workbench, but by the base system, thus it is found in the {{MenuCommand|structure toolbar}} that is available in all [[Workbenches|workbenches]]. To group objects arbitrarily without considering their position, use {{Button|[[File:Std_Group.svg|16px]] [[Std_Group|Std Group]]}}; this object does not affect the placements of the elements that it contains, it is essentially just a folder that is used to keep the [[ |
The {{Button|[[File:Std_Part.svg|16px]] [[Std_Part|Std Part]]}} tool is not defined by a particular workbench, but by the base system, thus it is found in the {{MenuCommand|structure toolbar}} that is available in all [[Workbenches|workbenches]]. To group objects arbitrarily without considering their position, use {{Button|[[File:Std_Group.svg|16px]] [[Std_Group|Std Group]]}}; this object does not affect the placements of the elements that it contains, it is essentially just a folder that is used to keep the [[Tree_view|Tree view]] organized. |
||
[[File:Std Part-tree.png]][[File:Std Part example.png]] |
[[File:Std Part-tree.png]][[File:Std Part example.png]] |
||
{{Caption|Left: elements inside a Std Part in the [[ |
{{Caption|Left: elements inside a Std Part in the [[Tree_view|Tree view]]. Right: objects positioned in space, referred to the Origin of the Std Part.}} |
||
<span id="Usage"></span> |
|||
==Использование== |
|||
==Применение== |
|||
# Press the {{Button|[[File:Std_Part.svg|16px]] [[Std_Part| |
# Press the {{Button|[[File:Std_Part.svg|16px]] [[Std_Part|Create part]]}} button. |
||
# An empty Part is created and automatically becomes ''[[Std_Part#Active_status|active]]''. |
|||
# To add objects to a Part, select them in [[tree_view|tree view]], and then drag and drop them over the Part. |
|||
# To |
# To add objects to the Part, select them in [[Tree_view|Tree view]], and drag and drop them onto the Part. |
||
# To remove objects from the Part, drag them out of the Part, and onto the document label at the top of the [[Tree_view|Tree view]]. |
|||
# Objects can also be added and removed by editing the {{PropertyData|Group}} property of the Part. |
|||
<span id="Notes"></span> |
|||
=== Примечания === |
|||
== Примечания == |
|||
* |
* An object can only belong to a single Part. |
||
* 3D operations like [[Part_Boolean|Part Boolean]] cannot be applied to Parts. For example, you cannot select two Parts, and perform a [[Part_Fuse|Part Fuse]] or [[Part_Cut|Part Cut]]. |
|||
* Double-click the Part in the [[tree view|tree view]] or open the context menu (right-click) and select {{MenuCommand|Toggle active part}} to activate or deactivate the Part. If another Part is active, it will be deactivated. See [[Std_Part#Active_status|active status]] for more information. |
|||
<span id="Properties"></span> |
|||
===Limitations=== |
|||
==Свойства== |
|||
The [[Std_Part|Std Part]], internally called [[App_Part|App Part]] ({{incode|App::Part}} class), is derived from the [[App_GeoFeature|App GeoFeature]] ({{incode|App::GeoFeature}} class) and inherits all its properties. It also has several additional properties. Notably properties that help it manage information in the context of an assembly, for example, {{PropertyData|Type}}, {{PropertyData|Id}}, {{PropertyData|License}}, {{PropertyData|LicenseURL}} and {{PropertyData|Group}}. |
|||
* At this time, [[Draft Snap|Draft Snap]] methods do not work on selected Part containers nor on the objects inside of them. |
|||
* A Part has no [[Part_TopoShape|topological shape]], therefore 3D operations like [[Part_Boolean|Part Boolean]] cannot be used on a Part itself. For example, you cannot select two Parts, and perform a [[Part_Fuse|Part Fuse]] or [[Part_Cut|Part Cut]] with them. |
|||
** These boolean operations only work on the contained objects as long as these are derived from [[Part_Feature|Part Feature]] and have a [[Part_TopoShape|topological shape]]. |
|||
These are the properties available in the [[Property_editor|property editor]]. Hidden properties can be shown by using the {{MenuCommand|Show all}} command in the context menu of the [[Property_editor|property editor]]. |
|||
==Properties== |
|||
<span id="Data"></span> |
|||
A [[Std_Part|Std Part]] is internally called [[App_Part|App Part]] ({{incode|App::Part}} class), and is derived from an [[App_GeoFeature|App GeoFeature]] ({{incode|App::GeoFeature}} class), therefore it shares most of the latter's properties. |
|||
=== Данные === |
|||
{{TitleProperty|Основные}} |
|||
In addition to the properties described in [[App_GeoFeature|App GeoFeature]], the App Part class has some properties that help it manage information in the context of an assembly, for example, {{PropertyData|Type}}, {{PropertyData|Id}}, {{PropertyData|License}}, {{PropertyData|LicenseURL}}, {{PropertyData|Color}}, and {{PropertyData|Group}}. |
|||
These are the properties available in the [[property editor|property editor]]. Hidden properties can be shown by using the {{MenuCommand|Show all}} command in the context menu of the [[property editor|property editor]]. |
|||
=== Data === |
|||
{{TitleProperty|Base}} |
|||
* {{PropertyData|Type|String}}: a description for this object. By default, it is an empty string {{value|""}}. |
* {{PropertyData|Type|String}}: a description for this object. By default, it is an empty string {{value|""}}. |
||
* {{PropertyData|Material|Link}}: the material for this object. |
|||
* {{PropertyData|Meta|Map|Hidden}}: map with additional meta information. By default, it is empty <code>{}</code>. |
|||
* {{PropertyData|Id|String}}: an identification or part number for this object. By default, it is an empty string {{value|""}}. |
* {{PropertyData|Id|String}}: an identification or part number for this object. By default, it is an empty string {{value|""}}. |
||
* {{PropertyData|Uid|UUID|Hidden}}: the [https://en.wikipedia.org/wiki/Universally_unique_identifier universally unique identifier] (UUID) (128-bit number) of the object. This is assigned at creation time. |
|||
* {{PropertyData|License|String}}: a field to specify the license for this object. By default, it is an empty string {{value|""}}. |
* {{PropertyData|License|String}}: a field to specify the license for this object. By default, it is an empty string {{value|""}}. |
||
* {{PropertyData|LicenseURL|String}}: a field to specify the web address to the license or contract for this object. By default, it is an empty string {{value|""}}. |
* {{PropertyData|LicenseURL|String}}: a field to specify the web address to the license or contract for this object. By default, it is an empty string {{value|""}}. |
||
* {{PropertyData|Color|Color}}: a tuple of four floating point RGBA values {{value|(r,g,b,a)}} to define the color of the object; by default it is {{value|(1.0, 1.0, 1.0, 1.0)}}, which is displayed as {{value|[255,255,255]}} on base 255, <span style="background-color:#fff; color:#000; border: 1px solid #888888; width:3em; height:12pt; padding: 2px 1em 2px;">white color</span>. |
* {{PropertyData|Color|Color}}: a tuple of four floating point RGBA values {{value|(r,g,b,a)}} to define the color of the object; by default it is {{value|(1.0, 1.0, 1.0, 1.0)}}, which is displayed as {{value|[255,255,255]}} on base 255, <span style="background-color:#fff; color:#000; border: 1px solid #888888; width:3em; height:12pt; padding: 2px 1em 2px;">white color</span>. |
||
* {{PropertyData|Placement|Placement}}: the position of the object in the [[ |
* {{PropertyData|Placement|Placement}}: the position of the object in the [[3D_view|3D view]]. The placement is defined by a {{incode|Base}} point (vector), and a {{incode|Rotation}} (axis and angle). See [[Placement|Placement]]. |
||
** {{PropertyData|Angle}}: the angle of rotation around the {{PropertyData|Axis}}. By default, it is {{value|0°}} (zero degrees). |
** {{PropertyData|Angle}}: the angle of rotation around the {{PropertyData|Axis}}. By default, it is {{value|0°}} (zero degrees). |
||
** {{PropertyData|Axis}}: the unit vector that defines the axis of rotation for the placement. Each component is a floating point value between {{value|0}} and {{value|1}}. If any value is above {{value|1}}, the vector is normalized so that the magnitude of the vector is {{value|1}}. By default, it is the positive Z axis, {{value|(0, 0, 1)}}. |
** {{PropertyData|Axis}}: the unit vector that defines the axis of rotation for the placement. Each component is a floating point value between {{value|0}} and {{value|1}}. If any value is above {{value|1}}, the vector is normalized so that the magnitude of the vector is {{value|1}}. By default, it is the positive Z axis, {{value|(0, 0, 1)}}. |
||
** {{PropertyData|Position}}: a vector with the 3D coordinates of the base point. By default, it is the origin {{value|(0, 0, 0)}}. |
** {{PropertyData|Position}}: a vector with the 3D coordinates of the base point. By default, it is the origin {{value|(0, 0, 0)}}. |
||
* {{PropertyData|Label|String}}: the user editable name of this object, it is an arbitrary UTF8 string. |
* {{PropertyData|Label|String}}: the user editable name of this object, it is an arbitrary UTF8 string. |
||
* {{PropertyData|Label2|String|Hidden}}: a longer, user editable description of this object, it is an arbitrary UTF8 string that may include newlines. By default, it is an empty string {{value|""}}. |
|||
* {{PropertyData|Expression Engine|ExpressionEngine|Hidden}}: a list of expressions. By default, it is empty {{value|[]}}. |
|||
* {{PropertyData|Visibility|Bool|Hidden}}: whether to display the object or not. |
|||
* {{PropertyData|Origin|Link|Hidden}}: the [[App_OriginGroupExtension|App Origin]] object that is the positional reference for all elements listed in {{PropertyData|Group}}. |
|||
* {{PropertyData|Group|LinkList}}: a list of referenced objects. By default, it is empty {{value|[]}}. |
* {{PropertyData|Group|LinkList}}: a list of referenced objects. By default, it is empty {{value|[]}}. |
||
* {{PropertyData|_ Group Touched|Bool|Hidden}}: whether the group is touched or not. |
|||
<span id="View"></span> |
|||
==== Hidden properties Data ==== |
|||
=== Вид === |
|||
{{TitleProperty|Display Options}} |
|||
* {{PropertyData|Material|Map}}: map with material properties. By default, it is empty <code>{}</code>. |
|||
* {{PropertyData|Meta|Map}}: map with additional meta information. By default, it is empty <code>{}</code>. |
|||
* {{PropertyData|Uid|UUID}}: the [https://en.wikipedia.org/wiki/Universally_unique_identifier universally unique identifier] (UUID) (128-bit number) of the object. This is assigned at creation time. |
|||
* {{PropertyData|Label2|String}}: a longer, user editable description of this object, it is an arbitrary UTF8 string that may include newlines. By default, it is an empty string {{value|""}}. |
|||
* {{PropertyData|Expression Engine|ExpressionEngine}}: a list of expressions. By default, it is empty {{value|[]}}. |
|||
* {{PropertyData|Visibility|Bool}}: whether to display the object or not. |
|||
* {{PropertyData|Origin|Link}}: the [[App_Origin|App Origin]] object that is the positional reference for all elements listed in {{PropertyData|Group}}. |
|||
* {{PropertyData|_ Group Touched|Bool}}: whether the group is touched or not. |
|||
=== View === |
|||
The App Part only has the five properties of the basic [[App_FeaturePython|App FeaturePython]], and it does not have hidden properties. |
|||
{{TitleProperty|Base}} |
|||
* {{PropertyView|Display Mode|Enumeration}}: {{value|Group}}. |
* {{PropertyView|Display Mode|Enumeration}}: {{value|Group}}. |
||
* {{PropertyView|Show In Tree|Bool}}: if it is {{TRUE}}, the object appears in the [[Tree_view|Tree view]]. Otherwise, it is set as invisible. |
|||
* {{PropertyView|On Top When Selected|Enumeration}}: {{value|Disabled}} (default), {{value|Enabled}}, {{value|Object}}, {{value|Element}}. |
|||
* {{PropertyView|Selection Style|Enumeration}}: {{value|Shape}} (default), {{value|BoundBox}}. If the option is {{value|Shape}}, the entire shape (vertices, edges, and faces) will be highlighted in the [[3D view|3D view]]; if it is {{value|BoundBox}} only the bounding box will be highlighted. |
|||
* {{PropertyView|Show In Tree|Bool}}: if it is {{TRUE}}, the object appears in the [[tree view|tree view]]. Otherwise, it is set as invisible. |
|||
* {{PropertyView|Visibility|Bool}}: if it is {{TRUE}}, the object appears in the [[3D_view|3D view]]; otherwise it is invisible. By default this property can be toggled on and off by pressing the {{KEY|Space}} bar in the keyboard. |
* {{PropertyView|Visibility|Bool}}: if it is {{TRUE}}, the object appears in the [[3D_view|3D view]]; otherwise it is invisible. By default this property can be toggled on and off by pressing the {{KEY|Space}} bar in the keyboard. |
||
{{TitleProperty|Selection}} |
|||
== Assembly concept == |
|||
* {{PropertyView|On Top When Selected|Enumeration}}: {{value|Disabled}} (default), {{value|Enabled}}, {{value|Object}}, {{value|Element}}. |
|||
The Std Part is intended to be the basic building block to create assemblies. Unlike a [[PartDesign_Body|PartDesign Body]], an assembly is meant to be a collection of separate, distinguishable elements which are connected in some way in the physical world, for example, through pressure, screws, or glue. |
|||
* {{PropertyView|Selection Style|Enumeration}}: {{value|Shape}} (default), {{value|BoundBox}}. If the option is {{value|Shape}}, the entire shape (vertices, edges, and faces) will be highlighted in the [[3D_view|3D view]]; if it is {{value|BoundBox}} only the bounding box will be highlighted. |
|||
<span id="Detailed_explanation"></span> |
|||
Examples that could be Parts: |
|||
==Подробное описание== |
|||
* A wooden table that consists of individual wooden pieces (legs, top), which are put together by glue or metal screws. |
|||
* A ball bearing that is composed of multiple steel balls, an inner ring, a retainer, a seal, and an outer ring. |
|||
* An assembly of a screw with a washer, and a matching nut. |
|||
<span id="Active_status"></span> |
|||
[[File:PartDesign_Body_contiguous_separate.png|x200px]] [[File:PartDesign_Body_contiguous_assembly.png|x200px]] |
|||
===Активное состояние=== |
|||
{{Caption|Left: three individual contiguous solids, each of them modelled by a [[PartDesign_Body|PartDesign Body]]. Right: the individual Bodies put together inside a Std Part to create an assembly.}} |
|||
An open document can contain multiple Parts. But only one Part can be active. The active Part is displayed in the [[Tree_view|tree view]] with the background color specified by the {{MenuCommand|Active container}} value in the [[Preferences_Editor#Colors|preferences editor]] (by default, light blue). It will also be shown with bold text. |
|||
In general terms, when importing a STEP file into the program, the main assembly and its sub-assemblies will be imported as Part containers, each of them containing a simple [[Part_Feature|Part Feature]]. |
|||
== Detailed explanation == |
|||
===Active status=== |
|||
An open document can contain multiple Parts. An active Part will be displayed in the [[Tree_view|tree view]] with the background color specified by the {{MenuCommand|Active container}} value in the [[Preferences_Editor#Colors|preferences editor]] (by default, light blue). An active part will also be shown in bold text. |
|||
To activate or de-activate a Part: |
To activate or de-activate a Part: |
||
* Double click on it on the [[Tree_view| |
* Double click on it on the [[Tree_view|Tree view]], or |
||
* Open the context menu (right click) and select {{MenuCommand|Toggle active part}}. |
* Open the context menu (right click) and select {{MenuCommand|Toggle active part}}. |
||
{{Emphasis|Notes:}} |
|||
* The {{emphasis|active status}} of Parts was developed in v0.17 in parallel with the {{emphasis|active status}} of [[PartDesign_Body|PartDesign Bodies]]; however, as of v0.19 this status does not serve a real purpose for Parts. |
|||
* Even when a Part is active, newly created objects are not placed inside of it automatically. In this case, simply drag these new objects, and drop them onto the desired Part. |
|||
* Only a single Part can be active at a time. |
|||
[[File:Std_Part_active.png]] |
[[File:Std_Part_active.png]] |
||
Line 132: | Line 113: | ||
{{Caption|Document with two Std Parts, of which the second one is active.}} |
{{Caption|Document with two Std Parts, of which the second one is active.}} |
||
= |
<span id="Origin"></span> |
||
===Начало координат=== |
|||
The Origin consists of the three standard axes (X, Y, Z) and three standard planes (XY, XZ and YZ). [[Sketch|Sketches]] and other objects can be attached to these elements when creating them. |
The Origin consists of the three standard axes (X, Y, Z) and three standard planes (XY, XZ and YZ). [[Sketch|Sketches]] and other objects can be attached to these elements when creating them. |
||
Line 138: | Line 120: | ||
[[File:Part_Origin_tree.png]] [[File:Part_Origin_view.png]] |
[[File:Part_Origin_tree.png]] [[File:Part_Origin_view.png]] |
||
{{Caption|Left: Part Origin in the [[ |
{{Caption|Left: Part Origin in the [[Tree_view|Tree view]]. Right: representation of the Origin elements in the [[3D_view|3D view]].}} |
||
{{Emphasis|Note:}} the Origin is an [[ |
{{Emphasis|Note:}} the Origin is an [[App_OriginGroupExtension|App Origin]] object ({{incode|App::Origin}} class), while the axes and planes are objects of type {{incode|App::Line}} and {{incode|App::Plane}} respectively. Each of these elements can be hidden and unhidden individually with the {{KEY|Space}} bar; this is useful to choose the correct reference when creating other objects. |
||
{{Emphasis|Note 2:}} all elements inside the Part are referenced to the Part's Origin which means that the Part can be moved and rotated in reference to the global coordinate system without affecting the placement of the elements inside. |
{{Emphasis|Note 2:}} all elements inside the Part are referenced to the Part's Origin which means that the Part can be moved and rotated in reference to the global coordinate system without affecting the placement of the elements inside. |
||
Line 151: | Line 133: | ||
{{Caption|The visibility of the Std Part determines whether the objects grouped under it are shown in the [[3D_view|3D view]] or not. Left: the Part is hidden, so none of the objects will be shown in the [[3D_view|3D view]]. Right: the Part is visible, so each object controls its own visibility.}} |
{{Caption|The visibility of the Std Part determines whether the objects grouped under it are shown in the [[3D_view|3D view]] or not. Left: the Part is hidden, so none of the objects will be shown in the [[3D_view|3D view]]. Right: the Part is visible, so each object controls its own visibility.}} |
||
<span id="Scripting"></span> |
|||
=== Inheritance === |
|||
== Программирование == |
|||
<div class="mw-translate-fuzzy"> |
|||
A [[Std_Part|Std Part]] is formally an instance of the class {{incode|App::Part}}, whose parent is the basic [[App_GeoFeature|App GeoFeature]] ({{incode|App::GeoFeature}} class), and is augmented with an Origin extension. |
|||
{{Emphasis|Смотрите так же:}} [[FreeCAD Scripting Basics/ru|Основы составления скриптов в FreeCAD]], и [[scripted objects/ru|скриптовые объекты]]. |
|||
</div> |
|||
Общие сведения о добавлении объектов в документ смотрите в разделе [[Part_Feature/ru|Конструктивный элемент верстака Part]]. |
|||
[[File:FreeCAD_core_objects.svg|800px]] |
|||
A Std Part ([[App_Part|App Part]]) is created with the {{incode|addObject()}} method of the document. Once a Part exists, other objects can be added to it with the {{incode|addObject()}} or {{incode|addObjects()}} methods. |
|||
{{Caption|Simplified diagram of the relationships between the core objects in the program. The {{incode|App::Part}} class is a simple container that has a position in 3D space, and has an Origin to control the placement of the objects grouped under it.}} |
|||
== Scripting == |
|||
{{Emphasis|See also:}} [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]], and [[scripted objects|scripted objects]]. |
|||
See [[Part_Feature|Part Feature]] for the general information on adding objects to the document. |
|||
A Std Part ([[App_Part|App Part]]) is created with the {{incode|addObject()}} method of the document. Once a Part exists, other objects can be added to it with the {{incode|addObject()}} or {{incode|addObjects()}} methods of this Part. |
|||
{{Code|code= |
{{Code|code= |
||
Line 171: | Line 148: | ||
doc = App.newDocument() |
doc = App.newDocument() |
||
part = App.ActiveDocument.addObject("App::Part", "Part") |
|||
obj1 = App.ActiveDocument.addObject("PartDesign::Body", "Body") |
|||
obj2 = App.ActiveDocument.addObject("Part::Box", "Box") |
|||
part.addObjects([obj1, obj2]) |
|||
App.ActiveDocument.recompute() |
App.ActiveDocument.recompute() |
||
}} |
}} |
||
You cannot create a scripted {{incode|App::Part}}. However, you can add {{incode|App::Part}} |
You cannot create a scripted {{incode|App::Part}}. However, you can add {{incode|App::Part}} behavior to a scripted {{incode|Part::FeaturePython}} object by using the following code: |
||
{{Code|code= |
{{Code|code= |
||
Line 189: | Line 166: | ||
self.attach(obj) |
self.attach(obj) |
||
def |
def dumps(self): |
||
return |
return |
||
def |
def loads(self, _state): |
||
return |
return |
||
def attach(self, obj): |
def attach(self, obj): |
||
obj.addExtension( |
obj.addExtension("App::OriginGroupExtensionPython") |
||
obj.Origin = FreeCAD.ActiveDocument.addObject( |
obj.Origin = FreeCAD.ActiveDocument.addObject("App::Origin", "Origin") |
||
def onDocumentRestored(self, obj): |
def onDocumentRestored(self, obj): |
||
Line 211: | Line 188: | ||
def attach(self, vobj): |
def attach(self, vobj): |
||
vobj.addExtension( |
vobj.addExtension("Gui::ViewProviderOriginGroupExtensionPython") |
||
self.ViewObject = vobj |
self.ViewObject = vobj |
||
def |
def dumps(self): |
||
return None |
return None |
||
def |
def loads(self, _state): |
||
return None |
return None |
||
App.ActiveDocument.addObject( |
App.ActiveDocument.addObject("Part::FeaturePython", |
||
"Group", |
|||
group.MyGroup(), |
|||
group.ViewProviderMyGroup(), |
|||
True) |
|||
}} |
}} |
||
<div class="mw-translate-fuzzy"> |
|||
{{Docnav/ru |
{{Docnav/ru |
||
| |
| |
||
|[[Std_Group/ru| |
|[[Std_Group/ru|Создать группу]] |
||
|[[Std_Base/ru| |
|[[Std_Base/ru|Стандартные команды и инструменты]] |
||
|IconL= |
|IconL= |
||
|IconR=Std_Group.svg |
|IconR=Std_Group.svg |
||
|IconC=Freecad.svg |
|IconC=Freecad.svg |
||
}} |
}} |
||
</div> |
|||
{{ |
{{Std_Base_navi{{#translation:}}}} |
||
{{Userdocnavi{{#translation:}}}} |
{{Userdocnavi{{#translation:}}}} |
||
{{clear}} |
Revision as of 09:01, 27 January 2024
|
Системное название |
---|
Std_Part |
Расположение в меню |
None |
Верстаки |
Все |
Быстрые клавиши |
Нет |
Представлено в версии |
0.17 |
См. также |
Создать группу, Создать тело |
Описание
Std Part (internally called App Part) is a general purpose container that keeps together a group of objects so that they can be moved together as a unit in the 3D view.
The Std Part element was developed to be the basic building block to create mechanical assemblies. In particular, it is meant to arrange objects that have a Part TopoShape, like Part Primitives, PartDesign Bodies, and other Part Features. The Std Part provides an Origin object with local X, Y, and Z axes, and standard planes, that can be used as reference to position the contained objects. In addition, Std Parts may be nested inside other Std Parts to create a big assembly from smaller sub-assemblies.
Although it is primarily intended for solid bodies, the Std Part can be used to manage any object that has a Placement property, so it can also contain Mesh Features, sketches, and other objects derived from the App GeoFeature class.
Do not confuse the PartDesign Body with the
Std Part. The first one is a specific object used in the
PartDesign Workbench, intended to model a single contiguous solid by means of PartDesign Features. On the other hand, the Std Part is not used for modelling, just to arrange different objects in space, with the intention to create assemblies.
The Std Part tool is not defined by a particular workbench, but by the base system, thus it is found in the structure toolbar that is available in all workbenches. To group objects arbitrarily without considering their position, use
Std Group; this object does not affect the placements of the elements that it contains, it is essentially just a folder that is used to keep the Tree view organized.
Left: elements inside a Std Part in the Tree view. Right: objects positioned in space, referred to the Origin of the Std Part.
Применение
- Press the
Create part button.
- An empty Part is created and automatically becomes active.
- To add objects to the Part, select them in Tree view, and drag and drop them onto the Part.
- To remove objects from the Part, drag them out of the Part, and onto the document label at the top of the Tree view.
- Objects can also be added and removed by editing the ДанныеGroup property of the Part.
Примечания
- An object can only belong to a single Part.
- 3D operations like Part Boolean cannot be applied to Parts. For example, you cannot select two Parts, and perform a Part Fuse or Part Cut.
Свойства
The Std Part, internally called App Part (App::Part
class), is derived from the App GeoFeature (App::GeoFeature
class) and inherits all its properties. It also has several additional properties. Notably properties that help it manage information in the context of an assembly, for example, ДанныеType, ДанныеId, ДанныеLicense, ДанныеLicenseURL and ДанныеGroup.
These are the properties available in the property editor. Hidden properties can be shown by using the Show all command in the context menu of the property editor.
Данные
Основные
- ДанныеType (
String
): a description for this object. By default, it is an empty string""
. - ДанныеMaterial (
Link
): the material for this object. - Данные (Hidden)Meta (
Map
): map with additional meta information. By default, it is empty{}
. - ДанныеId (
String
): an identification or part number for this object. By default, it is an empty string""
. - Данные (Hidden)Uid (
UUID
): the universally unique identifier (UUID) (128-bit number) of the object. This is assigned at creation time. - ДанныеLicense (
String
): a field to specify the license for this object. By default, it is an empty string""
. - ДанныеLicenseURL (
String
): a field to specify the web address to the license or contract for this object. By default, it is an empty string""
. - ДанныеColor (
Color
): a tuple of four floating point RGBA values(r,g,b,a)
to define the color of the object; by default it is(1.0, 1.0, 1.0, 1.0)
, which is displayed as[255,255,255]
on base 255, white color. - ДанныеPlacement (
Placement
): the position of the object in the 3D view. The placement is defined by aBase
point (vector), and aRotation
(axis and angle). See Placement.- ДанныеAngle: the angle of rotation around the ДанныеAxis. By default, it is
0°
(zero degrees). - ДанныеAxis: the unit vector that defines the axis of rotation for the placement. Each component is a floating point value between
0
and1
. If any value is above1
, the vector is normalized so that the magnitude of the vector is1
. By default, it is the positive Z axis,(0, 0, 1)
. - ДанныеPosition: a vector with the 3D coordinates of the base point. By default, it is the origin
(0, 0, 0)
.
- ДанныеAngle: the angle of rotation around the ДанныеAxis. By default, it is
- ДанныеLabel (
String
): the user editable name of this object, it is an arbitrary UTF8 string. - Данные (Hidden)Label2 (
String
): a longer, user editable description of this object, it is an arbitrary UTF8 string that may include newlines. By default, it is an empty string""
. - Данные (Hidden)Expression Engine (
ExpressionEngine
): a list of expressions. By default, it is empty[]
. - Данные (Hidden)Visibility (
Bool
): whether to display the object or not. - Данные (Hidden)Origin (
Link
): the App Origin object that is the positional reference for all elements listed in ДанныеGroup. - ДанныеGroup (
LinkList
): a list of referenced objects. By default, it is empty[]
. - Данные (Hidden)_ Group Touched (
Bool
): whether the group is touched or not.
Вид
Display Options
- ВидDisplay Mode (
Enumeration
):Group
. - ВидShow In Tree (
Bool
): if it istrue
, the object appears in the Tree view. Otherwise, it is set as invisible. - ВидVisibility (
Bool
): if it istrue
, the object appears in the 3D view; otherwise it is invisible. By default this property can be toggled on and off by pressing the Space bar in the keyboard.
Selection
- ВидOn Top When Selected (
Enumeration
):Disabled
(default),Enabled
,Object
,Element
. - ВидSelection Style (
Enumeration
):Shape
(default),BoundBox
. If the option isShape
, the entire shape (vertices, edges, and faces) will be highlighted in the 3D view; if it isBoundBox
only the bounding box will be highlighted.
Подробное описание
Активное состояние
An open document can contain multiple Parts. But only one Part can be active. The active Part is displayed in the tree view with the background color specified by the Active container value in the preferences editor (by default, light blue). It will also be shown with bold text.
To activate or de-activate a Part:
- Double click on it on the Tree view, or
- Open the context menu (right click) and select Toggle active part.
Document with two Std Parts, of which the second one is active.
Начало координат
The Origin consists of the three standard axes (X, Y, Z) and three standard planes (XY, XZ and YZ). Sketches and other objects can be attached to these elements when creating them.
Left: Part Origin in the Tree view. Right: representation of the Origin elements in the 3D view.
Note: the Origin is an App Origin object (App::Origin
class), while the axes and planes are objects of type App::Line
and App::Plane
respectively. Each of these elements can be hidden and unhidden individually with the Space bar; this is useful to choose the correct reference when creating other objects.
Note 2: all elements inside the Part are referenced to the Part's Origin which means that the Part can be moved and rotated in reference to the global coordinate system without affecting the placement of the elements inside.
Visibility Management
The Part's visibility supersedes the visibility of any object it contains. If the Part is hidden, the objects it contains will be hidden as well, even if their individual ВидVisibility property is set to true
. If the Part is visible, then each object's ВидVisibility determines whether the object is shown or not.
The visibility of the Std Part determines whether the objects grouped under it are shown in the 3D view or not. Left: the Part is hidden, so none of the objects will be shown in the 3D view. Right: the Part is visible, so each object controls its own visibility.
Программирование
Смотрите так же: Основы составления скриптов в FreeCAD, и скриптовые объекты.
Общие сведения о добавлении объектов в документ смотрите в разделе Конструктивный элемент верстака Part.
A Std Part (App Part) is created with the addObject()
method of the document. Once a Part exists, other objects can be added to it with the addObject()
or addObjects()
methods.
import FreeCAD as App
doc = App.newDocument()
part = App.ActiveDocument.addObject("App::Part", "Part")
obj1 = App.ActiveDocument.addObject("PartDesign::Body", "Body")
obj2 = App.ActiveDocument.addObject("Part::Box", "Box")
part.addObjects([obj1, obj2])
App.ActiveDocument.recompute()
You cannot create a scripted App::Part
. However, you can add App::Part
behavior to a scripted Part::FeaturePython
object by using the following code:
class MyGroup(object):
def __init__(self, obj=None):
self.Object = obj
if obj:
self.attach(obj)
def dumps(self):
return
def loads(self, _state):
return
def attach(self, obj):
obj.addExtension("App::OriginGroupExtensionPython")
obj.Origin = FreeCAD.ActiveDocument.addObject("App::Origin", "Origin")
def onDocumentRestored(self, obj):
self.Object = obj
class ViewProviderMyGroup(object):
def __init__(self, vobj=None):
if vobj:
vobj.Proxy = self
self.attach(vobj)
else:
self.ViewObject = None
def attach(self, vobj):
vobj.addExtension("Gui::ViewProviderOriginGroupExtensionPython")
self.ViewObject = vobj
def dumps(self):
return None
def loads(self, _state):
return None
App.ActiveDocument.addObject("Part::FeaturePython",
"Group",
group.MyGroup(),
group.ViewProviderMyGroup(),
True)
- Стандартное меню: Файл, Правка, Вид, Инструменты, Макросы, Окна, Справка
- Структура: Std Part, Std Group, Std LinkMake
- Файл: Создать, Открыть, Закрыть, Закрыть всё, Сохранить, Сохранить как, Сохранить копию, Сохранить всё, Вернуться, Импортировать, Экспортировать, Объединить проект, Информация о проекте, Печать, Предварительный просмотр, Экспортировать в PDF, Недавние файлы, Выход
- Правка: Отменить, Вернуть, Вырезать, Копировать, Вставить, Дублировать выбранное, Обновить, Выделить область, Box element selection, Выбрать всё, Удалить, Расположение, Выравнивание, Редактировать/закончить редактирование, Настройки
- Вид: Создать новый вид, Ортогональная проекция, Перспективная проекция, На весь экран, Стандартные виды (Уместить всё, Уместить выделенное, Isometric, Dimetric, Trimetric, Спереди, Сверху, Справа, Сзади, Снизу, Слева, Повернуть влево, Повернуть вправо), Freeze display (Save views, Load views, Freeze view, Clear views), Стиль представления (Как есть, Плоские линии, Shaded, Каркас, Точки, Скрытые линии, Без затенения), Bounding box, Стерео (Стерео красный/голубой, Четверная буферизация стерео, Стерео с чередованием строк, Стерео с чередованием столбцов, Выключить стерео, Выводить положения камеры), Масштаб (Увеличить, Уменьшить, Увеличить область), Окно документа (Закреплённое, Откреплённое, На весь экран), Показать/скрыть оси координат, Плоскость сечения, Текстурирование, Видимость (Видимость, Показать выделенные, Скрыть выделенные, Выбрать видимые объекты, Инвертировать все видимости, Показать все объекты, Скрыть все объекты, Откл/вкл выделяемость, Показывать замеры, Удалить замер), Навигация/редактирование, Внешний вид, Случайный цвет, Верстак, Панели инструментов (Файл, Верстак, Макрос, Вид, Структура, Навигация), Панели (Отчёт, Иерархия документа, Окно свойств, Просмотр выделения, Комбо панель, Консоль Python, DAG view), Tree view actions (Sync view, Sync selection, Sync placement, Pre-selection, Record selection, Single document, Multi document, Collapse/expand, Initiate dragging, Go to selection), Строка состояния
- Инструменты: Редактор параметров, Сохранить изображение, Инспектор сцены, Граф зависимостей, Project utility, Измерить расстояние, Text document, Поворотный просмотр, Конвертор величин, Настройка, Addon manager
- Макросы: Запись макроса, Остановить запись макроса, Макрос, Выполнить макрос, Отладка макросов, Остановить отладку, Шаг с обходом, Шаг с заходом, Установить/снять точку останова
- Окна: Следующее, Предыдущее, Плиткой, Каскадом, Окна
- Справка: Справка, Сайт FreeCAD, Пользовательская документация, Документация по созданию скриптов на Python, Автоматически сгенерированная документация Python, Форум FreeCAD, FreeCAD ЧаВо, О FreeCAD, Что это?
![](/images/thumb/9/94/User_hub.png/24px-User_hub.png)
- Начинающим
- Установка: Загрузка, Windows, Linux, Mac, Дополнительных компонентов, Docker, AppImage, Ubuntu Snap
- Базовая: О FreeCAD, Интерфейс, Навигация мыши, Методы выделения, Имя объекта, Настройки, Верстаки, Структура документа, Свойства, Помоги FreeCAD, Пожертвования
- Помощь: Учебники, Видео учебники
- Верстаки: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework