GuiCommand model: Difference between revisions

From FreeCAD Documentation
(SeeAlso after Version.)
(Minor update. PropertyType should be specified.)
Line 38: Line 38:


<!--T:30-->
<!--T:30-->
For example: The feature to utilize {{incode|App::Link}} {{Version|0.19}} allows linking between sub-assemblies etc...
For example: The {{incode|App::Link}} feature ({{Version|0.19}}) allows linking between sub-assemblies etc...


<!--T:16-->
<!--T:16-->
Line 60: Line 60:
#* Use the keyboard shortcut {{KEY|F}} then {{KEY|C}} or {{KEY|Ctrl}}+{{KEY|Z}}. (''Editor note:'' This uses the [[Template:KEY]] template, not all commands have a keyboard shortcut)
#* Use the keyboard shortcut {{KEY|F}} then {{KEY|C}} or {{KEY|Ctrl}}+{{KEY|Z}}. (''Editor note:'' This uses the [[Template:KEY]] template, not all commands have a keyboard shortcut)
# Detailed steps as needed. Some steps may need {{KEY|Keyboard}} presses while others may require using the mouse to click on a {{Button|Button}}.
# Detailed steps as needed. Some steps may need {{KEY|Keyboard}} presses while others may require using the mouse to click on a {{Button|Button}}.
# Other commands may need to be referenced/used. Consider linking to their wiki pages along with their icons {{Button|[[Image:Draft_Line.svg|16px]] [[Draft_Line|Draft Line]]}} or {{Button|[[Image:PartDesign_Pad.svg|16px]] [[PartDesign_Pad|PartDesign Pad]]}}.
# Set options and press {{Button|OK}}.
# Set options and press {{Button|OK}}.


Line 66: Line 65:


<!--T:18-->
<!--T:18-->
* Optional. List the command options here. Check out two examples, {{Button|[[Image:Draft_Line.svg|16px]] [[Draft_Line|Draft Line]]}} and {{Button|[[Image:PartDesign_Pad.svg|16px]] [[PartDesign_Pad|PartDesign Pad]]}}.
* Optional. List the command options here. See for example [[Draft_Wire|Draft Wire]].


== Example == <!--T:7-->
== Example == <!--T:7-->
Line 79: Line 78:


== Properties == <!--T:6-->
== Properties == <!--T:6-->

See also: [[Property_editor|Property editor]].

An object is usually derived from a base object. You should not list the properties that are inherited from that base object. See for example [[Draft_Wire#Properties|Draft Wire]].


=== Data === <!--T:19-->
=== Data === <!--T:19-->
Line 86: Line 89:


<!--T:20-->
<!--T:20-->
* {{PropertyData|Property Name 1|PropertyType}}: Description of the property. (''Editor note:'' to find the {{Value|PropertyType}} select {{MenuCommand|Show all}} in the context menu of the [[Property_editor|Property editor]]. The tooltip of each property will then include this information. But the {{Value|PropertyType}} can also be found in the source code.)
* {{PropertyData|Property Name 1}}: Description of the property


=== View === <!--T:21-->
=== View === <!--T:21-->
Line 94: Line 97:


<!--T:22-->
<!--T:22-->
* {{PropertyView|Property Name 2}}: Description of the property
* {{PropertyView|Property Name 2|PropertyType}}: Description of the property.


== Scripting == <!--T:8-->
== Scripting == <!--T:8-->


<!--T:26-->
<!--T:26-->
See also: [[:Category:API]] and [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]].
See also: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] and [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]].


<!--T:9-->
<!--T:9-->
Line 164: Line 167:
Remember to use [[Template:Version]], [[Template:VersionMinus]], [[Template:VersionPlus]] and [[Template:Obsolete]] when applicable.
Remember to use [[Template:Version]], [[Template:VersionMinus]], [[Template:VersionPlus]] and [[Template:Obsolete]] when applicable.


For example: The feature to utilize {{incode|App::Link}} {{Version|0.19}} allows linking between sub-assemblies etc...
For example: The {{incode|App::Link}} feature ({{Version|0.19}}) allows linking between sub-assemblies etc...


