TechDraw ProjectionGroup: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
Line 13: Line 13:
<!--T:1-->
<!--T:1-->
{{GuiCommand
{{GuiCommand
|Name=TechDraw ProjectionGroup
|Name=TechDraw ProjectionGroup
|MenuLocation=TechDraw → Insert Projection Group
|MenuLocation=TechDraw → Insert Projection Group
|Workbenches=[[TechDraw Module|TechDraw]]
|Workbenches=[[TechDraw Module|TechDraw]]
|Shortcut=
|Shortcut=
|SeeAlso=[[TechDraw_View|Insert View]], [[TechDraw_SectionView|Insert Section View]]
|SeeAlso=[[TechDraw_View|TechDraw Insert View]], [[TechDraw_SectionView|TechDraw Insert Section View]]
|Version=
|Version=
}}
}}

Revision as of 09:36, 9 April 2020

TechDraw ProjectionGroup

Menu location
TechDraw → Insert Projection Group
Workbenches
TechDraw
Default shortcut
None
Introduced in version
-
See also
TechDraw Insert View, TechDraw Insert Section View

Description

The ProjectionGroup tool creates a multiview projection of one or more 3D objects. The isometric views of the 4 front corners can also be included.

If you only want to produce a single view, there is no advantage in using ProjectionGroup; you should then use Insert View instead. If you do not wish to use the traditional first- / third-angle projection, you should use multiple Views (Insert View) instead of ProjectionGroup.

Three orthogonal views and one isometric view of a solid object

Usage

  1. Select one or more Body and/or Part objects in the 3D window or tree. If you have multiple drawing pages in your document, you will also need to select the desired page in the tree.
  2. Press the Insert Projection Group button.
  3. A dialog will open in which you can select which views should appear in the group, the group's scale and other parameters:

Projection Group task panel. The central field indicates the current view direction with percentages of the x, y and z-axes.

After you created the Projection Group you can move the group as a whole by dragging the central view. You can also move the projection views by dragging.

Properties

  • DataAnchor: The central view in the group. Normally the Front view.
  • DataProjectionType: "First Angle" or Third Angle".
  • DataAutoDistribute: If true, space out individual views automatically. Use false to position manually.
  • DataspacingX: Horizontal space between views when automatically positioned. Note that Scale and the size of other views in the group also influence the spacing.
  • DataspacingY: Vertical space between views when automatically positioned.

The ProjectionGroup as a whole inherits X, Y, ScaleType, Scale and Rotation from the basic View.

Individual Views within the group inherit all part view properties, but the ProjectionGroup object controls the scale of all its member Views.

The RotationVector property of individual Views within the group is deprecated as of v0.19. Use XDirection instead.

Note that the central box displays the current projection direction of the primary view. It cannot be used to change the direction.

Scripting

See also: TechDraw API and FreeCAD Scripting Basics.

The NewProjGroup tool can be used in macros and from the Python console. A full script is available in the Source distribution in "source-dir/src/Mod/TechDraw/TDTest/DProjGroupTest.py".

#make a page
    print("making a page")
    page = FreeCAD.ActiveDocument.addObject('TechDraw::DrawPage','Page')
    FreeCAD.ActiveDocument.addObject('TechDraw::DrawSVGTemplate','Template')
    FreeCAD.ActiveDocument.Template.Template = templateFileSpec
    FreeCAD.ActiveDocument.Page.Template = FreeCAD.ActiveDocument.Template

    #make projection group
    group = FreeCAD.ActiveDocument.addObject('TechDraw::DrawProjGroup','ProjGroup')
    rc = page.addView(group)
    group.Source = [fusion]

    #add Front(Anchor) view
    frontView = group.addProjection("Front")               ##need an Anchor

    #update group
    group.Anchor.Direction = FreeCAD.Vector(0,0,1)
    group.Anchor.RotationVector = FreeCAD.Vector(1,0,0)

    #add more projections
    leftView = group.addProjection("Left")
    topView = group.addProjection("Top")
    rightView = group.addProjection("Right")
    rearView = group.addProjection("Rear")
    BottomView = group.addProjection("Bottom")

    #remove a view from projection group
    iv = group.removeProjection("Left")

Programming note: The Projection Group should always be added to the Page (ex. page.addView(group) before adding projections to the Group. This allows the Projection Group to use default parameter values derived from the parent page.