Macro CloneConvert/it

Descrizione
Crea un clone o una copia dell'oggetto, lo colloca nella posizione indicata e con le dimensioni desiderate (cm, mm, m, um ...) a piacere. L'originale, cioè l'oggetto selezionato, è riconosciuto in mm (secondo il sistema base di FreeCAD)

Utilizzo
Avviare la macro, definire le impostazioni XYZ se è necessario, scegliere "Clone" oppure "Copia", scegliere una unità di conversione, selezionare l'oggetto e poi fare clic su il pulsante per avviare l'operazione.

Se non viene inserito alcun valore verrà creata una copia o un clone senza modifiche. Se non è selezionato alcun oggetto il pulsante sarà colorato in rosso.

Il valore di BoundingBox, Volume e Surface sono indicate nella vista Report, nel caso di oggetti Copy multiple, il display visualia BoundingBox 0.0.

L'unità di base e il mm. L'originale viene quindi considerato come un oggetto in cui l'unità di misura è il mm.

Esempio di conversione di uno cubo avente il lato di 1 mm in un cubo avente lato 25,4 mm:

Selezionare nel comboBox l'unità inch, 1 inch = 25.4 mm, notare che il valore nei campi "Scale free" si adeguano automaticamente a 25.4 che corrisponde appunto a 1 pollice (per impostare scalature differenti secondo gli assi, i valori ​​in "Scale-free" possono essere modificati individualmente). Cliccare sul pulsante. Il cubo clone creato in questo modo ha le dimensioni di 25,4 mm

Operazione inversa :

Per convertire un oggetto, ad esempio un cubo di 25,4 mm (1 inch) in un cubo di 1mm x 1mm x 1mm, utilizzare la formula 1 / 25,4 = 0,0393700 e inserire il valore 0,0393700 (con la virgola) nel campo Scale X, Y e Z.

Per un cubo di 5mm, fare 5 / 25,4 = 0,1968503e inserire il valore 0,1968503 (con la virgola) nel campo Scale X, Y e Z.

150% = 1,50 nel campo "Scale free"

Operazione inversa:

Per convertire un oggetto, ad esempio un cubo di 25,4 mm (1 inch) in un cubo di 1mm x 1mm x 1mm, utilizzare la formula 1 / 25,4 = 0,0393700 e inserire il valore 0,0393700 (con la virgola) nel campo Scale X, Y e Z.

Per un cubo di 5mm, fare 5 / 25,4 = 0,1968503e inserire il valore 0,1968503 (con la virgola) nel campo Scale X, Y e Z.

50% = 0,50 nel campo "Scale free"

Le unita predefinite sono:

If this is not checked the Placement begin in coordinates 0,0,0 of FreeCAD In case a compound Placement information is [0,0,0] the Placement begin in the position of object If the real location is away from the base coordinates 0,0,0 use the button for the real Placement of the subObject selected Face, Wire, Line ....
 * Mode
 * Clone  : One clone of the objet(s) is create
 * Copy   : One copy of the objet(s) is create
 * Comp   : One compound of the objet(s) is create
 * Increm. : incrementing the coordinates data to the original coordinates of the object (Placement, Rotation ...)


 * Coordinates
 *  : This button align the YZ values on the value of X to have the same values ​​XYZ (or manually). Two click reset the coordinates values to 0.0
 * Coordinate X : Move the copy to the Coordinate X selected (Base 0,0,0 if Increm. is not checked)
 * Coordinate Y : Move the copy to the Coordinate Y selected (Base 0,0,0 if Increm. is not checked)
 * Coordinate Z : Move the copy to the Coordinate Z selected (Base 0,0,0 if Increm. is not checked)

Two click reset the rotations values to 0.0
 * Rotation
 *  : This button align the Pitch and Roll values on the value of Yaw to have the same values ​​Rotation (or manually)
 * Yaw (Z )   : Rotate the copy to the axis Z (Yaw) (Begin 0 if Increm. is not checked)
 * Pitch ( Y ) : Rotate the copy to the axis Y (Pitch) (Begin 0 if Increm. is not checked)
 * Roll ( X ) : Rotate the copy to the axis X (Roll) (Begin 0 if Increm. is not checked)


 * Scale predefined
 * Scale predefined : predefined scales in units, km, hm, dam, m, dm, cm, mm, µm, nm, inch, link, foot, yard, perch, chain, furlong, mile, league, nautique or choose a free value in the Scale free field.


 * Number copy 
 * Number copy : number of copies

Two click reset the scales values to 1.0
 * Scale free
 *  : This button align the Scales values on the value of Scale X to have the same values ​​XYZ (or manually)
 * Scale X : free scale, if the value is negative ( -10) , the object is scaled x 10 and will be reversed in the X axis, to reduce the shape give a decimal value (0,5)
 * Scale Y : free scale, if the value is negative ( -10) , the object is scaled x 10 and will be reversed in the Y axis, to reduce the shape give a decimal value (0,5)
 * Scale Z : free scale, if the value is negative ( -10) , the object is scaled x 10 and will be reversed in the Z axis, to reduce the shape give a decimal value (0,5)

This option is useful in case a compound Placement information [0,0,0] and its real location is away from the base coordinates 0,0,0 (gives no provide information about the rotation of the object)
 *  : Give the valueAt the subObject selected Face, Wire, Line ...
 *  : the OK button validates and launches the command, if no object is selected the button will be coloured in red
 *  : the Reset button puts all the values to zero
 *  : the Quit button exit the macro

Script
L'icona di Macro_CloneConvert:

Macro_CloneConvert.FCMacro

Revision
14/06/2016 ver 0.9 = adding the choice of number of copies and labels optimization

31/01/2016 ver 0.8 = modify the buttons reset section for two click for reset (in case modification the value)

30/01/2016 ver 0.7 = rewriting code with Placement and Increment and adding buttons Compound, Increment, ValueAt,

26/01/2016 ver 0.6 = correction placement with many objets Copy

26/07/2015 ver 0.5 = correction rotate many objects Function Copy

25/07/2015 ver 0.4 = adding rotation

11/08/2014 replace "AttributeError" to "Exception"

02/07/2014 ver. 0.3 = modified to operate PyQt4 and PySide

09/05/2014 ver. 0.2 = adding function "Copy"