# Python: module skeinforge_application.skeinforge_plugins.craft_plugins.multiply

skeinforge_application.skeinforge_plugins.craft_plugins.multiply ($Date: 2008/21/04 $) | index /home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/skeinforge_application/skeinforge_plugins/craft_plugins/multiply.py

Previous / Next / Contents

`
The multiply plugin will take a single object and create an array of objects. It is used when you want to print single object multiple times in a single pass.
You can also position any object using this plugin by setting the center X and center Y to the desired coordinates (0,0 for the center of the print_bed) and setting the number of rows and columns to 1 (effectively setting a 1x1 matrix - printing only a single object).
The multiply manual page is at:
http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Multiply
Besides using the multiply tool, another way of printing many copies of the model is to duplicate the model in Art of Illusion, however many times you want, with the appropriate offsets. Then you can either use the Join Objects script in the scripts submenu to create a combined shape or you can export the whole scene as an xml file, which skeinforge can then slice.
Operation
Settings
Center
Center X
Center Y
Number of Cells
Number of Columns
Number of Rows
Reverse Sequence every Odd Layer
Separation over Perimeter Width
Examples
`

## Operation

The default 'Activate Multiply' checkbox is on. When it is on, the functions described below will work, when it is off, nothing will be done.

## Settings

### Center

Default is the origin.
The center of the shape will be moved to the "Center X" and "Center Y" coordinates.

#### Center X

#### Center Y

### Number of Cells

#### Number of Columns

Default is one.
Defines the number of columns in the array table.

#### Number of Rows

Default is one.
Defines the number of rows in the table.

### Reverse Sequence every Odd Layer

Default is off.
When selected the build sequence will be reversed on every odd layer so that the tool will travel less. The problem is that the builds would be made with different amount of time to cool, so some would be too hot and some too cold, which is why the default is off.

### Separation over Perimeter Width

Default is fifteen.
Defines the ratio of separation between the shape copies over the edge width.

## Examples

The following examples multiply the file Screw Holder Bottom.stl. The examples are run in a terminal in the folder which contains Screw Holder Bottom.stl and multiply.py.
> python multiply.py
This brings up the multiply dialog.
> python multiply.py Screw Holder Bottom.stl
The multiply tool is parsing the file:
Screw Holder Bottom.stl
..
The multiply tool has created the file:
.. Screw Holder Bottom_multiply.gcode

Previous / Next / Contents

Modules

``

__init__
fabmetheus_utilities.archive
fabmetheus_utilities.euclidean

fabmetheus_utilities.fabmetheus_tools.fabmetheus_interpret
fabmetheus_utilities.gcodec
fabmetheus_utilities.intercircle

math
fabmetheus_utilities.settings
skeinforge_application.skeinforge_utilities.skeinforge_craft

skeinforge_application.skeinforge_utilities.skeinforge_polyfile
skeinforge_application.skeinforge_utilities.skeinforge_profile
sys

Classes

``

MultiplyRepository
MultiplySkein

class MultiplyRepository
`` | `A class to handle the multiply settings.`

Methods defined here:

__init__(self)
  `Set the default settings, execute title & settings fileName.`

execute(self)
  `Multiply button has been clicked.`

class MultiplySkein
`` | `A class to multiply a skein of extrusions.`

Methods defined here:

__init__(self)

addElement(self, offset)
  `Add moved element to the output.`

addLayer(self)
  `Add multiplied layer to the output.`

addRemoveThroughLayer(self)
  `Parse gcode initialization and store the parameters.`

getCraftedGcode(self, gcodeText, repository)
  `Parse gcode text and store the multiply gcode.`

getMovedLocationSetOldLocation(self, offset, splitLine)
  `Get the moved location and set the old location.`

parseInitialization(self)
  `Parse gcode initialization and store the parameters.`

parseLine(self, line)
  `Parse a gcode line and add it to the multiply skein.`

setCorners(self)
  `Set maximum and minimum corners and z.`

Functions

``

getCraftedText(fileName, text='', repository=None)
  `Multiply the fill file or text.`

getCraftedTextFromText(gcodeText, repository=None)
  `Multiply the fill text.`

getNewRepository()
  `Get new repository.`

main()
  `Display the multiply dialog.`

writeOutput(fileName, shouldAnalyze=True)
  `Multiply a gcode linear move file.`

Data
`` |  | __author__ = 'Enrique Perez (perez_enrique@yahoo.com)' __date__ = '$Date: 2008/21/04 $' __license__ = 'GNU Affero General Public License http://www.gnu.org/licenses/agpl.html' absolute_import = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)

Author
`` |  | Enrique Perez (perez_enrique@yahoo.com)