TechDraw ProjectionGroup/es: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
Line 1: Line 1:
<languages/>
<languages/>

<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
{{Docnav/es
{{Docnav/es
Line 38: Line 39:
# There are several ways to invoke the tool:
# There are several ways to invoke the tool:
#* Press the {{Button|[[Image:TechDraw_ProjectionGroup.svg|16px]] [[TechDraw_ProjectionGroup|Insert Projection Group]]}} button.
#* Press the {{Button|[[Image:TechDraw_ProjectionGroup.svg|16px]] [[TechDraw_ProjectionGroup|Insert Projection Group]]}} button.
#* Select the {{MenuCommand|TechDraw → [[Image:TechDraw_ProjectionGroup.svg|16px]] Insert Projection Group}} option from the menu.
#* Select the {{MenuCommand|TechDraw → TechDraw Views → [[Image:TechDraw_ProjectionGroup.svg|16px]] Insert Projection Group}} option from the menu.
# If there are multiple drawing pages in the document and you have not yet selected a page, the {{MenuCommand|Page Chooser}} dialog box opens: {{Version|0.20}}
# If there are multiple drawing pages in the document and you have not yet selected a page, the {{MenuCommand|Page Chooser}} dialog box opens: {{Version|0.20}}
## Select the desired page.
## Select the desired page.
Line 94: Line 95:
See also: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] and [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]].
See also: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] and [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]].


To add a new Projection Group on a new Page in the active document:
The NewProjGroup tool can be used in [[Macros|macros]] and from the [[Python|Python]] console. A full script is available in the Source distribution in "source-dir/src/Mod/TechDraw/TDTest/DProjGroupTest.py".


{{Code|code=
{{Code|code=
import FreeCAD as App
#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


doc = App.ActiveDocument
#make projection group
group = FreeCAD.ActiveDocument.addObject('TechDraw::DrawProjGroup','ProjGroup')
cyl = doc.addObject("Part::Cylinder", "Cylinder")
doc.recompute()
rc = page.addView(group)
group.Source = [fusion]


page = doc.addObject("TechDraw::DrawPage", "Page")
#add Front(Anchor) view
template = doc.addObject("TechDraw::DrawSVGTemplate", "Template")
frontView = group.addProjection("Front") ##need an Anchor
template.Template = App.getResourceDir() + "Mod/TechDraw/Templates/A4_LandscapeTD.svg"
page.Template = template


group = doc.addObject("TechDraw::DrawProjGroup", "ProjGroup")
#update group
page.addView(group)
group.Anchor.Direction = FreeCAD.Vector(0,0,1)
group.Source = [cyl]
group.Anchor.RotationVector = FreeCAD.Vector(1,0,0)
group.ProjectionType = "Third Angle"


front_view = group.addProjection("Front") # First projection will become the Anchor.
#add more projections
group.Anchor.Direction = (0, 1, 0)
leftView = group.addProjection("Left")
group.Anchor.RotationVector = (1, 0, 0)
topView = group.addProjection("Top")
rightView = group.addProjection("Right")
rearView = group.addProjection("Rear")
BottomView = group.addProjection("Bottom")


left_view = group.addProjection("Left")
#remove a view from projection group
iv = group.removeProjection("Left")
top_view = group.addProjection("Top")


doc.recompute()
}}
}}


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.
Note: The Projection Group should always be added to the Page, {{Incode|page.addView(group)}}, before adding projections to the Group. This allows the Projection Group to use default parameter values derived from the parent page.





Revision as of 18:12, 24 July 2023

TechDraw ProjectionGroup

Ubicación en el Menú
TechDraw → Insert Projection Group
Entornos de trabajo
TechDraw
Atajo de teclado por defecto
Ninguno
Introducido en versión
-
Ver también
Insert View, Insert Section View

Description

The TechDraw 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. Optionally rotate the 3D view. The camera direction in the 3D view determines the initial value of the Primary Direction of the Projection Group (the DatosDirection property of the central view).
  2. Select one or more objects in the 3D view or Tree view.
  3. If there are multiple drawing pages in the document: optionally add the desired page to the selection by selecting it in the Tree view.
  4. There are several ways to invoke the tool:
    • Press the Insert Projection Group button.
    • Select the TechDraw → TechDraw Views → Insert Projection Group option from the menu.
  5. If there are multiple drawing pages in the document and you have not yet selected a page, the Page Chooser dialog box opens: introduced in version 0.20
    1. Select the desired page.
    2. Press the OK button.
  6. The Projection Group task panel opens.
  7. Select which views should appear in the Projection Group, and the Projection Group's scale and other parameters.
  8. Press the OK button.
  9. Optionally move the Projection Group by dragging its central view.
  10. Optionally move the Projection Group's other views relative to the central view by dragging them individually.

Projection Group task panel. The Primary Direction field indicates the current view direction.

Properties

Data

Base

  • DatosSource (LinkList): Links to the drawable objects to be depicted.
  • DatosXSource (XLinkList): Links to the drawable objects in an external file.
  • DatosAnchor (Link): The central view in the group. Normally the Front view.
  • DatosProjectionType (Enumeration): First Angle or Third Angle.

For the other properties in this group see TechDraw View.

Collection

  • DatosViews (LinkList): Links to the views in this ProjectionGroup.

Distribute

  • DatosAuto Distribute (Bool): If true, space out individual views automatically. Use false to position manually.
  • Datosspacing X (Length): Horizontal space between views when automatically positioned. Note that Scale and the size of other views in the group also influence the spacing.
  • Datosspacing Y (Length): Vertical space between views when automatically positioned.

View

Base

See TechDraw View.

Notes

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: Autogenerated API documentation and FreeCAD Scripting Basics.

To add a new Projection Group on a new Page in the active document:

import FreeCAD as App

doc = App.ActiveDocument
cyl = doc.addObject("Part::Cylinder", "Cylinder")
doc.recompute()

page = doc.addObject("TechDraw::DrawPage", "Page")
template = doc.addObject("TechDraw::DrawSVGTemplate", "Template")
template.Template = App.getResourceDir() + "Mod/TechDraw/Templates/A4_LandscapeTD.svg"
page.Template = template

group = doc.addObject("TechDraw::DrawProjGroup", "ProjGroup")
page.addView(group)
group.Source = [cyl]
group.ProjectionType = "Third Angle"

front_view = group.addProjection("Front") # First projection will become the Anchor.
group.Anchor.Direction = (0, 1, 0)
group.Anchor.RotationVector = (1, 0, 0)

left_view = group.addProjection("Left")
top_view = group.addProjection("Top")

doc.recompute()

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