Macro ArrayCopy/es: Difference between revisions
(Updating to match new version of source page) |
(Updating to match new version of source page) |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
<languages/> |
||
<div class="mw-translate-fuzzy"> |
|||
{{Macro/es |
{{Macro/es |
||
|Name=ArrayCopy |
|Name=ArrayCopy |
||
|Icon=Macro_ArrayCopy.png |
|||
|Translate=ArrayCopy |
|Translate=ArrayCopy |
||
|Description=Esta macro copia el objeto seleccionado varias veces, a lo largo de una matriz rectangular |
|Description=Esta macro copia el objeto seleccionado varias veces, a lo largo de una matriz rectangular |
||
Line 8: | Line 8: | ||
|Version=1.0 |
|Version=1.0 |
||
|Date=2014-05-04 |
|Date=2014-05-04 |
||
|FCVersion=All |
|||
|Download=[https://www.freecadweb.org/wiki/images/9/9d/Macro_ArrayCopy.png ToolBar Icon] |
|||
}} |
}} |
||
</div> |
|||
==Descriptivo== |
==Descriptivo== |
||
Line 19: | Line 20: | ||
'''Macro_ArrayCopy.FCMacro''' |
'''Macro_ArrayCopy.FCMacro''' |
||
{{ |
{{MacroCode|code= |
||
import FreeCAD, FreeCADGui, Part |
import FreeCAD, FreeCADGui, Part |
Latest revision as of 09:44, 23 May 2020
Descripción |
---|
Esta macro copia el objeto seleccionado varias veces, a lo largo de una matriz rectangular Versión macro : 1.0 Fecha última modificación : 2014-05-04 Versión FreeCAD : All Descargar : ToolBar Icon Autor : Yorik |
Autor |
Yorik |
Descargar |
ToolBar Icon |
Enlace |
Macros recipes How to install macros How to customize toolbars |
Versión Macro |
1.0 |
Fecha última modificación |
2014-05-04 |
Versión(es) FreeCAD |
All |
Acceso directo predeterminado |
None |
Ver también |
None |
Descriptivo
Esta macro copia el objeto seleccionado varias veces, a lo largo de una matriz rectangular. Puedes definir el número de filas y columnas y la distancia entre ellas.
Script
Macro_ArrayCopy.FCMacro
import FreeCAD, FreeCADGui, Part from PySide import QtGui,QtCore def proceed(): try: u = (int(l1.text()),float(l2.text())) v = (int(l3.text()),float(l4.text())) except: FreeCAD.Console.PrintError("Wrong input! Only numbers allowed...\n") sel = FreeCADGui.Selection.getSelection() if sel: sel = sel[0] name = sel.Name shape = sel.Shape for column in range(u[0]): for row in range(v[0]): if (column != 0) or (row != 0): delta = FreeCAD.Vector(column*u[1],row*v[1],0) newshape = sel.Shape.copy() newshape.translate(delta) newobject = FreeCAD.ActiveDocument.addObject("Part::Feature",name) newobject.Shape = newshape else: FreeCAD.Console.PrintError("Error: One object must be selected") hide() def hide(): dialog.hide() dialog = QtGui.QDialog() dialog.resize(200,300) dialog.setWindowTitle("Array") la = QtGui.QVBoxLayout(dialog) t1 = QtGui.QLabel("number of columns") la.addWidget(t1) l1 = QtGui.QLineEdit() la.addWidget(l1) t2 = QtGui.QLabel("distance between columns") la.addWidget(t2) l2 = QtGui.QLineEdit() la.addWidget(l2) t3 = QtGui.QLabel("number of rows") la.addWidget(t3) l3 = QtGui.QLineEdit() la.addWidget(l3) t4 = QtGui.QLabel("distance between rows") la.addWidget(t4) l4 = QtGui.QLineEdit() la.addWidget(l4) okbox = QtGui.QDialogButtonBox(dialog) okbox.setOrientation(QtCore.Qt.Horizontal) okbox.setStandardButtons(QtGui.QDialogButtonBox.Cancel