CAM Shape/fr: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
Line 65: Line 65:
{{Emphasis|See also:}} [[FreeCAD Scripting Basics|FreeCAD Scripts de Base]].
{{Emphasis|See also:}} [[FreeCAD Scripting Basics|FreeCAD Scripts de Base]].


====DocString Info====
<div class="mw-translate-fuzzy">
Returns a Path object from a list of shapes
Exemple:

{{Code|code=#Place code example here.}}
* shapes: input list of shapes.
</div>

* start (Vector()): feed start position, and also serves as a hint of path entry.

* return_end (False): if True, returns tuple (path, endPosition).

* arc_plane(1): 0=None,1=Auto,2=XY,3=ZX,4=YZ,5=Variable. Arc drawing plane, corresponding to G17, G18, and G19.
If not 'None', the output wires will be transformed to align with the selected plane,
and the corresponding GCode will be inserted.
'Auto' means the plane is determined by the first encountered arc plane. If the found
plane does not align to any GCode plane, XY plane is used.
'Variable' means the arc plane can be changed during operation to align to the
arc encountered.

* sort_mode(1): 0=None,1=2D5,2=3D,3=Greedy. Wire sorting mode to optimize travel distance.
'2D5' explode shapes into wires, and groups the shapes by its plane. The 'start' position
chooses the first plane to start. The algorithm will then sort within the plane and then
move on to the next nearest plane.
'3D' makes no assumption of planarity. The sorting is done across 3D space.
'Greedy' like '2D5' but will try to minimize travel by searching for nearest path below
the current milling layer. The path in lower layer is only selected if the moving distance
is within the value given in 'threshold'.

* min_dist(0.0): minimum distance for the generated new wires. Wires maybe broken if the
algorithm see fits. Set to zero to disable wire breaking.

* abscissa(3.0): Controls vertex sampling on wire for nearest point searching
The sampling is dong using OCC GCPnts_UniformAbscissa

* nearest_k(3): Nearest k sampling vertices are considered during sorting

* orientation(0): 0=Normal,1=Reversed. Enforce loop orientation
'Normal' means CCW for outer wires when looking against the positive axis direction,
and CW for inner wires. 'Reversed' means the other way round

* direction(0): 0=None,1=XPositive,2=XNegative,3=YPositive,4=YNegative,5=ZPositive,6=ZNegative. Enforce open path direction

* threshold(0.0): If two wire's end points are separated within this threshold, they are consider
as connected. You may want to set this to the tool diameter to keep the tool down.

* retract_axis(2): 0=X,1=Y,2=Z. Tool retraction axis

* retraction(0.0): Tool retraction absolute coordinate along retraction axis

* resume_height(0.0): When return from last retraction, this gives the pause height relative to the Z
value of the next move.

* segmentation(0.0): Break long curves into segments of this length. One use case is for PCB autolevel,
so that more correction points can be inserted

* feedrate(0.0): Normal move feed rate

* feedrate_v(0.0): Vertical only (step down) move feed rate

* verbose(true): If true, each motion GCode will contain full coordinate and feedrate

* abs_center(false): Use absolute arc center mode (G90.1)

* preamble(true): Emit preambles

* deflection(0.01): Deflection for non circular curve discretization. It also also used for
discretizing circular wires when you 'Explode' the shape for wire operations

====Example:====
{{Code|code=
shapes = [Box.Shape]
Path.fromShapes(shapes, start=Vector(), return_end=False arc_plane=1, sort_mode=1, min_dist=0.0, abscissa=3.0, nearest_k=3, orientation=0, direction=0, threshold=0.0, retract_axis=2, retraction=0.0, resume_height=0.0, segmentation=0.0, feedrate=0.0, feedrate_v=0.0, verbose=true, abs_center=false, preamble=true, deflection=0.01)
}}


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">

Revision as of 12:22, 16 February 2020

This documentation is not finished. Please help and contribute documentation.

GuiCommand model explains how commands should be documented. Browse Category:UnfinishedDocu to see more incomplete pages like this one. See Category:Command Reference for all commands.

See WikiPages to learn about editing the wiki pages, and go to Help FreeCAD to learn about other ways in which you can contribute.

Pour utiliser cette fonctionnalité d'activation expérimentale, vous devez activer les fonctionnalités expérimentales


Path Parcours à partir de formes

Emplacement du menu
Path → Partial commands → From Shape
Ateliers
Path
Raccourci par défaut
Aucun
Introduit dans la version
-
Voir aussi
Aucun

Description

Parcours d'usinage à partir de formes ne correspond pas au flux de travail Path actuel. Pour cette raison, il est déplacé vers les fonctionnalités expérimentales.


Cet outil génère des parcours d'outils à partir des bords d'un objet Parcours.

Les parcours d'outils ne sont pas compensés pour le rayon d'outil. Aucun contrôleur d'outil n'est associé aux parcours d'outils générés.

Utilisation

Toutes les arêtes associées à la sélection du modèle 3D seront incluses.

  1. Sélectionnez les arêtes en sélectionnant l'objet entier à partir de la vue 3D ou de l'arborescence du document, ou en sélectionnant des arêtes individuelles, ou par Faces à partir de la vue 3D.
  2. Appuyez sur le bouton à partir de la forme

Le parcours d'outil est ajouté en dehors du travail de Path.

Options

Toutes les options fournies sont disponibles uniquement à partir de la vue FromShape.Property.Data et incluent:

  • Axe de rétraction
  • Hauteur de rétraction
  • Reprendre la hauteur
  • Vitesse d'avance
  • Vitesse d'avance verticale

Propriétés

Données

Empty

Vue

Empty

Script

See also: FreeCAD Scripts de Base.

DocString Info

Returns a Path object from a list of shapes

  • shapes: input list of shapes.
  • start (Vector()): feed start position, and also serves as a hint of path entry.
  • return_end (False): if True, returns tuple (path, endPosition).
  • arc_plane(1): 0=None,1=Auto,2=XY,3=ZX,4=YZ,5=Variable. Arc drawing plane, corresponding to G17, G18, and G19.

If not 'None', the output wires will be transformed to align with the selected plane, and the corresponding GCode will be inserted. 'Auto' means the plane is determined by the first encountered arc plane. If the found plane does not align to any GCode plane, XY plane is used. 'Variable' means the arc plane can be changed during operation to align to the arc encountered.

  • sort_mode(1): 0=None,1=2D5,2=3D,3=Greedy. Wire sorting mode to optimize travel distance.

'2D5' explode shapes into wires, and groups the shapes by its plane. The 'start' position chooses the first plane to start. The algorithm will then sort within the plane and then move on to the next nearest plane. '3D' makes no assumption of planarity. The sorting is done across 3D space. 'Greedy' like '2D5' but will try to minimize travel by searching for nearest path below the current milling layer. The path in lower layer is only selected if the moving distance is within the value given in 'threshold'.

  • min_dist(0.0): minimum distance for the generated new wires. Wires maybe broken if the

algorithm see fits. Set to zero to disable wire breaking.

  • abscissa(3.0): Controls vertex sampling on wire for nearest point searching

The sampling is dong using OCC GCPnts_UniformAbscissa

  • nearest_k(3): Nearest k sampling vertices are considered during sorting
  • orientation(0): 0=Normal,1=Reversed. Enforce loop orientation

'Normal' means CCW for outer wires when looking against the positive axis direction, and CW for inner wires. 'Reversed' means the other way round

  • direction(0): 0=None,1=XPositive,2=XNegative,3=YPositive,4=YNegative,5=ZPositive,6=ZNegative. Enforce open path direction
  • threshold(0.0): If two wire's end points are separated within this threshold, they are consider

as connected. You may want to set this to the tool diameter to keep the tool down.

  • retract_axis(2): 0=X,1=Y,2=Z. Tool retraction axis
  • retraction(0.0): Tool retraction absolute coordinate along retraction axis
  • resume_height(0.0): When return from last retraction, this gives the pause height relative to the Z

value of the next move.

  • segmentation(0.0): Break long curves into segments of this length. One use case is for PCB autolevel,

so that more correction points can be inserted

  • feedrate(0.0): Normal move feed rate
  • feedrate_v(0.0): Vertical only (step down) move feed rate
  • verbose(true): If true, each motion GCode will contain full coordinate and feedrate
  • abs_center(false): Use absolute arc center mode (G90.1)
  • preamble(true): Emit preambles
  • deflection(0.01): Deflection for non circular curve discretization. It also also used for

discretizing circular wires when you 'Explode' the shape for wire operations

Example:

shapes = [Box.Shape]
Path.fromShapes(shapes, start=Vector(), return_end=False arc_plane=1, sort_mode=1, min_dist=0.0, abscissa=3.0, nearest_k=3, orientation=0, direction=0, threshold=0.0, retract_axis=2, retraction=0.0, resume_height=0.0, segmentation=0.0, feedrate=0.0, feedrate_v=0.0, verbose=true, abs_center=false, preamble=true, deflection=0.01)