# Python: module skeinforge_application.skeinforge_plugins.craft_plugins.drill

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

Previous / Next / Contents

`
Drill is a script to drill down small holes.
Operation
Settings
Drilling Margin
Drilling Margin on Top
Drilling Margin on Bottom
Examples
`

## Operation

The default 'Activate Drill' checkbox is on. When it is on, the functions described below will work, when it is off, the functions will not be called.

## Settings

### Drilling Margin

The drill script will move the tool from the top of the hole plus the 'Drilling Margin on Top', to the bottom of the hole minus the 'Drilling Margin on Bottom'.

### Drilling Margin on Top

Default is three millimeters.

### Drilling Margin on Bottom

Default is one millimeter.

## Examples

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

Previous / Next / Contents

Modules

``

__init__
fabmetheus_utilities.archive
fabmetheus_utilities.euclidean

fabmetheus_utilities.fabmetheus_tools.fabmetheus_interpret
fabmetheus_utilities.gcodec
fabmetheus_utilities.intercircle

fabmetheus_utilities.settings
skeinforge_application.skeinforge_utilities.skeinforge_craft
skeinforge_application.skeinforge_utilities.skeinforge_polyfile

skeinforge_application.skeinforge_utilities.skeinforge_profile
sys

Classes

``

DrillRepository
DrillSkein
ThreadLayer

class DrillRepository
`` | `A class to handle the drill settings.`

Methods defined here:

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

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

class DrillSkein
`` | `A class to drill a skein of extrusions.`

Methods defined here:

__init__(self)

addDrillHoles(self)
  `Parse a gcode line.`

addGcodeFromVerticalThread(self, point, zBegin, zEnd)
  `Add a thread to the output.`

addThreadLayerIfNone(self)
  `Add a thread layer if it is none.`

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

getDrillingCenterDepth(self, drillingCenterDepth, drillPoint)
  `Get the drilling center depth.`

isPointClose(self, drillPoint, points)
  `Determine if a point on the thread layer is close.`

linearMove(self, splitLine)
  `Add a linear move to the loop.`

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

parseLine(self, line)
  `Parse a gcode line.`

parseNestedRing(self, line)
  `Parse a nested ring.`

class ThreadLayer
`` | `A layer of loops and paths.`

Methods defined here:

__init__(self, z)
  `Thread layer constructor.`

__repr__(self)
  `Get the string representation of this thread layer.`

Functions

``

getCraftedText(fileName, text, repository=None)
  `Drill a gcode linear move file or text.`

getCraftedTextFromText(gcodeText, repository=None)
  `Drill a gcode linear move text.`

getNewRepository()
  `Get new repository.`

getPolygonCenter(polygon)
  `Get the centroid of a polygon.`

main()
  `Display the drill dialog.`

writeOutput(fileName, shouldAnalyze=True)
  `Drill 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)