Add an image if possible, and please follow the guidelines in [[WikiPages#Graphics]]. Example taken from [[Part_Sweep|Part Sweep]]:
Add an image if possible, and please follow the guidelines in [[WikiPages#Graphics]]. Example taken from [[Part_Sweep|Part Sweep]]:
Line 182: Line 185:
#* Use the keyboard shortcut {{KEY|F}} then {{KEY|C}} or {{KEY|Ctrl}}+{{KEY|Z}}. (''Editor note:'' This uses the [[Template:KEY]] template, not all commands have a keyboard shortcut)
#* Use the keyboard shortcut {{KEY|F}} then {{KEY|C}} or {{KEY|Ctrl}}+{{KEY|Z}}. (''Editor note:'' This uses the [[Template:KEY]] template, not all commands have a keyboard shortcut)
# Detailed steps as needed. Some steps may need {{KEY|Keyboard}} presses while others may require using the mouse to click on a {{Button|Button}}.
# Detailed steps as needed. Some steps may need {{KEY|Keyboard}} presses while others may require using the mouse to click on a {{Button|Button}}.
# Other commands may need to be referenced/used. Consider linking to their wiki pages along with their icons {{Button|[[Image:Draft_Line.svg|16px]] [[Draft_Line|Draft Line]]}} or {{Button|[[Image:PartDesign_Pad.svg|16px]] [[PartDesign_Pad|PartDesign Pad]]}}.
# Set options and press {{Button|OK}}.
# Set options and press {{Button|OK}}.


== Options ==
== Options ==


* Optional. List the command options here. Check out two examples, {{Button|[[Image:Draft_Line.svg|16px]] [[Draft_Line|Draft Line]]}} and {{Button|[[Image:PartDesign_Pad.svg|16px]] [[PartDesign_Pad|PartDesign Pad]]}}.
* Optional. List the command options here. See for example [[Draft_Wire|Draft Wire]].


== Example ==
== Example ==
Line 198: Line 200:


== Properties ==
== Properties ==

See also: [[Property_editor|Property editor]].

An object is usually derived from a base object. You should not list the properties that are inherited from that base object. See for example [[Draft_Wire#Properties|Draft Wire]].


=== Data ===
=== Data ===
Line 203: Line 209:
{{TitleProperty|Property Group}}
{{TitleProperty|Property Group}}


* {{PropertyData|Property Name 1|PropertyType}}: Description of the property. (''Editor note:'' to find the {{Value|PropertyType}} select {{MenuCommand|Show all}} in the context menu of the [[Property_editor|Property editor]]. The tooltip of each property will then include this information. But the {{Value|PropertyType}} can also be found in the source code.)
* {{PropertyData|Property Name 1}}: Description of the property


=== View ===
=== View ===
Line 209: Line 215:
{{TitleProperty|Property Group}}
{{TitleProperty|Property Group}}


* {{PropertyView|Property Name 2}}: Description of the property
* {{PropertyView|Property Name 2|PropertyType}}: Description of the property.


== Scripting ==
== Scripting ==


See also: [[:Category:API]] and [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]].
See also: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] and [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]].


The ExampleCommandModel tool can be used in [[Macros|macros]] and from the [[Python|Python]] console by using the following function:
The ExampleCommandModel tool can be used in [[Macros|macros]] and from the [[Python|Python]] console by using the following function:
Line 250: Line 256:


&lt;/translate&gt;
&lt;/translate&gt;
{{Workbench Tools navi{{#translation:}}}} <!--use the Tools navi belonging to the workbench -->
{{Workbench_Tools_navi{{#translation:}}}} <!--use the Tools navi belonging to the workbench -->
{{Userdocnavi{{#translation:}}}}</nowiki>
{{Userdocnavi{{#translation:}}}}</nowiki>
<translate>
<translate>
Line 266: Line 272:


</translate>
</translate>
{{Workbench Tools navi{{#translation:}}}} <!--use the Tools navi belonging to the workbench -->
{{Workbench_Tools_navi{{#translation:}}}} <!--use the Tools navi belonging to the workbench -->
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
[[Category:Wiki:Example]]
[[Category:Wiki:Example]]

Revision as of 18:11, 13 February 2022

This page shows a model to document a Gui Command. Under the Selectable block section below you will find the same content easily selectable for pasting in a new page.

Base ExampleCommandModel

Menu location
Menu → Submenu → Menu text for the command
Workbenches
Workbench
Default shortcut
F C
Introduced in version
0.19
See also
None

Description

While the page is under construction, add the Template:UnfinishedDocu template at the top of the page by simply typing: {{UnfinishedDocu}}

In this first paragraph give a short description of what the command does. The description can refer to other workbenches such as the Sketcher Workbench. (Editor note: The image is 24px, not 16px)

Remember to use Template:Version, Template:VersionMinus, Template:VersionPlus and Template:Obsolete when applicable.

For example: The App::Link feature (introduced in version 0.19) allows linking between sub-assemblies etc...

Add an image if possible, and please follow the guidelines in WikiPages#Graphics. Example taken from Part Sweep:

Optional: add a caption below the image to explain what the tool does

Closing and opening translate tags should surround images, and other fixed elements, if they don't need to be translated. The caption should always be translated.

Usage

  1. There are several ways to invoke the command:
    • Press the Base ExampleCommandModel button. (Editor note: This uses the Template:Button template, it is necessary to link to the command as shown in this example)
    • Select the Menu → Submenu → Menu text for the command option from the menu. (Editor note: This uses the Template:MenuCommand template)
    • Select the Submenu → Menu text for the command option from the Tree view context menu or 3D view context menu. (Editor note: This also uses the Template:MenuCommand template, not all commands can be accessed from a context menu)
    • Use the keyboard shortcut F then C or Ctrl+Z. (Editor note: This uses the Template:KEY template, not all commands have a keyboard shortcut)
  2. Detailed steps as needed. Some steps may need Keyboard presses while others may require using the mouse to click on a Button.
  3. Set options and press OK.

Options

  • Optional. List the command options here. See for example Draft Wire.

Example

Optional.

Notes

  • Optional. Use a bullet list if there are multiple items. You can also mention limitations here.

Properties

See also: Property editor.

An object is usually derived from a base object. You should not list the properties that are inherited from that base object. See for example Draft Wire.

Data

Property Group

  • DataProperty Name 1 (PropertyType): Description of the property. (Editor note: to find the PropertyType select Show all in the context menu of the Property editor. The tooltip of each property will then include this information. But the PropertyType can also be found in the source code.)

View

Property Group

  • ViewProperty Name 2 (PropertyType): Description of the property.

Scripting

See also: Autogenerated API documentation and FreeCAD Scripting Basics.

The ExampleCommandModel tool can be used in macros and from the Python console by using the following function:

Object = makeExampleCommandModel(Data1, Data2)
  • Creates an Object using Data1 and Data2.

Example:

import FreeCAD, Base

Model = Base.makeExampleCommandModel(FreeCAD.Data1, FreeCAD.Data2)

Other

Optional.

Selectable block

<languages/>
{{UnfinishedDocu}}
<translate>

{{Docnav
|[[Base_PreviousCommand|PreviousCommand]]
|[[Base_NextCommand|NextCommand]]
|[[Workbench_Name|Workbench]]
|IconL= <!--filename of icon with extension (e.g. svg, png)-->
|IconR= <!--filename of icon with extension (e.g. svg, png)-->
|IconC= <!--filename of icon with extension (e.g. svg, png)-->
}}

{{GuiCommand
|Name=Base ExampleCommandModel
|Icon= <!--filename of icon with extension (e.g. svg, png) if not the same name as command-->
|MenuLocation=Menu → Submenu → Menu text for the command
|Workbenches=[[Workbench_Name|Workbench]]
|Shortcut={{KEY|F}} {{KEY|C}}
|Version=0.19
|SeeAlso= <!--add links to similar commands and related pages-->
}}

== Description ==

While the page is under construction, add the [[Template:UnfinishedDocu]] template at the top of the page by simply typing: '''{{UnfinishedDocu}}'''

In this first paragraph give a short description of what the command does. The description can refer to other workbenches such as the [[Image:Workbench_Sketcher.svg|24px]] [[Sketcher_Workbench|Sketcher Workbench]]. (''Editor note:'' The image is 24px, not 16px)

Remember to use [[Template:Version]], [[Template:VersionMinus]], [[Template:VersionPlus]] and [[Template:Obsolete]] when applicable.

For example: The {{incode|App::Link}} feature ({{Version|0.19}}) allows linking between sub-assemblies etc...

Add an image if possible, and please follow the guidelines in [[WikiPages#Graphics]]. Example taken from [[Part_Sweep|Part Sweep]]:
</translate>
[[Image:Part_Sweep_simple.png|none]]
<translate>
{{Caption|Optional: add a caption below the image to explain what the tool does}}

Closing and opening translate tags should surround images, and other fixed elements, if they don't need to be translated. The caption should always be translated.

== Usage ==

# There are several ways to invoke the command: 
#* Press the {{Button|[[Image:Std_Open.svg|16px]] [[GuiCommand_model|Base ExampleCommandModel]]}} button. (''Editor note:'' This uses the [[Template:Button]] template, it is necessary to link to the command as shown in this example)
#* Select the {{MenuCommand|Menu → Submenu → [[Image:Std_Open.svg|16px]] Menu text for the command}} option from the menu. (''Editor note:'' This uses the [[Template:MenuCommand]] template)
#* Select the {{MenuCommand|Submenu → [[Image:Std_Open.svg|16px]] Menu text for the command}} option from the [[Tree_view|Tree view]] context menu or [[3D_view|3D view]] context menu. (''Editor note:'' This also uses the [[Template:MenuCommand]] template, not all commands can be accessed from a context menu)
#* Use the keyboard shortcut {{KEY|F}} then {{KEY|C}} or {{KEY|Ctrl}}+{{KEY|Z}}. (''Editor note:'' This uses the [[Template:KEY]] template, not all commands have a keyboard shortcut)
# Detailed steps as needed. Some steps may need {{KEY|Keyboard}} presses while others may require using the mouse to click on a {{Button|Button}}.
# Set options and press {{Button|OK}}.

== Options ==

* Optional. List the command options here. See for example [[Draft_Wire|Draft Wire]].

== Example ==

Optional.

== Notes ==

* Optional. Use a bullet list if there are multiple items. You can also mention limitations here.

== Properties ==

See also: [[Property_editor|Property editor]].

An object is usually derived from a base object. You should not list the properties that are inherited from that base object. See for example [[Draft_Wire#Properties|Draft Wire]].

=== Data ===

{{TitleProperty|Property Group}}

* {{PropertyData|Property Name 1|PropertyType}}: Description of the property. (''Editor note:'' to find the {{Value|PropertyType}} select {{MenuCommand|Show all}} in the context menu of the [[Property_editor|Property editor]]. The tooltip of each property will then include this information. But the {{Value|PropertyType}} can also be found in the source code.)

=== View ===

{{TitleProperty|Property Group}}

* {{PropertyView|Property Name 2|PropertyType}}: Description of the property.

== Scripting ==

See also: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] and [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]].

The ExampleCommandModel tool can be used in [[Macros|macros]] and from the [[Python|Python]] console by using the following function:

</translate>
{{Code|code=
Object = makeExampleCommandModel(Data1, Data2)
}}
<translate>

* Creates an {{incode|Object}} using {{incode|Data1}} and {{incode|Data2}}.

Example:

</translate>
{{Code|code=
import FreeCAD, Base

Model = Base.makeExampleCommandModel(FreeCAD.Data1, FreeCAD.Data2)
}}
<translate>

== Other ==

Optional.


{{Docnav
|[[Base_PreviousCommand|PreviousCommand]]
|[[Base_NextCommand|NextCommand]]
|[[Workbench_Name|Workbench]]
|IconL= <!--filename of icon with extension (e.g. svg, png)-->
|IconR= <!--filename of icon with extension (e.g. svg, png)-->
|IconC= <!--filename of icon with extension (e.g. svg, png)-->
}}

</translate>
{{Workbench_Tools_navi{{#translation:}}}} <!--use the Tools navi belonging to the workbench -->
{{Userdocnavi{{#translation:}}}}


Template:Workbench Tools navi