Kreslení TrasovéPole

From FreeCAD Documentation
Revision as of 21:02, 2 August 2018 by FuzzyBot (talk | contribs) (Updating to match new version of source page)

Kreslení TrasovéPole

Umístění Menu
Draft → PathArray
Pracovní stoly
Kreslení, Architektura
Výchozí zástupce
Nikdo
Představen ve verzi
-
Viz také
Draft Array

Popis

Nástroj TrasovéPole umístí vybraný tvar na vybranou trasu. Trasa může být drát nebo jedna nebo více hran. Tvary na trase mohou být volitelně zarovnány podle trasy. Podle potřeby může být specifikován Vektor pro posunutí tvaru tak, že těžiště tvaru bude na trase. Pokud není vybrán žádný objekt, budete vyzváni k jeho výběru.

Použití

  1. Vyberte objekt tvaru, který chcete kopírovat.
  2. Vyberte objekt trasy, po které chcete tvar kopírovat -nebo-
  3. Vyberte nějaké hrany pro určení trasy.
  4. Stiskněte tlačítko Kreslení TrasovéPole.

Volby

  • Pole začne s kopiemi tvaru, které nejsou zarovnány podle trasy ani defaultně posunuty na novou pozici. Ve vlastnostech můžete měnit počet, zarovnání a/nebo vektor posunutí.

Vlastnosti

  • ÚdajeBase: Objekt tvaru
  • ÚdajePathObj: Objekt trasy
  • ÚdajePathSubs: Subelementy(hrany) objektu trasy, které budou použity jako trasa
  • ÚdajeCount: Počet kopií tvaru
  • ÚdajeXlate: Vektor posunutí
  • ÚdajeAlign: Hodnota True pro zarovnání tvarů podle trasy, False pro ponechání tvarů podle jejich původní orientace.

Skriptování

Nástroj TrasovéPole může být využit v makrech a z konzoly Pythonu použitím následující funkce:

makePathArray(shapeobject,pathobject,count,[translationvector],[alignment],[listofpathsubelements])
  • Rozloží požadovaný počet (count) kopií objektu shapeobject podél trasy pathobject nebo subobject (vybrané hrany) pathobjectu. Volitelně posune každou kopii ve směru a vzdálenosti podle FreeCAD.Vectoru pro nastavení rozdílu mezi středem tvaru a referenčním bodem tvaru. Volitelně zarovná baseobject tangenciálně/normálně/binormálně k trase.

Příklad:

import FreeCAD,Draft
Draft.makePathArray(base,path,items,centretrans,orient,pathsubs)

Usage Notes

  • Align + Xlate: When Align is True, the Xlate vector is relative to the local (tangent/normal/binormal) coordinates. When Align is False, the Xlate vector is relative to the global (XYZ) coordinates.

Omezení

  • Tento nástroj je dostupný až od verze 0.14
  • Vlastnost PathSubs se zatím nezobrazuje v seznamu vlastností.

Technical Explanation

When "Align = false", PathArray's logic is quite easy to understand.

Align false
Align false

When "Align = true" the logic is a bit harder to grasp:

  1. Construct Frenet coordinate systems on the path (X is tangent, Z is normal, Y is binormal).
  2. Copy the original object to every on-path coordinate system, so that the global origin is matched with the on-path coordinate system origin.

It is much easier to understand with pictures. The following images show how the array is produced, depending on which plane is the path.

XY Plane
XY Plane

Path on XY Plane

XZ Plane
XZ Plane

Path on XZ Plane

YZ Plane
YZ Plane

Path on YZ Plane

The clear advantage of this logic is that as you reorient the path but not the object, the result is consistent - object remains aligned to the path the way it was before reorienting the path.

(Thanks to @DeepSOIC for this explanation)