files brynjarh23 found on the basement computer

This commit is contained in:
2025-10-16 14:42:56 +00:00
parent 6e31fe8cad
commit b820ff3a07
3784 changed files with 654066 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
raft.csv:Object First Layer Feed Rate Infill Multiplier (ratio):=0.4
raft.csv:Object First Layer Feed Rate Perimeter Multiplier (ratio):=0.5
raft.csv:Object First Layer Flow Rate Multiplier (ratio):=0.5
raft.csv:Operating Nozzle Lift over Layer Thickness (ratio):=1.0
bottom.csv:Altitude (mm):=0.1

View File

@@ -0,0 +1,22 @@
diff -P -u -x '*~' -x '\.*' -r SF35-Thingomatic-non-heated/profiles/extrusion/ABS/outline.csv SF35-Thingomatic-HBP/profiles/extrusion/ABS/outline.csv
--- SF35-Thingomatic-non-heated/profiles/extrusion/ABS/outline.csv 2011-02-03 13:51:03.000000000 +0100
+++ SF35-Thingomatic-HBP/profiles/extrusion/ABS/outline.csv 2011-02-03 14:15:36.000000000 +0100
@@ -2,5 +2,5 @@
Name Value
WindowPosition 600+0
Open File for Outline
-Activate Outline False
+Activate Outline True
Outline Margin: 3.0
diff -P -u -x '*~' -x '\.*' -r SF35-Thingomatic-non-heated/profiles/extrusion/ABS/wipe.csv SF35-Thingomatic-HBP-Stepstruder/profiles/extrusion/ABS/wipe.csv
--- SF35-Thingomatic-non-heated/profiles/extrusion/ABS/wipe.csv 2011-02-03 16:59:19.000000000 +0100
+++ SF35-Thingomatic-HBP-Stepstruder/profiles/extrusion/ABS/wipe.csv 2011-02-03 22:53:10.000000000 +0100
@@ -2,7 +2,7 @@
Name Value
WindowPosition 700+0
Open File for Wipe
-Activate Wipe True
+Activate Wipe False
Location Arrival X (mm): 52.0
Location Arrival Y (mm): -57.0
Location Arrival Z (mm): 10.0

View File

@@ -0,0 +1,117 @@
diff -P -u -x '*~' -x '\.*' -r SF35-Thingomatic-HBP/alterations/end.gcode SF35-Thingomatic-HBP-Stepstruder/alterations/end.gcode
--- SF35-Thingomatic-HBP/alterations/end.gcode 2011-02-04 17:50:42.000000000 +0100
+++ SF35-Thingomatic-HBP-Stepstruder/alterations/end.gcode 2011-02-04 17:50:42.000000000 +0100
@@ -8,6 +8,7 @@
G1 X0.0 Y55.0 F3300.0 (move to cooling position)
(**** end move to cooling position ****)
(**** begin filament reversal ****)
+M108 R1.98 (set extruder speed)
M102 (Extruder on, reverse)
G04 P2000 (Wait t/1000 seconds)
M103 (Extruder off)
diff -P -u -x '*~' -x '\.*' -r SF35-Thingomatic-HBP/alterations/replace.csv SF35-Thingomatic-HBP-Stepstruder/alterations/replace.csv
--- SF35-Thingomatic-HBP/alterations/replace.csv 2011-02-04 17:50:42.000000000 +0100
+++ SF35-Thingomatic-HBP-Stepstruder/alterations/replace.csv 2011-02-04 17:50:42.000000000 +0100
@@ -1 +1,2 @@
M113 ;M113
+M108 S M108 R
diff -P -u -x '*~' -x '\.*' -r SF35-Thingomatic-HBP/alterations/start.gcode SF35-Thingomatic-HBP-Stepstruder/alterations/start.gcode
--- SF35-Thingomatic-HBP/alterations/start.gcode 2011-02-04 17:50:42.000000000 +0100
+++ SF35-Thingomatic-HBP-Stepstruder/alterations/start.gcode 2011-02-04 17:50:42.000000000 +0100
@@ -3,7 +3,7 @@
(**** begin initialization commands ****)
G21 (set units to mm)
G90 (set positioning to absolute)
-M108 S255 (set extruder speed to maximum)
+M108 R1.98 (set extruder speed)
M103 (Make sure extruder is off)
M104 S225 T0 (set extruder temperature)
M109 S125 T0 (set heated-build-platform temperature)
diff -P -u -x '*~' -x '\.*' -r SF35-Thingomatic-HBP/alterations/start.gcode.orig SF35-Thingomatic-HBP-Stepstruder/alterations/start.gcode.orig
--- SF35-Thingomatic-HBP/alterations/start.gcode.orig 1970-01-01 01:00:00.000000000 +0100
+++ SF35-Thingomatic-HBP-Stepstruder/alterations/start.gcode.orig 2011-02-04 17:50:42.000000000 +0100
@@ -0,0 +1,24 @@
+(**** beginning of start.gcode ****)
+(This file is for a MakerBot Thing-O-Matic)
+(**** begin initialization commands ****)
+G21 (set units to mm)
+G90 (set positioning to absolute)
+M108 S255 (set extruder speed to maximum)
+M103 (Make sure extruder is off)
+M104 S225 T0 (set extruder temperature)
+M109 S125 T0 (set heated-build-platform temperature)
+(**** end initialization commands ****)
+(**** begin homing ****)
+G162 Z F500 (home Z axis maximum)
+G161 X Y F2500 (home XY axes minimum)
+G92 Z80 ( ---=== Set Z axis maximum ===--- )
+G92 X-57.5 Y-57 (set zero for X and Y)
+(**** end homing ****)
+(**** begin pre-wipe commands ****)
+G1 X52 Y-57.0 Z10 F3300.0 (move to waiting position)
+M6 T0 (wait for toolhead parts, nozzle, HBP, etc., to reach temperature)
+M101 (Extruder on, forward)
+G04 P5000 (Wait t/1000 seconds)
+M103 (Extruder off)
+(**** end pre-wipe commands ****)
+(**** end of start.gcode ****)
diff -P -u -x '*~' -x '\.*' -r SF35-Thingomatic-HBP/profiles/extrusion/ABS/carve.csv SF35-Thingomatic-HBP-Stepstruder/profiles/extrusion/ABS/carve.csv
--- SF35-Thingomatic-HBP/profiles/extrusion/ABS/carve.csv 2011-02-04 17:50:42.000000000 +0100
+++ SF35-Thingomatic-HBP-Stepstruder/profiles/extrusion/ABS/carve.csv 2011-02-04 17:50:42.000000000 +0100
@@ -12,5 +12,5 @@
Layers To (index): 912345678
Correct Mesh True
Unproven Mesh False
-Perimeter Width over Thickness (ratio): 1.45
+Perimeter Width over Thickness (ratio): 1.25
SVG Viewer: webbrowser
diff -P -u -x '*~' -x '\.*' -r SF35-Thingomatic-HBP/profiles/extrusion/ABS/cool.csv SF35-Thingomatic-HBP-Stepstruder/profiles/extrusion/ABS/cool.csv
--- SF35-Thingomatic-HBP/profiles/extrusion/ABS/cool.csv 2011-02-04 17:50:42.000000000 +0100
+++ SF35-Thingomatic-HBP-Stepstruder/profiles/extrusion/ABS/cool.csv 2011-02-04 17:51:13.000000000 +0100
@@ -2,7 +2,7 @@
Name Value
WindowPosition 700+0
Open File for Cool
-Activate Cool False
+Activate Cool True
Orbit False
Slow Down True
Maximum Cool (Celcius): 0.0
diff -P -u -x '*~' -x '\.*' -r SF35-Thingomatic-HBP/profiles/extrusion/ABS/fill.csv SF35-Thingomatic-HBP-Stepstruder/profiles/extrusion/ABS/fill.csv
--- SF35-Thingomatic-HBP/profiles/extrusion/ABS/fill.csv 2011-02-04 17:50:42.000000000 +0100
+++ SF35-Thingomatic-HBP-Stepstruder/profiles/extrusion/ABS/fill.csv 2011-02-04 17:50:42.000000000 +0100
@@ -23,7 +23,7 @@
Line False
Infill Perimeter Overlap (ratio): 0.35
Infill Solidity (ratio): 0.25
-Infill Width over Thickness (ratio): 1.5
+Infill Width over Thickness (ratio): 1.25
Solid Surface Thickness (layers): 2
Infill > Loops > Perimeter False
Infill > Perimeter > Loops False
diff -P -u -x '*~' -x '\.*' -r SF35-Thingomatic-HBP/profiles/extrusion/ABS/reversal.csv SF35-Thingomatic-HBP-Stepstruder/profiles/extrusion/ABS/reversal.csv
--- SF35-Thingomatic-HBP/profiles/extrusion/ABS/reversal.csv 2011-02-04 17:50:42.000000000 +0100
+++ SF35-Thingomatic-HBP-Stepstruder/profiles/extrusion/ABS/reversal.csv 2011-02-04 17:50:42.000000000 +0100
@@ -2,7 +2,7 @@
Name Value
WindowPosition 700+0
Open File for Reversal
-Activate Reversal False
+Activate Reversal True
Reversal speed (RPM): 35.0
Reversal time (milliseconds): 70.0
Push-back time (milliseconds): 73.0
diff -P -u -x '*~' -x '\.*' -r SF35-Thingomatic-HBP/profiles/extrusion/ABS/speed.csv SF35-Thingomatic-HBP-Stepstruder/profiles/extrusion/ABS/speed.csv
--- SF35-Thingomatic-HBP/profiles/extrusion/ABS/speed.csv 2011-02-04 17:50:42.000000000 +0100
+++ SF35-Thingomatic-HBP-Stepstruder/profiles/extrusion/ABS/speed.csv 2011-02-04 17:50:42.000000000 +0100
@@ -9,8 +9,8 @@
Duty Cyle at Beginning (portion): 1.0
Duty Cyle at Ending (portion): 0.0
Feed Rate (mm/s): 32.0
-Flow Rate Setting (float): 255.0
+Flow Rate Setting (float): 1.98
Orbital Feed Rate over Operating Feed Rate (ratio): 0.5
Perimeter Feed Rate over Operating Feed Rate (ratio): 1.0
Perimeter Flow Rate over Operating Flow Rate (ratio): 1.0
-Travel Feed Rate (mm/s): 32.0
+Travel Feed Rate (mm/s): 40.0

View File

@@ -0,0 +1,14 @@
diff -P -u -x '*~' -x '\.*' -r SF35-Thingomatic-HBP/alterations/end.gcode SF35-Thingomatic-ABP/alterations/end.gcode
--- SF35-Thingomatic-HBP/alterations/end.gcode 2011-01-26 22:52:40.000000000 +0100
+++ SF35-Thingomatic-ABP/alterations/end.gcode 2011-01-26 22:52:40.000000000 +0100
@@ -15,7 +15,9 @@
M18 (Turn off steppers)
(**** begin eject ****)
M6 T0 (wait for toolhead parts (nozzle, HBP, etc) to reach temperature)
-M01 (Remove the object then click yes.)
+M106 (conveyor on)
+G04 P14000 (wait t/1000 seconds)
+M107 (conveyor off)
(**** end eject ****)
(**** begin cool for safety ****)
M104 S0 T0 (set extruder temperature)

View File

@@ -0,0 +1,54 @@
diff -P -u -x '*~' -x '\.*' -r SF35-Makerbot-baseline/alterations/end.gcode SF35-Thingomatic-baseline/alterations/end.gcode
--- SF35-Makerbot-baseline/alterations/end.gcode 2011-02-03 14:30:23.000000000 +0100
+++ SF35-Thingomatic-baseline/alterations/end.gcode 2011-02-04 15:04:54.000000000 +0100
@@ -1,2 +1,24 @@
(**** Beginning of end.gcode ****)
+(This file is for a MakerBot Thing-O-Matic)
+(*** begin settings ****)
+M109 S95 T0 (set heated-build-platform temperature)
+(**** end settings ****)
+(**** begin move to cooling position ****)
+G1 X0.0 F3300.0 (move to cooling position)
+G1 X0.0 Y55.0 F3300.0 (move to cooling position)
+(**** end move to cooling position ****)
+(**** begin filament reversal ****)
+M102 (Extruder on, reverse)
+G04 P2000 (Wait t/1000 seconds)
+M103 (Extruder off)
+(**** end filament reversal ****)
+M18 (Turn off steppers)
+(**** begin eject ****)
+M6 T0 (wait for toolhead parts (nozzle, HBP, etc) to reach temperature)
+M01 (Remove the object then click yes.)
+(**** end eject ****)
+(**** begin cool for safety ****)
+M104 S0 T0 (set extruder temperature)
+M109 S0 T0 (set heated-build-platform temperature)
+(**** end cool for safety ****)
(**** end of end.gcode ****)
diff -P -u -x '*~' -x '\.*' -r SF35-Makerbot-baseline/alterations/start.gcode SF35-Thingomatic-baseline/alterations/start.gcode
--- SF35-Makerbot-baseline/alterations/start.gcode 2011-02-04 15:17:10.000000000 +0100
+++ SF35-Thingomatic-baseline/alterations/start.gcode 2011-02-04 15:04:54.000000000 +0100
@@ -1,4 +1,5 @@
(**** beginning of start.gcode ****)
+(This file is for a MakerBot Thing-O-Matic)
(**** begin initialization commands ****)
G21 (set units to mm)
G90 (set positioning to absolute)
@@ -8,5 +9,16 @@
M109 S125 T0 (set heated-build-platform temperature)
(**** end initialization commands ****)
(**** begin homing ****)
+G162 Z F500 (home Z axis maximum)
+G161 X Y F2500 (home XY axes minimum)
+G92 Z80 ( ---=== Set Z axis maximum ===--- )
+G92 X-57.5 Y-57 (set zero for X and Y)
(**** end homing ****)
+(**** begin pre-wipe commands ****)
+G1 X52 Y-57.0 Z10 F3300.0 (move to waiting position)
+M6 T0 (wait for toolhead parts, nozzle, HBP, etc., to reach temperature)
+M101 (Extruder on, forward)
+G04 P5000 (Wait t/1000 seconds)
+M103 (Extruder off)
+(**** end pre-wipe commands ****)
(**** end of start.gcode ****)

View File

@@ -0,0 +1,7 @@
speed.csv:Feed Rate (mm/s):=28.0
carve.csv:Layer Thickness (mm):=0.39
fill.csv:Infill Perimeter Overlap (ratio):=0.4
fill.csv:Infill Solidity (ratio):=0.4
fill.csv:Extra Shells on Alternating Solid Layer (layers):=1
fill.csv:Extra Shells on Base (layers):=1
inset.csv:Overlap Removal Width over Perimeter Width (ratio):=0.7

View File

@@ -0,0 +1,89 @@
diff -P -u -x '*~' -x '\.*' -r SF35-cupcake-non-heated/alterations/end.gcode SF35-cupcake-ABP/alterations/end.gcode
--- SF35-cupcake-non-heated/alterations/end.gcode 2011-02-04 16:01:34.000000000 +0100
+++ SF35-cupcake-ABP/alterations/end.gcode 2011-02-04 15:59:47.000000000 +0100
@@ -1,15 +1,31 @@
(**** Beginning of end.gcode ****)
-(**** begin cool for safety ****)
-M104 S0 T0 (set extruder temperature)
-M109 S0 T0 (set heated-build-platform temperature)
-(**** end cool for safety ****)
+(*** begin settings ****)
+M109 S95 T0 (set heated-build-platform temperature)
+(**** end settings ****)
+(**** begin move to cooling position ****)
+G1 X0 Y54 F3300.0 (move to cooling position)
+(**** end move to cooling position ****)
(**** begin filament reversal ****)
M102 (Extruder on, reverse)
G04 P2000 (Wait t/1000 seconds)
M103 (Extruder off)
(**** end filament reversal ****)
-(**** begin move to cooling position ****)
-G91
-G1 Z10
-(**** end move to cooling position ****)
+M18 (Turn off steppers)
+(**** begin eject ****)
+M6 T0 (wait for toolhead parts (nozzle, HBP, etc) to reach temperature)
+M106 (conveyor on)
+G04 P9000 (wait t/1000 seconds)
+M107 (conveyor off)
+(**** end eject ****)
+(**** begin cool for safety ****)
+M104 S0 T0 (set extruder temperature)
+M109 S0 T0 (set heated-build-platform temperature)
+(**** end cool for safety ****)
+(**** start wipe ****)
+G1 X-54 Y-15.5 Z6.0 F2500.0
+G1 X-54 Y15.5 Z6.0 F2500.0
+(**** end wipe ****)
+G1 X0 Y0 F3300.0 (move nozzle to center)
+G1 X0 Y0 Z0 F3300.0 (move nozzle to origin)
(**** end of end.gcode ****)
+
diff -P -u -x '*~' -x '\.*' -r SF35-cupcake-non-heated/alterations/start.gcode SF35-cupcake-ABP/alterations/start.gcode
--- SF35-cupcake-non-heated/alterations/start.gcode 2011-02-04 15:55:38.000000000 +0100
+++ SF35-cupcake-ABP/alterations/start.gcode 2011-02-04 15:55:38.000000000 +0100
@@ -12,15 +12,11 @@
G92 X0 Y0 Z0 (set origin to current position)
(**** end homing ****)
(**** begin pre-wipe commands ****)
-G0 Z15 (Move up for test extrusion)
+G1 X-54 Y-30 Z6 F3300.0 (move to waiting position)
M108 S255 (Extruder speed = max)
M6 T0 (Wait for tool to heat up)
M101 (Extruder on, forward)
G04 P5000 (Wait 5 seconds)
M103 (Extruder off)
(**** end pre-wipe commands ****)
-(**** begin manual wipe ****)
-M01 (The heater is warming up and will do a test extrusion. Click yes after you have cleared the nozzle of the extrusion.)
-(**** end manual wipe ****)
-G0 Z0(Go back to zero.)
(**** end of start.gcode ****)
diff -P -u -x '*~' -x '\.*' -r SF35-cupcake-non-heated/profiles/extrusion/ABS/wipe.csv SF35-cupcake-ABP/profiles/extrusion/ABS/wipe.csv
--- SF35-cupcake-non-heated/profiles/extrusion/ABS/wipe.csv 2011-02-04 15:55:38.000000000 +0100
+++ SF35-cupcake-ABP/profiles/extrusion/ABS/wipe.csv 2011-02-04 15:55:38.000000000 +0100
@@ -3,13 +3,13 @@
WindowPosition 700+0
Open File for Wipe
Activate Wipe True
-Location Arrival X (mm): 52.0
-Location Arrival Y (mm): -57.0
-Location Arrival Z (mm): 10.0
-Location Departure X (mm): 52.0
-Location Departure Y (mm): -30.0
-Location Departure Z (mm): 10.0
-Location Wipe X (mm): 52.0
-Location Wipe Y (mm): -55.0
-Location Wipe Z (mm): 10.0
+Location Arrival X (mm): -54.0
+Location Arrival Y (mm): -30.0
+Location Arrival Z (mm): 6.0
+Location Departure X (mm): -54.0
+Location Departure Y (mm): 4.0
+Location Departure Z (mm): 6.0
+Location Wipe X (mm): -54.0
+Location Wipe Y (mm): 0.0
+Location Wipe Z (mm): 6.0
Wipe Period (layers): 99999999

View File

@@ -0,0 +1,47 @@
diff -P -u -x '*~' -x '\.*' -r SF35-Makerbot-baseline/alterations/end.gcode SF35-cupcake-baseline/alterations/end.gcode
--- SF35-Makerbot-baseline/alterations/end.gcode 2011-02-03 14:30:23.000000000 +0100
+++ SF35-cupcake-baseline/alterations/end.gcode 2011-02-04 16:02:16.000000000 +0100
@@ -1,2 +1,15 @@
(**** Beginning of end.gcode ****)
+(**** begin cool for safety ****)
+M104 S0 T0 (set extruder temperature)
+M109 S0 T0 (set heated-build-platform temperature)
+(**** end cool for safety ****)
+(**** begin filament reversal ****)
+M102 (Extruder on, reverse)
+G04 P2000 (Wait t/1000 seconds)
+M103 (Extruder off)
+(**** end filament reversal ****)
+(**** begin move to cooling position ****)
+G91
+G1 Z10
+(**** end move to cooling position ****)
(**** end of end.gcode ****)
diff -P -u -x '*~' -x '\.*' -r SF35-Makerbot-baseline/alterations/start.gcode SF35-cupcake-baseline/alterations/start.gcode
--- SF35-Makerbot-baseline/alterations/start.gcode 2011-02-04 15:17:10.000000000 +0100
+++ SF35-cupcake-baseline/alterations/start.gcode 2011-02-04 15:55:38.000000000 +0100
@@ -1,4 +1,5 @@
(**** beginning of start.gcode ****)
+(This file is for a MakerBot Cupcake CNC)
(**** begin initialization commands ****)
G21 (set units to mm)
G90 (set positioning to absolute)
@@ -8,5 +9,18 @@
M109 S125 T0 (set heated-build-platform temperature)
(**** end initialization commands ****)
(**** begin homing ****)
+G92 X0 Y0 Z0 (set origin to current position)
(**** end homing ****)
+(**** begin pre-wipe commands ****)
+G0 Z15 (Move up for test extrusion)
+M108 S255 (Extruder speed = max)
+M6 T0 (Wait for tool to heat up)
+M101 (Extruder on, forward)
+G04 P5000 (Wait 5 seconds)
+M103 (Extruder off)
+(**** end pre-wipe commands ****)
+(**** begin manual wipe ****)
+M01 (The heater is warming up and will do a test extrusion. Click yes after you have cleared the nozzle of the extrusion.)
+(**** end manual wipe ****)
+G0 Z0(Go back to zero.)
(**** end of start.gcode ****)

View File

@@ -0,0 +1,98 @@
#!/usr/bin/env python
import sys
import getopt
import os
def processCSV(filename, overrides):
csvlines = [line for line in open(filename, "r")]
try:
csvfile = open(filename, 'w')
except IOError:
print("The file " + filename + " cannot be opened for writing.")
return False
for line in csvlines:
splitline = line.split('\t', 1)
if len(splitline) == 2:
if (splitline[0] in overrides):
splitline[1] = overrides[splitline[0]] + "\n"
del overrides[splitline[0]]
line = '\t'.join(splitline)
csvfile.write(line)
for newvalue in overrides:
csvfile.write(newvalue + "\t" + overrides[newvalue] + "\n")
csvfile.close()
def usage():
print >> sys.stderr, "Usage: " + sys.argv[0] + " -p <prefsdir> -o <overridefile>"
print >> sys.stderr, "Options:"
print >> sys.stderr, " -p, --prefsdir=<dir> Modify the given profile"
print >> sys.stderr, " -o, --overrides=<file> Use these overrides"
if __name__ == "__main__":
# Handle command-line arguments
try:
opts, args = getopt.getopt(sys.argv[1:],
"p:o:", ["prefsdir=", "overrides="])
except getopt.GetoptError:
usage()
sys.exit(2)
prefsdir = None
overrides = None
for opt, arg in opts:
if opt in ("-p", "--prefsdir"):
prefsdir = arg
if opt in ("-o", "--overrides"):
overrides = arg
if len(args) != 0:
usage()
sys.exit(2)
if not prefsdir:
print >> sys.stderr, "Error: No prefsdir given"
usage()
sys.exit(2)
if not overrides:
print >> sys.stderr, "Error: No overrides given"
usage()
sys.exit(2)
# Recursively scan prefsdir for all csv files
csvfiles = {}
for root, _, files in os.walk(prefsdir):
for filename in files:
csvfiles[filename] = os.path.join(root, filename)
# Build dict from overrides
try:
overridelines = [line.rstrip() for line in open(overrides, "r")]
except IOError:
print "Unable to open file " + overrides
sys.exit(1)
overridedict = {} # file.csv -> {name: value}
for override in overridelines:
splitline = override.split(":", 1)
if len(splitline) == 2:
(moduleName,override) = splitline
splitoverride = override.split("=",1)
if len(splitoverride) == 2:
if not moduleName in overridedict: overridedict[moduleName] = {}
overridedict[moduleName][splitoverride[0]] = splitoverride[1]
# print "Updating",
for csvfile in overridedict:
if not csvfile in csvfiles:
print "CSV file not found: " + csvfile
break
# print csvfile,
processCSV(csvfiles[csvfile], overridedict[csvfile])
# print "\n"
sys.exit(0)

View File

@@ -0,0 +1,23 @@
#!/bin/bash
if [ $# -lt 2 ]; then
echo "Usage: $0 <baseline> <overridefile> [<new-profile>]"
exit
fi
BASELINE=$1
OVERRIDES=$2
if [ $# == 3 ]; then
NEWPROFILE=$3
else
NEWPROFILE=new-profile
fi
#echo "Using skeinforge baseline $BASELINE"
#echo "Using override file $OVERRIDES"
#echo "Building $NEWPROFILE"
rm -rf "$NEWPROFILE"
cp -r "$BASELINE" "$NEWPROFILE"
#echo "Applying overrides"
`dirname $0`/apply_overrides.py -p "$NEWPROFILE" -o "$OVERRIDES"

View File

@@ -0,0 +1,98 @@
#!/bin/bash
#
# Profile cascading script
#
# Cascade hierarchy:
#
# Makerbot-baseline
# +--Thingomatic-baseline
# | +--Thingomatic-non-heated
# | +--Thingomatic-HBP
# | | +--Thingomatic-HBP-Stepstruder
# | +--Thingomatic-ABP
# | +--Thingomatic-HBP-Stepstruder
# +--Cupcake-baseline
# +--Cupcake-non-heated
# +--Cupcake-HBP
# +--Cupcake-ABP
#
# Examples of how to generate new diffs (NB! these must be manually examined before use):
# diff -P -u -x "*~" -x "\.*" -r SF35-Makerbot-baseline SF35-Thingomatic-baseline > Thingomatic.diff
# diff -P -u -x "*~" -x "\.*" -r SF35-Makerbot-baseline SF35-cupcake-baseline > cupcake.diff
# diff -P -u -x "*~" -x "\.*" -r SF35-Thingomatic-non-heated SF35-Thingomatic-HBP > HBP.diff
# diff -P -u -x "*~" -x "\.*" -r SF35-Thingomatic-non-heated SF35-Thingomatic-ABP > Thingomatic-ABP.diff
# diff -P -u -x "*~" -x "\.*" -r SF35-Thingomatic-HBP SF35-Thingomatic-HBP-Stepstruder > Stepstruder.diff
# diff -P -u -x "*~" -x "\.*" -r SF35-cupcake-non-heated SF35-cupcake-ABP > cupcake-ABP.diff
#
if [ $# != 2 ]; then
echo "Usage: $0 <skeinforge-version> <diffdir>"
exit
fi
VERSION=$1
DIFFDIR=$2
SCRIPTDIR=$PWD
echo "Using skeinforge version $VERSION"
echo "Patching using $DIFFDIR"
DIFFS=$PWD/$DIFFDIR
cd skeinforge-$VERSION/skeinforge_application/prefs-experimental
echo "Building profiles:"
echo "o SF$VERSION-Thingomatic-baseline"
rm -rf SF$VERSION-Thingomatic-baseline
cp -r SF$VERSION-Makerbot-baseline SF$VERSION-Thingomatic-baseline
cd SF$VERSION-Thingomatic-baseline; patch -s -p1 < $DIFFS/Thingomatic.diff; cd ..
echo "o SF$VERSION-Thingomatic-non-heated"
rm -rf SF$VERSION-Thingomatic-non-heated
cp -r SF$VERSION-Thingomatic-baseline SF$VERSION-Thingomatic-non-heated
echo "o SF$VERSION-Thingomatic-HBP"
rm -rf SF$VERSION-Thingomatic-HBP
cp -r SF$VERSION-Thingomatic-non-heated SF$VERSION-Thingomatic-HBP
cd SF$VERSION-Thingomatic-HBP; patch -s -p1 < $DIFFS/HBP.diff; cd ..
echo "o SF$VERSION-Thingomatic-ABP"
rm -rf SF$VERSION-Thingomatic-ABP
cp -r SF$VERSION-Thingomatic-non-heated SF$VERSION-Thingomatic-ABP
cd SF$VERSION-Thingomatic-ABP; patch -s -p1 < $DIFFS/Thingomatic-ABP.diff; cd ..
echo "o SF$VERSION-Thingomatic-HBP-Stepstruder"
rm -rf SF$VERSION-Thingomatic-HBP-Stepstruder
cp -r SF$VERSION-Thingomatic-HBP SF$VERSION-Thingomatic-HBP-Stepstruder
cd SF$VERSION-Thingomatic-HBP-Stepstruder; patch -s -p1 < $DIFFS/Stepstruder.diff; cd ..
echo "o SF$VERSION-Thingomatic-ABP-Stepstruder"
rm -rf SF$VERSION-Thingomatic-ABP-Stepstruder
cp -r SF$VERSION-Thingomatic-ABP SF$VERSION-Thingomatic-ABP-Stepstruder
cd SF$VERSION-Thingomatic-ABP-Stepstruder; patch -s -p1 < $DIFFS/Stepstruder.diff; cd ..
echo "o SF$VERSION-cupcake-baseline"
rm -rf SF$VERSION-cupcake-baseline
cp -r SF$VERSION-Makerbot-baseline SF$VERSION-cupcake-baseline
cd SF$VERSION-cupcake-baseline; patch -s -p1 < $DIFFS/cupcake.diff; cd ..
echo "o SF$VERSION-cupcake-non-heated"
rm -rf SF$VERSION-cupcake-non-heated
cp -r SF$VERSION-cupcake-baseline SF$VERSION-cupcake-non-heated
echo "o SF$VERSION-cupcake-HBP"
rm -rf SF$VERSION-cupcake-HBP
cp -r SF$VERSION-cupcake-baseline SF$VERSION-cupcake-HBP
cd SF$VERSION-cupcake-HBP; patch -s -p1 < $DIFFS/HBP.diff; cd ..
echo "o SF$VERSION-cupcake-ABP"
rm -rf SF$VERSION-cupcake-ABP
cp -r SF$VERSION-cupcake-non-heated SF$VERSION-cupcake-ABP
cd SF$VERSION-cupcake-ABP; patch -s -p1 < $DIFFS/cupcake-ABP.diff; cd ..
echo "Building overrides:"
echo "o Combined-Raftless HBP"
$SCRIPTDIR/generate_override.sh SF35-Thingomatic-HBP-Stepstruder $DIFFS/Combined-Raftless.override SF35-Thingomatic-HBP-Stepstruder-Combined
echo "o Combined-Raftless ABP"
$SCRIPTDIR/generate_override.sh SF35-Thingomatic-ABP-Stepstruder $DIFFS/Combined-Raftless.override SF35-Thingomatic-ABP-Stepstruder-Combined

View File

@@ -0,0 +1,46 @@
diff -ru skeinforge-40-orig/fabmetheus_utilities/settings.py skeinforge-40/fabmetheus_utilities/settings.py
--- skeinforge-40-orig/fabmetheus_utilities/settings.py 2011-02-22 02:28:20.000000000 -0600
+++ skeinforge-40/fabmetheus_utilities/settings.py 2011-03-08 17:08:15.000000000 -0600
@@ -562,7 +562,7 @@
settingTable = {}
for setting in repository.preferences:
settingTable[ setting.name ] = setting
- for (name, value) in overrides[repository.baseName].items():
+ for (name, value) in globalTemporaryOverrides[repository.baseName].items():
if name in settingTable:
settingTable[name].setValueToString(value)
else:
diff -ru skeinforge-40-orig/skeinforge_application/skeinforge.py skeinforge-40/skeinforge_application/skeinforge.py
--- skeinforge-40-orig/skeinforge_application/skeinforge.py 2011-02-23 00:00:54.000000000 -0600
+++ skeinforge-40/skeinforge_application/skeinforge.py 2011-03-08 17:03:42.000000000 -0600
@@ -538,8 +538,7 @@
'Craft a file, display dialog.'
repository = getNewRepository()
repository.fileNameInput.value = fileName
- repository.execute()
- settings.startMainLoopFromConstructor(repository)
+ settings.startMainLoopFromWindow(repository.execute())
class SkeinforgeRepository:
@@ -567,8 +566,10 @@
def execute(self):
'Skeinforge button has been clicked.'
fileNames = skeinforge_polyfile.getFileOrDirectoryTypesUnmodifiedGcode(self.fileNameInput.value, fabmetheus_interpret.getImportPluginFileNames(), self.fileNameInput.wasCancelled)
+ window = None
for fileName in fileNames:
- skeinforge_craft.writeOutput(fileName)
+ window = skeinforge_craft.writeOutput(fileName)
+ return window
def save(self):
'Profile has been saved and profile menu should be updated.'
@@ -598,7 +599,7 @@
for prefSpec in options.preferences:
(moduleName, prefSpec) = prefSpec.split(':', 1)
(prefName, valueName) = prefSpec.split('=', 1)
- settings.addPreferenceOverride(moduleName, prefName, valueName)
+ settings.temporaryAddPreferenceOverride(moduleName, prefName, valueName)
sys.argv = [sys.argv[0]] + args
if len( args ) > 0:
writeOutput( ' '.join(args) )

View File

@@ -0,0 +1,60 @@
diff -ru skeinforge-latest/fabmetheus_utilities/settings.py skeinforge-39/fabmetheus_utilities/settings.py
--- skeinforge-latest/fabmetheus_utilities/settings.py 2011-01-31 18:09:43.000000000 +0100
+++ skeinforge-39/fabmetheus_utilities/settings.py 2011-01-31 17:16:26.000000000 +0100
@@ -563,7 +563,7 @@
settingTable = {}
for setting in repository.preferences:
settingTable[ setting.name ] = setting
- for (name, value) in overrides[repository.baseName].items():
+ for (name, value) in globalTemporaryOverrides[repository.baseName].items():
if name in settingTable:
settingTable[name].setValueToString(value)
else:
diff -ru skeinforge-latest/skeinforge_application/skeinforge.py skeinforge-39/skeinforge_application/skeinforge.py
--- skeinforge-latest/skeinforge_application/skeinforge.py 2011-01-31 18:09:43.000000000 +0100
+++ skeinforge-39/skeinforge_application/skeinforge.py 2011-01-31 17:15:52.000000000 +0100
@@ -540,8 +540,7 @@
'Craft a file, display dialog.'
repository = getNewRepository()
repository.fileNameInput.value = fileName
- repository.execute()
- settings.startMainLoopFromConstructor(repository)
+ settings.startMainLoopFromWindow(repository.execute())
class SkeinforgeRepository:
@@ -569,8 +568,10 @@
def execute(self):
'Skeinforge button has been clicked.'
fileNames = skeinforge_polyfile.getFileOrDirectoryTypesUnmodifiedGcode(self.fileNameInput.value, fabmetheus_interpret.getImportPluginFileNames(), self.fileNameInput.wasCancelled)
+ window = None
for fileName in fileNames:
- skeinforge_craft.writeOutput(fileName)
+ window = skeinforge_craft.writeOutput(fileName)
+ return window
def save(self):
'Profile has been saved and profile menu should be updated.'
@@ -600,7 +601,7 @@
for prefSpec in options.preferences:
(moduleName, prefSpec) = prefSpec.split(':', 1)
(prefName, valueName) = prefSpec.split('=', 1)
- settings.addPreferenceOverride(moduleName, prefName, valueName)
+ settings.temporaryAddPreferenceOverride(moduleName, prefName, valueName)
sys.argv = [sys.argv[0]] + args
if len( args ) > 0:
writeOutput( ' '.join(args) )
diff -ru /Users/kintel/Desktop/Makerbot/39_reprap_python_beanshell/skeinforge_application/skeinforge_plugins/craft_plugins/export.py ./skeinforge_application/skeinforge_plugins/craft_plugins/export.py
--- /Users/kintel/Desktop/Makerbot/39_reprap_python_beanshell/skeinforge_application/skeinforge_plugins/craft_plugins/export.py 2011-01-03 18:36:38.000000000 +0100
+++ ./skeinforge_application/skeinforge_plugins/craft_plugins/export.py 2011-01-31 20:04:00.000000000 +0100
@@ -167,8 +167,8 @@
print('File ' + archive.getSummarizedFileName(fileName) + ' is being chain exported.')
suffixFileName = fileName[: fileName.rfind('.')]
if repository.addExportSuffix.value:
- suffixFileName += '_export.'
- suffixFileName += repository.fileExtension.value
+ suffixFileName += '_export'
+ suffixFileName += '.' + repository.fileExtension.value
gcodeText = gcodec.getGcodeFileText(fileName, '')
procedures = skeinforge_craft.getProcedures('export', gcodeText)
gcodeText = skeinforge_craft.getChainTextFromProcedures(fileName, procedures[ : - 1 ], gcodeText)

View File

@@ -0,0 +1,3 @@
Format is tab separated preferences.
Open File to be Analyzed
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Open File to be Analyzed
3 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,32 @@
Format is tab separated preferences.
Activate Behold False
Band Height (layers): 5
Bottom Band Brightness (ratio): 0.7
Bottom Layer Brightness (ratio): 1.0
From the Bottom False
From the Top True
Draw Arrows True
Open File to Behold
Go Around Extruder Off Travel False
Layers From (index): 0
Layers To (index): 999999
Number of Fill Bottom Layers (integer): 1
Number of Fill Top Layers (integer): 1
Pixels over Extrusion Width (ratio): 10.0
Screen Horizontal Inset (pixels): 100
Screen Vertical Inset (pixels): 50
Viewpoint Latitude (degrees): 45.0
Viewpoint Longitude (degrees): 210.0
Width of Extrusion Thread (pixels): 1
Width of Fill Bottom Thread (pixels): 3
Width of Fill Top Thread (pixels): 3
Width of Loop Thread (pixels): 3
Width of Perimeter Inside Thread (pixels): 4
Width of Perimeter Outside Thread (pixels): 4
Width of Raft Thread (pixels): 1
Width of Travel Thread (pixels): 0
Width of X Axis (pixels): 5
Width of Y Axis (pixels): 5
Width of Z Axis (pixels): 5
windowPositionBehold Dynamic Preferences 0+0
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Activate Behold False
3 Band Height (layers): 5
4 Bottom Band Brightness (ratio): 0.7
5 Bottom Layer Brightness (ratio): 1.0
6 From the Bottom False
7 From the Top True
8 Draw Arrows True
9 Open File to Behold
10 Go Around Extruder Off Travel False
11 Layers From (index): 0
12 Layers To (index): 999999
13 Number of Fill Bottom Layers (integer): 1
14 Number of Fill Top Layers (integer): 1
15 Pixels over Extrusion Width (ratio): 10.0
16 Screen Horizontal Inset (pixels): 100
17 Screen Vertical Inset (pixels): 50
18 Viewpoint Latitude (degrees): 45.0
19 Viewpoint Longitude (degrees): 210.0
20 Width of Extrusion Thread (pixels): 1
21 Width of Fill Bottom Thread (pixels): 3
22 Width of Fill Top Thread (pixels): 3
23 Width of Loop Thread (pixels): 3
24 Width of Perimeter Inside Thread (pixels): 4
25 Width of Perimeter Outside Thread (pixels): 4
26 Width of Raft Thread (pixels): 1
27 Width of Travel Thread (pixels): 0
28 Width of X Axis (pixels): 5
29 Width of Y Axis (pixels): 5
30 Width of Z Axis (pixels): 5
31 windowPositionBehold Dynamic Preferences 0+0
32 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,12 @@
Format is tab separated preferences.
Extrusion Width over Thickness (ratio): 1.45
Open File to be Carved
Import Coarseness (ratio): 1.0
Correct Mesh True
Unproven Mesh False
Infill Bridge Thickness over Layer Thickness (ratio): 1.0
Infill Bridge Width over Extrusion Width (ratio): 1.0
Infill in Direction of Bridges True
Layer Thickness (mm): 0.36
Layer Thickness over Precision (ratio): 10.0
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Extrusion Width over Thickness (ratio): 1.45
3 Open File to be Carved
4 Import Coarseness (ratio): 1.0
5 Correct Mesh True
6 Unproven Mesh False
7 Infill Bridge Thickness over Layer Thickness (ratio): 1.0
8 Infill Bridge Width over Extrusion Width (ratio): 1.0
9 Infill in Direction of Bridges True
10 Layer Thickness (mm): 0.36
11 Layer Thickness over Precision (ratio): 10.0
12 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,5 @@
Format is tab separated preferences.
Activate Clip True
Clip Over Extrusion Width (ratio): 0.18
Open File to be Clipped
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Activate Clip True
3 Clip Over Extrusion Width (ratio): 0.18
4 Open File to be Clipped
5 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,7 @@
Format is tab separated preferences.
Activate Comb True
Arrival Inset Follow Distance over Extrusion Width (ratio): 3.0
Jitter Over Extrusion Width (ratio): 10.0
Minimum Perimeter Departure Distance over Extrusion Width (ratio): 5.0
Open File to be Combed
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Activate Comb True
3 Arrival Inset Follow Distance over Extrusion Width (ratio): 3.0
4 Jitter Over Extrusion Width (ratio): 10.0
5 Minimum Perimeter Departure Distance over Extrusion Width (ratio): 5.0
6 Open File to be Combed
7 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,4 @@
Format is tab separated preferences.
Activate Comment False
Open File to Write Comments for
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Activate Comment False
3 Open File to Write Comments for
4 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,7 @@
Format is tab separated preferences.
Activate Cool False
Open File to be Cooled
Minimum Layer Time (seconds): 60.0
Turn Fan On at Beginning True
Turn Fan Off at Ending True
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Activate Cool False
3 Open File to be Cooled
4 Minimum Layer Time (seconds): 60.0
5 Turn Fan On at Beginning True
6 Turn Fan Off at Ending True
7 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,12 @@
Format is tab separated preferences.
Activate Export True
Also Send Output To:
Delete Comments False
Delete M110 Gcode Line True
binary_16_byte False
Do Not Change Output True
gcode_small False
gcode_step False
File Extension: gcode
Open File to be Exported
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Activate Export True
3 Also Send Output To:
4 Delete Comments False
5 Delete M110 Gcode Line True
6 binary_16_byte False
7 Do Not Change Output True
8 gcode_small False
9 gcode_step False
10 File Extension: gcode
11 Open File to be Exported
12 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,22 @@
Format is tab separated preferences.
Diaphragm Period (layers): 999999
Diaphragm Thickness (layers): 0
Extra Shells on Alternating Solid Layer (layers): 1
Extra Shells on Base (layers): 1
Extra Shells on Sparse Layer (layers): 1
Grid Extra Overlap (ratio): 0.005
Grid Junction Separation Band Height (layers): 10
Grid Junction Separation over Octogon Radius At End (ratio): 0.0
Grid Junction Separation over Octogon Radius At Middle (ratio): 0.0
Open File to be Filled
Infill Begin Rotation (degrees): 45.0
Infill Begin Rotation Repeat (layers): 1
Infill Solidity (ratio): 0.2
Infill Odd Layer Extra Rotation (degrees): 90.0
Grid Hexagonal False
Grid Rectangular True
Line False
Interior Infill Density over Exterior Density (ratio): 0.9
Outside Extruded First True
Solid Surface Thickness (layers): 2
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Diaphragm Period (layers): 999999
3 Diaphragm Thickness (layers): 0
4 Extra Shells on Alternating Solid Layer (layers): 1
5 Extra Shells on Base (layers): 1
6 Extra Shells on Sparse Layer (layers): 1
7 Grid Extra Overlap (ratio): 0.005
8 Grid Junction Separation Band Height (layers): 10
9 Grid Junction Separation over Octogon Radius At End (ratio): 0.0
10 Grid Junction Separation over Octogon Radius At Middle (ratio): 0.0
11 Open File to be Filled
12 Infill Begin Rotation (degrees): 45.0
13 Infill Begin Rotation Repeat (layers): 1
14 Infill Solidity (ratio): 0.2
15 Infill Odd Layer Extra Rotation (degrees): 90.0
16 Grid Hexagonal False
17 Grid Rectangular True
18 Line False
19 Interior Infill Density over Exterior Density (ratio): 0.9
20 Outside Extruded First True
21 Solid Surface Thickness (layers): 2
22 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,12 @@
Format is tab separated preferences.
Activate Fillet True
Arc Point False
Arc Radius False
Arc Segment False
Bevel True
Corner Feedrate over Operating Feedrate (ratio): 1.0
Fillet Radius over Extrusion Width (ratio): 0.35
Open File to be Filleted
Reversal Slowdown Distance over Extrusion Width (ratio): 0.5
Use Intermediate Feedrate in Corners False
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Activate Fillet True
3 Arc Point False
4 Arc Radius False
5 Arc Segment False
6 Bevel True
7 Corner Feedrate over Operating Feedrate (ratio): 1.0
8 Fillet Radius over Extrusion Width (ratio): 0.35
9 Open File to be Filleted
10 Reversal Slowdown Distance over Extrusion Width (ratio): 0.5
11 Use Intermediate Feedrate in Corners False
12 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,6 @@
Format is tab separated preferences.
Activate Hop False
Open File to be Hopped
Hop Over Layer Thickness (ratio): 1.0
Minimum Hop Angle (degrees): 20.0
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Activate Hop False
3 Open File to be Hopped
4 Hop Over Layer Thickness (ratio): 1.0
5 Minimum Hop Angle (degrees): 20.0
6 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,8 @@
Format is tab separated preferences.
Extrusion Perimeter Width over Thickness (ratio): 1.3
Open File to be Insetted
Infill Perimeter Overlap (ratio): 0.15
Calculate Overlap from Perimeter and Infill True
Calculate Overlap from Perimeter Only False
Start at Home True
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Extrusion Perimeter Width over Thickness (ratio): 1.3
3 Open File to be Insetted
4 Infill Perimeter Overlap (ratio): 0.15
5 Calculate Overlap from Perimeter and Infill True
6 Calculate Overlap from Perimeter Only False
7 Start at Home True
8 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,4 @@
Format is tab separated preferences.
Material List: ABS HDPE PCL PLA
Material Selection: ABS
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Material List: ABS HDPE PCL PLA
3 Material Selection: ABS
4 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,9 @@
Format is tab separated preferences.
Activate Multiply: True
Center X (millimeters): 0.0
Center Y (millimeters): 0.0
Open File to be Multiplied
Number of Columns (integer): 1
Number of Rows (integer): 1
Separation over Extrusion Width (ratio): 10.0
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Activate Multiply: True
3 Center X (millimeters): 0.0
4 Center Y (millimeters): 0.0
5 Open File to be Multiplied
6 Number of Columns (integer): 1
7 Number of Rows (integer): 1
8 Separation over Extrusion Width (ratio): 10.0
9 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,12 @@
Format is tab separated preferences.
Activate Oozebane True
After Startup Distance (millimeters): 0.275
Early Shutdown Distance (millimeters): 0.2
Early Startup Distance Constant (millimeters): 20.0
Early Startup Maximum Distance (millimeters): 5.25
First Early Startup Distance (millimeters): 20.0
Open File to be Oozebaned
Minimum Distance for Early Startup (millimeters): 0.01
Minimum Distance for Early Shutdown (millimeters): 1.0
Slowdown Startup Steps (positive integer): 1
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Activate Oozebane True
3 After Startup Distance (millimeters): 0.275
4 Early Shutdown Distance (millimeters): 0.2
5 Early Startup Distance Constant (millimeters): 20.0
6 Early Startup Maximum Distance (millimeters): 5.25
7 First Early Startup Distance (millimeters): 20.0
8 Open File to be Oozebaned
9 Minimum Distance for Early Startup (millimeters): 0.01
10 Minimum Distance for Early Shutdown (millimeters): 1.0
11 Slowdown Startup Steps (positive integer): 1
12 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,4 @@
Format is tab separated preferences.
Execute All Unmodified Files in a Directory False
Execute File True
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Execute All Unmodified Files in a Directory False
3 Execute File True
4 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,33 @@
Format is tab separated preferences.
Activate Raft: True
Add Raft, Elevate Nozzle, Orbit and Set Altitude: True
Base Infill Density (ratio): 0.5
Base Layer Thickness over Layer Thickness: 1.0
Base Layers (integer): 1
Base Nozzle Lift over Half Base Layer Thickness (ratio): 0.4
Bottom Altitude: 0.1
Open File to be Rafted
Infill Overhang (ratio): 0.1
Interface Infill Density (ratio): 0.5
Interface Layer Thickness over Layer Thickness: 0.8
Interface Layers (integer): 1
Interface Nozzle Lift over Half Interface Layer Thickness (ratio): 0.5
Operating Nozzle Lift over Half Layer Thickness (ratio): 1.0
Raft Outset Radius over Extrusion Width (ratio): 7.5
Support Inset over Perimeter Extrusion Width (ratio): 0.0
No Support Material True
Support Material Everywhere False
Support Material on Exterior Only False
Support Minimum Angle (degrees): 60.0
Temperature Change Time Before Raft (seconds): 0.0
Temperature Change Time Before First Layer Outline (seconds): 0.0
Temperature Change Time Before Next Threads (seconds): 0.0
Temperature Change Time Before Support Layers (seconds): 0.0
Temperature Change Time Before Supported Layers (seconds): 0.0
Temperature of Raft (Celcius): 230.0
Temperature of Shape First Layer Outline (Celcius): 215.0
Temperature of Shape First Layer Within (Celcius): 215.0
Temperature of Shape Next Layers (Celcius): 220.0
Temperature of Support Layers (Celcius): 220.0
Temperature of Supported Layers (Celcius): 220.0
windowPositionRaft Preferences 0+0
1 Format is tab separated preferences.
2 Activate Raft: True
3 Add Raft, Elevate Nozzle, Orbit and Set Altitude: True
4 Base Infill Density (ratio): 0.5
5 Base Layer Thickness over Layer Thickness: 1.0
6 Base Layers (integer): 1
7 Base Nozzle Lift over Half Base Layer Thickness (ratio): 0.4
8 Bottom Altitude: 0.1
9 Open File to be Rafted
10 Infill Overhang (ratio): 0.1
11 Interface Infill Density (ratio): 0.5
12 Interface Layer Thickness over Layer Thickness: 0.8
13 Interface Layers (integer): 1
14 Interface Nozzle Lift over Half Interface Layer Thickness (ratio): 0.5
15 Operating Nozzle Lift over Half Layer Thickness (ratio): 1.0
16 Raft Outset Radius over Extrusion Width (ratio): 7.5
17 Support Inset over Perimeter Extrusion Width (ratio): 0.0
18 No Support Material True
19 Support Material Everywhere False
20 Support Material on Exterior Only False
21 Support Minimum Angle (degrees): 60.0
22 Temperature Change Time Before Raft (seconds): 0.0
23 Temperature Change Time Before First Layer Outline (seconds): 0.0
24 Temperature Change Time Before Next Threads (seconds): 0.0
25 Temperature Change Time Before Support Layers (seconds): 0.0
26 Temperature Change Time Before Supported Layers (seconds): 0.0
27 Temperature of Raft (Celcius): 230.0
28 Temperature of Shape First Layer Outline (Celcius): 215.0
29 Temperature of Shape First Layer Within (Celcius): 215.0
30 Temperature of Shape Next Layers (Celcius): 220.0
31 Temperature of Support Layers (Celcius): 220.0
32 Temperature of Supported Layers (Celcius): 220.0
33 windowPositionRaft Preferences 0+0

View File

@@ -0,0 +1,2 @@
Format is tab separated preferences.
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,9 @@
Format is tab separated preferences.
Activate Skeinview True
Draw Arrows True
Open File to Skeinview
Go Around Extruder Off Travel False
Pixels over Extrusion Width (ratio): 10.0
Screen Horizontal Inset (pixels): 100
Screen Vertical Inset (pixels): 100
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Activate Skeinview True
3 Draw Arrows True
4 Open File to Skeinview
5 Go Around Extruder Off Travel False
6 Pixels over Extrusion Width (ratio): 10.0
7 Screen Horizontal Inset (pixels): 100
8 Screen Vertical Inset (pixels): 100
9 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,16 @@
Format is tab separated preferences.
Activate Speed: True
Bridge Feedrate Multiplier (ratio): 1.0
Extrusion Diameter over Thickness (ratio): 1.3
Feedrate (mm/s): 26.0
Open File to be Speeded
Do Not Add Flowrate False
Metric False
PWM Setting True
Flowrate PWM Setting (if PWM Setting is Chosen): 255.0
Orbital Feedrate over Operating Feedrate (ratio): 1.0
Perimeter Feedrate over Operating Feedrate (ratio): 1.0
Perimeter Flowrate over Operating Flowrate (ratio): 1.0
Support Flowrate over Operating Flowrate (ratio): 1.0
Travel Feedrate (mm/s): 55.0
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Activate Speed: True
3 Bridge Feedrate Multiplier (ratio): 1.0
4 Extrusion Diameter over Thickness (ratio): 1.3
5 Feedrate (mm/s): 26.0
6 Open File to be Speeded
7 Do Not Add Flowrate False
8 Metric False
9 PWM Setting True
10 Flowrate PWM Setting (if PWM Setting is Chosen): 255.0
11 Orbital Feedrate over Operating Feedrate (ratio): 1.0
12 Perimeter Feedrate over Operating Feedrate (ratio): 1.0
13 Perimeter Flowrate over Operating Flowrate (ratio): 1.0
14 Support Flowrate over Operating Flowrate (ratio): 1.0
15 Travel Feedrate (mm/s): 55.0
16 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,6 @@
Format is tab separated preferences.
Activate Statistic True
Open File to Generate Statistics for
Print Statistics True
Save Statistics False
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Activate Statistic True
3 Open File to Generate Statistics for
4 Print Statistics True
5 Save Statistics False
6 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,8 @@
Format is tab separated preferences.
Activate Stretch False
Loop Stretch Over Extrusion Width (ratio): 0.15
Path Stretch Over Extrusion Width (ratio): 0.0
Open File to be Stretched
Stretch From Distance Over Extrusion Width (ratio): 2.0
Perimeter Maximum Stretch Over Extrusion Width (ratio): 0.3
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Activate Stretch False
3 Loop Stretch Over Extrusion Width (ratio): 0.15
4 Path Stretch Over Extrusion Width (ratio): 0.0
5 Open File to be Stretched
6 Stretch From Distance Over Extrusion Width (ratio): 2.0
7 Perimeter Maximum Stretch Over Extrusion Width (ratio): 0.3
8 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,7 @@
Format is tab separated preferences.
Activate Tower False
Extruder Possible Collision Cone Angle (degrees): 60.0
Open File to be Towered
Maximum Tower Height (layers): 10
Tower Start Layer (integer): 2
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Activate Tower False
3 Extruder Possible Collision Cone Angle (degrees): 60.0
4 Open File to be Towered
5 Maximum Tower Height (layers): 10
6 Tower Start Layer (integer): 2
7 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,6 @@
Format is tab separated preferences.
Activate Unpause False
Delay (milliseconds): 28.0
Open File to be Unpaused
Maximum Speed (ratio): 1.5
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Activate Unpause False
3 Delay (milliseconds): 28.0
4 Open File to be Unpaused
5 Maximum Speed (ratio): 1.5
6 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,6 @@
Format is tab separated preferences.
Activate Vectorwrite False
Open File to Write Vector Graphics for
Minimum Number of Layers for Multiple Files (integer): 10
Pixels over Extrusion Width (ratio): 5.0
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Activate Vectorwrite False
3 Open File to Write Vector Graphics for
4 Minimum Number of Layers for Multiple Files (integer): 10
5 Pixels over Extrusion Width (ratio): 5.0
6 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,14 @@
Format is tab separated preferences.
Activate Wipe False
Open File to be Wiped
Location Arrival X (mm): -70.0
Location Arrival Y (mm): -50.0
Location Arrival Z (mm): 50.0
Location Departure X (mm): -70.0
Location Departure Y (mm): -40.0
Location Departure Z (mm): 50.0
Location Wipe X (mm): -70.0
Location Wipe Y (mm): -70.0
Location Wipe Z (mm): 50.0
Wipe Period (layers): 3
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Activate Wipe False
3 Open File to be Wiped
4 Location Arrival X (mm): -70.0
5 Location Arrival Y (mm): -50.0
6 Location Arrival Z (mm): 50.0
7 Location Departure X (mm): -70.0
8 Location Departure Y (mm): -40.0
9 Location Departure Z (mm): 50.0
10 Location Wipe X (mm): -70.0
11 Location Wipe Y (mm): -70.0
12 Location Wipe Z (mm): 50.0
13 Wipe Period (layers): 3
14 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,324 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong>skeinforge</strong></big></big> ($Date: 2008/21/11 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge.py</a></font></td></tr></table>
<p><tt>Introduction<br>
&nbsp;<br>
Skeinforge&nbsp;is&nbsp;a&nbsp;GPL&nbsp;tool&nbsp;chain&nbsp;to&nbsp;forge&nbsp;a&nbsp;gcode&nbsp;skein&nbsp;for&nbsp;a&nbsp;model.<br>
&nbsp;<br>
The&nbsp;tool&nbsp;chain&nbsp;starts&nbsp;with&nbsp;carve,&nbsp;which&nbsp;carves&nbsp;the&nbsp;model&nbsp;into&nbsp;layers,&nbsp;then&nbsp;the&nbsp;layers&nbsp;are&nbsp;modified&nbsp;by&nbsp;other&nbsp;tools&nbsp;in&nbsp;turn&nbsp;like<br>
fill,&nbsp;comb,&nbsp;tower,&nbsp;raft,&nbsp;stretch,&nbsp;hop,&nbsp;wipe,&nbsp;oozebane,&nbsp;fillet&nbsp;&amp;&nbsp;export.&nbsp;&nbsp;Each&nbsp;tool&nbsp;automatically&nbsp;gets&nbsp;the&nbsp;gcode&nbsp;from&nbsp;the<br>
previous&nbsp;tool.&nbsp;&nbsp;So&nbsp;if&nbsp;you&nbsp;want&nbsp;a&nbsp;carved&nbsp;&amp;&nbsp;filled&nbsp;gcode,&nbsp;call&nbsp;the&nbsp;fill&nbsp;tool&nbsp;and&nbsp;it&nbsp;will&nbsp;call&nbsp;carve,&nbsp;then&nbsp;it&nbsp;will&nbsp;fill&nbsp;and&nbsp;output&nbsp;the<br>
gcode.&nbsp;&nbsp;If&nbsp;you&nbsp;want&nbsp;to&nbsp;use&nbsp;all&nbsp;the&nbsp;tools,&nbsp;call&nbsp;export&nbsp;and&nbsp;it&nbsp;will&nbsp;call&nbsp;in&nbsp;turn&nbsp;all&nbsp;the&nbsp;other&nbsp;tools&nbsp;down&nbsp;the&nbsp;chain&nbsp;to&nbsp;produce&nbsp;the&nbsp;gcode&nbsp;file.<br>
&nbsp;<br>
The&nbsp;skeinforge&nbsp;module&nbsp;provides&nbsp;a&nbsp;single&nbsp;place&nbsp;to&nbsp;call&nbsp;up&nbsp;all&nbsp;the&nbsp;preference&nbsp;dialogs.&nbsp;&nbsp;When&nbsp;the&nbsp;'Skeinforge'&nbsp;button&nbsp;is&nbsp;clicked,<br>
skeinforge&nbsp;calls&nbsp;export,&nbsp;since&nbsp;that&nbsp;is&nbsp;the&nbsp;end&nbsp;of&nbsp;the&nbsp;chain.<br>
&nbsp;<br>
To&nbsp;run&nbsp;skeinforge,&nbsp;type&nbsp;in&nbsp;a&nbsp;shell&nbsp;in&nbsp;the&nbsp;same&nbsp;folder&nbsp;as&nbsp;skeinforge:<br>
&gt;&nbsp;python&nbsp;skeinforge.py<br>
&nbsp;<br>
To&nbsp;run&nbsp;only&nbsp;fill&nbsp;for&nbsp;example,&nbsp;type&nbsp;in&nbsp;the&nbsp;skeinforge_tools&nbsp;folder&nbsp;which&nbsp;fill&nbsp;is&nbsp;in:<br>
&gt;&nbsp;python&nbsp;fill.py<br>
&nbsp;<br>
If&nbsp;you&nbsp;do&nbsp;not&nbsp;want&nbsp;a&nbsp;tool&nbsp;after&nbsp;fill&nbsp;to&nbsp;modify&nbsp;the&nbsp;output,&nbsp;deselect&nbsp;the&nbsp;Activate&nbsp;checkbox&nbsp;for&nbsp;that&nbsp;tool.&nbsp;&nbsp;When&nbsp;the&nbsp;Activate&nbsp;checkbox<br>
is&nbsp;off,&nbsp;the&nbsp;tool&nbsp;will&nbsp;just&nbsp;hand&nbsp;off&nbsp;the&nbsp;gcode&nbsp;to&nbsp;the&nbsp;next&nbsp;tool&nbsp;without&nbsp;modifying&nbsp;it.<br>
&nbsp;<br>
There&nbsp;are&nbsp;also&nbsp;tools&nbsp;which&nbsp;handle&nbsp;preferences&nbsp;for&nbsp;the&nbsp;chain,&nbsp;like&nbsp;material&nbsp;&amp;&nbsp;polyfile.<br>
&nbsp;<br>
The&nbsp;analyze&nbsp;tool&nbsp;calls&nbsp;plugins&nbsp;in&nbsp;the&nbsp;analyze_plugins&nbsp;folder,&nbsp;which&nbsp;will&nbsp;analyze&nbsp;the&nbsp;gcode&nbsp;in&nbsp;some&nbsp;way&nbsp;when&nbsp;it&nbsp;is&nbsp;generated&nbsp;if<br>
their&nbsp;Activate&nbsp;checkbox&nbsp;is&nbsp;selected.<br>
&nbsp;<br>
The&nbsp;interpret&nbsp;tool&nbsp;accesses&nbsp;and&nbsp;displays&nbsp;the&nbsp;import&nbsp;plugins.<br>
&nbsp;<br>
The&nbsp;default&nbsp;preferences&nbsp;are&nbsp;similar&nbsp;to&nbsp;those&nbsp;on&nbsp;Nophead's&nbsp;machine.&nbsp;&nbsp;A&nbsp;preference&nbsp;which&nbsp;is&nbsp;often&nbsp;different&nbsp;is&nbsp;the<br>
'Extrusion&nbsp;Diameter'&nbsp;in&nbsp;carve.<br>
&nbsp;<br>
&nbsp;<br>
Alternative<br>
&nbsp;<br>
Another&nbsp;way&nbsp;to&nbsp;make&nbsp;gcode&nbsp;for&nbsp;a&nbsp;model&nbsp;is&nbsp;to&nbsp;use&nbsp;the&nbsp;Java&nbsp;RepRap&nbsp;host&nbsp;program,&nbsp;described&nbsp;at:<br>
<a href="http://dev.www.reprap.org/bin/view/Main/DriverSoftware#Creating_GCode_files_from_STL_fi">http://dev.www.reprap.org/bin/view/Main/DriverSoftware#Creating_GCode_files_from_STL_fi</a><br>
&nbsp;<br>
&nbsp;<br>
Getting&nbsp;Started<br>
&nbsp;<br>
For&nbsp;skeinforge&nbsp;to&nbsp;run,&nbsp;install&nbsp;python&nbsp;2.x&nbsp;on&nbsp;your&nbsp;machine,&nbsp;which&nbsp;is&nbsp;available&nbsp;from:<br>
<a href="http://www.python.org/download/">http://www.python.org/download/</a><br>
&nbsp;<br>
To&nbsp;use&nbsp;the&nbsp;preferences&nbsp;dialog&nbsp;you'll&nbsp;also&nbsp;need&nbsp;Tkinter,&nbsp;which&nbsp;probably&nbsp;came&nbsp;with&nbsp;the&nbsp;python&nbsp;installation.&nbsp;&nbsp;If&nbsp;it&nbsp;did&nbsp;not,&nbsp;look&nbsp;for&nbsp;it&nbsp;at:<br>
<a href="http://www.tcl.tk/software/tcltk/">http://www.tcl.tk/software/tcltk/</a><br>
&nbsp;<br>
If&nbsp;you&nbsp;want&nbsp;python&nbsp;and&nbsp;Tkinter&nbsp;together&nbsp;on&nbsp;MacOS,&nbsp;you&nbsp;can&nbsp;try:<br>
<a href="http://www.astro.washington.edu/owen/PythonOnMacOSX.html">http://www.astro.washington.edu/owen/PythonOnMacOSX.html</a><br>
&nbsp;<br>
If&nbsp;you&nbsp;want&nbsp;python&nbsp;and&nbsp;Tkinter&nbsp;together&nbsp;on&nbsp;all&nbsp;platforms&nbsp;and&nbsp;don't&nbsp;mind&nbsp;filling&nbsp;out&nbsp;forms,&nbsp;you&nbsp;can&nbsp;try&nbsp;the&nbsp;ActivePython&nbsp;package<br>
from&nbsp;Active&nbsp;State&nbsp;at:<br>
<a href="http://www.activestate.com/Products/activepython/feature_list.mhtml">http://www.activestate.com/Products/activepython/feature_list.mhtml</a><br>
&nbsp;<br>
Skeinforge&nbsp;imports&nbsp;Stereolithography&nbsp;(.stl)&nbsp;files&nbsp;or&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;(.gts)&nbsp;files.&nbsp;&nbsp;The&nbsp;import&nbsp;plugin&nbsp;for&nbsp;STL&nbsp;files&nbsp;is<br>
experimental&nbsp;and&nbsp;if&nbsp;it&nbsp;doesn't&nbsp;work,&nbsp;an&nbsp;indirect&nbsp;way&nbsp;to&nbsp;import&nbsp;an&nbsp;STL&nbsp;file&nbsp;is&nbsp;by&nbsp;turning&nbsp;it&nbsp;into&nbsp;a&nbsp;GTS&nbsp;file&nbsp;is&nbsp;by&nbsp;using&nbsp;the&nbsp;Export&nbsp;GNU<br>
Triangulated&nbsp;Surface&nbsp;script&nbsp;at:<br>
<a href="http://members.axion.net/~enrique/Export%20GNU%20Triangulated%20Surface.bsh">http://members.axion.net/~enrique/Export%20GNU%20Triangulated%20Surface.bsh</a><br>
&nbsp;<br>
The&nbsp;Export&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;script&nbsp;is&nbsp;also&nbsp;in&nbsp;the&nbsp;Art&nbsp;of&nbsp;Illusion&nbsp;folder,&nbsp;which&nbsp;is&nbsp;in&nbsp;the&nbsp;same&nbsp;folder&nbsp;as&nbsp;skeinforge.py.&nbsp;&nbsp;To<br>
bring&nbsp;the&nbsp;script&nbsp;into&nbsp;Art&nbsp;of&nbsp;Illusion,&nbsp;drop&nbsp;it&nbsp;into&nbsp;the&nbsp;folder&nbsp;ArtOfIllusion/Scripts/Tools/.&nbsp;&nbsp;Then&nbsp;import&nbsp;the&nbsp;STL&nbsp;file&nbsp;using&nbsp;the&nbsp;STL<br>
import&nbsp;plugin&nbsp;in&nbsp;the&nbsp;import&nbsp;submenu&nbsp;of&nbsp;the&nbsp;Art&nbsp;of&nbsp;Illusion&nbsp;file&nbsp;menu.&nbsp;&nbsp;Then&nbsp;from&nbsp;the&nbsp;Scripts&nbsp;submenu&nbsp;in&nbsp;the&nbsp;Tools&nbsp;menu,&nbsp;choose<br>
'Export&nbsp;GNU&nbsp;Triangulated&nbsp;Surface'&nbsp;and&nbsp;select&nbsp;the&nbsp;imported&nbsp;STL&nbsp;shape.&nbsp;&nbsp;Click&nbsp;the&nbsp;'Export&nbsp;Selected'&nbsp;checkbox&nbsp;and&nbsp;click&nbsp;OK.<br>
Once&nbsp;you've&nbsp;created&nbsp;the&nbsp;GTS&nbsp;file,&nbsp;you&nbsp;can&nbsp;turn&nbsp;it&nbsp;into&nbsp;gcode&nbsp;by&nbsp;typing&nbsp;in&nbsp;a&nbsp;shell&nbsp;in&nbsp;the&nbsp;same&nbsp;folder&nbsp;as&nbsp;skeinforge:<br>
&gt;&nbsp;python&nbsp;skeinforge.py<br>
&nbsp;<br>
When&nbsp;the&nbsp;skeinforge&nbsp;dialog&nbsp;pops&nbsp;up,&nbsp;click&nbsp;'Skeinforge',&nbsp;choose&nbsp;the&nbsp;file&nbsp;which&nbsp;you&nbsp;exported&nbsp;in&nbsp;'Export&nbsp;GNU&nbsp;Triangulated&nbsp;Surface'<br>
and&nbsp;the&nbsp;gcode&nbsp;file&nbsp;will&nbsp;be&nbsp;saved&nbsp;with&nbsp;the&nbsp;suffix&nbsp;'_export.gcode'.<br>
&nbsp;<br>
Or&nbsp;you&nbsp;can&nbsp;turn&nbsp;files&nbsp;into&nbsp;gcode&nbsp;by&nbsp;adding&nbsp;the&nbsp;file&nbsp;name,&nbsp;for&nbsp;example:<br>
&gt;&nbsp;python&nbsp;skeinforge.py&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl<br>
&nbsp;<br>
&nbsp;<br>
&nbsp;<br>
End&nbsp;of&nbsp;the&nbsp;Beginning<br>
&nbsp;<br>
When&nbsp;carve&nbsp;is&nbsp;generating&nbsp;the&nbsp;code,&nbsp;if&nbsp;there&nbsp;is&nbsp;a&nbsp;file&nbsp;start.txt,&nbsp;it&nbsp;will&nbsp;add&nbsp;that&nbsp;to&nbsp;the&nbsp;very&nbsp;beginning&nbsp;of&nbsp;the&nbsp;gcode.&nbsp;&nbsp;After&nbsp;it&nbsp;has<br>
added&nbsp;some&nbsp;initialization&nbsp;code&nbsp;and&nbsp;just&nbsp;before&nbsp;it&nbsp;adds&nbsp;the&nbsp;extrusion&nbsp;gcode,&nbsp;it&nbsp;will&nbsp;add&nbsp;the&nbsp;file&nbsp;endofthebeginning.txt&nbsp;if&nbsp;it&nbsp;exists.<br>
At&nbsp;the&nbsp;very&nbsp;end,&nbsp;it&nbsp;will&nbsp;add&nbsp;the&nbsp;file&nbsp;end.txt&nbsp;if&nbsp;it&nbsp;exists.&nbsp;&nbsp;Carve&nbsp;does&nbsp;not&nbsp;care&nbsp;if&nbsp;the&nbsp;text&nbsp;file&nbsp;names&nbsp;are&nbsp;capitalized,&nbsp;but&nbsp;some&nbsp;file<br>
systems&nbsp;do&nbsp;not&nbsp;handle&nbsp;file&nbsp;name&nbsp;cases&nbsp;properly,&nbsp;so&nbsp;to&nbsp;be&nbsp;on&nbsp;the&nbsp;safe&nbsp;side&nbsp;you&nbsp;should&nbsp;give&nbsp;them&nbsp;lower&nbsp;case&nbsp;names.&nbsp;&nbsp;It&nbsp;will<br>
first&nbsp;look&nbsp;for&nbsp;the&nbsp;file&nbsp;in&nbsp;the&nbsp;same&nbsp;directory&nbsp;as&nbsp;carve,&nbsp;if&nbsp;it&nbsp;does&nbsp;not&nbsp;find&nbsp;it&nbsp;it&nbsp;will&nbsp;look&nbsp;in&nbsp;~/.skeinforge/gcode_scripts.<br>
&nbsp;<br>
The&nbsp;computation&nbsp;intensive&nbsp;python&nbsp;modules&nbsp;will&nbsp;use&nbsp;psyco&nbsp;if&nbsp;it&nbsp;is&nbsp;available&nbsp;and&nbsp;run&nbsp;about&nbsp;twice&nbsp;as&nbsp;fast.&nbsp;&nbsp;Psyco&nbsp;is&nbsp;described&nbsp;at:<br>
<a href="http://psyco.sourceforge.net/index.html">http://psyco.sourceforge.net/index.html</a><br>
&nbsp;<br>
The&nbsp;psyco&nbsp;download&nbsp;page&nbsp;is:<br>
<a href="http://psyco.sourceforge.net/download.html">http://psyco.sourceforge.net/download.html</a><br>
&nbsp;<br>
&nbsp;<br>
&nbsp;<br>
Documentation<br>
&nbsp;<br>
The&nbsp;documentation&nbsp;is&nbsp;in&nbsp;the&nbsp;documentation&nbsp;folder,&nbsp;in&nbsp;the&nbsp;doc&nbsp;strings&nbsp;for&nbsp;each&nbsp;module&nbsp;and&nbsp;it&nbsp;can&nbsp;be&nbsp;called&nbsp;from&nbsp;the&nbsp;'?'<br>
button&nbsp;in&nbsp;each&nbsp;preference&nbsp;dialog.<br>
&nbsp;<br>
To&nbsp;modify&nbsp;the&nbsp;documentation&nbsp;for&nbsp;this&nbsp;program,&nbsp;modify&nbsp;the&nbsp;first&nbsp;comment&nbsp;in&nbsp;the&nbsp;desired&nbsp;module.&nbsp;&nbsp;Then&nbsp;open&nbsp;a&nbsp;shell&nbsp;in<br>
the&nbsp;skeinforge.py&nbsp;directory,&nbsp;then&nbsp;type:<br>
&gt;&nbsp;pydoc&nbsp;-w&nbsp;./'<br>
&nbsp;<br>
Then&nbsp;move&nbsp;all&nbsp;the&nbsp;generated&nbsp;html&nbsp;files&nbsp;to&nbsp;the&nbsp;documentation&nbsp;folder.<br>
&nbsp;<br>
&nbsp;<br>
&nbsp;<br>
Fabrication<br>
&nbsp;<br>
To&nbsp;fabricate&nbsp;a&nbsp;model&nbsp;with&nbsp;gcode&nbsp;and&nbsp;the&nbsp;Arduino&nbsp;you&nbsp;can&nbsp;use&nbsp;the&nbsp;send.py&nbsp;in&nbsp;the&nbsp;fabricate&nbsp;folder.&nbsp;&nbsp;The&nbsp;documentation&nbsp;for&nbsp;it&nbsp;is<br>
in&nbsp;the&nbsp;folder&nbsp;as&nbsp;send.html&nbsp;and&nbsp;at:<br>
<a href="http://reprap.org/bin/view/Main/ArduinoSend">http://reprap.org/bin/view/Main/ArduinoSend</a><br>
&nbsp;<br>
Another&nbsp;way&nbsp;is&nbsp;to&nbsp;use&nbsp;an&nbsp;EMC2&nbsp;or&nbsp;similar&nbsp;computer&nbsp;controlled&nbsp;milling&nbsp;machine,&nbsp;as&nbsp;described&nbsp;in&nbsp;the&nbsp;"ECM2&nbsp;based&nbsp;repstrap"<br>
forum&nbsp;thread&nbsp;at:<br>
<a href="http://forums.reprap.org/read.php?1,12143">http://forums.reprap.org/read.php?1,12143</a><br>
&nbsp;<br>
using&nbsp;the&nbsp;M-Apps&nbsp;package,&nbsp;which&nbsp;is&nbsp;at:<br>
<a href="http://forums.reprap.org/file.php?1,file=772">http://forums.reprap.org/file.php?1,file=772</a><br>
&nbsp;<br>
Another&nbsp;way&nbsp;is&nbsp;to&nbsp;use&nbsp;Zach's&nbsp;ReplicatorG&nbsp;at:<br>
<a href="http://replicat.org/">http://replicat.org/</a><br>
&nbsp;<br>
There&nbsp;is&nbsp;also&nbsp;an&nbsp;older&nbsp;Processing&nbsp;script&nbsp;at:<br>
<a href="http://reprap.svn.sourceforge.net/viewvc/reprap/trunk/users/hoeken/arduino/GCode_Host/">http://reprap.svn.sourceforge.net/viewvc/reprap/trunk/users/hoeken/arduino/GCode_Host/</a><br>
&nbsp;<br>
Yet&nbsp;another&nbsp;way&nbsp;is&nbsp;to&nbsp;use&nbsp;the&nbsp;reprap&nbsp;host,&nbsp;written&nbsp;in&nbsp;Java,&nbsp;to&nbsp;load&nbsp;and&nbsp;print&nbsp;gcode:<br>
<a href="http://dev.www.reprap.org/bin/view/Main/DriverSoftware#Load_GCode">http://dev.www.reprap.org/bin/view/Main/DriverSoftware#Load_GCode</a><br>
&nbsp;<br>
For&nbsp;jogging,&nbsp;the&nbsp;Metalab&nbsp;group&nbsp;wrote&nbsp;their&nbsp;own&nbsp;exerciser,&nbsp;also&nbsp;in&nbsp;Processing:<br>
<a href="http://reprap.svn.sourceforge.net/viewvc/reprap/trunk/users/metalab/processing/GCode_Exerciser/">http://reprap.svn.sourceforge.net/viewvc/reprap/trunk/users/metalab/processing/GCode_Exerciser/</a><br>
&nbsp;<br>
The&nbsp;Metalab&nbsp;group&nbsp;has&nbsp;descriptions&nbsp;of&nbsp;skeinforge&nbsp;in&nbsp;action&nbsp;and&nbsp;their&nbsp;adventures&nbsp;are&nbsp;described&nbsp;at:<br>
<a href="http://reprap.soup.io/">http://reprap.soup.io/</a><br>
&nbsp;<br>
&nbsp;<br>
File&nbsp;Formats<br>
&nbsp;<br>
An&nbsp;explanation&nbsp;of&nbsp;the&nbsp;gcodes&nbsp;is&nbsp;at:<br>
<a href="http://reprap.org/bin/view/Main/Arduino_GCode_Interpreter">http://reprap.org/bin/view/Main/Arduino_GCode_Interpreter</a><br>
&nbsp;<br>
and&nbsp;at:<br>
<a href="http://reprap.org/bin/view/Main/MCodeReference">http://reprap.org/bin/view/Main/MCodeReference</a><br>
&nbsp;<br>
A&nbsp;gode&nbsp;example&nbsp;is&nbsp;at:<br>
<a href="http://forums.reprap.org/file.php?12,file=565">http://forums.reprap.org/file.php?12,file=565</a><br>
&nbsp;<br>
The&nbsp;preferences&nbsp;are&nbsp;saved&nbsp;as&nbsp;tab&nbsp;separated&nbsp;.csv&nbsp;files&nbsp;in&nbsp;the&nbsp;.skeinforge&nbsp;folder&nbsp;in&nbsp;your&nbsp;home&nbsp;directory.&nbsp;&nbsp;The&nbsp;preferences&nbsp;can<br>
be&nbsp;set&nbsp;in&nbsp;the&nbsp;tool&nbsp;dialogs.&nbsp;&nbsp;The&nbsp;.csv&nbsp;files&nbsp;can&nbsp;also&nbsp;be&nbsp;edited&nbsp;with&nbsp;a&nbsp;text&nbsp;editor&nbsp;or&nbsp;a&nbsp;spreadsheet&nbsp;program&nbsp;set&nbsp;to&nbsp;separate&nbsp;tabs.<br>
&nbsp;<br>
The&nbsp;Scalable&nbsp;Vector&nbsp;Graphics&nbsp;file&nbsp;produced&nbsp;by&nbsp;vectorwrite&nbsp;can&nbsp;be&nbsp;opened&nbsp;by&nbsp;an&nbsp;SVG&nbsp;viewer&nbsp;or&nbsp;an&nbsp;SVG&nbsp;capable&nbsp;browser<br>
like&nbsp;Mozilla:<br>
<a href="http://www.mozilla.com/firefox/">http://www.mozilla.com/firefox/</a><br>
&nbsp;<br>
A&nbsp;good&nbsp;triangle&nbsp;surface&nbsp;format&nbsp;is&nbsp;the&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;format,&nbsp;which&nbsp;is&nbsp;supported&nbsp;by&nbsp;Mesh&nbsp;Viewer&nbsp;and&nbsp;described&nbsp;at:<br>
<a href="http://gts.sourceforge.net/reference/gts-surfaces.html#GTS-SURFACE-WRITE">http://gts.sourceforge.net/reference/gts-surfaces.html#GTS-SURFACE-WRITE</a><br>
&nbsp;<br>
You&nbsp;can&nbsp;export&nbsp;GTS&nbsp;files&nbsp;from&nbsp;Art&nbsp;of&nbsp;Illusion&nbsp;with&nbsp;the&nbsp;Export&nbsp;GNU&nbsp;Triangulated&nbsp;Surface.bsh&nbsp;script&nbsp;in&nbsp;the&nbsp;Art&nbsp;of&nbsp;Illusion&nbsp;Scripts<br>
folder.<br>
&nbsp;<br>
STL&nbsp;is&nbsp;an&nbsp;inferior&nbsp;triangle&nbsp;surface&nbsp;format,&nbsp;described&nbsp;at:<br>
<a href="http://en.wikipedia.org/wiki/STL_(file_format">http://en.wikipedia.org/wiki/STL_(file_format</a>)<br>
&nbsp;<br>
If&nbsp;you're&nbsp;using&nbsp;an&nbsp;STL&nbsp;file&nbsp;and&nbsp;you&nbsp;can't&nbsp;even&nbsp;carve&nbsp;it,&nbsp;try&nbsp;converting&nbsp;it&nbsp;to&nbsp;a&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;file&nbsp;in&nbsp;Art&nbsp;of&nbsp;Illusion.&nbsp;&nbsp;If<br>
it&nbsp;still&nbsp;doesn't&nbsp;carve,&nbsp;then&nbsp;follow&nbsp;the&nbsp;advice&nbsp;in&nbsp;the&nbsp;troubleshooting&nbsp;section.<br>
&nbsp;<br>
&nbsp;<br>
&nbsp;<br>
Getting&nbsp;Skeinforge<br>
&nbsp;<br>
The&nbsp;latest&nbsp;version&nbsp;is&nbsp;in&nbsp;the&nbsp;last&nbsp;reprap_python_beanshell.zip&nbsp;attachment&nbsp;in&nbsp;the&nbsp;"How&nbsp;to&nbsp;Print&nbsp;Gcode&nbsp;from&nbsp;Host"&nbsp;thread&nbsp;at:<br>
<a href="http://forums.reprap.org/read.php?12,10772">http://forums.reprap.org/read.php?12,10772</a><br>
&nbsp;<br>
a&nbsp;sometimes&nbsp;out&nbsp;of&nbsp;date&nbsp;version&nbsp;is&nbsp;at:<br>
<a href="http://members.axion.net/~enrique/reprap_python_beanshell.zip">http://members.axion.net/~enrique/reprap_python_beanshell.zip</a><br>
&nbsp;<br>
another&nbsp;sometimes&nbsp;out&nbsp;of&nbsp;date&nbsp;version&nbsp;is&nbsp;at:<br>
https://reprap.svn.sourceforge.net/svnroot/reprap/trunk/reprap/miscellaneous/python-beanshell-scripts/<br>
&nbsp;<br>
&nbsp;<br>
&nbsp;<br>
Motto<br>
&nbsp;<br>
I&nbsp;may&nbsp;be&nbsp;slow,&nbsp;but&nbsp;I&nbsp;get&nbsp;there&nbsp;in&nbsp;the&nbsp;end.<br>
&nbsp;<br>
&nbsp;<br>
&nbsp;<br>
Troubleshooting<br>
&nbsp;<br>
If&nbsp;there's&nbsp;a&nbsp;bug,&nbsp;try&nbsp;downloading&nbsp;the&nbsp;very&nbsp;latest&nbsp;version&nbsp;because&nbsp;sometimes&nbsp;I&nbsp;update&nbsp;without&nbsp;posting.<br>
&nbsp;<br>
Then&nbsp;you&nbsp;can&nbsp;ask&nbsp;for&nbsp;skeinforge&nbsp;help&nbsp;by&nbsp;sending&nbsp;a&nbsp;private&nbsp;message&nbsp;through&nbsp;the&nbsp;forum&nbsp;software&nbsp;by&nbsp;going&nbsp;to&nbsp;my&nbsp;page&nbsp;at:<br>
<a href="http://forums.reprap.org/profile.php?12,488">http://forums.reprap.org/profile.php?12,488</a><br>
&nbsp;<br>
or&nbsp;posting&nbsp;in&nbsp;the&nbsp;"Skeinforge&nbsp;Powwow"&nbsp;thread&nbsp;at:<br>
<a href="http://forums.reprap.org/read.php?12,20013">http://forums.reprap.org/read.php?12,20013</a><br>
&nbsp;<br>
When&nbsp;asking&nbsp;for&nbsp;help&nbsp;please&nbsp;include&nbsp;your&nbsp;object&nbsp;and&nbsp;your&nbsp;zipped&nbsp;skeinforge&nbsp;preferences.&nbsp;&nbsp;The&nbsp;skeinforge&nbsp;preferences&nbsp;are&nbsp;in<br>
the&nbsp;.skeinforge&nbsp;folder&nbsp;in&nbsp;your&nbsp;home&nbsp;directory.<br>
&nbsp;<br>
&nbsp;<br>
Examples<br>
&nbsp;<br>
The&nbsp;following&nbsp;examples&nbsp;carve&nbsp;and&nbsp;dice&nbsp;the&nbsp;STL&nbsp;file&nbsp;Screw&nbsp;Holder.stl.&nbsp;&nbsp;The&nbsp;examples&nbsp;are&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the&nbsp;folder&nbsp;which<br>
contains&nbsp;Screw&nbsp;Holder.gts&nbsp;and&nbsp;skeinforge.py.<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;skeinforge.py<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;dialog,&nbsp;after&nbsp;clicking&nbsp;'Skeinforge',&nbsp;the&nbsp;following&nbsp;is&nbsp;printed:<br>
The&nbsp;exported&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder_export.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;skeinforge.py&nbsp;Screw&nbsp;Holder.stl<br>
The&nbsp;exported&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder_export.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;skeinforge<br>
&gt;&gt;&gt;&nbsp;skeinforge.<a href="#-writeOutput">writeOutput</a>()<br>
The&nbsp;exported&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder_export.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;skeinforge.<a href="#-main">main</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;skeinforge&nbsp;dialog.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="cStringIO.html">cStringIO</a><br>
<a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.interpret.html">skeinforge_tools.skeinforge_utilities.interpret</a><br>
<a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
<a href="sys.html">sys</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge.html#SkeinforgePreferences">SkeinforgePreferences</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="SkeinforgePreferences">class <strong>SkeinforgePreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;skeinforge&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="SkeinforgePreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="SkeinforgePreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Skeinforge&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getSkeinforgeToolFilenames"><strong>getSkeinforgeToolFilenames</strong></a>()</dt><dd><tt>Get&nbsp;skeinforge&nbsp;plugin&nbsp;fileNames.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>()</dt><dd><tt>Display&nbsp;the&nbsp;skeinforge&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Skeinforge&nbsp;a&nbsp;gcode&nbsp;file.&nbsp;&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;skeinforge&nbsp;the&nbsp;first&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder&nbsp;that&nbsp;is&nbsp;not&nbsp;modified.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__credits__</strong> = '<font color="#c040c0">\n</font>Adrian Bowyer &lt;http://forums.reprap.org/profile...:<font color="#c040c0">\n</font>Art of Illusion &lt;http://www.artofillusion.org/&gt;'<br>
<strong>__date__</strong> = '$Date: 2008/21/11 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Credits</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><br>
Adrian&nbsp;Bowyer&nbsp;&lt;<a href="http://forums.reprap.org/profile.php?12,13">http://forums.reprap.org/profile.php?12,13</a>&gt;<br>
Brendan&nbsp;Erwin&nbsp;&lt;<a href="http://forums.reprap.org/profile.php?12,217">http://forums.reprap.org/profile.php?12,217</a>&gt;<br>
Greenarrow&nbsp;&lt;<a href="http://forums.reprap.org/profile.php?12,81">http://forums.reprap.org/profile.php?12,81</a>&gt;<br>
Ian&nbsp;England&nbsp;&lt;<a href="http://forums.reprap.org/profile.php?12,192">http://forums.reprap.org/profile.php?12,192</a>&gt;<br>
John&nbsp;Gilmore&nbsp;&lt;<a href="http://forums.reprap.org/profile.php?12,364">http://forums.reprap.org/profile.php?12,364</a>&gt;<br>
Jonwise&nbsp;&lt;<a href="http://forums.reprap.org/profile.php?12,716">http://forums.reprap.org/profile.php?12,716</a>&gt;<br>
Kyle&nbsp;Corbitt&nbsp;&lt;<a href="http://forums.reprap.org/profile.php?12,90">http://forums.reprap.org/profile.php?12,90</a>&gt;<br>
Michael&nbsp;Duffin&nbsp;&lt;<a href="http://forums.reprap.org/profile.php?12,930">http://forums.reprap.org/profile.php?12,930</a>&gt;<br>
Marius&nbsp;Kintel&nbsp;&lt;<a href="http://reprap.soup.io/">http://reprap.soup.io/</a>&gt;<br>
Nophead&nbsp;&lt;<a href="http://www.blogger.com/profile/12801535866788103677">http://www.blogger.com/profile/12801535866788103677</a>&gt;<br>
PJR&nbsp;&lt;<a href="http://forums.reprap.org/profile.php?12,757">http://forums.reprap.org/profile.php?12,757</a>&gt;<br>
Reece.Arnott&nbsp;&lt;<a href="http://forums.reprap.org/profile.php?12,152">http://forums.reprap.org/profile.php?12,152</a>&gt;<br>
Wade&nbsp;&lt;<a href="http://forums.reprap.org/profile.php?12,489">http://forums.reprap.org/profile.php?12,489</a>&gt;<br>
Xsainnz&nbsp;&lt;<a href="http://forums.reprap.org/profile.php?12,563">http://forums.reprap.org/profile.php?12,563</a>&gt;<br>
Zach&nbsp;Hoeken&nbsp;&lt;<a href="http://blog.zachhoeken.com/">http://blog.zachhoeken.com/</a>&gt;<br>
&nbsp;<br>
Organizations:<br>
Art&nbsp;of&nbsp;Illusion&nbsp;&lt;<a href="http://www.artofillusion.org/">http://www.artofillusion.org/</a>&gt;</td></tr></table>
</body></html>

View File

@@ -0,0 +1,85 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.analyze</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.analyze</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze.py</a></font></td></tr></table>
<p><tt>Analyze&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;access&nbsp;the&nbsp;plugins&nbsp;which&nbsp;analyze&nbsp;a&nbsp;gcode&nbsp;file.<br>
&nbsp;<br>
An&nbsp;explanation&nbsp;of&nbsp;the&nbsp;gcodes&nbsp;is&nbsp;at:<br>
<a href="http://reprap.org/bin/view/Main/Arduino_GCode_Interpreter">http://reprap.org/bin/view/Main/Arduino_GCode_Interpreter</a><br>
&nbsp;<br>
A&nbsp;gode&nbsp;example&nbsp;is&nbsp;at:<br>
<a href="http://forums.reprap.org/file.php?12,file=565">http://forums.reprap.org/file.php?12,file=565</a></tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="cStringIO.html">cStringIO</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="os.html">os</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
<a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
</td><td width="25%" valign=top><a href="sys.html">sys</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.analyze.html#AnalyzePreferences">AnalyzePreferences</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="AnalyzePreferences">class <strong>AnalyzePreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;analyze&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="AnalyzePreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="AnalyzePreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Analyze&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getAnalyzePluginFilenames"><strong>getAnalyzePluginFilenames</strong></a>()</dt><dd><tt>Get&nbsp;analyze&nbsp;plugin&nbsp;fileNames.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>(hashtable<font color="#909090">=None</font>)</dt><dd><tt>Display&nbsp;the&nbsp;analyze&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName<font color="#909090">=''</font>, gcodeText<font color="#909090">=''</font>)</dt><dd><tt>Analyze&nbsp;a&nbsp;gcode&nbsp;file.&nbsp;&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;comment&nbsp;the&nbsp;first&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder&nbsp;that&nbsp;is&nbsp;not&nbsp;modified.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,80 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.analyze_plugins.analyze_utilities.enrique</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.analyze_plugins.html"><font color="#ffffff">analyze_plugins</font></a>.<a href="skeinforge_tools.analyze_plugins.analyze_utilities.html"><font color="#ffffff">analyze_utilities</font></a>.enrique</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze_plugins/analyze_utilities/enrique.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze_plugins/analyze_utilities/enrique.py</a></font></td></tr></table>
<p></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="Image.html">Image</a><br>
</td><td width="25%" valign=top><a href="ImageChops.html">ImageChops</a><br>
</td><td width="25%" valign=top><a href="ImageDraw.html">ImageDraw</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.analyze_plugins.analyze_utilities.enrique.html#g2gif">g2gif</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="g2gif">class <strong>g2gif</strong></a></font></td></tr>
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="g2gif-__init__"><strong>__init__</strong></a>(self, fileName, outfile)</dt></dl>
<dl><dt><a name="g2gif-linearMove"><strong>linearMove</strong></a>(self, splitLine)</dt></dl>
<dl><dt><a name="g2gif-parseLine"><strong>parseLine</strong></a>(self, line)</dt></dl>
<dl><dt><a name="g2gif-scale"><strong>scale</strong></a>(self, x, y)</dt></dl>
<dl><dt><a name="g2gif-setFeedrate"><strong>setFeedrate</strong></a>(self, splitLine)</dt><dd><tt>#&nbsp;Set&nbsp;the&nbsp;feedrate&nbsp;to&nbsp;the&nbsp;gcode&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="g2gif-setPointComponent"><strong>setPointComponent</strong></a>(self, point, splitLine)</dt><dd><tt>#&nbsp;Set&nbsp;a&nbsp;point&nbsp;to&nbsp;the&nbsp;gcode&nbsp;split&nbsp;line.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getDoubleAfterFirstLetter"><strong>getDoubleAfterFirstLetter</strong></a>(word)</dt><dd><tt>#&nbsp;Get&nbsp;the&nbsp;double&nbsp;value&nbsp;of&nbsp;the&nbsp;word&nbsp;after&nbsp;the&nbsp;first&nbsp;letter.<br>
#&nbsp;@param&nbsp;&nbsp;word&nbsp;string&nbsp;with&nbsp;value&nbsp;starting&nbsp;after&nbsp;the&nbsp;first&nbsp;letter<br>
#&nbsp;@return&nbsp;&nbsp;double&nbsp;value&nbsp;of&nbsp;the&nbsp;word&nbsp;after&nbsp;the&nbsp;first&nbsp;letter</tt></dd></dl>
<dl><dt><a name="-getDoubleForLetter"><strong>getDoubleForLetter</strong></a>(letter, splitLine)</dt><dd><tt>#&nbsp;Get&nbsp;the&nbsp;double&nbsp;value&nbsp;of&nbsp;the&nbsp;word&nbsp;after&nbsp;the&nbsp;first&nbsp;occurence&nbsp;of&nbsp;the&nbsp;letter&nbsp;in&nbsp;the&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="-getFileText"><strong>getFileText</strong></a>(fileName)</dt><dd><tt>#&nbsp;Get&nbsp;the&nbsp;entire&nbsp;text&nbsp;of&nbsp;a&nbsp;file.<br>
#&nbsp;@param&nbsp;&nbsp;fileName&nbsp;name&nbsp;of&nbsp;the&nbsp;file<br>
#&nbsp;@return&nbsp;&nbsp;entire&nbsp;text&nbsp;of&nbsp;a&nbsp;file.</tt></dd></dl>
<dl><dt><a name="-getTextLines"><strong>getTextLines</strong></a>(text)</dt><dd><tt>#&nbsp;Get&nbsp;the&nbsp;all&nbsp;the&nbsp;lines&nbsp;of&nbsp;text&nbsp;of&nbsp;a&nbsp;text.<br>
#&nbsp;@param&nbsp;&nbsp;text&nbsp;text<br>
#&nbsp;@return&nbsp;&nbsp;the&nbsp;lines&nbsp;of&nbsp;text&nbsp;of&nbsp;a&nbsp;text</tt></dd></dl>
<dl><dt><a name="-indexOfStartingWithSecond"><strong>indexOfStartingWithSecond</strong></a>(letter, splitLine)</dt><dd><tt>#&nbsp;Get&nbsp;index&nbsp;of&nbsp;the&nbsp;first&nbsp;occurence&nbsp;of&nbsp;the&nbsp;given&nbsp;letter&nbsp;in&nbsp;the&nbsp;split&nbsp;line,&nbsp;starting&nbsp;with&nbsp;the&nbsp;second&nbsp;word.&nbsp;&nbsp;Return&nbsp;-&nbsp;1&nbsp;if&nbsp;letter&nbsp;is&nbsp;not&nbsp;found</tt></dd></dl>
<dl><dt><a name="-makedelta"><strong>makedelta</strong></a>(fp, sequence)</dt><dd><tt>Convert&nbsp;list&nbsp;of&nbsp;image&nbsp;frames&nbsp;to&nbsp;a&nbsp;GIF&nbsp;animation&nbsp;file</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,76 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.analyze_plugins.analyze_utilities.gRead</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.analyze_plugins.html"><font color="#ffffff">analyze_plugins</font></a>.<a href="skeinforge_tools.analyze_plugins.analyze_utilities.html"><font color="#ffffff">analyze_utilities</font></a>.gRead</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze_plugins/analyze_utilities/gRead.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze_plugins/analyze_utilities/gRead.py</a></font></td></tr></table>
<p></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
</td><td width="25%" valign=top></td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.analyze_plugins.analyze_utilities.gRead.html#gRead">gRead</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="gRead">class <strong>gRead</strong></a></font></td></tr>
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="gRead-__init__"><strong>__init__</strong></a>(self, fileName, layers, gcodeText<font color="#909090">=''</font>)</dt></dl>
<dl><dt><a name="gRead-linearMove"><strong>linearMove</strong></a>(self, splitLine)</dt></dl>
<dl><dt><a name="gRead-newLayer"><strong>newLayer</strong></a>(self)</dt></dl>
<dl><dt><a name="gRead-newThread"><strong>newThread</strong></a>(self)</dt></dl>
<dl><dt><a name="gRead-parseLine"><strong>parseLine</strong></a>(self, line)</dt></dl>
<dl><dt><a name="gRead-setPointComponent"><strong>setPointComponent</strong></a>(self, point, splitLine)</dt><dd><tt>#&nbsp;Set&nbsp;a&nbsp;point&nbsp;to&nbsp;the&nbsp;gcode&nbsp;split&nbsp;line.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getDoubleAfterFirstLetter"><strong>getDoubleAfterFirstLetter</strong></a>(word)</dt><dd><tt>#&nbsp;Get&nbsp;the&nbsp;double&nbsp;value&nbsp;of&nbsp;the&nbsp;word&nbsp;after&nbsp;the&nbsp;first&nbsp;letter.<br>
#&nbsp;@param&nbsp;&nbsp;word&nbsp;string&nbsp;with&nbsp;value&nbsp;starting&nbsp;after&nbsp;the&nbsp;first&nbsp;letter<br>
#&nbsp;@return&nbsp;&nbsp;double&nbsp;value&nbsp;of&nbsp;the&nbsp;word&nbsp;after&nbsp;the&nbsp;first&nbsp;letter</tt></dd></dl>
<dl><dt><a name="-getFileText"><strong>getFileText</strong></a>(fileName)</dt><dd><tt>#&nbsp;Get&nbsp;the&nbsp;entire&nbsp;text&nbsp;of&nbsp;a&nbsp;file.<br>
#&nbsp;@param&nbsp;&nbsp;fileName&nbsp;name&nbsp;of&nbsp;the&nbsp;file<br>
#&nbsp;@return&nbsp;&nbsp;entire&nbsp;text&nbsp;of&nbsp;a&nbsp;file.</tt></dd></dl>
<dl><dt><a name="-getTextLines"><strong>getTextLines</strong></a>(text)</dt><dd><tt>#&nbsp;Get&nbsp;the&nbsp;all&nbsp;the&nbsp;lines&nbsp;of&nbsp;text&nbsp;of&nbsp;a&nbsp;text.<br>
#&nbsp;@param&nbsp;&nbsp;text&nbsp;text<br>
#&nbsp;@return&nbsp;&nbsp;the&nbsp;lines&nbsp;of&nbsp;text&nbsp;of&nbsp;a&nbsp;text</tt></dd></dl>
<dl><dt><a name="-indexOfStartingWithSecond"><strong>indexOfStartingWithSecond</strong></a>(letter, splitLine)</dt><dd><tt>#&nbsp;Get&nbsp;index&nbsp;of&nbsp;the&nbsp;first&nbsp;occurence&nbsp;of&nbsp;the&nbsp;given&nbsp;letter&nbsp;in&nbsp;the&nbsp;split&nbsp;line,&nbsp;starting&nbsp;with&nbsp;the&nbsp;second&nbsp;word.&nbsp;&nbsp;Return&nbsp;-&nbsp;1&nbsp;if&nbsp;letter&nbsp;is&nbsp;not&nbsp;found</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,34 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: package skeinforge_tools.analyze_plugins.analyze_utilities</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.analyze_plugins.html"><font color="#ffffff">analyze_plugins</font></a>.analyze_utilities</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze_plugins/analyze_utilities/__init__.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze_plugins/analyze_utilities/__init__.py</a></font></td></tr></table>
<p><tt>#This&nbsp;is&nbsp;required&nbsp;to&nbsp;workaround&nbsp;the&nbsp;python&nbsp;import&nbsp;bug&nbsp;where&nbsp;relative&nbsp;imports&nbsp;don't&nbsp;work&nbsp;if&nbsp;the&nbsp;module&nbsp;is&nbsp;imported&nbsp;as&nbsp;a&nbsp;main&nbsp;module.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Package Contents</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="skeinforge_tools.analyze_plugins.analyze_utilities.enrique.html">enrique</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.analyze_plugins.analyze_utilities.gRead.html">gRead</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.analyze_plugins.analyze_utilities.layers.html">layers</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.analyze_plugins.analyze_utilities.preview.html">preview</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>level</strong> = 3<br>
<strong>numberOfLevelsDeepInPackageHierarchy</strong> = 3<br>
<strong>packageFilePath</strong> = '/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap'</td></tr></table>
</body></html>

View File

@@ -0,0 +1,40 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.analyze_plugins.analyze_utilities.layers</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.analyze_plugins.html"><font color="#ffffff">analyze_plugins</font></a>.<a href="skeinforge_tools.analyze_plugins.analyze_utilities.html"><font color="#ffffff">analyze_utilities</font></a>.layers</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze_plugins/analyze_utilities/layers.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze_plugins/analyze_utilities/layers.py</a></font></td></tr></table>
<p></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="Image.html">Image</a><br>
</td><td width="25%" valign=top><a href="ImageDraw.html">ImageDraw</a><br>
</td><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-bounding_cube"><strong>bounding_cube</strong></a>(layers)</dt></dl>
<dl><dt><a name="-make_images"><strong>make_images</strong></a>(layers)</dt></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,67 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.analyze_plugins.analyze_utilities.preview</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.analyze_plugins.html"><font color="#ffffff">analyze_plugins</font></a>.<a href="skeinforge_tools.analyze_plugins.analyze_utilities.html"><font color="#ffffff">analyze_utilities</font></a>.preview</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze_plugins/analyze_utilities/preview.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze_plugins/analyze_utilities/preview.py</a></font></td></tr></table>
<p></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="Image.html">Image</a><br>
<a href="ImageDraw.html">ImageDraw</a><br>
</td><td width="25%" valign=top><a href="ImageTk.html">ImageTk</a><br>
<a href="Tkinter.html">Tkinter</a><br>
</td><td width="25%" valign=top><a href="sys.html">sys</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.analyze_plugins.analyze_utilities.preview.html#Preview">Preview</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="Preview">class <strong>Preview</strong></a></font></td></tr>
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Preview-__init__"><strong>__init__</strong></a>(self, layers)</dt></dl>
<dl><dt><a name="Preview-down"><strong>down</strong></a>(self)</dt></dl>
<dl><dt><a name="Preview-up"><strong>up</strong></a>(self)</dt></dl>
<dl><dt><a name="Preview-update"><strong>update</strong></a>(self)</dt></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-viewGif"><strong>viewGif</strong></a>(fileName, gcodeText<font color="#909090">=''</font>)</dt></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,322 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.analyze_plugins.behold</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.analyze_plugins.html"><font color="#ffffff">analyze_plugins</font></a>.behold</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze_plugins/behold.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze_plugins/behold.py</a></font></td></tr></table>
<p><tt>Behold&nbsp;is&nbsp;an&nbsp;analysis&nbsp;script&nbsp;to&nbsp;display&nbsp;a&nbsp;gcode&nbsp;file&nbsp;in&nbsp;an&nbsp;isometric&nbsp;view.<br>
&nbsp;<br>
The&nbsp;default&nbsp;'Activate&nbsp;Behold'&nbsp;checkbox&nbsp;is&nbsp;on.&nbsp;&nbsp;When&nbsp;it&nbsp;is&nbsp;on,&nbsp;the&nbsp;functions&nbsp;described&nbsp;below&nbsp;will&nbsp;work&nbsp;when&nbsp;called&nbsp;from&nbsp;the<br>
skeinforge&nbsp;toolchain,&nbsp;when&nbsp;it&nbsp;is&nbsp;off,&nbsp;the&nbsp;functions&nbsp;will&nbsp;not&nbsp;be&nbsp;called&nbsp;from&nbsp;the&nbsp;toolchain.&nbsp;&nbsp;The&nbsp;functions&nbsp;will&nbsp;still&nbsp;be&nbsp;called,&nbsp;whether<br>
or&nbsp;not&nbsp;the&nbsp;'Activate&nbsp;Behold'&nbsp;checkbox&nbsp;is&nbsp;on,&nbsp;when&nbsp;behold&nbsp;is&nbsp;run&nbsp;directly.&nbsp;&nbsp;Behold&nbsp;can&nbsp;not&nbsp;separate&nbsp;the&nbsp;layers&nbsp;when&nbsp;it&nbsp;reads<br>
gcode&nbsp;without&nbsp;comments.<br>
&nbsp;<br>
The&nbsp;viewer&nbsp;is&nbsp;simple,&nbsp;the&nbsp;viewpoint&nbsp;can&nbsp;only&nbsp;be&nbsp;moved&nbsp;in&nbsp;a&nbsp;sphere&nbsp;around&nbsp;the&nbsp;center&nbsp;of&nbsp;the&nbsp;model&nbsp;by&nbsp;changing&nbsp;the&nbsp;viewpoint<br>
latitude&nbsp;and&nbsp;longitude.&nbsp;&nbsp;Different&nbsp;regions&nbsp;of&nbsp;the&nbsp;model&nbsp;can&nbsp;be&nbsp;hidden&nbsp;by&nbsp;setting&nbsp;the&nbsp;width&nbsp;of&nbsp;the&nbsp;thread&nbsp;to&nbsp;zero.&nbsp;&nbsp;The&nbsp;alternating<br>
bands&nbsp;act&nbsp;as&nbsp;contour&nbsp;bands&nbsp;and&nbsp;their&nbsp;brightness&nbsp;and&nbsp;width&nbsp;can&nbsp;be&nbsp;changed.&nbsp;&nbsp;The&nbsp;layers&nbsp;will&nbsp;be&nbsp;displayed&nbsp;starting&nbsp;at&nbsp;the&nbsp;"Layer<br>
From"&nbsp;index&nbsp;up&nbsp;until&nbsp;the&nbsp;"Layer&nbsp;To"&nbsp;index.&nbsp;&nbsp;All&nbsp;of&nbsp;the&nbsp;preferences&nbsp;can&nbsp;be&nbsp;set&nbsp;in&nbsp;the&nbsp;initial&nbsp;"Behold&nbsp;Preferences"&nbsp;window&nbsp;and<br>
some&nbsp;can&nbsp;be&nbsp;changed&nbsp;after&nbsp;the&nbsp;viewer&nbsp;is&nbsp;running&nbsp;in&nbsp;the&nbsp;"Behold&nbsp;Dynamic&nbsp;Preferences"&nbsp;window.&nbsp;&nbsp;In&nbsp;the&nbsp;viewer,&nbsp;dragging&nbsp;the<br>
mouse&nbsp;will&nbsp;change&nbsp;the&nbsp;viewpoint.<br>
&nbsp;<br>
The&nbsp;"Band&nbsp;Height"&nbsp;is&nbsp;height&nbsp;of&nbsp;the&nbsp;band&nbsp;in&nbsp;layers,&nbsp;with&nbsp;the&nbsp;default&nbsp;of&nbsp;five,&nbsp;a&nbsp;pair&nbsp;of&nbsp;bands&nbsp;is&nbsp;ten&nbsp;layers&nbsp;high.&nbsp;&nbsp;The&nbsp;"Bottom&nbsp;Band<br>
Brightness"&nbsp;is&nbsp;the&nbsp;ratio&nbsp;of&nbsp;the&nbsp;brightness&nbsp;of&nbsp;the&nbsp;bottom&nbsp;band&nbsp;over&nbsp;the&nbsp;brightness&nbsp;of&nbsp;the&nbsp;top&nbsp;band,&nbsp;the&nbsp;default&nbsp;is&nbsp;0.7.&nbsp;&nbsp;The&nbsp;"Bottom<br>
Layer&nbsp;Brightness"&nbsp;is&nbsp;the&nbsp;ratio&nbsp;of&nbsp;the&nbsp;brightness&nbsp;of&nbsp;the&nbsp;bottom&nbsp;layer&nbsp;over&nbsp;the&nbsp;brightness&nbsp;of&nbsp;the&nbsp;top&nbsp;layer,&nbsp;the&nbsp;default&nbsp;is&nbsp;1.0.&nbsp;&nbsp;With&nbsp;a<br>
low&nbsp;bottom&nbsp;layer&nbsp;brightness&nbsp;ratio&nbsp;the&nbsp;bottom&nbsp;of&nbsp;the&nbsp;model&nbsp;will&nbsp;be&nbsp;darker&nbsp;than&nbsp;the&nbsp;top&nbsp;of&nbsp;the&nbsp;model,&nbsp;as&nbsp;if&nbsp;it&nbsp;was&nbsp;being&nbsp;illuminated<br>
by&nbsp;a&nbsp;light&nbsp;just&nbsp;above&nbsp;the&nbsp;top.&nbsp;&nbsp;The&nbsp;"Bright&nbsp;Band&nbsp;Start"&nbsp;button&nbsp;group&nbsp;determines&nbsp;where&nbsp;the&nbsp;bright&nbsp;band&nbsp;starts&nbsp;from.&nbsp;&nbsp;If&nbsp;the&nbsp;"From<br>
the&nbsp;Bottom"&nbsp;choice&nbsp;is&nbsp;selected,&nbsp;the&nbsp;bright&nbsp;bands&nbsp;will&nbsp;start&nbsp;from&nbsp;the&nbsp;bottom.&nbsp;&nbsp;If&nbsp;the&nbsp;default&nbsp;"From&nbsp;the&nbsp;Top"&nbsp;choice&nbsp;is&nbsp;selected,&nbsp;the<br>
bright&nbsp;bands&nbsp;will&nbsp;start&nbsp;from&nbsp;the&nbsp;top.<br>
&nbsp;<br>
If&nbsp;"Draw&nbsp;Arrows"&nbsp;is&nbsp;selected,&nbsp;arrows&nbsp;will&nbsp;be&nbsp;drawn&nbsp;at&nbsp;the&nbsp;end&nbsp;of&nbsp;each&nbsp;line&nbsp;segment,&nbsp;the&nbsp;default&nbsp;is&nbsp;on.&nbsp;&nbsp;If&nbsp;"Go&nbsp;Around&nbsp;Extruder<br>
Off&nbsp;Travel"&nbsp;is&nbsp;selected,&nbsp;the&nbsp;display&nbsp;will&nbsp;include&nbsp;the&nbsp;travel&nbsp;when&nbsp;the&nbsp;extruder&nbsp;is&nbsp;off,&nbsp;which&nbsp;means&nbsp;it&nbsp;will&nbsp;include&nbsp;the&nbsp;nozzle&nbsp;wipe<br>
path&nbsp;if&nbsp;any.<br>
&nbsp;<br>
The&nbsp;"Layer&nbsp;From"&nbsp;is&nbsp;the&nbsp;index&nbsp;of&nbsp;the&nbsp;bottom&nbsp;layer&nbsp;that&nbsp;will&nbsp;be&nbsp;displayed.&nbsp;&nbsp;If&nbsp;the&nbsp;layer&nbsp;from&nbsp;is&nbsp;the&nbsp;default&nbsp;zero,&nbsp;the&nbsp;display&nbsp;will<br>
start&nbsp;from&nbsp;the&nbsp;lowest&nbsp;layer.&nbsp;&nbsp;If&nbsp;the&nbsp;the&nbsp;layer&nbsp;from&nbsp;index&nbsp;is&nbsp;negative,&nbsp;then&nbsp;the&nbsp;display&nbsp;will&nbsp;start&nbsp;from&nbsp;the&nbsp;layer&nbsp;from&nbsp;index&nbsp;below&nbsp;the<br>
top&nbsp;layer.&nbsp;&nbsp;The&nbsp;"Layer&nbsp;To"&nbsp;is&nbsp;the&nbsp;index&nbsp;of&nbsp;the&nbsp;top&nbsp;layer&nbsp;that&nbsp;will&nbsp;be&nbsp;displayed.&nbsp;&nbsp;If&nbsp;the&nbsp;layer&nbsp;to&nbsp;index&nbsp;is&nbsp;a&nbsp;huge&nbsp;number&nbsp;like&nbsp;the<br>
default&nbsp;999999999,&nbsp;the&nbsp;display&nbsp;will&nbsp;go&nbsp;to&nbsp;the&nbsp;top&nbsp;of&nbsp;the&nbsp;model,&nbsp;at&nbsp;least&nbsp;until&nbsp;we&nbsp;model&nbsp;habitats:)&nbsp;&nbsp;If&nbsp;the&nbsp;layer&nbsp;to&nbsp;index&nbsp;is&nbsp;negative,<br>
then&nbsp;the&nbsp;display&nbsp;will&nbsp;go&nbsp;to&nbsp;the&nbsp;layer&nbsp;to&nbsp;index&nbsp;below&nbsp;the&nbsp;top&nbsp;layer.&nbsp;&nbsp;The&nbsp;layer&nbsp;from&nbsp;until&nbsp;layer&nbsp;to&nbsp;index&nbsp;is&nbsp;a&nbsp;python&nbsp;slice.<br>
&nbsp;<br>
The&nbsp;"Number&nbsp;of&nbsp;Fill&nbsp;Bottom&nbsp;Layers"&nbsp;is&nbsp;the&nbsp;number&nbsp;of&nbsp;layers&nbsp;at&nbsp;the&nbsp;bottom&nbsp;which&nbsp;will&nbsp;be&nbsp;colored&nbsp;olive.&nbsp;&nbsp;The&nbsp;"Number&nbsp;of&nbsp;Fill&nbsp;Bottom<br>
Layers"&nbsp;is&nbsp;the&nbsp;number&nbsp;of&nbsp;layers&nbsp;at&nbsp;the&nbsp;top&nbsp;which&nbsp;will&nbsp;be&nbsp;colored&nbsp;blue.<br>
&nbsp;<br>
The&nbsp;"Pixels&nbsp;over&nbsp;Extrusion&nbsp;Width"&nbsp;preference&nbsp;is&nbsp;the&nbsp;scale&nbsp;of&nbsp;the&nbsp;image,&nbsp;the&nbsp;higher&nbsp;the&nbsp;number,&nbsp;the&nbsp;greater&nbsp;the&nbsp;size&nbsp;of&nbsp;the&nbsp;display.<br>
The&nbsp;"Screen&nbsp;Horizontal&nbsp;Inset"&nbsp;determines&nbsp;how&nbsp;much&nbsp;the&nbsp;display&nbsp;will&nbsp;be&nbsp;inset&nbsp;in&nbsp;the&nbsp;horizontal&nbsp;direction&nbsp;from&nbsp;the&nbsp;edge&nbsp;of&nbsp;screen,<br>
the&nbsp;higher&nbsp;the&nbsp;number&nbsp;the&nbsp;more&nbsp;it&nbsp;will&nbsp;be&nbsp;inset&nbsp;and&nbsp;the&nbsp;smaller&nbsp;it&nbsp;will&nbsp;be,&nbsp;the&nbsp;default&nbsp;is&nbsp;one&nbsp;hundred.&nbsp;&nbsp;The&nbsp;"Screen&nbsp;Vertical&nbsp;Inset"<br>
determines&nbsp;how&nbsp;much&nbsp;the&nbsp;display&nbsp;will&nbsp;be&nbsp;inset&nbsp;in&nbsp;the&nbsp;vertical&nbsp;direction&nbsp;from&nbsp;the&nbsp;edge&nbsp;of&nbsp;screen,&nbsp;the&nbsp;default&nbsp;is&nbsp;fifty.<br>
&nbsp;<br>
The&nbsp;"Viewpoint&nbsp;Latitude"&nbsp;is&nbsp;the&nbsp;latitude&nbsp;of&nbsp;the&nbsp;viewpoint,&nbsp;the&nbsp;default&nbsp;is&nbsp;15&nbsp;degrees.&nbsp;&nbsp;The&nbsp;"Viewpoint&nbsp;Longitude"&nbsp;is&nbsp;the&nbsp;longitude&nbsp;of<br>
the&nbsp;viewpoint,&nbsp;the&nbsp;default&nbsp;is&nbsp;210&nbsp;degrees.&nbsp;&nbsp;The&nbsp;viewpoint&nbsp;can&nbsp;also&nbsp;be&nbsp;moved&nbsp;by&nbsp;dragging&nbsp;the&nbsp;mouse.&nbsp;&nbsp;The&nbsp;viewpoint&nbsp;latitude&nbsp;will<br>
be&nbsp;increased&nbsp;when&nbsp;the&nbsp;mouse&nbsp;is&nbsp;dragged&nbsp;from&nbsp;the&nbsp;center&nbsp;towards&nbsp;the&nbsp;edge.&nbsp;&nbsp;The&nbsp;viewpoint&nbsp;longitude&nbsp;will&nbsp;be&nbsp;changed&nbsp;by&nbsp;the<br>
amount&nbsp;around&nbsp;the&nbsp;center&nbsp;the&nbsp;mouse&nbsp;is&nbsp;dragged.&nbsp;&nbsp;This&nbsp;is&nbsp;not&nbsp;very&nbsp;intuitive,&nbsp;but&nbsp;I&nbsp;don't&nbsp;know&nbsp;how&nbsp;to&nbsp;do&nbsp;this&nbsp;the&nbsp;intuitive&nbsp;way&nbsp;and<br>
I&nbsp;have&nbsp;other&nbsp;stuff&nbsp;to&nbsp;develop.&nbsp;&nbsp;If&nbsp;the&nbsp;shift&nbsp;key&nbsp;is&nbsp;pressed;&nbsp;if&nbsp;the&nbsp;latitude&nbsp;is&nbsp;changed&nbsp;more&nbsp;than&nbsp;the&nbsp;longitude,&nbsp;only&nbsp;the&nbsp;latitude&nbsp;will<br>
be&nbsp;changed,&nbsp;if&nbsp;the&nbsp;longitude&nbsp;is&nbsp;changed&nbsp;more&nbsp;only&nbsp;the&nbsp;longitude&nbsp;will&nbsp;be&nbsp;changed.<br>
&nbsp;<br>
The&nbsp;"Width&nbsp;of&nbsp;Extrusion&nbsp;Thread"&nbsp;sets&nbsp;the&nbsp;width&nbsp;of&nbsp;the&nbsp;green&nbsp;extrusion&nbsp;threads,&nbsp;those&nbsp;threads&nbsp;which&nbsp;are&nbsp;not&nbsp;loops&nbsp;and&nbsp;not&nbsp;part&nbsp;of<br>
the&nbsp;raft.&nbsp;&nbsp;The&nbsp;default&nbsp;is&nbsp;one,&nbsp;if&nbsp;the&nbsp;width&nbsp;is&nbsp;zero&nbsp;the&nbsp;extrusion&nbsp;threads&nbsp;will&nbsp;be&nbsp;invisible.&nbsp;&nbsp;The&nbsp;"Width&nbsp;of&nbsp;Fill&nbsp;Bottom&nbsp;Thread"&nbsp;sets<br>
the&nbsp;width&nbsp;of&nbsp;the&nbsp;olive&nbsp;extrusion&nbsp;threads&nbsp;at&nbsp;the&nbsp;bottom&nbsp;of&nbsp;the&nbsp;model,&nbsp;the&nbsp;default&nbsp;is&nbsp;three.&nbsp;&nbsp;The&nbsp;"Width&nbsp;of&nbsp;Fill&nbsp;Top&nbsp;Thread"&nbsp;sets&nbsp;the<br>
width&nbsp;of&nbsp;the&nbsp;blue&nbsp;extrusion&nbsp;threads&nbsp;at&nbsp;the&nbsp;top&nbsp;of&nbsp;the&nbsp;model,&nbsp;the&nbsp;default&nbsp;is&nbsp;three.&nbsp;&nbsp;The&nbsp;"Width&nbsp;of&nbsp;Loop&nbsp;Thread"&nbsp;sets&nbsp;the&nbsp;width&nbsp;of&nbsp;the<br>
yellow&nbsp;loop&nbsp;threads,&nbsp;which&nbsp;are&nbsp;not&nbsp;perimeters,&nbsp;the&nbsp;default&nbsp;is&nbsp;three.&nbsp;&nbsp;The&nbsp;"Width&nbsp;of&nbsp;Perimeter&nbsp;Inside&nbsp;Thread"&nbsp;sets&nbsp;the&nbsp;width&nbsp;of&nbsp;the<br>
orange&nbsp;inside&nbsp;perimeter&nbsp;threads,&nbsp;the&nbsp;default&nbsp;is&nbsp;three.&nbsp;&nbsp;The&nbsp;"Width&nbsp;of&nbsp;Perimeter&nbsp;Outside&nbsp;Thread"&nbsp;sets&nbsp;the&nbsp;width&nbsp;of&nbsp;the&nbsp;red&nbsp;outside<br>
perimeter&nbsp;threads,&nbsp;the&nbsp;default&nbsp;is&nbsp;three.&nbsp;&nbsp;The&nbsp;"Width&nbsp;of&nbsp;Raft&nbsp;Thread"&nbsp;sets&nbsp;the&nbsp;width&nbsp;of&nbsp;the&nbsp;brown&nbsp;raft&nbsp;threads,&nbsp;the&nbsp;default&nbsp;is&nbsp;one.<br>
The&nbsp;"Width&nbsp;of&nbsp;Travel&nbsp;Thread"&nbsp;sets&nbsp;the&nbsp;width&nbsp;of&nbsp;the&nbsp;gray&nbsp;extruder&nbsp;off&nbsp;travel&nbsp;threads,&nbsp;the&nbsp;default&nbsp;is&nbsp;zero.<br>
&nbsp;<br>
The&nbsp;"Width&nbsp;of&nbsp;X&nbsp;Axis"&nbsp;preference&nbsp;sets&nbsp;the&nbsp;width&nbsp;of&nbsp;the&nbsp;dark&nbsp;orange&nbsp;X&nbsp;Axis,&nbsp;the&nbsp;default&nbsp;is&nbsp;five&nbsp;pixels.&nbsp;&nbsp;The&nbsp;"Width&nbsp;of&nbsp;Y&nbsp;Axis"&nbsp;sets<br>
the&nbsp;width&nbsp;of&nbsp;the&nbsp;gold&nbsp;Y&nbsp;Axis,&nbsp;the&nbsp;default&nbsp;is&nbsp;five.&nbsp;&nbsp;The&nbsp;"Width&nbsp;of&nbsp;Z&nbsp;Axis"&nbsp;sets&nbsp;the&nbsp;width&nbsp;of&nbsp;the&nbsp;sky&nbsp;blue&nbsp;Z&nbsp;Axis,&nbsp;the&nbsp;default&nbsp;is&nbsp;five.<br>
&nbsp;<br>
To&nbsp;run&nbsp;behold,&nbsp;in&nbsp;a&nbsp;shell&nbsp;in&nbsp;the&nbsp;folder&nbsp;which&nbsp;behold&nbsp;is&nbsp;in&nbsp;type:<br>
&gt;&nbsp;python&nbsp;behold.py<br>
&nbsp;<br>
An&nbsp;explanation&nbsp;of&nbsp;the&nbsp;gcodes&nbsp;is&nbsp;at:<br>
<a href="http://reprap.org/bin/view/Main/Arduino_GCode_Interpreter">http://reprap.org/bin/view/Main/Arduino_GCode_Interpreter</a><br>
&nbsp;<br>
and&nbsp;at:<br>
<a href="http://reprap.org/bin/view/Main/MCodeReference">http://reprap.org/bin/view/Main/MCodeReference</a><br>
&nbsp;<br>
A&nbsp;gode&nbsp;example&nbsp;is&nbsp;at:<br>
<a href="http://forums.reprap.org/file.php?12,file=565">http://forums.reprap.org/file.php?12,file=565</a><br>
&nbsp;<br>
This&nbsp;example&nbsp;lets&nbsp;the&nbsp;viewer&nbsp;behold&nbsp;the&nbsp;gcode&nbsp;file&nbsp;Screw&nbsp;Holder.gcode.&nbsp;&nbsp;This&nbsp;example&nbsp;is&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the&nbsp;folder&nbsp;which<br>
contains&nbsp;Screw&nbsp;Holder.gcode&nbsp;and&nbsp;behold.py.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;behold.py<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;behold&nbsp;dialog.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;behold.py&nbsp;Screw&nbsp;Holder.gcode<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;behold&nbsp;dialog&nbsp;to&nbsp;view&nbsp;the&nbsp;gcode&nbsp;file.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;behold<br>
&gt;&gt;&gt;&nbsp;behold.<a href="#-main">main</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;behold&nbsp;dialog.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;behold.<a href="#-beholdFile">beholdFile</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;behold&nbsp;window&nbsp;to&nbsp;view&nbsp;the&nbsp;gcode&nbsp;file.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="cStringIO.html">cStringIO</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
<a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
</td><td width="25%" valign=top><a href="math.html">math</a><br>
<a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
<a href="sys.html">sys</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.analyze_plugins.behold.html#BeholdPreferences">BeholdPreferences</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.analyze_plugins.behold.html#BeholdSkein">BeholdSkein</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.analyze_plugins.behold.html#ColoredLine">ColoredLine</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.analyze_plugins.behold.html#LatitudeLongitude">LatitudeLongitude</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.analyze_plugins.behold.html#SkeinPane">SkeinPane</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.analyze_plugins.behold.html#SkeinWindow">SkeinWindow</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.analyze_plugins.behold.html#ViewVectors">ViewVectors</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="BeholdPreferences">class <strong>BeholdPreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;behold&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="BeholdPreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="BeholdPreferences-displayImmediateUpdateDialog"><strong>displayImmediateUpdateDialog</strong></a>(self)</dt><dd><tt>Display&nbsp;the&nbsp;immediate&nbsp;update&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="BeholdPreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Write&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
<dl><dt><a name="BeholdPreferences-setToDisplaySaveUpdate"><strong>setToDisplaySaveUpdate</strong></a>(self, event<font color="#909090">=None</font>)</dt><dd><tt>Set&nbsp;the&nbsp;preference&nbsp;values&nbsp;to&nbsp;the&nbsp;display,&nbsp;save&nbsp;the&nbsp;new&nbsp;values,&nbsp;then&nbsp;call&nbsp;the&nbsp;update&nbsp;function.</tt></dd></dl>
<dl><dt><a name="BeholdPreferences-setUpdateFunction"><strong>setUpdateFunction</strong></a>(self, updateFunction)</dt><dd><tt>Set&nbsp;the&nbsp;update&nbsp;function&nbsp;of&nbsp;the&nbsp;update&nbsp;preferences.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="BeholdSkein">class <strong>BeholdSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;write&nbsp;a&nbsp;get&nbsp;a&nbsp;scalable&nbsp;vector&nbsp;graphics&nbsp;text&nbsp;for&nbsp;a&nbsp;gcode&nbsp;skein.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="BeholdSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="BeholdSkein-addToPath"><strong>addToPath</strong></a>(self, line, location)</dt><dd><tt>Add&nbsp;a&nbsp;point&nbsp;to&nbsp;travel&nbsp;and&nbsp;maybe&nbsp;extrusion.</tt></dd></dl>
<dl><dt><a name="BeholdSkein-getLayerTop"><strong>getLayerTop</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;layer&nbsp;top.</tt></dd></dl>
<dl><dt><a name="BeholdSkein-getLayerZoneIndex"><strong>getLayerZoneIndex</strong></a>(self, z)</dt><dd><tt>Get&nbsp;the&nbsp;layer&nbsp;zone&nbsp;index.</tt></dd></dl>
<dl><dt><a name="BeholdSkein-initializeActiveLocation"><strong>initializeActiveLocation</strong></a>(self)</dt><dd><tt>Set&nbsp;variables&nbsp;to&nbsp;default.</tt></dd></dl>
<dl><dt><a name="BeholdSkein-isLayerStart"><strong>isLayerStart</strong></a>(self, firstWord, splitLine)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;vector&nbsp;output.</tt></dd></dl>
<dl><dt><a name="BeholdSkein-linearCorner"><strong>linearCorner</strong></a>(self, splitLine)</dt><dd><tt>Update&nbsp;the&nbsp;bounding&nbsp;corners.</tt></dd></dl>
<dl><dt><a name="BeholdSkein-linearMove"><strong>linearMove</strong></a>(self, line, splitLine)</dt><dd><tt>Get&nbsp;statistics&nbsp;for&nbsp;a&nbsp;linear&nbsp;move.</tt></dd></dl>
<dl><dt><a name="BeholdSkein-moveColoredThreadToSkeinPane"><strong>moveColoredThreadToSkeinPane</strong></a>(self)</dt><dd><tt>Move&nbsp;a&nbsp;colored&nbsp;thread&nbsp;to&nbsp;the&nbsp;skein&nbsp;pane.</tt></dd></dl>
<dl><dt><a name="BeholdSkein-parseCorner"><strong>parseCorner</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;use&nbsp;the&nbsp;location&nbsp;to&nbsp;update&nbsp;the&nbsp;bounding&nbsp;corners.</tt></dd></dl>
<dl><dt><a name="BeholdSkein-parseGcode"><strong>parseGcode</strong></a>(self, gcodeText, beholdPreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;vector&nbsp;output.</tt></dd></dl>
<dl><dt><a name="BeholdSkein-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;vector&nbsp;output.</tt></dd></dl>
<dl><dt><a name="BeholdSkein-setColoredLineColor"><strong>setColoredLineColor</strong></a>(self, coloredLine, colorTuple)</dt><dd><tt>Set&nbsp;the&nbsp;color&nbsp;and&nbsp;stipple&nbsp;of&nbsp;the&nbsp;colored&nbsp;line.</tt></dd></dl>
<dl><dt><a name="BeholdSkein-setColoredThread"><strong>setColoredThread</strong></a>(self, colorTuple, lineList)</dt><dd><tt>Set&nbsp;the&nbsp;colored&nbsp;thread,&nbsp;then&nbsp;move&nbsp;it&nbsp;to&nbsp;the&nbsp;line&nbsp;list&nbsp;and&nbsp;stipple&nbsp;of&nbsp;the&nbsp;colored&nbsp;line.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="ColoredLine">class <strong>ColoredLine</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;colored&nbsp;line.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="ColoredLine-__init__"><strong>__init__</strong></a>(self, begin, colorName, end, tagString)</dt><dd><tt>Set&nbsp;the&nbsp;color&nbsp;name&nbsp;and&nbsp;corners.</tt></dd></dl>
<dl><dt><a name="ColoredLine-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;colored&nbsp;line.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="LatitudeLongitude">class <strong>LatitudeLongitude</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;latitude&nbsp;and&nbsp;longitude.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="LatitudeLongitude-__init__"><strong>__init__</strong></a>(self, newCoordinate, skeinWindow, shift)</dt><dd><tt>Set&nbsp;the&nbsp;latitude&nbsp;and&nbsp;longitude.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="SkeinPane">class <strong>SkeinPane</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;hold&nbsp;the&nbsp;colored&nbsp;lines&nbsp;for&nbsp;a&nbsp;layer.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="SkeinPane-__init__"><strong>__init__</strong></a>(self, sequenceIndex)</dt><dd><tt>Create&nbsp;empty&nbsp;line&nbsp;lists.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="SkeinWindow">class <strong>SkeinWindow</strong></a></font></td></tr>
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="SkeinWindow-__init__"><strong>__init__</strong></a>(self, beholdPreferences, size, skeinPanes)</dt><dd><tt>Initialize&nbsp;the&nbsp;skein&nbsp;window.</tt></dd></dl>
<dl><dt><a name="SkeinWindow-buttonOneClicked"><strong>buttonOneClicked</strong></a>(self, event)</dt><dd><tt>Print&nbsp;the&nbsp;line&nbsp;that&nbsp;was&nbsp;clicked&nbsp;on&nbsp;by&nbsp;the&nbsp;left&nbsp;button.</tt></dd></dl>
<dl><dt><a name="SkeinWindow-buttonOneReleased"><strong>buttonOneReleased</strong></a>(self, event, shift<font color="#909090">=False</font>)</dt><dd><tt>Move&nbsp;the&nbsp;viewpoint&nbsp;if&nbsp;the&nbsp;mouse&nbsp;was&nbsp;released.</tt></dd></dl>
<dl><dt><a name="SkeinWindow-buttonOneReleasedShift"><strong>buttonOneReleasedShift</strong></a>(self, event)</dt><dd><tt>Move&nbsp;the&nbsp;viewpoint&nbsp;if&nbsp;the&nbsp;mouse&nbsp;was&nbsp;released&nbsp;and&nbsp;the&nbsp;shift&nbsp;key&nbsp;was&nbsp;pressed.</tt></dd></dl>
<dl><dt><a name="SkeinWindow-drawColoredLine"><strong>drawColoredLine</strong></a>(self, coloredLine, viewVectors, width)</dt><dd><tt>Draw&nbsp;colored&nbsp;line.</tt></dd></dl>
<dl><dt><a name="SkeinWindow-drawColoredLineMotion"><strong>drawColoredLineMotion</strong></a>(self, coloredLine, viewVectors, width)</dt><dd><tt>Draw&nbsp;colored&nbsp;line&nbsp;with&nbsp;motion&nbsp;stipple&nbsp;and&nbsp;tag.</tt></dd></dl>
<dl><dt><a name="SkeinWindow-drawColoredLines"><strong>drawColoredLines</strong></a>(self, coloredLines, viewVectors, width)</dt><dd><tt>Draw&nbsp;colored&nbsp;lines.</tt></dd></dl>
<dl><dt><a name="SkeinWindow-drawSkeinPane"><strong>drawSkeinPane</strong></a>(self, skeinPane, viewVectors)</dt><dd><tt>Draw&nbsp;colored&nbsp;lines.</tt></dd></dl>
<dl><dt><a name="SkeinWindow-drawXYAxisLines"><strong>drawXYAxisLines</strong></a>(self, viewVectors)</dt><dd><tt>Draw&nbsp;the&nbsp;x&nbsp;and&nbsp;y&nbsp;axis&nbsp;lines.</tt></dd></dl>
<dl><dt><a name="SkeinWindow-drawZAxisLine"><strong>drawZAxisLine</strong></a>(self, viewVectors)</dt><dd><tt>Draw&nbsp;the&nbsp;z&nbsp;axis&nbsp;line.</tt></dd></dl>
<dl><dt><a name="SkeinWindow-getCentered"><strong>getCentered</strong></a>(self, coordinate)</dt><dd><tt>Get&nbsp;the&nbsp;centered&nbsp;coordinate.</tt></dd></dl>
<dl><dt><a name="SkeinWindow-getCenteredScreened"><strong>getCenteredScreened</strong></a>(self, coordinate)</dt><dd><tt>Get&nbsp;the&nbsp;normalized&nbsp;centered&nbsp;coordinate.</tt></dd></dl>
<dl><dt><a name="SkeinWindow-getScreenComplex"><strong>getScreenComplex</strong></a>(self, pointComplex)</dt><dd><tt>Get&nbsp;the&nbsp;point&nbsp;in&nbsp;screen&nbsp;perspective.</tt></dd></dl>
<dl><dt><a name="SkeinWindow-getViewComplex"><strong>getViewComplex</strong></a>(self, point, viewVectors)</dt><dd><tt>Get&nbsp;the&nbsp;point&nbsp;in&nbsp;view&nbsp;perspective.</tt></dd></dl>
<dl><dt><a name="SkeinWindow-leave"><strong>leave</strong></a>(self, event)</dt><dd><tt>Null&nbsp;the&nbsp;button&nbsp;one&nbsp;pressed&nbsp;coordinate&nbsp;because&nbsp;the&nbsp;mouse&nbsp;has&nbsp;left&nbsp;the&nbsp;canvas.</tt></dd></dl>
<dl><dt><a name="SkeinWindow-motion"><strong>motion</strong></a>(self, event, shift<font color="#909090">=False</font>)</dt><dd><tt>Move&nbsp;the&nbsp;viewpoint&nbsp;if&nbsp;the&nbsp;mouse&nbsp;was&nbsp;moved.</tt></dd></dl>
<dl><dt><a name="SkeinWindow-motionShift"><strong>motionShift</strong></a>(self, event)</dt><dd><tt>Move&nbsp;the&nbsp;viewpoint&nbsp;if&nbsp;the&nbsp;mouse&nbsp;was&nbsp;moved&nbsp;and&nbsp;the&nbsp;shift&nbsp;key&nbsp;was&nbsp;pressed.</tt></dd></dl>
<dl><dt><a name="SkeinWindow-printHexadecimalColorName"><strong>printHexadecimalColorName</strong></a>(self, name)</dt><dd><tt>Print&nbsp;the&nbsp;color&nbsp;name&nbsp;in&nbsp;hexadecimal.</tt></dd></dl>
<dl><dt><a name="SkeinWindow-update"><strong>update</strong></a>(self)</dt><dd><tt>Update&nbsp;the&nbsp;screen.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="ViewVectors">class <strong>ViewVectors</strong></a></font></td></tr>
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="ViewVectors-__init__"><strong>__init__</strong></a>(self, viewpointLatitude, viewpointLongitude)</dt><dd><tt>Initialize&nbsp;the&nbsp;view&nbsp;vectors.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-beholdFile"><strong>beholdFile</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Behold&nbsp;a&nbsp;gcode&nbsp;file.&nbsp;&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;behold&nbsp;the&nbsp;first&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder&nbsp;that&nbsp;is&nbsp;not&nbsp;modified.</tt></dd></dl>
<dl><dt><a name="-compareLayerSequence"><strong>compareLayerSequence</strong></a>(first, second)</dt><dd><tt>Get&nbsp;comparison&nbsp;in&nbsp;order&nbsp;to&nbsp;sort&nbsp;skein&nbsp;panes&nbsp;in&nbsp;ascending&nbsp;order&nbsp;of&nbsp;layer&nbsp;zone&nbsp;index&nbsp;then&nbsp;sequence&nbsp;index.</tt></dd></dl>
<dl><dt><a name="-displayBeholdFileGivenText"><strong>displayBeholdFileGivenText</strong></a>(gcodeText, beholdPreferences<font color="#909090">=None</font>)</dt><dd><tt>Display&nbsp;a&nbsp;beholded&nbsp;gcode&nbsp;file&nbsp;for&nbsp;a&nbsp;gcode&nbsp;file.</tt></dd></dl>
<dl><dt><a name="-getBoundedLatitude"><strong>getBoundedLatitude</strong></a>(latitude)</dt><dd><tt>Get&nbsp;the&nbsp;bounded&nbsp;latitude.later&nbsp;get&nbsp;rounded</tt></dd></dl>
<dl><dt><a name="-getPolygonComplexFromColoredLines"><strong>getPolygonComplexFromColoredLines</strong></a>(coloredLines)</dt><dd><tt>Get&nbsp;a&nbsp;complex&nbsp;polygon&nbsp;from&nbsp;the&nbsp;colored&nbsp;lines.</tt></dd></dl>
<dl><dt><a name="-getTwoHex"><strong>getTwoHex</strong></a>(number)</dt><dd><tt>Get&nbsp;the&nbsp;first&nbsp;two&nbsp;hexadecimal&nbsp;digits.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>()</dt><dd><tt>Display&nbsp;the&nbsp;behold&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName, gcodeText<font color="#909090">=''</font>)</dt><dd><tt>Write&nbsp;a&nbsp;beholded&nbsp;gcode&nbsp;file&nbsp;for&nbsp;a&nbsp;skeinforge&nbsp;gcode&nbsp;file,&nbsp;if&nbsp;'Activate&nbsp;Behold'&nbsp;is&nbsp;selected.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,135 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.analyze_plugins.comment</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.analyze_plugins.html"><font color="#ffffff">analyze_plugins</font></a>.comment</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze_plugins/comment.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze_plugins/comment.py</a></font></td></tr></table>
<p><tt>Comment&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;comment&nbsp;a&nbsp;gcode&nbsp;file.<br>
&nbsp;<br>
The&nbsp;default&nbsp;'Activate&nbsp;Comment'&nbsp;checkbox&nbsp;is&nbsp;on.&nbsp;&nbsp;When&nbsp;it&nbsp;is&nbsp;on,&nbsp;the&nbsp;functions&nbsp;described&nbsp;below&nbsp;will&nbsp;work&nbsp;when&nbsp;called&nbsp;from&nbsp;the<br>
skeinforge&nbsp;toolchain,&nbsp;when&nbsp;it&nbsp;is&nbsp;off,&nbsp;the&nbsp;functions&nbsp;will&nbsp;not&nbsp;be&nbsp;called&nbsp;from&nbsp;the&nbsp;toolchain.&nbsp;&nbsp;The&nbsp;functions&nbsp;will&nbsp;still&nbsp;be&nbsp;called,&nbsp;whether<br>
or&nbsp;not&nbsp;the&nbsp;'Activate&nbsp;Comment'&nbsp;checkbox&nbsp;is&nbsp;on,&nbsp;when&nbsp;comment&nbsp;is&nbsp;run&nbsp;directly.<br>
&nbsp;<br>
To&nbsp;run&nbsp;comment,&nbsp;in&nbsp;a&nbsp;shell&nbsp;in&nbsp;the&nbsp;folder&nbsp;which&nbsp;comment&nbsp;is&nbsp;in&nbsp;type:<br>
&gt;&nbsp;python&nbsp;comment.py<br>
&nbsp;<br>
An&nbsp;explanation&nbsp;of&nbsp;the&nbsp;gcodes&nbsp;is&nbsp;at:<br>
<a href="http://reprap.org/bin/view/Main/Arduino_GCode_Interpreter">http://reprap.org/bin/view/Main/Arduino_GCode_Interpreter</a><br>
&nbsp;<br>
and&nbsp;at:<br>
<a href="http://reprap.org/bin/view/Main/MCodeReference">http://reprap.org/bin/view/Main/MCodeReference</a><br>
&nbsp;<br>
A&nbsp;gode&nbsp;example&nbsp;is&nbsp;at:<br>
<a href="http://forums.reprap.org/file.php?12,file=565">http://forums.reprap.org/file.php?12,file=565</a><br>
&nbsp;<br>
This&nbsp;example&nbsp;comments&nbsp;the&nbsp;gcode&nbsp;file&nbsp;Screw&nbsp;Holder_comb.gcode.&nbsp;&nbsp;This&nbsp;example&nbsp;is&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the&nbsp;folder&nbsp;which&nbsp;contains<br>
Screw&nbsp;Holder_comb.gcode&nbsp;and&nbsp;comment.py.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;comment<br>
&gt;&gt;&gt;&nbsp;comment.<a href="#-main">main</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;comment&nbsp;dialog.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;comment.<a href="#-commentFile">commentFile</a>()<br>
The&nbsp;commented&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder_comb_comment.gcode</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="cStringIO.html">cStringIO</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
<a href="sys.html">sys</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.analyze_plugins.comment.html#CommentPreferences">CommentPreferences</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.analyze_plugins.comment.html#CommentSkein">CommentSkein</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="CommentPreferences">class <strong>CommentPreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;comment&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="CommentPreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="CommentPreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Write&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="CommentSkein">class <strong>CommentSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;comment&nbsp;a&nbsp;gcode&nbsp;skein.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="CommentSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="CommentSkein-addComment"><strong>addComment</strong></a>(self, comment)</dt><dd><tt>Add&nbsp;a&nbsp;gcode&nbsp;comment&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="CommentSkein-linearMove"><strong>linearMove</strong></a>(self, splitLine)</dt><dd><tt>Comment&nbsp;a&nbsp;linear&nbsp;move.</tt></dd></dl>
<dl><dt><a name="CommentSkein-parseGcode"><strong>parseGcode</strong></a>(self, gcodeText)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;commented&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="CommentSkein-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;commented&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="CommentSkein-setHelicalMoveEndpoint"><strong>setHelicalMoveEndpoint</strong></a>(self, splitLine)</dt><dd><tt>Get&nbsp;the&nbsp;endpoint&nbsp;of&nbsp;a&nbsp;helical&nbsp;move.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-commentFile"><strong>commentFile</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Comment&nbsp;a&nbsp;gcode&nbsp;file.&nbsp;&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;comment&nbsp;the&nbsp;first&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder&nbsp;that&nbsp;is&nbsp;not&nbsp;modified.</tt></dd></dl>
<dl><dt><a name="-getCommentGcode"><strong>getCommentGcode</strong></a>(gcodeText)</dt><dd><tt>Get&nbsp;gcode&nbsp;text&nbsp;with&nbsp;added&nbsp;comments.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>()</dt><dd><tt>Display&nbsp;the&nbsp;comment&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-writeCommentFileGivenText"><strong>writeCommentFileGivenText</strong></a>(fileName, gcodeText)</dt><dd><tt>Write&nbsp;a&nbsp;commented&nbsp;gcode&nbsp;file&nbsp;for&nbsp;a&nbsp;gcode&nbsp;file.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName, gcodeText<font color="#909090">=''</font>)</dt><dd><tt>Write&nbsp;a&nbsp;commented&nbsp;gcode&nbsp;file&nbsp;for&nbsp;a&nbsp;skeinforge&nbsp;gcode&nbsp;file,&nbsp;if&nbsp;'Write&nbsp;Commented&nbsp;File&nbsp;for&nbsp;Skeinforge&nbsp;Chain'&nbsp;is&nbsp;selected.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,36 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: package skeinforge_tools.analyze_plugins</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.analyze_plugins</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze_plugins/__init__.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze_plugins/__init__.py</a></font></td></tr></table>
<p><tt>#This&nbsp;is&nbsp;required&nbsp;to&nbsp;workaround&nbsp;the&nbsp;python&nbsp;import&nbsp;bug&nbsp;where&nbsp;relative&nbsp;imports&nbsp;don't&nbsp;work&nbsp;if&nbsp;the&nbsp;module&nbsp;is&nbsp;imported&nbsp;as&nbsp;a&nbsp;main&nbsp;module.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Package Contents</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="skeinforge_tools.analyze_plugins.analyze_utilities.html"><strong>analyze_utilities</strong>&nbsp;(package)</a><br>
<a href="skeinforge_tools.analyze_plugins.behold.html">behold</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.analyze_plugins.comment.html">comment</a><br>
<a href="skeinforge_tools.analyze_plugins.skeinview.html">skeinview</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.analyze_plugins.statistic.html">statistic</a><br>
<a href="skeinforge_tools.analyze_plugins.vectorwrite.html">vectorwrite</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>level</strong> = 2<br>
<strong>numberOfLevelsDeepInPackageHierarchy</strong> = 2<br>
<strong>packageFilePath</strong> = '/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap'</td></tr></table>
</body></html>

View File

@@ -0,0 +1,198 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.analyze_plugins.skeinview</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.analyze_plugins.html"><font color="#ffffff">analyze_plugins</font></a>.skeinview</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze_plugins/skeinview.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze_plugins/skeinview.py</a></font></td></tr></table>
<p><tt>Skeinview&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;display&nbsp;each&nbsp;layer&nbsp;of&nbsp;a&nbsp;gcode&nbsp;file.<br>
&nbsp;<br>
The&nbsp;default&nbsp;'Activate&nbsp;Skeinview'&nbsp;checkbox&nbsp;is&nbsp;on.&nbsp;&nbsp;When&nbsp;it&nbsp;is&nbsp;on,&nbsp;the&nbsp;functions&nbsp;described&nbsp;below&nbsp;will&nbsp;work&nbsp;when&nbsp;called&nbsp;from&nbsp;the<br>
skeinforge&nbsp;toolchain,&nbsp;when&nbsp;it&nbsp;is&nbsp;off,&nbsp;the&nbsp;functions&nbsp;will&nbsp;not&nbsp;be&nbsp;called&nbsp;from&nbsp;the&nbsp;toolchain.&nbsp;&nbsp;The&nbsp;functions&nbsp;will&nbsp;still&nbsp;be&nbsp;called,&nbsp;whether<br>
or&nbsp;not&nbsp;the&nbsp;'Activate&nbsp;Skeinview'&nbsp;checkbox&nbsp;is&nbsp;on,&nbsp;when&nbsp;skeinview&nbsp;is&nbsp;run&nbsp;directly.&nbsp;&nbsp;Skeinview&nbsp;has&nbsp;trouble&nbsp;separating&nbsp;the&nbsp;layers<br>
when&nbsp;it&nbsp;reads&nbsp;gcode&nbsp;without&nbsp;comments.<br>
&nbsp;<br>
If&nbsp;"Draw&nbsp;Arrows"&nbsp;is&nbsp;selected,&nbsp;arrows&nbsp;will&nbsp;be&nbsp;drawn&nbsp;at&nbsp;the&nbsp;end&nbsp;of&nbsp;each&nbsp;line&nbsp;segment,&nbsp;the&nbsp;default&nbsp;is&nbsp;on.&nbsp;&nbsp;If&nbsp;"Go&nbsp;Around&nbsp;Extruder<br>
Off&nbsp;Travel"&nbsp;is&nbsp;selected,&nbsp;the&nbsp;display&nbsp;will&nbsp;include&nbsp;the&nbsp;travel&nbsp;when&nbsp;the&nbsp;extruder&nbsp;is&nbsp;off,&nbsp;which&nbsp;means&nbsp;it&nbsp;will&nbsp;include&nbsp;the&nbsp;nozzle&nbsp;wipe<br>
path&nbsp;if&nbsp;any.&nbsp;&nbsp;The&nbsp;"Pixels&nbsp;over&nbsp;Extrusion&nbsp;Width"&nbsp;preference&nbsp;is&nbsp;the&nbsp;scale&nbsp;of&nbsp;the&nbsp;image,&nbsp;the&nbsp;higher&nbsp;the&nbsp;number,&nbsp;the&nbsp;greater&nbsp;the<br>
size&nbsp;of&nbsp;the&nbsp;display.&nbsp;&nbsp;The&nbsp;"Screen&nbsp;Horizontal&nbsp;Inset"&nbsp;determines&nbsp;how&nbsp;much&nbsp;the&nbsp;display&nbsp;will&nbsp;be&nbsp;inset&nbsp;in&nbsp;the&nbsp;horizontal&nbsp;direction<br>
from&nbsp;the&nbsp;edge&nbsp;of&nbsp;screen,&nbsp;the&nbsp;higher&nbsp;the&nbsp;number&nbsp;the&nbsp;more&nbsp;it&nbsp;will&nbsp;be&nbsp;inset&nbsp;and&nbsp;the&nbsp;smaller&nbsp;it&nbsp;will&nbsp;be,&nbsp;the&nbsp;default&nbsp;is&nbsp;one&nbsp;hundred.<br>
The&nbsp;"Screen&nbsp;Vertical&nbsp;Inset"&nbsp;determines&nbsp;how&nbsp;much&nbsp;the&nbsp;display&nbsp;will&nbsp;be&nbsp;inset&nbsp;in&nbsp;the&nbsp;vertical&nbsp;direction&nbsp;from&nbsp;the&nbsp;edge&nbsp;of&nbsp;screen,<br>
the&nbsp;default&nbsp;is&nbsp;fifty.<br>
&nbsp;<br>
On&nbsp;the&nbsp;skeinview&nbsp;display&nbsp;window,&nbsp;the&nbsp;up&nbsp;button&nbsp;increases&nbsp;the&nbsp;layer&nbsp;index&nbsp;shown&nbsp;by&nbsp;one,&nbsp;and&nbsp;the&nbsp;down&nbsp;button&nbsp;decreases&nbsp;the<br>
layer&nbsp;index&nbsp;by&nbsp;one.&nbsp;&nbsp;When&nbsp;the&nbsp;index&nbsp;displayed&nbsp;in&nbsp;the&nbsp;index&nbsp;field&nbsp;is&nbsp;changed&nbsp;then&nbsp;"&lt;return&gt;"&nbsp;is&nbsp;hit,&nbsp;the&nbsp;layer&nbsp;index&nbsp;shown&nbsp;will<br>
be&nbsp;set&nbsp;to&nbsp;the&nbsp;index&nbsp;field,&nbsp;to&nbsp;a&nbsp;mimimum&nbsp;of&nbsp;zero&nbsp;and&nbsp;to&nbsp;a&nbsp;maximum&nbsp;of&nbsp;the&nbsp;highest&nbsp;index&nbsp;layer.<br>
&nbsp;<br>
To&nbsp;run&nbsp;skeinview,&nbsp;in&nbsp;a&nbsp;shell&nbsp;in&nbsp;the&nbsp;folder&nbsp;which&nbsp;skeinview&nbsp;is&nbsp;in&nbsp;type:<br>
&gt;&nbsp;python&nbsp;skeinview.py<br>
&nbsp;<br>
An&nbsp;explanation&nbsp;of&nbsp;the&nbsp;gcodes&nbsp;is&nbsp;at:<br>
<a href="http://reprap.org/bin/view/Main/Arduino_GCode_Interpreter">http://reprap.org/bin/view/Main/Arduino_GCode_Interpreter</a><br>
&nbsp;<br>
and&nbsp;at:<br>
<a href="http://reprap.org/bin/view/Main/MCodeReference">http://reprap.org/bin/view/Main/MCodeReference</a><br>
&nbsp;<br>
A&nbsp;gode&nbsp;example&nbsp;is&nbsp;at:<br>
<a href="http://forums.reprap.org/file.php?12,file=565">http://forums.reprap.org/file.php?12,file=565</a><br>
&nbsp;<br>
This&nbsp;example&nbsp;displays&nbsp;a&nbsp;skein&nbsp;view&nbsp;for&nbsp;the&nbsp;gcode&nbsp;file&nbsp;Screw&nbsp;Holder.gcode.&nbsp;&nbsp;This&nbsp;example&nbsp;is&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the&nbsp;folder&nbsp;which<br>
contains&nbsp;Screw&nbsp;Holder.gcode&nbsp;and&nbsp;skeinview.py.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;skeinview.py<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;skeinview&nbsp;dialog.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;skeinview.py&nbsp;Screw&nbsp;Holder.gcode<br>
This&nbsp;brings&nbsp;up&nbsp;a&nbsp;skein&nbsp;window&nbsp;to&nbsp;view&nbsp;each&nbsp;layer&nbsp;of&nbsp;a&nbsp;gcode&nbsp;file.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;skeinview<br>
&gt;&gt;&gt;&nbsp;skeinview.<a href="#-main">main</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;skeinview&nbsp;dialog.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;skeinview.<a href="#-skeinviewFile">skeinviewFile</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;a&nbsp;skein&nbsp;window&nbsp;to&nbsp;view&nbsp;each&nbsp;layer&nbsp;of&nbsp;a&nbsp;gcode&nbsp;file.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="cStringIO.html">cStringIO</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
<a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
<a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
</td><td width="25%" valign=top><a href="sys.html">sys</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.analyze_plugins.skeinview.html#ColoredLine">ColoredLine</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.analyze_plugins.skeinview.html#SkeinWindow">SkeinWindow</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.analyze_plugins.skeinview.html#SkeinviewPreferences">SkeinviewPreferences</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.analyze_plugins.skeinview.html#SkeinviewSkein">SkeinviewSkein</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="ColoredLine">class <strong>ColoredLine</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;colored&nbsp;line.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="ColoredLine-__init__"><strong>__init__</strong></a>(self, colorName, complexBegin, complexEnd, line, lineIndex, width)</dt><dd><tt>Set&nbsp;the&nbsp;color&nbsp;name&nbsp;and&nbsp;corners.</tt></dd></dl>
<dl><dt><a name="ColoredLine-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;colored&nbsp;line.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="SkeinWindow">class <strong>SkeinWindow</strong></a></font></td></tr>
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="SkeinWindow-__init__"><strong>__init__</strong></a>(self, arrowType, screenHorizontalInset, screenVerticalInset, size, skeinPanes)</dt></dl>
<dl><dt><a name="SkeinWindow-buttonOneClicked"><strong>buttonOneClicked</strong></a>(self, event)</dt></dl>
<dl><dt><a name="SkeinWindow-down"><strong>down</strong></a>(self)</dt></dl>
<dl><dt><a name="SkeinWindow-indexEntryReturnPressed"><strong>indexEntryReturnPressed</strong></a>(self, event)</dt></dl>
<dl><dt><a name="SkeinWindow-up"><strong>up</strong></a>(self)</dt></dl>
<dl><dt><a name="SkeinWindow-update"><strong>update</strong></a>(self)</dt></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="SkeinviewPreferences">class <strong>SkeinviewPreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;skeinview&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="SkeinviewPreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="SkeinviewPreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Write&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="SkeinviewSkein">class <strong>SkeinviewSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;write&nbsp;a&nbsp;get&nbsp;a&nbsp;scalable&nbsp;vector&nbsp;graphics&nbsp;text&nbsp;for&nbsp;a&nbsp;gcode&nbsp;skein.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="SkeinviewSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="SkeinviewSkein-addToPath"><strong>addToPath</strong></a>(self, line, location)</dt><dd><tt>Add&nbsp;a&nbsp;point&nbsp;to&nbsp;travel&nbsp;and&nbsp;maybe&nbsp;extrusion.</tt></dd></dl>
<dl><dt><a name="SkeinviewSkein-initializeActiveLocation"><strong>initializeActiveLocation</strong></a>(self)</dt><dd><tt>Set&nbsp;variables&nbsp;to&nbsp;default.</tt></dd></dl>
<dl><dt><a name="SkeinviewSkein-isLayerStart"><strong>isLayerStart</strong></a>(self, firstWord, splitLine)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;vector&nbsp;output.</tt></dd></dl>
<dl><dt><a name="SkeinviewSkein-linearCorner"><strong>linearCorner</strong></a>(self, splitLine)</dt><dd><tt>Update&nbsp;the&nbsp;bounding&nbsp;corners.</tt></dd></dl>
<dl><dt><a name="SkeinviewSkein-linearMove"><strong>linearMove</strong></a>(self, line, splitLine)</dt><dd><tt>Get&nbsp;statistics&nbsp;for&nbsp;a&nbsp;linear&nbsp;move.</tt></dd></dl>
<dl><dt><a name="SkeinviewSkein-parseCorner"><strong>parseCorner</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;use&nbsp;the&nbsp;location&nbsp;to&nbsp;update&nbsp;the&nbsp;bounding&nbsp;corners.</tt></dd></dl>
<dl><dt><a name="SkeinviewSkein-parseGcode"><strong>parseGcode</strong></a>(self, gcodeText, skeinviewPreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;vector&nbsp;output.</tt></dd></dl>
<dl><dt><a name="SkeinviewSkein-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;vector&nbsp;output.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-displaySkeinviewFileGivenText"><strong>displaySkeinviewFileGivenText</strong></a>(gcodeText, skeinviewPreferences<font color="#909090">=None</font>)</dt><dd><tt>Display&nbsp;a&nbsp;skeinviewed&nbsp;gcode&nbsp;file&nbsp;for&nbsp;a&nbsp;gcode&nbsp;file.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>()</dt><dd><tt>Display&nbsp;the&nbsp;skeinview&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-skeinviewFile"><strong>skeinviewFile</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Skeinview&nbsp;a&nbsp;gcode&nbsp;file.&nbsp;&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;skeinview&nbsp;the&nbsp;first&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder&nbsp;that&nbsp;is&nbsp;not&nbsp;modified.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName, gcodeText<font color="#909090">=''</font>)</dt><dd><tt>Write&nbsp;a&nbsp;skeinviewed&nbsp;gcode&nbsp;file&nbsp;for&nbsp;a&nbsp;skeinforge&nbsp;gcode&nbsp;file,&nbsp;if&nbsp;'Activate&nbsp;Skeinview'&nbsp;is&nbsp;selected.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,146 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.analyze_plugins.statistic</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.analyze_plugins.html"><font color="#ffffff">analyze_plugins</font></a>.statistic</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze_plugins/statistic.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze_plugins/statistic.py</a></font></td></tr></table>
<p><tt>Statistic&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;generate&nbsp;statistics&nbsp;a&nbsp;gcode&nbsp;file.<br>
&nbsp;<br>
The&nbsp;default&nbsp;'Activate&nbsp;Statistic'&nbsp;checkbox&nbsp;is&nbsp;on.&nbsp;&nbsp;When&nbsp;it&nbsp;is&nbsp;on,&nbsp;the&nbsp;functions&nbsp;described&nbsp;below&nbsp;will&nbsp;work&nbsp;when&nbsp;called&nbsp;from&nbsp;the<br>
skeinforge&nbsp;toolchain,&nbsp;when&nbsp;it&nbsp;is&nbsp;off,&nbsp;the&nbsp;functions&nbsp;will&nbsp;not&nbsp;be&nbsp;called&nbsp;from&nbsp;the&nbsp;toolchain.&nbsp;&nbsp;The&nbsp;functions&nbsp;will&nbsp;still&nbsp;be&nbsp;called,&nbsp;whether<br>
or&nbsp;not&nbsp;the&nbsp;'Activate&nbsp;Statistic'&nbsp;checkbox&nbsp;is&nbsp;on,&nbsp;when&nbsp;statistic&nbsp;is&nbsp;run&nbsp;directly.<br>
&nbsp;<br>
When&nbsp;the&nbsp;'Print&nbsp;Statistics'&nbsp;checkbox&nbsp;is&nbsp;on,&nbsp;the&nbsp;statistics&nbsp;will&nbsp;be&nbsp;printed&nbsp;to&nbsp;the&nbsp;console,&nbsp;the&nbsp;default&nbsp;is&nbsp;on.&nbsp;&nbsp;When&nbsp;the&nbsp;'Save<br>
Statistics'&nbsp;checkbox&nbsp;is&nbsp;on,&nbsp;the&nbsp;statistics&nbsp;will&nbsp;be&nbsp;save&nbsp;as&nbsp;a&nbsp;.txt&nbsp;file,&nbsp;the&nbsp;default&nbsp;is&nbsp;off.<br>
&nbsp;<br>
To&nbsp;run&nbsp;statistic,&nbsp;in&nbsp;a&nbsp;shell&nbsp;in&nbsp;the&nbsp;folder&nbsp;which&nbsp;statistic&nbsp;is&nbsp;in&nbsp;type:<br>
&gt;&nbsp;python&nbsp;statistic.py<br>
&nbsp;<br>
An&nbsp;explanation&nbsp;of&nbsp;the&nbsp;gcodes&nbsp;is&nbsp;at:<br>
<a href="http://reprap.org/bin/view/Main/Arduino_GCode_Interpreter">http://reprap.org/bin/view/Main/Arduino_GCode_Interpreter</a><br>
&nbsp;<br>
and&nbsp;at:<br>
<a href="http://reprap.org/bin/view/Main/MCodeReference">http://reprap.org/bin/view/Main/MCodeReference</a><br>
&nbsp;<br>
A&nbsp;gode&nbsp;example&nbsp;is&nbsp;at:<br>
<a href="http://forums.reprap.org/file.php?12,file=565">http://forums.reprap.org/file.php?12,file=565</a><br>
&nbsp;<br>
This&nbsp;example&nbsp;generates&nbsp;statistics&nbsp;the&nbsp;gcode&nbsp;file&nbsp;Screw&nbsp;Holder_comb.gcode.&nbsp;&nbsp;This&nbsp;example&nbsp;is&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the&nbsp;folder&nbsp;which&nbsp;contains<br>
Screw&nbsp;Holder_comb.gcode&nbsp;and&nbsp;statistic.py.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;statistic<br>
&gt;&gt;&gt;&nbsp;statistic.<a href="#-main">main</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;statistic&nbsp;dialog.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;statistic.<a href="#-statisticFile">statisticFile</a>()<br>
The&nbsp;statistics&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder_comb_statistic.gcode</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="cStringIO.html">cStringIO</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
<a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
</td><td width="25%" valign=top><a href="math.html">math</a><br>
<a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
<a href="sys.html">sys</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.analyze_plugins.statistic.html#StatisticPreferences">StatisticPreferences</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.analyze_plugins.statistic.html#StatisticSkein">StatisticSkein</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="StatisticPreferences">class <strong>StatisticPreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;statistics&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="StatisticPreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="StatisticPreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Write&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="StatisticSkein">class <strong>StatisticSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;get&nbsp;statistics&nbsp;for&nbsp;a&nbsp;gcode&nbsp;skein.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="StatisticSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="StatisticSkein-addLine"><strong>addLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;of&nbsp;text&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="StatisticSkein-addToPath"><strong>addToPath</strong></a>(self, location)</dt><dd><tt>Add&nbsp;a&nbsp;point&nbsp;to&nbsp;travel&nbsp;and&nbsp;maybe&nbsp;extrusion.</tt></dd></dl>
<dl><dt><a name="StatisticSkein-extruderSet"><strong>extruderSet</strong></a>(self, active)</dt><dd><tt>Maybe&nbsp;increment&nbsp;the&nbsp;number&nbsp;of&nbsp;times&nbsp;the&nbsp;extruder&nbsp;was&nbsp;toggled.</tt></dd></dl>
<dl><dt><a name="StatisticSkein-getLocationSetFeedrateToSplitLine"><strong>getLocationSetFeedrateToSplitLine</strong></a>(self, splitLine)</dt></dl>
<dl><dt><a name="StatisticSkein-helicalMove"><strong>helicalMove</strong></a>(self, isCounterclockwise, splitLine)</dt><dd><tt>Get&nbsp;statistics&nbsp;for&nbsp;a&nbsp;helical&nbsp;move.</tt></dd></dl>
<dl><dt><a name="StatisticSkein-linearMove"><strong>linearMove</strong></a>(self, splitLine)</dt><dd><tt>Get&nbsp;statistics&nbsp;for&nbsp;a&nbsp;linear&nbsp;move.</tt></dd></dl>
<dl><dt><a name="StatisticSkein-parseGcode"><strong>parseGcode</strong></a>(self, gcodeText)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;statistics.</tt></dd></dl>
<dl><dt><a name="StatisticSkein-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;statistics.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getStatisticGcode"><strong>getStatisticGcode</strong></a>(gcodeText)</dt><dd><tt>Get&nbsp;statistics&nbsp;for&nbsp;a&nbsp;gcode&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>()</dt><dd><tt>Display&nbsp;the&nbsp;statistics&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-statisticFile"><strong>statisticFile</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Write&nbsp;statistics&nbsp;for&nbsp;a&nbsp;gcode&nbsp;file.&nbsp;&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;write&nbsp;statistics&nbsp;for&nbsp;the&nbsp;first&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder&nbsp;that&nbsp;is&nbsp;not&nbsp;modified.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName, gcodeText<font color="#909090">=''</font>)</dt><dd><tt>Write&nbsp;statistics&nbsp;for&nbsp;a&nbsp;skeinforge&nbsp;gcode&nbsp;file,&nbsp;if&nbsp;'Write&nbsp;Statistics&nbsp;File&nbsp;for&nbsp;Skeinforge&nbsp;Chain'&nbsp;is&nbsp;selected.</tt></dd></dl>
<dl><dt><a name="-writeStatisticFileGivenText"><strong>writeStatisticFileGivenText</strong></a>(fileName, gcodeText, statisticPreferences)</dt><dd><tt>Write&nbsp;statistics&nbsp;for&nbsp;a&nbsp;gcode&nbsp;file.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,192 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.analyze_plugins.vectorwrite</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.analyze_plugins.html"><font color="#ffffff">analyze_plugins</font></a>.vectorwrite</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze_plugins/vectorwrite.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/analyze_plugins/vectorwrite.py</a></font></td></tr></table>
<p><tt>Vectorwrite&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;write&nbsp;Scalable&nbsp;Vector&nbsp;Graphics&nbsp;for&nbsp;a&nbsp;gcode&nbsp;file.<br>
&nbsp;<br>
The&nbsp;default&nbsp;'Activate&nbsp;Vectorwrite'&nbsp;checkbox&nbsp;is&nbsp;on.&nbsp;&nbsp;When&nbsp;it&nbsp;is&nbsp;on,&nbsp;the&nbsp;functions&nbsp;described&nbsp;below&nbsp;will&nbsp;work&nbsp;when&nbsp;called&nbsp;from&nbsp;the<br>
skeinforge&nbsp;toolchain,&nbsp;when&nbsp;it&nbsp;is&nbsp;off,&nbsp;the&nbsp;functions&nbsp;will&nbsp;not&nbsp;be&nbsp;called&nbsp;from&nbsp;the&nbsp;toolchain.&nbsp;&nbsp;The&nbsp;functions&nbsp;will&nbsp;still&nbsp;be&nbsp;called,&nbsp;whether<br>
or&nbsp;not&nbsp;the&nbsp;'Activate&nbsp;Vectorwrite'&nbsp;checkbox&nbsp;is&nbsp;on,&nbsp;when&nbsp;vectorwrite&nbsp;is&nbsp;run&nbsp;directly.<br>
&nbsp;<br>
The&nbsp;'Pixels&nbsp;over&nbsp;Extrusion&nbsp;Width'&nbsp;preference&nbsp;is&nbsp;the&nbsp;scale&nbsp;of&nbsp;the&nbsp;graphic&nbsp;in&nbsp;pixels&nbsp;per&nbsp;extrusion&nbsp;width.&nbsp;&nbsp;If&nbsp;the&nbsp;number&nbsp;of&nbsp;layers&nbsp;is<br>
equal&nbsp;or&nbsp;greater&nbsp;to&nbsp;the&nbsp;'Minimum&nbsp;Number&nbsp;of&nbsp;Layers&nbsp;for&nbsp;Multiple&nbsp;Files'&nbsp;preference,&nbsp;then&nbsp;vectorwrite&nbsp;will&nbsp;write&nbsp;a&nbsp;directory&nbsp;with&nbsp;a<br>
file&nbsp;for&nbsp;each&nbsp;layer,&nbsp;rather&nbsp;than&nbsp;just&nbsp;a&nbsp;single&nbsp;large&nbsp;scalable&nbsp;vector&nbsp;graphic.<br>
&nbsp;<br>
To&nbsp;run&nbsp;vectorwrite,&nbsp;in&nbsp;a&nbsp;shell&nbsp;in&nbsp;the&nbsp;folder&nbsp;which&nbsp;vectorwrite&nbsp;is&nbsp;in&nbsp;type:<br>
&gt;&nbsp;python&nbsp;vectorwrite.py<br>
&nbsp;<br>
The&nbsp;Scalable&nbsp;Vector&nbsp;Graphics&nbsp;file&nbsp;can&nbsp;be&nbsp;opened&nbsp;by&nbsp;an&nbsp;SVG&nbsp;viewer&nbsp;or&nbsp;an&nbsp;SVG&nbsp;capable&nbsp;browser&nbsp;like&nbsp;Mozilla:<br>
<a href="http://www.mozilla.com/firefox/">http://www.mozilla.com/firefox/</a><br>
&nbsp;<br>
This&nbsp;example&nbsp;writes&nbsp;vector&nbsp;graphics&nbsp;for&nbsp;the&nbsp;gcode&nbsp;file&nbsp;Screw&nbsp;Holder.gcode.&nbsp;&nbsp;This&nbsp;example&nbsp;is&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the&nbsp;folder&nbsp;which<br>
contains&nbsp;Screw&nbsp;Holder.gcode&nbsp;and&nbsp;vectorwrite.py.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;vectorwrite<br>
&gt;&gt;&gt;&nbsp;vectorwrite.<a href="#-main">main</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;vectorwrite&nbsp;dialog.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;vectorwrite.vectorwriteFile()<br>
The&nbsp;vector&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder.svg</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="cStringIO.html">cStringIO</a><br>
<a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="math.html">math</a><br>
<a href="os.html">os</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
<a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
<a href="sys.html">sys</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.analyze_plugins.vectorwrite.html#VectorWindow">VectorWindow</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.analyze_plugins.vectorwrite.html#VectorwritePreferences">VectorwritePreferences</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.analyze_plugins.vectorwrite.html#VectorwriteSkein">VectorwriteSkein</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="VectorWindow">class <strong>VectorWindow</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;accumulate&nbsp;a&nbsp;scalable&nbsp;vector&nbsp;graphics&nbsp;text.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="VectorWindow-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="VectorWindow-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;<a href="#VectorWindow">VectorWindow</a>.</tt></dd></dl>
<dl><dt><a name="VectorWindow-addColoredLine"><strong>addColoredLine</strong></a>(self, pointFirst, pointSecond, colorName)</dt><dd><tt>Add&nbsp;a&nbsp;colored&nbsp;line&nbsp;to&nbsp;the&nbsp;text.</tt></dd></dl>
<dl><dt><a name="VectorWindow-addFontHeight"><strong>addFontHeight</strong></a>(self, fontSize)</dt><dd><tt>Add&nbsp;quadruple&nbsp;the&nbsp;font&nbsp;size&nbsp;to&nbsp;the&nbsp;height.</tt></dd></dl>
<dl><dt><a name="VectorWindow-addLine"><strong>addLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;to&nbsp;the&nbsp;text&nbsp;and&nbsp;a&nbsp;newline.</tt></dd></dl>
<dl><dt><a name="VectorWindow-addPane"><strong>addPane</strong></a>(self)</dt><dd><tt>Add&nbsp;a&nbsp;new&nbsp;window&nbsp;pane&nbsp;for&nbsp;drawing&nbsp;lines.</tt></dd></dl>
<dl><dt><a name="VectorWindow-addText"><strong>addText</strong></a>(self, fontSize, line)</dt><dd><tt>Add&nbsp;a&nbsp;colored&nbsp;line&nbsp;to&nbsp;the&nbsp;text.</tt></dd></dl>
<dl><dt><a name="VectorWindow-getHeightWidthString"><strong>getHeightWidthString</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;height&nbsp;and&nbsp;width&nbsp;string.</tt></dd></dl>
<dl><dt><a name="VectorWindow-getVectorFormattedText"><strong>getVectorFormattedText</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;text&nbsp;in&nbsp;scalable&nbsp;vector&nbsp;graphics&nbsp;format.</tt></dd></dl>
<dl><dt><a name="VectorWindow-setPaneCorners"><strong>setPaneCorners</strong></a>(self, bottomLeftCorner, topRightCorner)</dt><dd><tt>Set&nbsp;the&nbsp;corners&nbsp;for&nbsp;the&nbsp;window&nbsp;pane.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="VectorwritePreferences">class <strong>VectorwritePreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;vectorwrite&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="VectorwritePreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="VectorwriteSkein">class <strong>VectorwriteSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;write&nbsp;a&nbsp;get&nbsp;a&nbsp;scalable&nbsp;vector&nbsp;graphics&nbsp;text&nbsp;for&nbsp;a&nbsp;gcode&nbsp;skein.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="VectorwriteSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="VectorwriteSkein-addToPath"><strong>addToPath</strong></a>(self, location, nextLine)</dt><dd><tt>Add&nbsp;a&nbsp;point&nbsp;to&nbsp;travel&nbsp;and&nbsp;maybe&nbsp;extrusion.</tt></dd></dl>
<dl><dt><a name="VectorwriteSkein-addVectorWindow"><strong>addVectorWindow</strong></a>(self)</dt><dd><tt>Add&nbsp;a&nbsp;new&nbsp;vector&nbsp;window&nbsp;to&nbsp;vector&nbsp;windows.</tt></dd></dl>
<dl><dt><a name="VectorwriteSkein-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Write&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
<dl><dt><a name="VectorwriteSkein-getFilenameWriteFiles"><strong>getFilenameWriteFiles</strong></a>(self, fileName)</dt><dd><tt>Write&nbsp;one&nbsp;or&nbsp;multiple&nbsp;files&nbsp;for&nbsp;the&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="VectorwriteSkein-getHypertextLinkBasename"><strong>getHypertextLinkBasename</strong></a>(self, baseUnderscoredPrefix, vectorWindowIndex)</dt><dd><tt>Get&nbsp;hypertext&nbsp;link&nbsp;basename&nbsp;for&nbsp;a&nbsp;numbered&nbsp;vector&nbsp;window.</tt></dd></dl>
<dl><dt><a name="VectorwriteSkein-getLinkBasename"><strong>getLinkBasename</strong></a>(self, baseUnderscoredPrefix, vectorWindowIndex)</dt><dd><tt>Get&nbsp;link&nbsp;basename&nbsp;for&nbsp;a&nbsp;numbered&nbsp;vector&nbsp;window.</tt></dd></dl>
<dl><dt><a name="VectorwriteSkein-getSuffixFilename"><strong>getSuffixFilename</strong></a>(self, baseUnderscoredPrefix, multipleDirectoryName, vectorWindowIndex)</dt><dd><tt>Get&nbsp;suffix&nbsp;fileName&nbsp;for&nbsp;a&nbsp;numbered&nbsp;vector&nbsp;window.</tt></dd></dl>
<dl><dt><a name="VectorwriteSkein-initializeActiveLocation"><strong>initializeActiveLocation</strong></a>(self)</dt><dd><tt>Set&nbsp;variables&nbsp;to&nbsp;default.</tt></dd></dl>
<dl><dt><a name="VectorwriteSkein-linearCorner"><strong>linearCorner</strong></a>(self, splitLine)</dt><dd><tt>Update&nbsp;the&nbsp;bounding&nbsp;corners.</tt></dd></dl>
<dl><dt><a name="VectorwriteSkein-linearMove"><strong>linearMove</strong></a>(self, splitLine, nextLine)</dt><dd><tt>Get&nbsp;statistics&nbsp;for&nbsp;a&nbsp;linear&nbsp;move.</tt></dd></dl>
<dl><dt><a name="VectorwriteSkein-parseCorner"><strong>parseCorner</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;use&nbsp;the&nbsp;location&nbsp;to&nbsp;update&nbsp;the&nbsp;bounding&nbsp;corners.</tt></dd></dl>
<dl><dt><a name="VectorwriteSkein-parseGcode"><strong>parseGcode</strong></a>(self, gcodeText, vectorwritePreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;vector&nbsp;output.</tt></dd></dl>
<dl><dt><a name="VectorwriteSkein-parseLine"><strong>parseLine</strong></a>(self, line, nextLine)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;vector&nbsp;output.</tt></dd></dl>
<dl><dt><a name="VectorwriteSkein-writeIndexText"><strong>writeIndexText</strong></a>(self, baseUnderscoredPrefix, indexFilename, indexName, multipleDirectoryName, suffixFilenames)</dt><dd><tt>Write&nbsp;the&nbsp;text&nbsp;for&nbsp;the&nbsp;index&nbsp;page.</tt></dd></dl>
<dl><dt><a name="VectorwriteSkein-writeVectorWindowText"><strong>writeVectorWindowText</strong></a>(self, baseUnderscoredPrefix, multipleDirectoryName, suffixFilenames, vectorWindowIndex)</dt><dd><tt>Write&nbsp;the&nbsp;text&nbsp;for&nbsp;a&nbsp;vector&nbsp;window&nbsp;page.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-main"><strong>main</strong></a>(hashtable<font color="#909090">=None</font>)</dt><dd><tt>Display&nbsp;the&nbsp;vectorwrite&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName, gcodeText<font color="#909090">=''</font>)</dt><dd><tt>Write&nbsp;scalable&nbsp;vector&nbsp;graphics&nbsp;for&nbsp;a&nbsp;skeinforge&nbsp;gcode&nbsp;file,&nbsp;if&nbsp;'Write&nbsp;Scalable&nbsp;Vector&nbsp;Graphics&nbsp;for&nbsp;Skeinforge&nbsp;Chain'&nbsp;is&nbsp;selected.</tt></dd></dl>
<dl><dt><a name="-writeVectorFile"><strong>writeVectorFile</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Write&nbsp;scalable&nbsp;vector&nbsp;graphics&nbsp;for&nbsp;a&nbsp;gcode&nbsp;file.&nbsp;&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;write&nbsp;scalable&nbsp;vector&nbsp;graphics&nbsp;for&nbsp;the&nbsp;first&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
<dl><dt><a name="-writeVectorFileGivenText"><strong>writeVectorFileGivenText</strong></a>(fileName, gcodeText, vectorwritePreferences)</dt><dd><tt>Write&nbsp;scalable&nbsp;vector&nbsp;graphics&nbsp;for&nbsp;a&nbsp;gcode&nbsp;file.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__credits__</strong> = 'Nophead &lt;http://hydraraptor.blogspot.com/&gt;'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Credits</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Nophead&nbsp;&lt;<a href="http://hydraraptor.blogspot.com/">http://hydraraptor.blogspot.com/</a>&gt;</td></tr></table>
</body></html>

View File

@@ -0,0 +1,187 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.carve</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.carve</strong></big></big> ($Date: 2008/02/05 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/carve.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/carve.py</a></font></td></tr></table>
<p><tt>Carve&nbsp;shape&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;carve&nbsp;a&nbsp;list&nbsp;of&nbsp;slice&nbsp;layers.<br>
&nbsp;<br>
Carve&nbsp;carves&nbsp;a&nbsp;list&nbsp;of&nbsp;slices&nbsp;into&nbsp;svg&nbsp;slice&nbsp;layers.&nbsp;&nbsp;The&nbsp;'Layer&nbsp;Thickness'&nbsp;is&nbsp;the&nbsp;thickness&nbsp;the&nbsp;extrusion&nbsp;layer&nbsp;at&nbsp;default&nbsp;extruder&nbsp;speed,<br>
this&nbsp;is&nbsp;the&nbsp;most&nbsp;important&nbsp;carve&nbsp;preference.&nbsp;&nbsp;The&nbsp;'Extrusion&nbsp;Width&nbsp;over&nbsp;Thickness'&nbsp;is&nbsp;the&nbsp;ratio&nbsp;of&nbsp;the&nbsp;extrusion&nbsp;width&nbsp;over&nbsp;the&nbsp;layer<br>
thickness,&nbsp;the&nbsp;default&nbsp;is&nbsp;1.5.&nbsp;&nbsp;A&nbsp;ratio&nbsp;of&nbsp;one&nbsp;means&nbsp;the&nbsp;extrusion&nbsp;is&nbsp;a&nbsp;circle,&nbsp;a&nbsp;typical&nbsp;ratio&nbsp;of&nbsp;1.5&nbsp;means&nbsp;the&nbsp;extrusion&nbsp;is&nbsp;a&nbsp;wide&nbsp;oval.<br>
These&nbsp;values&nbsp;should&nbsp;be&nbsp;measured&nbsp;from&nbsp;a&nbsp;test&nbsp;extrusion&nbsp;line.<br>
&nbsp;<br>
Rarely&nbsp;changed&nbsp;preferences&nbsp;are&nbsp;'Import&nbsp;Coarseness',&nbsp;'Mesh&nbsp;Type',&nbsp;'Infill&nbsp;Bridge&nbsp;Width&nbsp;Over&nbsp;Thickness',&nbsp;'Infill&nbsp;in&nbsp;Direction&nbsp;of&nbsp;Bridges'&nbsp;&amp;<br>
'Layer&nbsp;Thickness&nbsp;over&nbsp;Precision'.&nbsp;&nbsp;When&nbsp;a&nbsp;triangle&nbsp;mesh&nbsp;has&nbsp;holes&nbsp;in&nbsp;it,&nbsp;the&nbsp;triangle&nbsp;mesh&nbsp;slicer&nbsp;switches&nbsp;over&nbsp;to&nbsp;a&nbsp;slow&nbsp;algorithm&nbsp;that<br>
spans&nbsp;gaps&nbsp;in&nbsp;the&nbsp;mesh.&nbsp;&nbsp;The&nbsp;higher&nbsp;the&nbsp;import&nbsp;coarseness,&nbsp;the&nbsp;wider&nbsp;the&nbsp;gaps&nbsp;in&nbsp;the&nbsp;mesh&nbsp;it&nbsp;will&nbsp;span.&nbsp;&nbsp;An&nbsp;import&nbsp;coarseness&nbsp;of&nbsp;one<br>
means&nbsp;it&nbsp;will&nbsp;span&nbsp;gaps&nbsp;the&nbsp;width&nbsp;of&nbsp;the&nbsp;extrusion.&nbsp;&nbsp;When&nbsp;the&nbsp;Mesh&nbsp;Type&nbsp;preference&nbsp;is&nbsp;Correct&nbsp;Mesh,&nbsp;the&nbsp;mesh&nbsp;will&nbsp;be&nbsp;accurately<br>
carved,&nbsp;and&nbsp;if&nbsp;a&nbsp;hole&nbsp;is&nbsp;found,&nbsp;carve&nbsp;will&nbsp;switch&nbsp;over&nbsp;to&nbsp;the&nbsp;algorithm&nbsp;that&nbsp;spans&nbsp;gaps.&nbsp;&nbsp;If&nbsp;the&nbsp;Mesh&nbsp;Type&nbsp;preference&nbsp;is&nbsp;Unproven<br>
Mesh,&nbsp;carve&nbsp;will&nbsp;use&nbsp;the&nbsp;gap&nbsp;spanning&nbsp;algorithm&nbsp;from&nbsp;the&nbsp;start.&nbsp;&nbsp;The&nbsp;problem&nbsp;with&nbsp;the&nbsp;gap&nbsp;spanning&nbsp;algothm&nbsp;is&nbsp;that&nbsp;it&nbsp;will&nbsp;span&nbsp;gaps,<br>
even&nbsp;if&nbsp;there&nbsp;actually&nbsp;is&nbsp;a&nbsp;gap&nbsp;in&nbsp;the&nbsp;model.&nbsp;&nbsp;Infill&nbsp;bridge&nbsp;width&nbsp;over&nbsp;thickness&nbsp;ratio&nbsp;is&nbsp;the&nbsp;ratio&nbsp;of&nbsp;the&nbsp;extrusion&nbsp;width&nbsp;over&nbsp;the&nbsp;layer<br>
thickness&nbsp;on&nbsp;a&nbsp;bridge&nbsp;layer.&nbsp;&nbsp;If&nbsp;the&nbsp;infill&nbsp;in&nbsp;direction&nbsp;of&nbsp;bridges&nbsp;preference&nbsp;is&nbsp;chosen,&nbsp;the&nbsp;infill&nbsp;will&nbsp;be&nbsp;in&nbsp;the&nbsp;direction&nbsp;of&nbsp;bridges&nbsp;across<br>
gaps,&nbsp;so&nbsp;that&nbsp;the&nbsp;fill&nbsp;will&nbsp;be&nbsp;able&nbsp;to&nbsp;span&nbsp;a&nbsp;bridge&nbsp;easier.&nbsp;&nbsp;The&nbsp;'Layer&nbsp;Thickness&nbsp;over&nbsp;Precision'&nbsp;is&nbsp;the&nbsp;ratio&nbsp;of&nbsp;the&nbsp;layer&nbsp;thickness&nbsp;over<br>
the&nbsp;smallest&nbsp;change&nbsp;in&nbsp;value.&nbsp;&nbsp;The&nbsp;higher&nbsp;the&nbsp;layer&nbsp;thickness&nbsp;over&nbsp;precision,&nbsp;the&nbsp;more&nbsp;significant&nbsp;figures&nbsp;the&nbsp;output&nbsp;numbers&nbsp;will&nbsp;have,<br>
the&nbsp;default&nbsp;is&nbsp;ten.<br>
&nbsp;<br>
To&nbsp;run&nbsp;carve,&nbsp;in&nbsp;a&nbsp;shell&nbsp;type:<br>
&gt;&nbsp;python&nbsp;carve.py<br>
&nbsp;<br>
The&nbsp;following&nbsp;examples&nbsp;carve&nbsp;the&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;file&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl.&nbsp;&nbsp;The&nbsp;examples&nbsp;are&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the<br>
folder&nbsp;which&nbsp;contains&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;and&nbsp;carve.py.&nbsp;&nbsp;The&nbsp;preferences&nbsp;can&nbsp;be&nbsp;set&nbsp;in&nbsp;the&nbsp;dialog&nbsp;or&nbsp;by&nbsp;changing&nbsp;the&nbsp;preferences&nbsp;file<br>
'carve.csv'&nbsp;with&nbsp;a&nbsp;text&nbsp;editor&nbsp;or&nbsp;a&nbsp;spreadsheet&nbsp;program&nbsp;set&nbsp;to&nbsp;separate&nbsp;tabs.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;carve.py<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;dialog,&nbsp;after&nbsp;clicking&nbsp;'Carve',&nbsp;the&nbsp;following&nbsp;is&nbsp;printed:<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;carved.<br>
The&nbsp;carved&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_carve.svg<br>
&nbsp;<br>
&nbsp;<br>
&gt;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;carve<br>
&gt;&gt;&gt;&nbsp;carve.<a href="#-main">main</a>()<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;carved.<br>
The&nbsp;carved&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_carve.svg<br>
It&nbsp;took&nbsp;3&nbsp;seconds&nbsp;to&nbsp;carve&nbsp;the&nbsp;file.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;carve.<a href="#-writeOutput">writeOutput</a>()<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode&nbsp;is&nbsp;being&nbsp;carved.<br>
The&nbsp;carved&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_carve.svg<br>
It&nbsp;took&nbsp;3&nbsp;seconds&nbsp;to&nbsp;carve&nbsp;the&nbsp;file.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;carve.<a href="#-getCarveGcode">getCarveGcode</a>("<br>
54&nbsp;162&nbsp;108&nbsp;Number&nbsp;of&nbsp;Vertices,Number&nbsp;of&nbsp;Edges,Number&nbsp;of&nbsp;Faces<br>
-5.800000000000001&nbsp;5.341893939393939&nbsp;4.017841892579603&nbsp;Vertex&nbsp;Coordinates&nbsp;XYZ<br>
5.800000000000001&nbsp;5.341893939393939&nbsp;4.017841892579603<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;vertices,&nbsp;edges&nbsp;and&nbsp;faces<br>
..<br>
")</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="skeinforge_tools.analyze.html">skeinforge_tools.analyze</a><br>
<a href="cStringIO.html">cStringIO</a><br>
<a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="skeinforge_tools.skeinforge_utilities.interpret.html">skeinforge_tools.skeinforge_utilities.interpret</a><br>
<a href="math.html">math</a><br>
<a href="os.html">os</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
<a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
<a href="sys.html">sys</a><br>
<a href="time.html">time</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.triangle_mesh.html">skeinforge_tools.skeinforge_utilities.triangle_mesh</a><br>
<a href="webbrowser.html">webbrowser</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.carve.html#CarvePreferences">CarvePreferences</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.carve.html#CarveSkein">CarveSkein</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="CarvePreferences">class <strong>CarvePreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;carve&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="CarvePreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="CarvePreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Carve&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="CarveSkein">class <strong>CarveSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;carve&nbsp;a&nbsp;GNU&nbsp;Triangulated&nbsp;Surface.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="CarveSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="CarveSkein-addInitializationToOutputSVG"><strong>addInitializationToOutputSVG</strong></a>(self)</dt><dd><tt>Add&nbsp;initialization&nbsp;gcode&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="CarveSkein-addLayerStart"><strong>addLayerStart</strong></a>(self, layerIndex, z)</dt><dd><tt>Add&nbsp;the&nbsp;start&nbsp;lines&nbsp;for&nbsp;the&nbsp;layer.</tt></dd></dl>
<dl><dt><a name="CarveSkein-addLine"><strong>addLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;of&nbsp;text&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="CarveSkein-addLines"><strong>addLines</strong></a>(self, lines)</dt><dd><tt>Add&nbsp;lines&nbsp;of&nbsp;text&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="CarveSkein-addRotatedLoopLayerToOutput"><strong>addRotatedLoopLayerToOutput</strong></a>(self, layerIndex, rotatedBoundaryLayer)</dt><dd><tt>Add&nbsp;rotated&nbsp;boundary&nbsp;layer&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="CarveSkein-addRotatedLoopLayersToOutput"><strong>addRotatedLoopLayersToOutput</strong></a>(self, rotatedBoundaryLayers)</dt><dd><tt>Add&nbsp;rotated&nbsp;boundary&nbsp;layers&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="CarveSkein-addShutdownToOutput"><strong>addShutdownToOutput</strong></a>(self)</dt><dd><tt>Add&nbsp;shutdown&nbsp;svg&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="CarveSkein-getReplacedSVGTemplateLines"><strong>getReplacedSVGTemplateLines</strong></a>(self, fileName, rotatedBoundaryLayers)</dt><dd><tt>Get&nbsp;the&nbsp;lines&nbsp;of&nbsp;text&nbsp;from&nbsp;the&nbsp;svg_template.txt&nbsp;file.</tt></dd></dl>
<dl><dt><a name="CarveSkein-getRounded"><strong>getRounded</strong></a>(self, number)</dt><dd><tt>Get&nbsp;number&nbsp;rounded&nbsp;to&nbsp;the&nbsp;number&nbsp;of&nbsp;carried&nbsp;decimal&nbsp;places&nbsp;as&nbsp;a&nbsp;string.</tt></dd></dl>
<dl><dt><a name="CarveSkein-getRoundedComplexString"><strong>getRoundedComplexString</strong></a>(self, point)</dt><dd><tt>Get&nbsp;the&nbsp;rounded&nbsp;complex&nbsp;string.</tt></dd></dl>
<dl><dt><a name="CarveSkein-getSVGLoopString"><strong>getSVGLoopString</strong></a>(self, loop)</dt><dd><tt>Get&nbsp;the&nbsp;svg&nbsp;loop&nbsp;string.</tt></dd></dl>
<dl><dt><a name="CarveSkein-parseCarving"><strong>parseCarving</strong></a>(self, carvePreferences, carving, fileName)</dt><dd><tt>Parse&nbsp;gnu&nbsp;triangulated&nbsp;surface&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;carved&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="CarveSkein-setExtrusionDiameterWidth"><strong>setExtrusionDiameterWidth</strong></a>(self, carvePreferences)</dt><dd><tt>Set&nbsp;the&nbsp;extrusion&nbsp;diameter&nbsp;&amp;&nbsp;width&nbsp;and&nbsp;the&nbsp;bridge&nbsp;thickness&nbsp;&amp;&nbsp;width.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getCarveGcode"><strong>getCarveGcode</strong></a>(fileName, carvePreferences<font color="#909090">=None</font>)</dt><dd><tt>Carve&nbsp;a&nbsp;shape&nbsp;file.</tt></dd></dl>
<dl><dt><a name="-getCarving"><strong>getCarving</strong></a>(fileName)</dt><dd><tt>Get&nbsp;a&nbsp;carving&nbsp;for&nbsp;the&nbsp;file&nbsp;using&nbsp;an&nbsp;import&nbsp;plugin.</tt></dd></dl>
<dl><dt><a name="-getParameterFromJavascript"><strong>getParameterFromJavascript</strong></a>(lines, parameterName, parameterValue)</dt><dd><tt>Get&nbsp;a&nbsp;paramater&nbsp;from&nbsp;lines&nbsp;of&nbsp;javascript.</tt></dd></dl>
<dl><dt><a name="-getReplacedInQuotes"><strong>getReplacedInQuotes</strong></a>(original, replacement, text)</dt><dd><tt>Replace&nbsp;what&nbsp;follows&nbsp;in&nbsp;quotes&nbsp;after&nbsp;the&nbsp;word.</tt></dd></dl>
<dl><dt><a name="-getReplacedTagString"><strong>getReplacedTagString</strong></a>(replacementTagString, tagID, text)</dt><dd><tt>Get&nbsp;text&nbsp;with&nbsp;the&nbsp;tag&nbsp;string&nbsp;replaced.</tt></dd></dl>
<dl><dt><a name="-getReplacedWordAndInQuotes"><strong>getReplacedWordAndInQuotes</strong></a>(original, replacement, text)</dt><dd><tt>Replace&nbsp;the&nbsp;word&nbsp;in&nbsp;the&nbsp;text&nbsp;and&nbsp;replace&nbsp;what&nbsp;follows&nbsp;in&nbsp;quotes&nbsp;after&nbsp;the&nbsp;word.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>()</dt><dd><tt>Display&nbsp;the&nbsp;carve&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Carve&nbsp;a&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;file.&nbsp;&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;carve&nbsp;the&nbsp;first&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/02/05 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,178 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.clip</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.clip</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/clip.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/clip.py</a></font></td></tr></table>
<p><tt>Clip&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;clip&nbsp;loop&nbsp;ends.<br>
&nbsp;<br>
The&nbsp;default&nbsp;'Activate&nbsp;Clip'&nbsp;checkbox&nbsp;is&nbsp;on.&nbsp;&nbsp;When&nbsp;it&nbsp;is&nbsp;on,&nbsp;the&nbsp;functions&nbsp;described&nbsp;below&nbsp;will&nbsp;work,&nbsp;when&nbsp;it&nbsp;is&nbsp;off,&nbsp;the&nbsp;functions<br>
will&nbsp;not&nbsp;be&nbsp;called.<br>
&nbsp;<br>
Clip&nbsp;clips&nbsp;the&nbsp;ends&nbsp;of&nbsp;loops&nbsp;to&nbsp;prevent&nbsp;bumps&nbsp;from&nbsp;forming.&nbsp;&nbsp;The&nbsp;"Clip&nbsp;Over&nbsp;Extrusion&nbsp;Width&nbsp;(ratio)"&nbsp;is&nbsp;the&nbsp;ratio&nbsp;of&nbsp;the&nbsp;amount<br>
each&nbsp;end&nbsp;of&nbsp;the&nbsp;loop&nbsp;is&nbsp;clipped&nbsp;over&nbsp;the&nbsp;extrusion&nbsp;width.&nbsp;&nbsp;The&nbsp;total&nbsp;gap&nbsp;will&nbsp;therefore&nbsp;be&nbsp;twice&nbsp;the&nbsp;clip.&nbsp;&nbsp;If&nbsp;the&nbsp;ratio&nbsp;is&nbsp;too&nbsp;high<br>
loops&nbsp;will&nbsp;have&nbsp;a&nbsp;gap,&nbsp;if&nbsp;the&nbsp;ratio&nbsp;is&nbsp;too&nbsp;low&nbsp;there&nbsp;will&nbsp;be&nbsp;a&nbsp;bulge&nbsp;at&nbsp;the&nbsp;loop&nbsp;ends.&nbsp;&nbsp;To&nbsp;run&nbsp;clip,&nbsp;in&nbsp;a&nbsp;shell&nbsp;type:<br>
&gt;&nbsp;python&nbsp;clip.py<br>
&nbsp;<br>
The&nbsp;following&nbsp;examples&nbsp;clip&nbsp;the&nbsp;files&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode&nbsp;&amp;&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl.&nbsp;&nbsp;The&nbsp;examples&nbsp;are&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the<br>
folder&nbsp;which&nbsp;contains&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode,&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;and&nbsp;clip.py.&nbsp;&nbsp;The&nbsp;clip&nbsp;function&nbsp;will&nbsp;clip&nbsp;if&nbsp;'Activate&nbsp;Clip'&nbsp;is&nbsp;true,<br>
which&nbsp;can&nbsp;be&nbsp;set&nbsp;in&nbsp;the&nbsp;dialog&nbsp;or&nbsp;by&nbsp;changing&nbsp;the&nbsp;preferences&nbsp;file&nbsp;'clip.csv'&nbsp;in&nbsp;the&nbsp;'.skeinforge'&nbsp;folder&nbsp;in&nbsp;your&nbsp;home&nbsp;directory<br>
with&nbsp;a&nbsp;text&nbsp;editor&nbsp;or&nbsp;a&nbsp;spreadsheet&nbsp;program&nbsp;set&nbsp;to&nbsp;separate&nbsp;tabs.&nbsp;&nbsp;The&nbsp;functions&nbsp;writeOutput&nbsp;and&nbsp;getClipChainGcode&nbsp;check<br>
to&nbsp;see&nbsp;if&nbsp;the&nbsp;text&nbsp;has&nbsp;been&nbsp;clipped,&nbsp;if&nbsp;not&nbsp;they&nbsp;call&nbsp;getCombChainGcode&nbsp;in&nbsp;comb.py&nbsp;to&nbsp;comb&nbsp;the&nbsp;text;&nbsp;once&nbsp;they&nbsp;have&nbsp;the<br>
combed&nbsp;text,&nbsp;then&nbsp;they&nbsp;clip.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;clip.py<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;dialog,&nbsp;after&nbsp;clicking&nbsp;'Clip',&nbsp;the&nbsp;following&nbsp;is&nbsp;printed:<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;clipped.<br>
The&nbsp;clipped&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_clip.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;clip.py&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;clipped.<br>
The&nbsp;clipped&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_clip.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;clip<br>
&gt;&gt;&gt;&nbsp;clip.<a href="#-main">main</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;clip&nbsp;dialog.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;clip.<a href="#-writeOutput">writeOutput</a>()<br>
Screw&nbsp;Holder&nbsp;Bottom.stl<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;clipped.<br>
The&nbsp;clipped&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_clip.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;clip.<a href="#-getClipGcode">getClipGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;clip.<a href="#-getClipChainGcode">getClipChainGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="skeinforge_tools.analyze.html">skeinforge_tools.analyze</a><br>
<a href="cStringIO.html">cStringIO</a><br>
<a href="skeinforge_tools.comb.html">skeinforge_tools.comb</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
<a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="skeinforge_tools.skeinforge_utilities.intercircle.html">skeinforge_tools.skeinforge_utilities.intercircle</a><br>
<a href="skeinforge_tools.skeinforge_utilities.interpret.html">skeinforge_tools.skeinforge_utilities.interpret</a><br>
</td><td width="25%" valign=top><a href="math.html">math</a><br>
<a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
<a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
<a href="sys.html">sys</a><br>
</td><td width="25%" valign=top><a href="time.html">time</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.clip.html#ClipPreferences">ClipPreferences</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.clip.html#ClipSkein">ClipSkein</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="ClipPreferences">class <strong>ClipPreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;clip&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="ClipPreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="ClipPreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Clip&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="ClipSkein">class <strong>ClipSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;clip&nbsp;a&nbsp;skein&nbsp;of&nbsp;extrusions.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="ClipSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="ClipSkein-addGcodeFromThreadZ"><strong>addGcodeFromThreadZ</strong></a>(self, thread, z)</dt><dd><tt>Add&nbsp;a&nbsp;gcode&nbsp;thread&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="ClipSkein-addGcodeMovementZ"><strong>addGcodeMovementZ</strong></a>(self, point, z)</dt><dd><tt>Add&nbsp;a&nbsp;movement&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="ClipSkein-addLine"><strong>addLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;of&nbsp;text&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="ClipSkein-addTailoredLoopPath"><strong>addTailoredLoopPath</strong></a>(self)</dt><dd><tt>Add&nbsp;a&nbsp;clipped&nbsp;and&nbsp;jittered&nbsp;loop&nbsp;path.</tt></dd></dl>
<dl><dt><a name="ClipSkein-getRounded"><strong>getRounded</strong></a>(self, number)</dt><dd><tt>Get&nbsp;number&nbsp;rounded&nbsp;to&nbsp;the&nbsp;number&nbsp;of&nbsp;carried&nbsp;decimal&nbsp;places&nbsp;as&nbsp;a&nbsp;string.</tt></dd></dl>
<dl><dt><a name="ClipSkein-isNextExtruderOn"><strong>isNextExtruderOn</strong></a>(self)</dt><dd><tt>Determine&nbsp;if&nbsp;there&nbsp;is&nbsp;an&nbsp;extruder&nbsp;on&nbsp;command&nbsp;before&nbsp;a&nbsp;move&nbsp;command.</tt></dd></dl>
<dl><dt><a name="ClipSkein-linearMove"><strong>linearMove</strong></a>(self, splitLine)</dt><dd><tt>Add&nbsp;to&nbsp;loop&nbsp;path&nbsp;if&nbsp;this&nbsp;is&nbsp;a&nbsp;loop&nbsp;or&nbsp;path.</tt></dd></dl>
<dl><dt><a name="ClipSkein-parseGcode"><strong>parseGcode</strong></a>(self, gcodeText, loopTailorPreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;clip&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="ClipSkein-parseInitialization"><strong>parseInitialization</strong></a>(self, loopTailorPreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;initialization&nbsp;and&nbsp;store&nbsp;the&nbsp;parameters.</tt></dd></dl>
<dl><dt><a name="ClipSkein-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;clip&nbsp;skein.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getClipChainGcode"><strong>getClipChainGcode</strong></a>(fileName, gcodeText, loopTailorPreferences<font color="#909090">=None</font>)</dt><dd><tt>Clip&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.&nbsp;&nbsp;Chain&nbsp;clip&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;clipped.</tt></dd></dl>
<dl><dt><a name="-getClipGcode"><strong>getClipGcode</strong></a>(gcodeText, loopTailorPreferences<font color="#909090">=None</font>)</dt><dd><tt>Clip&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>(hashtable<font color="#909090">=None</font>)</dt><dd><tt>Display&nbsp;the&nbsp;clip&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Clip&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;file.&nbsp;&nbsp;Chain&nbsp;clip&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;clipped.&nbsp;&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;clip&nbsp;the&nbsp;first&nbsp;unmodified&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,211 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.comb</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.comb</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/comb.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/comb.py</a></font></td></tr></table>
<p><tt>Comb&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;comb&nbsp;the&nbsp;extrusion&nbsp;hair&nbsp;of&nbsp;a&nbsp;gcode&nbsp;file.<br>
&nbsp;<br>
The&nbsp;default&nbsp;'Activate&nbsp;Comb'&nbsp;checkbox&nbsp;is&nbsp;on.&nbsp;&nbsp;When&nbsp;it&nbsp;is&nbsp;on,&nbsp;the&nbsp;functions&nbsp;described&nbsp;below&nbsp;will&nbsp;work,&nbsp;when&nbsp;it&nbsp;is&nbsp;off,&nbsp;the&nbsp;functions<br>
will&nbsp;not&nbsp;be&nbsp;called.<br>
&nbsp;<br>
Comb&nbsp;bends&nbsp;the&nbsp;extruder&nbsp;travel&nbsp;paths&nbsp;around&nbsp;holes&nbsp;in&nbsp;the&nbsp;carve,&nbsp;to&nbsp;avoid&nbsp;stringers.&nbsp;&nbsp;It&nbsp;moves&nbsp;the&nbsp;extruder&nbsp;to&nbsp;the&nbsp;inside&nbsp;of&nbsp;outer<br>
perimeters&nbsp;before&nbsp;turning&nbsp;the&nbsp;extruder&nbsp;on&nbsp;so&nbsp;any&nbsp;start&nbsp;up&nbsp;ooze&nbsp;will&nbsp;be&nbsp;inside&nbsp;the&nbsp;shape.&nbsp;&nbsp;It&nbsp;jitters&nbsp;the&nbsp;loop&nbsp;end&nbsp;position&nbsp;to&nbsp;a<br>
different&nbsp;place&nbsp;on&nbsp;each&nbsp;layer&nbsp;to&nbsp;prevent&nbsp;the&nbsp;a&nbsp;ridge&nbsp;from&nbsp;forming.&nbsp;&nbsp;The&nbsp;'Arrival&nbsp;Inset&nbsp;Follow&nbsp;Distance&nbsp;over&nbsp;Extrusion&nbsp;Width'&nbsp;is&nbsp;the<br>
ratio&nbsp;of&nbsp;the&nbsp;amount&nbsp;before&nbsp;the&nbsp;start&nbsp;of&nbsp;the&nbsp;outer&nbsp;perimeter&nbsp;the&nbsp;extruder&nbsp;will&nbsp;be&nbsp;moved&nbsp;to.&nbsp;&nbsp;A&nbsp;high&nbsp;value&nbsp;means&nbsp;the&nbsp;extruder&nbsp;will<br>
move&nbsp;way&nbsp;before&nbsp;the&nbsp;beginning&nbsp;of&nbsp;the&nbsp;perimeter&nbsp;and&nbsp;a&nbsp;low&nbsp;value&nbsp;means&nbsp;the&nbsp;extruder&nbsp;will&nbsp;be&nbsp;moved&nbsp;just&nbsp;before&nbsp;the&nbsp;beginning.<br>
The&nbsp;"Jitter&nbsp;Over&nbsp;Extrusion&nbsp;Width&nbsp;(ratio)"&nbsp;is&nbsp;the&nbsp;ratio&nbsp;of&nbsp;the&nbsp;amount&nbsp;the&nbsp;loop&nbsp;ends&nbsp;will&nbsp;be&nbsp;jittered.&nbsp;&nbsp;A&nbsp;high&nbsp;value&nbsp;means&nbsp;the&nbsp;loops<br>
will&nbsp;start&nbsp;all&nbsp;over&nbsp;the&nbsp;place&nbsp;and&nbsp;a&nbsp;low&nbsp;value&nbsp;means&nbsp;loops&nbsp;will&nbsp;start&nbsp;at&nbsp;roughly&nbsp;the&nbsp;same&nbsp;place&nbsp;on&nbsp;each&nbsp;layer.&nbsp;&nbsp;The&nbsp;'Minimum<br>
Perimeter&nbsp;Departure&nbsp;Distance&nbsp;over&nbsp;Extrusion&nbsp;Width'&nbsp;is&nbsp;the&nbsp;ratio&nbsp;of&nbsp;the&nbsp;minimum&nbsp;distance&nbsp;that&nbsp;the&nbsp;extruder&nbsp;will&nbsp;travel&nbsp;and&nbsp;loop<br>
before&nbsp;leaving&nbsp;an&nbsp;outer&nbsp;perimeter.&nbsp;&nbsp;A&nbsp;high&nbsp;value&nbsp;means&nbsp;the&nbsp;extruder&nbsp;will&nbsp;loop&nbsp;many&nbsp;times&nbsp;before&nbsp;leaving,&nbsp;so&nbsp;that&nbsp;the&nbsp;ooze&nbsp;will<br>
finish&nbsp;within&nbsp;the&nbsp;perimeter,&nbsp;a&nbsp;low&nbsp;value&nbsp;means&nbsp;the&nbsp;extruder&nbsp;will&nbsp;not&nbsp;loop&nbsp;and&nbsp;a&nbsp;stringer&nbsp;might&nbsp;be&nbsp;created&nbsp;from&nbsp;the&nbsp;outer<br>
perimeter.&nbsp;&nbsp;To&nbsp;run&nbsp;comb,&nbsp;in&nbsp;a&nbsp;shell&nbsp;type:<br>
&gt;&nbsp;python&nbsp;comb.py<br>
&nbsp;<br>
The&nbsp;following&nbsp;examples&nbsp;comb&nbsp;the&nbsp;files&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode&nbsp;&amp;&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl.&nbsp;&nbsp;The&nbsp;examples&nbsp;are&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the&nbsp;folder<br>
which&nbsp;contains&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode,&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;and&nbsp;comb.py.&nbsp;&nbsp;The&nbsp;comb&nbsp;function&nbsp;will&nbsp;comb&nbsp;if&nbsp;'Activate&nbsp;Comb'&nbsp;is&nbsp;true,&nbsp;which<br>
can&nbsp;be&nbsp;set&nbsp;in&nbsp;the&nbsp;dialog&nbsp;or&nbsp;by&nbsp;changing&nbsp;the&nbsp;preferences&nbsp;file&nbsp;'comb.csv'&nbsp;in&nbsp;the&nbsp;'.skeinforge'&nbsp;folder&nbsp;in&nbsp;your&nbsp;home&nbsp;directory&nbsp;with&nbsp;a&nbsp;text<br>
editor&nbsp;or&nbsp;a&nbsp;spreadsheet&nbsp;program&nbsp;set&nbsp;to&nbsp;separate&nbsp;tabs.&nbsp;&nbsp;The&nbsp;functions&nbsp;writeOutput&nbsp;and&nbsp;getCombChainGcode&nbsp;check&nbsp;to&nbsp;see&nbsp;if&nbsp;the<br>
text&nbsp;has&nbsp;been&nbsp;combed,&nbsp;if&nbsp;not&nbsp;they&nbsp;call&nbsp;getTowerChainGcode&nbsp;in&nbsp;tower.py&nbsp;to&nbsp;tower&nbsp;the&nbsp;text;&nbsp;once&nbsp;they&nbsp;have&nbsp;the&nbsp;towered&nbsp;text,&nbsp;then<br>
they&nbsp;comb.&nbsp;&nbsp;Pictures&nbsp;of&nbsp;combing&nbsp;in&nbsp;action&nbsp;are&nbsp;available&nbsp;from&nbsp;the&nbsp;Metalab&nbsp;blog&nbsp;at:<br>
<a href="http://reprap.soup.io/?search=combing">http://reprap.soup.io/?search=combing</a><br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;comb.py<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;dialog,&nbsp;after&nbsp;clicking&nbsp;'Comb',&nbsp;the&nbsp;following&nbsp;is&nbsp;printed:<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;combed.<br>
The&nbsp;combed&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_comb.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;comb<br>
&gt;&gt;&gt;&nbsp;comb.<a href="#-main">main</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;comb&nbsp;dialog.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;comb.<a href="#-writeOutput">writeOutput</a>()<br>
Screw&nbsp;Holder&nbsp;Bottom.stl<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;combed.<br>
The&nbsp;combed&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_comb.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;comb.<a href="#-getCombGcode">getCombGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;comb.<a href="#-getCombChainGcode">getCombChainGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="skeinforge_tools.analyze.html">skeinforge_tools.analyze</a><br>
<a href="cStringIO.html">cStringIO</a><br>
<a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="skeinforge_tools.skeinforge_utilities.intercircle.html">skeinforge_tools.skeinforge_utilities.intercircle</a><br>
<a href="skeinforge_tools.skeinforge_utilities.interpret.html">skeinforge_tools.skeinforge_utilities.interpret</a><br>
<a href="math.html">math</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
<a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
<a href="sys.html">sys</a><br>
<a href="time.html">time</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.tower.html">skeinforge_tools.tower</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.comb.html#CombPreferences">CombPreferences</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.comb.html#CombSkein">CombSkein</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="CombPreferences">class <strong>CombPreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;comb&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="CombPreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="CombPreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Comb&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="CombSkein">class <strong>CombSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;comb&nbsp;a&nbsp;skein&nbsp;of&nbsp;extrusions.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="CombSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="CombSkein-addGcodeFromThreadZ"><strong>addGcodeFromThreadZ</strong></a>(self, thread, z)</dt><dd><tt>Add&nbsp;a&nbsp;gcode&nbsp;thread&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="CombSkein-addGcodeMovementZ"><strong>addGcodeMovementZ</strong></a>(self, point, z)</dt><dd><tt>Add&nbsp;a&nbsp;movement&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="CombSkein-addGcodePathZ"><strong>addGcodePathZ</strong></a>(self, path, z)</dt><dd><tt>Add&nbsp;a&nbsp;gcode&nbsp;path,&nbsp;without&nbsp;modifying&nbsp;the&nbsp;extruder,&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="CombSkein-addIfTravel"><strong>addIfTravel</strong></a>(self, splitLine)</dt><dd><tt>Add&nbsp;travel&nbsp;move&nbsp;around&nbsp;loops&nbsp;if&nbsp;the&nbsp;extruder&nbsp;is&nbsp;off.</tt></dd></dl>
<dl><dt><a name="CombSkein-addLine"><strong>addLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;of&nbsp;text&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="CombSkein-addPathBeforeEnd"><strong>addPathBeforeEnd</strong></a>(self, aroundBetweenPath, location, loop)</dt><dd><tt>Add&nbsp;the&nbsp;path&nbsp;before&nbsp;the&nbsp;end&nbsp;of&nbsp;the&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="CombSkein-addPathBetween"><strong>addPathBetween</strong></a>(self, aroundBetweenPath, betweenFirst, betweenSecond, isLeavingPerimeter, loopFirst)</dt><dd><tt>Add&nbsp;a&nbsp;path&nbsp;between&nbsp;the&nbsp;perimeter&nbsp;and&nbsp;the&nbsp;fill.</tt></dd></dl>
<dl><dt><a name="CombSkein-addTailoredLoopPath"><strong>addTailoredLoopPath</strong></a>(self)</dt><dd><tt>Add&nbsp;a&nbsp;clipped&nbsp;and&nbsp;jittered&nbsp;loop&nbsp;path.</tt></dd></dl>
<dl><dt><a name="CombSkein-addToLoop"><strong>addToLoop</strong></a>(self, location)</dt><dd><tt>Add&nbsp;a&nbsp;location&nbsp;to&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="CombSkein-getAroundBetweenPath"><strong>getAroundBetweenPath</strong></a>(self, location)</dt><dd><tt>Insert&nbsp;paths&nbsp;around&nbsp;and&nbsp;between&nbsp;the&nbsp;perimeter&nbsp;and&nbsp;the&nbsp;fill.</tt></dd></dl>
<dl><dt><a name="CombSkein-getBetweens"><strong>getBetweens</strong></a>(self)</dt><dd><tt>Set&nbsp;betweens&nbsp;for&nbsp;the&nbsp;layer.</tt></dd></dl>
<dl><dt><a name="CombSkein-getJitteredLoop"><strong>getJitteredLoop</strong></a>(self, jitterDistance, jitterLoop)</dt><dd><tt>Get&nbsp;a&nbsp;jittered&nbsp;loop&nbsp;path.</tt></dd></dl>
<dl><dt><a name="CombSkein-getOutloopLocation"><strong>getOutloopLocation</strong></a>(self, point)</dt><dd><tt>Get&nbsp;location&nbsp;outside&nbsp;of&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="CombSkein-getRounded"><strong>getRounded</strong></a>(self, number)</dt><dd><tt>Get&nbsp;number&nbsp;rounded&nbsp;to&nbsp;the&nbsp;number&nbsp;of&nbsp;carried&nbsp;decimal&nbsp;places&nbsp;as&nbsp;a&nbsp;string.</tt></dd></dl>
<dl><dt><a name="CombSkein-getStartIndex"><strong>getStartIndex</strong></a>(self, xIntersections)</dt><dd><tt>Get&nbsp;the&nbsp;start&nbsp;index&nbsp;of&nbsp;the&nbsp;intersections.</tt></dd></dl>
<dl><dt><a name="CombSkein-initializeMoreParameters"><strong>initializeMoreParameters</strong></a>(self)</dt><dd><tt>Add&nbsp;a&nbsp;movement&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="CombSkein-insertPathsBetween"><strong>insertPathsBetween</strong></a>(self, aroundBetweenPath, nextBeginning, pathEnd)</dt><dd><tt>Insert&nbsp;paths&nbsp;between&nbsp;the&nbsp;perimeter&nbsp;and&nbsp;the&nbsp;fill.</tt></dd></dl>
<dl><dt><a name="CombSkein-isNextExtruderOn"><strong>isNextExtruderOn</strong></a>(self)</dt><dd><tt>Determine&nbsp;if&nbsp;there&nbsp;is&nbsp;an&nbsp;extruder&nbsp;on&nbsp;command&nbsp;before&nbsp;a&nbsp;move&nbsp;command.</tt></dd></dl>
<dl><dt><a name="CombSkein-linearMove"><strong>linearMove</strong></a>(self, splitLine)</dt><dd><tt>Add&nbsp;to&nbsp;loop&nbsp;path&nbsp;if&nbsp;this&nbsp;is&nbsp;a&nbsp;loop&nbsp;or&nbsp;path.</tt></dd></dl>
<dl><dt><a name="CombSkein-parseAddJitter"><strong>parseAddJitter</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line,&nbsp;jitter&nbsp;it&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;comb&nbsp;skein.</tt></dd></dl>
<dl><dt><a name="CombSkein-parseAddTravel"><strong>parseAddTravel</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;comb&nbsp;skein.</tt></dd></dl>
<dl><dt><a name="CombSkein-parseGcode"><strong>parseGcode</strong></a>(self, combPreferences, gcodeText)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;comb&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="CombSkein-parseInitialization"><strong>parseInitialization</strong></a>(self, combPreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;initialization&nbsp;and&nbsp;store&nbsp;the&nbsp;parameters.</tt></dd></dl>
<dl><dt><a name="CombSkein-parseLine"><strong>parseLine</strong></a>(self, combPreferences, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getCombChainGcode"><strong>getCombChainGcode</strong></a>(fileName, gcodeText, combPreferences<font color="#909090">=None</font>)</dt><dd><tt>Comb&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.&nbsp;&nbsp;Chain&nbsp;comb&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;combed.</tt></dd></dl>
<dl><dt><a name="-getCombGcode"><strong>getCombGcode</strong></a>(gcodeText, combPreferences<font color="#909090">=None</font>)</dt><dd><tt>Comb&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-isLoopNumberEqual"><strong>isLoopNumberEqual</strong></a>(betweenX, betweenXIndex, loopNumber)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;loop&nbsp;number&nbsp;is&nbsp;equal.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>(hashtable<font color="#909090">=None</font>)</dt><dd><tt>Display&nbsp;the&nbsp;comb&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Comb&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;file.&nbsp;&nbsp;Chain&nbsp;comb&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;combed.&nbsp;&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;comb&nbsp;the&nbsp;first&nbsp;unmodified&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,183 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.cool</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.cool</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/cool.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/cool.py</a></font></td></tr></table>
<p><tt>Cool&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;cool&nbsp;the&nbsp;shape.<br>
&nbsp;<br>
The&nbsp;default&nbsp;'Activate&nbsp;Cool'&nbsp;checkbox&nbsp;is&nbsp;on.&nbsp;&nbsp;When&nbsp;it&nbsp;is&nbsp;on,&nbsp;the&nbsp;functions&nbsp;described&nbsp;below&nbsp;will&nbsp;work,&nbsp;when&nbsp;it&nbsp;is&nbsp;off,&nbsp;the&nbsp;functions<br>
will&nbsp;not&nbsp;be&nbsp;called.<br>
&nbsp;<br>
The&nbsp;important&nbsp;value&nbsp;for&nbsp;the&nbsp;cool&nbsp;preferences&nbsp;is&nbsp;"Minimum&nbsp;Layer&nbsp;Time&nbsp;(seconds)"&nbsp;which&nbsp;is&nbsp;the&nbsp;minimum&nbsp;amount&nbsp;of&nbsp;time&nbsp;the<br>
extruder&nbsp;will&nbsp;spend&nbsp;on&nbsp;a&nbsp;layer.&nbsp;&nbsp;If&nbsp;it&nbsp;takes&nbsp;less&nbsp;time&nbsp;to&nbsp;extrude&nbsp;the&nbsp;layer&nbsp;than&nbsp;the&nbsp;minimum&nbsp;layer&nbsp;time,&nbsp;cool&nbsp;adds&nbsp;orbits&nbsp;with&nbsp;the<br>
extruder&nbsp;off&nbsp;to&nbsp;give&nbsp;the&nbsp;layer&nbsp;time&nbsp;to&nbsp;cool,&nbsp;so&nbsp;that&nbsp;the&nbsp;next&nbsp;layer&nbsp;is&nbsp;not&nbsp;extruded&nbsp;on&nbsp;a&nbsp;molten&nbsp;base.<br>
&nbsp;<br>
If&nbsp;the&nbsp;'Turn&nbsp;Fan&nbsp;On&nbsp;at&nbsp;Beginning'&nbsp;preference&nbsp;is&nbsp;true,&nbsp;cool&nbsp;will&nbsp;turn&nbsp;the&nbsp;fan&nbsp;on&nbsp;at&nbsp;the&nbsp;beginning&nbsp;of&nbsp;the&nbsp;fabrication.&nbsp;&nbsp;If&nbsp;the<br>
'Turn&nbsp;Fan&nbsp;Off&nbsp;at&nbsp;Ending'&nbsp;preference&nbsp;is&nbsp;true,&nbsp;cool&nbsp;will&nbsp;turn&nbsp;the&nbsp;fan&nbsp;off&nbsp;at&nbsp;the&nbsp;ending&nbsp;of&nbsp;the&nbsp;fabrication.<br>
&nbsp;<br>
To&nbsp;run&nbsp;cool,&nbsp;in&nbsp;a&nbsp;shell&nbsp;which&nbsp;cool&nbsp;is&nbsp;in&nbsp;type:<br>
&gt;&nbsp;python&nbsp;cool.py<br>
&nbsp;<br>
The&nbsp;following&nbsp;examples&nbsp;cool&nbsp;the&nbsp;files&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode&nbsp;&amp;&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl.&nbsp;&nbsp;The&nbsp;examples&nbsp;are&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the<br>
folder&nbsp;which&nbsp;contains&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode,&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;and&nbsp;cool.py.&nbsp;&nbsp;The&nbsp;cool&nbsp;function&nbsp;will&nbsp;cool&nbsp;if&nbsp;the&nbsp;'Activate&nbsp;Cool'<br>
checkbox&nbsp;is&nbsp;on.&nbsp;&nbsp;The&nbsp;functions&nbsp;writeOutput&nbsp;and&nbsp;getCoolChainGcode&nbsp;check&nbsp;to&nbsp;see&nbsp;if&nbsp;the&nbsp;text&nbsp;has&nbsp;been&nbsp;cooled,&nbsp;if&nbsp;not&nbsp;they<br>
call&nbsp;the&nbsp;getClipChainGcode&nbsp;in&nbsp;clip.py&nbsp;to&nbsp;clip&nbsp;the&nbsp;text;&nbsp;once&nbsp;they&nbsp;have&nbsp;the&nbsp;clipped&nbsp;text,&nbsp;then&nbsp;they&nbsp;cool.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;cool.py<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;dialog,&nbsp;after&nbsp;clicking&nbsp;'Cool',&nbsp;the&nbsp;following&nbsp;is&nbsp;printed:<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;cooled.<br>
The&nbsp;extrusion&nbsp;fill&nbsp;density&nbsp;ratio&nbsp;is&nbsp;0.853<br>
The&nbsp;cooled&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode<br>
The&nbsp;scalable&nbsp;vector&nbsp;graphics&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Hollow_Square_cool.svg<br>
It&nbsp;took&nbsp;34&nbsp;seconds&nbsp;to&nbsp;cool&nbsp;the&nbsp;file.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;cool.py&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;cooled.<br>
The&nbsp;extrusion&nbsp;fill&nbsp;density&nbsp;ratio&nbsp;is&nbsp;0.853<br>
The&nbsp;cooled&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode<br>
The&nbsp;scalable&nbsp;vector&nbsp;graphics&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Hollow_Square_cool.svg<br>
It&nbsp;took&nbsp;34&nbsp;seconds&nbsp;to&nbsp;cool&nbsp;the&nbsp;file.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;cool<br>
&gt;&gt;&gt;&nbsp;cool.<a href="#-main">main</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;cool&nbsp;dialog.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;cool.<a href="#-writeOutput">writeOutput</a>()<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;cooled.<br>
The&nbsp;extrusion&nbsp;fill&nbsp;density&nbsp;ratio&nbsp;is&nbsp;0.853<br>
The&nbsp;cooled&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode<br>
The&nbsp;scalable&nbsp;vector&nbsp;graphics&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Hollow_Square_cool.svg<br>
It&nbsp;took&nbsp;34&nbsp;seconds&nbsp;to&nbsp;cool&nbsp;the&nbsp;file.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;cool.<a href="#-getCoolGcode">getCoolGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;cool.<a href="#-getCoolChainGcode">getCoolChainGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="skeinforge_tools.analyze.html">skeinforge_tools.analyze</a><br>
<a href="cStringIO.html">cStringIO</a><br>
<a href="skeinforge_tools.clip.html">skeinforge_tools.clip</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
<a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="skeinforge_tools.skeinforge_utilities.intercircle.html">skeinforge_tools.skeinforge_utilities.intercircle</a><br>
<a href="skeinforge_tools.skeinforge_utilities.interpret.html">skeinforge_tools.skeinforge_utilities.interpret</a><br>
</td><td width="25%" valign=top><a href="math.html">math</a><br>
<a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
<a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
<a href="sys.html">sys</a><br>
</td><td width="25%" valign=top><a href="time.html">time</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.cool.html#CoolPreferences">CoolPreferences</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.cool.html#CoolSkein">CoolSkein</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="CoolPreferences">class <strong>CoolPreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;cool&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="CoolPreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="CoolPreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Cool&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="CoolSkein">class <strong>CoolSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;cool&nbsp;a&nbsp;skein&nbsp;of&nbsp;extrusions.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="CoolSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="CoolSkein-addGcodeFromFeedrateMovementZ"><strong>addGcodeFromFeedrateMovementZ</strong></a>(self, feedrateMinute, point, z)</dt><dd><tt>Add&nbsp;a&nbsp;movement&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="CoolSkein-addLine"><strong>addLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;of&nbsp;text&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="CoolSkein-getRounded"><strong>getRounded</strong></a>(self, number)</dt><dd><tt>Get&nbsp;number&nbsp;rounded&nbsp;to&nbsp;the&nbsp;number&nbsp;of&nbsp;carried&nbsp;decimal&nbsp;places&nbsp;as&nbsp;a&nbsp;string.</tt></dd></dl>
<dl><dt><a name="CoolSkein-linearMove"><strong>linearMove</strong></a>(self, splitLine)</dt><dd><tt>Add&nbsp;line&nbsp;to&nbsp;time&nbsp;spent&nbsp;on&nbsp;layer.</tt></dd></dl>
<dl><dt><a name="CoolSkein-parseGcode"><strong>parseGcode</strong></a>(self, gcodeText, coolPreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;cool&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="CoolSkein-parseInitialization"><strong>parseInitialization</strong></a>(self, coolPreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;initialization&nbsp;and&nbsp;store&nbsp;the&nbsp;parameters.</tt></dd></dl>
<dl><dt><a name="CoolSkein-parseLine"><strong>parseLine</strong></a>(self, coolPreferences, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;cool&nbsp;skein.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getCoolChainGcode"><strong>getCoolChainGcode</strong></a>(fileName, gcodeText, coolPreferences<font color="#909090">=None</font>)</dt><dd><tt>Cool&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.&nbsp;&nbsp;Chain&nbsp;cool&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;cooled.</tt></dd></dl>
<dl><dt><a name="-getCoolGcode"><strong>getCoolGcode</strong></a>(gcodeText, coolPreferences<font color="#909090">=None</font>)</dt><dd><tt>Cool&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>(hashtable<font color="#909090">=None</font>)</dt><dd><tt>Display&nbsp;the&nbsp;cool&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Cool&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;file.&nbsp;&nbsp;Chain&nbsp;cool&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;cooled.&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;cool&nbsp;the&nbsp;first&nbsp;unmodified&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,157 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.export</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.export</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/export.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/export.py</a></font></td></tr></table>
<p><tt>Export&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;pick&nbsp;an&nbsp;export&nbsp;plugin&nbsp;and&nbsp;optionally&nbsp;print&nbsp;the&nbsp;output&nbsp;to&nbsp;a&nbsp;file.<br>
&nbsp;<br>
The&nbsp;default&nbsp;'Activate&nbsp;Export'&nbsp;checkbox&nbsp;is&nbsp;on.&nbsp;&nbsp;When&nbsp;it&nbsp;is&nbsp;on,&nbsp;the&nbsp;functions&nbsp;described&nbsp;below&nbsp;will&nbsp;work,&nbsp;when&nbsp;it&nbsp;is&nbsp;off,&nbsp;the&nbsp;functions<br>
will&nbsp;not&nbsp;be&nbsp;called.<br>
&nbsp;<br>
Export&nbsp;presents&nbsp;the&nbsp;user&nbsp;with&nbsp;a&nbsp;choice&nbsp;of&nbsp;the&nbsp;export&nbsp;plugins&nbsp;in&nbsp;the&nbsp;export_plugins&nbsp;folder.&nbsp;&nbsp;The&nbsp;chosen&nbsp;plugin&nbsp;will&nbsp;then&nbsp;modify&nbsp;the<br>
gcode&nbsp;or&nbsp;translate&nbsp;it&nbsp;into&nbsp;another&nbsp;format.&nbsp;&nbsp;There&nbsp;is&nbsp;also&nbsp;the&nbsp;"Do&nbsp;Not&nbsp;Change&nbsp;Output"&nbsp;choice,&nbsp;which&nbsp;will&nbsp;not&nbsp;change&nbsp;the&nbsp;output.<br>
&nbsp;<br>
To&nbsp;print&nbsp;the&nbsp;output&nbsp;to&nbsp;a&nbsp;file,&nbsp;add&nbsp;the&nbsp;file&nbsp;output&nbsp;name&nbsp;to&nbsp;the&nbsp;"Also&nbsp;Send&nbsp;Output&nbsp;To"&nbsp;field.&nbsp;&nbsp;A&nbsp;common&nbsp;choice&nbsp;is&nbsp;sys.stdout&nbsp;to&nbsp;print<br>
the&nbsp;output&nbsp;in&nbsp;the&nbsp;shell&nbsp;screen.&nbsp;&nbsp;Another&nbsp;common&nbsp;choice&nbsp;is&nbsp;sys.stderr.&nbsp;&nbsp;The&nbsp;default&nbsp;is&nbsp;nothing,&nbsp;in&nbsp;which&nbsp;case&nbsp;the&nbsp;output&nbsp;will&nbsp;not&nbsp;be<br>
printed&nbsp;to&nbsp;a&nbsp;file.&nbsp;&nbsp;The&nbsp;'File&nbsp;Extension'&nbsp;field&nbsp;determines&nbsp;the&nbsp;file&nbsp;extension&nbsp;added&nbsp;to&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;output&nbsp;file,&nbsp;the&nbsp;default&nbsp;is&nbsp;gcode.<br>
&nbsp;<br>
If&nbsp;the&nbsp;"Delete&nbsp;M110&nbsp;Gcode&nbsp;Line"&nbsp;checkbox&nbsp;is&nbsp;true,&nbsp;export&nbsp;will&nbsp;delete&nbsp;the&nbsp;M110&nbsp;gcode&nbsp;line,&nbsp;whose&nbsp;only&nbsp;purpose&nbsp;is&nbsp;to&nbsp;indicate&nbsp;that<br>
the&nbsp;gcode&nbsp;is&nbsp;generated&nbsp;by&nbsp;skeinforge.&nbsp;&nbsp;If&nbsp;the&nbsp;"Delete&nbsp;Comments"&nbsp;checkbox&nbsp;is&nbsp;true,&nbsp;export&nbsp;will&nbsp;delete&nbsp;the&nbsp;comments.&nbsp;&nbsp;The&nbsp;M110<br>
gcode&nbsp;and&nbsp;the&nbsp;comments&nbsp;are&nbsp;not&nbsp;necessary&nbsp;to&nbsp;run&nbsp;a&nbsp;fabricator.<br>
&nbsp;<br>
When&nbsp;export&nbsp;is&nbsp;exporting&nbsp;the&nbsp;code,&nbsp;if&nbsp;there&nbsp;is&nbsp;a&nbsp;file&nbsp;replace.csv,&nbsp;it&nbsp;will&nbsp;replace&nbsp;the&nbsp;word&nbsp;in&nbsp;the&nbsp;first&nbsp;column&nbsp;be&nbsp;its&nbsp;replacement&nbsp;in<br>
the&nbsp;second&nbsp;column.&nbsp;&nbsp;There&nbsp;is&nbsp;an&nbsp;example&nbsp;file&nbsp;replace_example.csv&nbsp;to&nbsp;demonstrate&nbsp;the&nbsp;comma&nbsp;separated&nbsp;format,&nbsp;which&nbsp;can&nbsp;be<br>
edited&nbsp;in&nbsp;a&nbsp;text&nbsp;editor&nbsp;or&nbsp;a&nbsp;spreadsheet.<br>
&nbsp;<br>
An&nbsp;export&nbsp;plugin&nbsp;is&nbsp;a&nbsp;script&nbsp;in&nbsp;the&nbsp;export_plugins&nbsp;folder&nbsp;which&nbsp;has&nbsp;the&nbsp;functions&nbsp;getOuput&nbsp;and&nbsp;writeOutput.<br>
&nbsp;<br>
To&nbsp;run&nbsp;export,&nbsp;in&nbsp;a&nbsp;shell&nbsp;type:<br>
&gt;&nbsp;python&nbsp;export.py<br>
&nbsp;<br>
The&nbsp;following&nbsp;examples&nbsp;export&nbsp;the&nbsp;files&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl.&nbsp;&nbsp;The&nbsp;examples&nbsp;are&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the&nbsp;folder&nbsp;which&nbsp;contains<br>
Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;&amp;&nbsp;export.py.&nbsp;&nbsp;The&nbsp;function&nbsp;writeOutput&nbsp;checks&nbsp;to&nbsp;see&nbsp;if&nbsp;the&nbsp;text&nbsp;has&nbsp;been&nbsp;exported,&nbsp;if&nbsp;not&nbsp;they&nbsp;call<br>
getUnpauseChainGcode&nbsp;in&nbsp;unpause.py&nbsp;to&nbsp;unpause&nbsp;the&nbsp;text;&nbsp;once&nbsp;they&nbsp;have&nbsp;the&nbsp;unpaused&nbsp;text,&nbsp;then&nbsp;it&nbsp;exports.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;export.py<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;dialog,&nbsp;after&nbsp;clicking&nbsp;'Export',&nbsp;the&nbsp;following&nbsp;is&nbsp;printed:<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;exported.<br>
The&nbsp;exported&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_export.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;export<br>
&gt;&gt;&gt;&nbsp;export.<a href="#-main">main</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;export&nbsp;dialog.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;export.<a href="#-writeOutput">writeOutput</a>()<br>
Screw&nbsp;Holder&nbsp;Bottom.stl<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;exported.<br>
The&nbsp;exported&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_export.gcode</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="skeinforge_tools.analyze.html">skeinforge_tools.analyze</a><br>
<a href="cStringIO.html">cStringIO</a><br>
<a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="skeinforge_tools.skeinforge_utilities.intercircle.html">skeinforge_tools.skeinforge_utilities.intercircle</a><br>
<a href="skeinforge_tools.skeinforge_utilities.interpret.html">skeinforge_tools.skeinforge_utilities.interpret</a><br>
<a href="os.html">os</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
<a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
<a href="sys.html">sys</a><br>
<a href="time.html">time</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.unpause.html">skeinforge_tools.unpause</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.export.html#ExportPreferences">ExportPreferences</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.export.html#ExportSkein">ExportSkein</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="ExportPreferences">class <strong>ExportPreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;export&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="ExportPreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="ExportPreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Export&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="ExportSkein">class <strong>ExportSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;export&nbsp;a&nbsp;skein&nbsp;of&nbsp;extrusions.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="ExportSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="ExportSkein-addLine"><strong>addLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;of&nbsp;text&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="ExportSkein-getLineWithTruncatedNumber"><strong>getLineWithTruncatedNumber</strong></a>(self, character, line)</dt><dd><tt>Get&nbsp;a&nbsp;line&nbsp;with&nbsp;the&nbsp;number&nbsp;after&nbsp;the&nbsp;character&nbsp;truncated.</tt></dd></dl>
<dl><dt><a name="ExportSkein-parseGcode"><strong>parseGcode</strong></a>(self, exportPreferences, gcodeText)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;export&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="ExportSkein-parseLine"><strong>parseLine</strong></a>(self, exportPreferences, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getExportGcode"><strong>getExportGcode</strong></a>(gcodeText, exportPreferences<font color="#909090">=None</font>)</dt><dd><tt>Export&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-getReplaced"><strong>getReplaced</strong></a>(exportText)</dt><dd><tt>Get&nbsp;text&nbsp;with&nbsp;words&nbsp;replaced&nbsp;according&nbsp;to&nbsp;replace.csv&nbsp;file.</tt></dd></dl>
<dl><dt><a name="-getSelectedPlugin"><strong>getSelectedPlugin</strong></a>(exportPreferences)</dt><dd><tt>Get&nbsp;the&nbsp;selected&nbsp;plugin&nbsp;module.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>(hashtable<font color="#909090">=None</font>)</dt><dd><tt>Display&nbsp;the&nbsp;export&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Export&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;file.&nbsp;&nbsp;Chain&nbsp;export&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;exported.<br>
If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;export&nbsp;the&nbsp;first&nbsp;unmodified&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,162 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.export_plugins.binary_16_byte</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.export_plugins.html"><font color="#ffffff">export_plugins</font></a>.binary_16_byte</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/export_plugins/binary_16_byte.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/export_plugins/binary_16_byte.py</a></font></td></tr></table>
<p><tt>Binary&nbsp;16&nbsp;byte&nbsp;is&nbsp;an&nbsp;export&nbsp;plugin&nbsp;to&nbsp;convert&nbsp;gcode&nbsp;into&nbsp;16&nbsp;byte&nbsp;binary&nbsp;segments.<br>
&nbsp;<br>
An&nbsp;export&nbsp;plugin&nbsp;is&nbsp;a&nbsp;script&nbsp;in&nbsp;the&nbsp;export_plugins&nbsp;folder&nbsp;which&nbsp;has&nbsp;the&nbsp;functions&nbsp;getOuput,&nbsp;isArchivable&nbsp;and&nbsp;writeOutput.&nbsp;&nbsp;It&nbsp;is<br>
meant&nbsp;to&nbsp;be&nbsp;run&nbsp;from&nbsp;the&nbsp;export&nbsp;tool.&nbsp;&nbsp;To&nbsp;ensure&nbsp;that&nbsp;the&nbsp;plugin&nbsp;works&nbsp;on&nbsp;platforms&nbsp;which&nbsp;do&nbsp;not&nbsp;handle&nbsp;file&nbsp;capitalization<br>
properly,&nbsp;give&nbsp;the&nbsp;plugin&nbsp;a&nbsp;lower&nbsp;case&nbsp;name.<br>
&nbsp;<br>
The&nbsp;getOutput&nbsp;function&nbsp;of&nbsp;this&nbsp;script&nbsp;takes&nbsp;a&nbsp;gcode&nbsp;text&nbsp;and&nbsp;returns&nbsp;that&nbsp;text&nbsp;converted&nbsp;into&nbsp;16&nbsp;byte&nbsp;segments.&nbsp;&nbsp;The&nbsp;writeOutput<br>
function&nbsp;of&nbsp;this&nbsp;script&nbsp;takes&nbsp;a&nbsp;gcode&nbsp;text&nbsp;and&nbsp;writes&nbsp;that&nbsp;in&nbsp;a&nbsp;binary&nbsp;format&nbsp;converted&nbsp;into&nbsp;16&nbsp;byte&nbsp;segments.<br>
&nbsp;<br>
Many&nbsp;of&nbsp;the&nbsp;functions&nbsp;in&nbsp;this&nbsp;script&nbsp;are&nbsp;copied&nbsp;from&nbsp;gcodec&nbsp;in&nbsp;skeinforge_utilities.&nbsp;&nbsp;They&nbsp;are&nbsp;copied&nbsp;rather&nbsp;than&nbsp;imported&nbsp;so<br>
developers&nbsp;making&nbsp;new&nbsp;plugins&nbsp;do&nbsp;not&nbsp;have&nbsp;to&nbsp;learn&nbsp;about&nbsp;gcodec,&nbsp;the&nbsp;code&nbsp;here&nbsp;is&nbsp;all&nbsp;they&nbsp;need&nbsp;to&nbsp;learn.<br>
&nbsp;<br>
This&nbsp;plugin&nbsp;is&nbsp;just&nbsp;a&nbsp;starter&nbsp;to&nbsp;make&nbsp;a&nbsp;real&nbsp;binary&nbsp;converter.<br>
&nbsp;<br>
//Record&nbsp;structure<br>
BinArray(0)&nbsp;=&nbsp;AscW(Inst_Code_Letter)<br>
BinArray(1)&nbsp;=&nbsp;cInst_Code<br>
&nbsp;<br>
X&nbsp;Data<br>
sInt32_to_Hbytes(iXdim_1)<br>
BinArray(2)&nbsp;=&nbsp;lsb&nbsp;'short&nbsp;lsb<br>
BinArray(3)&nbsp;=&nbsp;msb&nbsp;'short&nbsp;msb<br>
&nbsp;<br>
Y&nbsp;Data<br>
sInt32_to_Hbytes(iYdim_2)<br>
BinArray(4)&nbsp;=&nbsp;lsb&nbsp;'short&nbsp;lsb<br>
BinArray(5)&nbsp;=&nbsp;msb&nbsp;'short&nbsp;msb<br>
&nbsp;<br>
Z&nbsp;Data<br>
sInt32_to_Hbytes(iZdim_3)<br>
BinArray(6)&nbsp;=&nbsp;lsb&nbsp;'short&nbsp;lsb<br>
BinArray(7)&nbsp;=&nbsp;msb&nbsp;'short&nbsp;msb<br>
&nbsp;<br>
I&nbsp;Data<br>
sInt32_to_Hbytes(iIdim_4)<br>
BinArray(8)&nbsp;=&nbsp;lsb&nbsp;'short&nbsp;lsb<br>
BinArray(9)&nbsp;=&nbsp;msb&nbsp;'short&nbsp;msb<br>
&nbsp;<br>
J&nbsp;Data<br>
sInt32_to_Hbytes(iJdim_5)<br>
BinArray(10)&nbsp;=&nbsp;lsb&nbsp;'short&nbsp;lsb<br>
BinArray(11)&nbsp;=&nbsp;msb&nbsp;'short&nbsp;msb<br>
&nbsp;<br>
BinArray(12)&nbsp;=&nbsp;FP_Char<br>
sInt32_to_Hbytes(iFP_Num)<br>
BinArray(13)&nbsp;=&nbsp;lsb&nbsp;'short&nbsp;lsb<br>
&nbsp;<br>
BinArray(14)&nbsp;=&nbsp;bActiveFlags<br>
&nbsp;<br>
BinArray(15)&nbsp;=&nbsp;AscW("#")End&nbsp;of&nbsp;record&nbsp;filler<br>
&nbsp;<br>
Byte&nbsp;14&nbsp;is&nbsp;worth&nbsp;a&nbsp;few&nbsp;extra&nbsp;notes,&nbsp;this&nbsp;byte&nbsp;is&nbsp;used&nbsp;to&nbsp;define&nbsp;which&nbsp;of&nbsp;the&nbsp;axes&nbsp;are&nbsp;active,&nbsp;its&nbsp;used&nbsp;to&nbsp;get&nbsp;round&nbsp;the&nbsp;problem&nbsp;of&nbsp;say&nbsp;a<br>
line&nbsp;of&nbsp;code&nbsp;with&nbsp;no&nbsp;mention&nbsp;of&nbsp;z.&nbsp;This&nbsp;would&nbsp;be&nbsp;put&nbsp;into&nbsp;the&nbsp;file&nbsp;as&nbsp;z&nbsp;=&nbsp;0&nbsp;as&nbsp;the&nbsp;space&nbsp;for&nbsp;this&nbsp;data&nbsp;is&nbsp;reserved,&nbsp;if&nbsp;we&nbsp;did&nbsp;nothing,&nbsp;this<br>
would&nbsp;instruct&nbsp;the&nbsp;machine&nbsp;to&nbsp;go&nbsp;to&nbsp;z&nbsp;=&nbsp;0.&nbsp;If&nbsp;we&nbsp;use&nbsp;the&nbsp;active&nbsp;flag&nbsp;to&nbsp;define&nbsp;the&nbsp;z&nbsp;axis&nbsp;as&nbsp;inactive&nbsp;the&nbsp;z&nbsp;=&nbsp;0&nbsp;is&nbsp;ignored&nbsp;and&nbsp;the&nbsp;value<br>
set&nbsp;to&nbsp;the&nbsp;last&nbsp;saved&nbsp;value&nbsp;of&nbsp;z,&nbsp;i.e&nbsp;it&nbsp;does&nbsp;not&nbsp;move.&nbsp;&nbsp;If&nbsp;the&nbsp;z&nbsp;data&nbsp;is&nbsp;actually&nbsp;set&nbsp;to&nbsp;z&nbsp;=&nbsp;0&nbsp;then&nbsp;the&nbsp;axis&nbsp;would&nbsp;be&nbsp;set&nbsp;to&nbsp;active&nbsp;and<br>
the&nbsp;move&nbsp;takes&nbsp;place.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="cStringIO.html">cStringIO</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="skeinforge_tools.skeinforge_utilities.interpret.html">skeinforge_tools.skeinforge_utilities.interpret</a><br>
</td><td width="25%" valign=top><a href="os.html">os</a><br>
<a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
<a href="sys.html">sys</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.export_plugins.binary_16_byte.html#Binary16BytePreferences">Binary16BytePreferences</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.export_plugins.binary_16_byte.html#Binary16ByteSkein">Binary16ByteSkein</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="Binary16BytePreferences">class <strong>Binary16BytePreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;export&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Binary16BytePreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="Binary16BytePreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Convert&nbsp;to&nbsp;binary&nbsp;16&nbsp;byte&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="Binary16ByteSkein">class <strong>Binary16ByteSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;convert&nbsp;gcode&nbsp;into&nbsp;16&nbsp;byte&nbsp;binary&nbsp;segments.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Binary16ByteSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="Binary16ByteSkein-parseGcode"><strong>parseGcode</strong></a>(self, gcodeText, binary16BytePreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="Binary16ByteSkein-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getIntegerFlagFromCharacterSplitLine"><strong>getIntegerFlagFromCharacterSplitLine</strong></a>(character, splitLine)</dt><dd><tt>Get&nbsp;the&nbsp;integer&nbsp;flag&nbsp;after&nbsp;the&nbsp;first&nbsp;occurence&nbsp;of&nbsp;the&nbsp;character&nbsp;in&nbsp;the&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="-getIntegerFromCharacterLengthLineOffset"><strong>getIntegerFromCharacterLengthLineOffset</strong></a>(character, offset, splitLine, stepLength)</dt><dd><tt>Get&nbsp;the&nbsp;integer&nbsp;after&nbsp;the&nbsp;first&nbsp;occurence&nbsp;of&nbsp;the&nbsp;character&nbsp;in&nbsp;the&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="-getOutput"><strong>getOutput</strong></a>(gcodeText, binary16BytePreferences<font color="#909090">=None</font>)</dt><dd><tt>Get&nbsp;the&nbsp;exported&nbsp;version&nbsp;of&nbsp;a&nbsp;gcode&nbsp;file.&nbsp;&nbsp;This&nbsp;function,&nbsp;isArchivable&nbsp;and&nbsp;writeOutput&nbsp;are&nbsp;the&nbsp;only&nbsp;necessary&nbsp;functions&nbsp;in&nbsp;a&nbsp;skeinforge&nbsp;export&nbsp;plugin.<br>
If&nbsp;this&nbsp;plugin&nbsp;writes&nbsp;an&nbsp;output&nbsp;than&nbsp;should&nbsp;not&nbsp;be&nbsp;printed,&nbsp;an&nbsp;empty&nbsp;string&nbsp;should&nbsp;be&nbsp;returned.</tt></dd></dl>
<dl><dt><a name="-getStringFromCharacterSplitLine"><strong>getStringFromCharacterSplitLine</strong></a>(character, splitLine)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;after&nbsp;the&nbsp;first&nbsp;occurence&nbsp;of&nbsp;the&nbsp;character&nbsp;in&nbsp;the&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="-getSummarizedFilename"><strong>getSummarizedFilename</strong></a>(fileName)</dt><dd><tt>Get&nbsp;the&nbsp;fileName&nbsp;basename&nbsp;if&nbsp;the&nbsp;file&nbsp;is&nbsp;in&nbsp;the&nbsp;current&nbsp;working&nbsp;directory,&nbsp;otherwise&nbsp;return&nbsp;the&nbsp;original&nbsp;full&nbsp;name.</tt></dd></dl>
<dl><dt><a name="-getTextLines"><strong>getTextLines</strong></a>(text)</dt><dd><tt>Get&nbsp;the&nbsp;all&nbsp;the&nbsp;lines&nbsp;of&nbsp;text&nbsp;of&nbsp;a&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-indexOfStartingWithSecond"><strong>indexOfStartingWithSecond</strong></a>(letter, splitLine)</dt><dd><tt>Get&nbsp;index&nbsp;of&nbsp;the&nbsp;first&nbsp;occurence&nbsp;of&nbsp;the&nbsp;given&nbsp;letter&nbsp;in&nbsp;the&nbsp;split&nbsp;line,&nbsp;starting&nbsp;with&nbsp;the&nbsp;second&nbsp;word.&nbsp;&nbsp;Return&nbsp;-&nbsp;1&nbsp;if&nbsp;letter&nbsp;is&nbsp;not&nbsp;found</tt></dd></dl>
<dl><dt><a name="-isArchivable"><strong>isArchivable</strong></a>()</dt><dd><tt>Return&nbsp;whether&nbsp;or&nbsp;not&nbsp;this&nbsp;plugin&nbsp;is&nbsp;archivable.</tt></dd></dl>
<dl><dt><a name="-isReplacable"><strong>isReplacable</strong></a>()</dt><dd><tt>Return&nbsp;whether&nbsp;or&nbsp;not&nbsp;the&nbsp;output&nbsp;from&nbsp;this&nbsp;plugin&nbsp;is&nbsp;replacable.&nbsp;&nbsp;This&nbsp;should&nbsp;be&nbsp;true&nbsp;if&nbsp;the&nbsp;output&nbsp;is&nbsp;text&nbsp;and&nbsp;false&nbsp;if&nbsp;it&nbsp;is&nbsp;binary.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>(hashtable<font color="#909090">=None</font>)</dt><dd><tt>Display&nbsp;the&nbsp;export&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-writeFileText"><strong>writeFileText</strong></a>(fileName, fileText)</dt><dd><tt>Write&nbsp;a&nbsp;text&nbsp;to&nbsp;a&nbsp;file.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName<font color="#909090">=''</font>, gcodeText<font color="#909090">=''</font>)</dt><dd><tt>Write&nbsp;the&nbsp;exported&nbsp;version&nbsp;of&nbsp;a&nbsp;gcode&nbsp;file.&nbsp;&nbsp;This&nbsp;function,&nbsp;getOutput&nbsp;and&nbsp;isArchivable&nbsp;are&nbsp;the&nbsp;only&nbsp;necessary&nbsp;functions&nbsp;in&nbsp;a&nbsp;skeinforge&nbsp;export&nbsp;plugin.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,92 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.export_plugins.gcode_small</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.export_plugins.html"><font color="#ffffff">export_plugins</font></a>.gcode_small</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/export_plugins/gcode_small.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/export_plugins/gcode_small.py</a></font></td></tr></table>
<p><tt>Gcode_small&nbsp;is&nbsp;an&nbsp;export&nbsp;plugin&nbsp;to&nbsp;remove&nbsp;the&nbsp;comments&nbsp;and&nbsp;the&nbsp;redundant&nbsp;z&nbsp;and&nbsp;feedrate&nbsp;parameters&nbsp;from&nbsp;a&nbsp;gcode&nbsp;file.<br>
&nbsp;<br>
An&nbsp;export&nbsp;plugin&nbsp;is&nbsp;a&nbsp;script&nbsp;in&nbsp;the&nbsp;export_plugins&nbsp;folder&nbsp;which&nbsp;has&nbsp;the&nbsp;functions&nbsp;getOuput,&nbsp;isArchivable&nbsp;and&nbsp;writeOutput.&nbsp;&nbsp;It&nbsp;is<br>
meant&nbsp;to&nbsp;be&nbsp;run&nbsp;from&nbsp;the&nbsp;export&nbsp;tool.&nbsp;&nbsp;To&nbsp;ensure&nbsp;that&nbsp;the&nbsp;plugin&nbsp;works&nbsp;on&nbsp;platforms&nbsp;which&nbsp;do&nbsp;not&nbsp;handle&nbsp;file&nbsp;capitalization<br>
properly,&nbsp;give&nbsp;the&nbsp;plugin&nbsp;a&nbsp;lower&nbsp;case&nbsp;name.<br>
&nbsp;<br>
The&nbsp;getOuput&nbsp;function&nbsp;of&nbsp;this&nbsp;script&nbsp;takes&nbsp;a&nbsp;gcode&nbsp;text&nbsp;and&nbsp;returns&nbsp;that&nbsp;text&nbsp;without&nbsp;comments&nbsp;and&nbsp;redundant&nbsp;z&nbsp;and&nbsp;feedrate<br>
parameters.&nbsp;&nbsp;The&nbsp;writeOutput&nbsp;function&nbsp;of&nbsp;this&nbsp;script&nbsp;takes&nbsp;a&nbsp;gcode&nbsp;text&nbsp;and&nbsp;writes&nbsp;that&nbsp;text&nbsp;without&nbsp;comments&nbsp;and&nbsp;redundant&nbsp;z<br>
and&nbsp;feedrate&nbsp;parameterscomments&nbsp;to&nbsp;a&nbsp;file.<br>
&nbsp;<br>
Many&nbsp;of&nbsp;the&nbsp;functions&nbsp;in&nbsp;this&nbsp;script&nbsp;are&nbsp;copied&nbsp;from&nbsp;gcodec&nbsp;in&nbsp;skeinforge_utilities.&nbsp;&nbsp;They&nbsp;are&nbsp;copied&nbsp;rather&nbsp;than&nbsp;imported&nbsp;so<br>
developers&nbsp;making&nbsp;new&nbsp;plugins&nbsp;do&nbsp;not&nbsp;have&nbsp;to&nbsp;learn&nbsp;about&nbsp;gcodec,&nbsp;the&nbsp;code&nbsp;here&nbsp;is&nbsp;all&nbsp;they&nbsp;need&nbsp;to&nbsp;learn.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="cStringIO.html">cStringIO</a><br>
</td><td width="25%" valign=top><a href="os.html">os</a><br>
</td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.export_plugins.gcode_small.html#GcodeSmallSkein">GcodeSmallSkein</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="GcodeSmallSkein">class <strong>GcodeSmallSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;remove&nbsp;redundant&nbsp;z&nbsp;and&nbsp;feedrate&nbsp;parameters&nbsp;from&nbsp;a&nbsp;skein&nbsp;of&nbsp;extrusions.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="GcodeSmallSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="GcodeSmallSkein-parseGcode"><strong>parseGcode</strong></a>(self, gcodeText)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="GcodeSmallSkein-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getOutput"><strong>getOutput</strong></a>(gcodeText)</dt><dd><tt>Get&nbsp;the&nbsp;exported&nbsp;version&nbsp;of&nbsp;a&nbsp;gcode&nbsp;file.&nbsp;&nbsp;This&nbsp;function,&nbsp;isArchivable&nbsp;and&nbsp;writeOutput&nbsp;are&nbsp;the&nbsp;only&nbsp;necessary&nbsp;functions&nbsp;in&nbsp;a&nbsp;skeinforge&nbsp;export&nbsp;plugin.<br>
If&nbsp;this&nbsp;plugin&nbsp;writes&nbsp;an&nbsp;output&nbsp;than&nbsp;should&nbsp;not&nbsp;be&nbsp;printed,&nbsp;an&nbsp;empty&nbsp;string&nbsp;should&nbsp;be&nbsp;returned.</tt></dd></dl>
<dl><dt><a name="-getStringFromCharacterSplitLine"><strong>getStringFromCharacterSplitLine</strong></a>(character, splitLine)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;after&nbsp;the&nbsp;first&nbsp;occurence&nbsp;of&nbsp;the&nbsp;character&nbsp;in&nbsp;the&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="-getSummarizedFilename"><strong>getSummarizedFilename</strong></a>(fileName)</dt><dd><tt>Get&nbsp;the&nbsp;fileName&nbsp;basename&nbsp;if&nbsp;the&nbsp;file&nbsp;is&nbsp;in&nbsp;the&nbsp;current&nbsp;working&nbsp;directory,&nbsp;otherwise&nbsp;return&nbsp;the&nbsp;original&nbsp;full&nbsp;name.</tt></dd></dl>
<dl><dt><a name="-getTextLines"><strong>getTextLines</strong></a>(text)</dt><dd><tt>Get&nbsp;the&nbsp;all&nbsp;the&nbsp;lines&nbsp;of&nbsp;text&nbsp;of&nbsp;a&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-indexOfStartingWithSecond"><strong>indexOfStartingWithSecond</strong></a>(letter, splitLine)</dt><dd><tt>Get&nbsp;index&nbsp;of&nbsp;the&nbsp;first&nbsp;occurence&nbsp;of&nbsp;the&nbsp;given&nbsp;letter&nbsp;in&nbsp;the&nbsp;split&nbsp;line,&nbsp;starting&nbsp;with&nbsp;the&nbsp;second&nbsp;word.&nbsp;&nbsp;Return&nbsp;-&nbsp;1&nbsp;if&nbsp;letter&nbsp;is&nbsp;not&nbsp;found</tt></dd></dl>
<dl><dt><a name="-isArchivable"><strong>isArchivable</strong></a>()</dt><dd><tt>Return&nbsp;whether&nbsp;or&nbsp;not&nbsp;this&nbsp;plugin&nbsp;is&nbsp;archivable.</tt></dd></dl>
<dl><dt><a name="-isReplacable"><strong>isReplacable</strong></a>()</dt><dd><tt>Return&nbsp;whether&nbsp;or&nbsp;not&nbsp;the&nbsp;output&nbsp;from&nbsp;this&nbsp;plugin&nbsp;is&nbsp;replacable.&nbsp;&nbsp;This&nbsp;should&nbsp;be&nbsp;true&nbsp;if&nbsp;the&nbsp;output&nbsp;is&nbsp;text&nbsp;and&nbsp;false&nbsp;if&nbsp;it&nbsp;is&nbsp;binary.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,130 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.export_plugins.gcode_step</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.export_plugins.html"><font color="#ffffff">export_plugins</font></a>.gcode_step</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/export_plugins/gcode_step.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/export_plugins/gcode_step.py</a></font></td></tr></table>
<p><tt>Gcode&nbsp;step&nbsp;is&nbsp;an&nbsp;export&nbsp;plugin&nbsp;to&nbsp;convert&nbsp;gcode&nbsp;from&nbsp;float&nbsp;position&nbsp;to&nbsp;number&nbsp;of&nbsp;steps.<br>
&nbsp;<br>
An&nbsp;export&nbsp;plugin&nbsp;is&nbsp;a&nbsp;script&nbsp;in&nbsp;the&nbsp;export_plugins&nbsp;folder&nbsp;which&nbsp;has&nbsp;the&nbsp;functions&nbsp;getOuput,&nbsp;isArchivable&nbsp;and&nbsp;writeOutput.&nbsp;&nbsp;It&nbsp;is<br>
meant&nbsp;to&nbsp;be&nbsp;run&nbsp;from&nbsp;the&nbsp;export&nbsp;tool.&nbsp;&nbsp;To&nbsp;ensure&nbsp;that&nbsp;the&nbsp;plugin&nbsp;works&nbsp;on&nbsp;platforms&nbsp;which&nbsp;do&nbsp;not&nbsp;handle&nbsp;file&nbsp;capitalization<br>
properly,&nbsp;give&nbsp;the&nbsp;plugin&nbsp;a&nbsp;lower&nbsp;case&nbsp;name.<br>
&nbsp;<br>
If&nbsp;the&nbsp;"Add&nbsp;Feedrate&nbsp;Even&nbsp;When&nbsp;Unchanging"&nbsp;checkbox&nbsp;is&nbsp;true,&nbsp;the&nbsp;feedrate&nbsp;will&nbsp;be&nbsp;added&nbsp;even&nbsp;when&nbsp;it&nbsp;did&nbsp;not&nbsp;change<br>
from&nbsp;the&nbsp;previous&nbsp;line.&nbsp;&nbsp;If&nbsp;the&nbsp;"Add&nbsp;Space&nbsp;Between&nbsp;Words"&nbsp;checkbox&nbsp;is&nbsp;true,&nbsp;a&nbsp;space&nbsp;will&nbsp;be&nbsp;added&nbsp;between&nbsp;each&nbsp;gcode<br>
word.&nbsp;&nbsp;If&nbsp;the&nbsp;"Add&nbsp;Z&nbsp;Even&nbsp;When&nbsp;Unchanging"&nbsp;checkbox&nbsp;is&nbsp;true,&nbsp;the&nbsp;z&nbsp;word&nbsp;will&nbsp;be&nbsp;added&nbsp;even&nbsp;when&nbsp;it&nbsp;did&nbsp;not&nbsp;change.&nbsp;&nbsp;The<br>
defaults&nbsp;for&nbsp;these&nbsp;checkboxes&nbsp;are&nbsp;all&nbsp;true.&nbsp;<br>
&nbsp;<br>
The&nbsp;"Feedrate&nbsp;Step&nbsp;Length"&nbsp;is&nbsp;the&nbsp;length&nbsp;of&nbsp;one&nbsp;feedrate&nbsp;increment.&nbsp;&nbsp;The&nbsp;"Radius&nbsp;Step&nbsp;Length"&nbsp;is&nbsp;the&nbsp;length&nbsp;of&nbsp;one&nbsp;radius<br>
increment.&nbsp;&nbsp;The&nbsp;"X&nbsp;Step&nbsp;Length"&nbsp;is&nbsp;the&nbsp;length&nbsp;of&nbsp;one&nbsp;x&nbsp;step.&nbsp;&nbsp;The&nbsp;"Y&nbsp;Step&nbsp;Length"&nbsp;is&nbsp;the&nbsp;length&nbsp;of&nbsp;one&nbsp;y&nbsp;step.&nbsp;&nbsp;The&nbsp;"Z&nbsp;Step<br>
Length"&nbsp;is&nbsp;the&nbsp;length&nbsp;of&nbsp;one&nbsp;z&nbsp;step.<br>
&nbsp;<br>
The&nbsp;"X&nbsp;Offset&nbsp;"&nbsp;is&nbsp;the&nbsp;distance&nbsp;the&nbsp;x&nbsp;word&nbsp;in&nbsp;a&nbsp;gcode&nbsp;line&nbsp;will&nbsp;be&nbsp;offset.&nbsp;&nbsp;The&nbsp;"Y&nbsp;Offset&nbsp;"&nbsp;is&nbsp;the&nbsp;distance&nbsp;the&nbsp;y&nbsp;word&nbsp;will&nbsp;be<br>
offset.&nbsp;&nbsp;The&nbsp;"Z&nbsp;Offset&nbsp;"&nbsp;is&nbsp;the&nbsp;distance&nbsp;the&nbsp;z&nbsp;word&nbsp;will&nbsp;be&nbsp;offset.<br>
&nbsp;<br>
The&nbsp;getOutput&nbsp;function&nbsp;of&nbsp;this&nbsp;script&nbsp;takes&nbsp;a&nbsp;gcode&nbsp;text&nbsp;and&nbsp;returns&nbsp;it&nbsp;with&nbsp;the&nbsp;positions&nbsp;converted&nbsp;into&nbsp;number&nbsp;of&nbsp;steps.<br>
The&nbsp;writeOutput&nbsp;function&nbsp;of&nbsp;this&nbsp;script&nbsp;takes&nbsp;a&nbsp;gcode&nbsp;text&nbsp;and&nbsp;writes&nbsp;that&nbsp;with&nbsp;the&nbsp;positions&nbsp;converted&nbsp;into&nbsp;number&nbsp;of&nbsp;steps.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="cStringIO.html">cStringIO</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="skeinforge_tools.skeinforge_utilities.interpret.html">skeinforge_tools.skeinforge_utilities.interpret</a><br>
</td><td width="25%" valign=top><a href="os.html">os</a><br>
<a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
<a href="sys.html">sys</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.export_plugins.gcode_step.html#GcodeStepPreferences">GcodeStepPreferences</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.export_plugins.gcode_step.html#GcodeStepSkein">GcodeStepSkein</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="GcodeStepPreferences">class <strong>GcodeStepPreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;export&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="GcodeStepPreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="GcodeStepPreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Convert&nbsp;to&nbsp;gcode&nbsp;step&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="GcodeStepSkein">class <strong>GcodeStepSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;convert&nbsp;gcode&nbsp;into&nbsp;16&nbsp;byte&nbsp;binary&nbsp;segments.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="GcodeStepSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="GcodeStepSkein-addCharacterInteger"><strong>addCharacterInteger</strong></a>(self, character, lineStringIO, offset, splitLine, stepLength)</dt><dd><tt>Add&nbsp;a&nbsp;character&nbsp;and&nbsp;integer&nbsp;to&nbsp;line&nbsp;string.</tt></dd></dl>
<dl><dt><a name="GcodeStepSkein-addLine"><strong>addLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;of&nbsp;text&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="GcodeStepSkein-addStringToLine"><strong>addStringToLine</strong></a>(self, lineStringIO, wordString)</dt><dd><tt>Add&nbsp;a&nbsp;character&nbsp;and&nbsp;integer&nbsp;to&nbsp;line&nbsp;string.</tt></dd></dl>
<dl><dt><a name="GcodeStepSkein-parseGcode"><strong>parseGcode</strong></a>(self, gcodeStepPreferences, gcodeText)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="GcodeStepSkein-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getCharacterIntegerString"><strong>getCharacterIntegerString</strong></a>(character, offset, splitLine, stepLength)</dt><dd><tt>Get&nbsp;a&nbsp;character&nbsp;and&nbsp;integer&nbsp;string.</tt></dd></dl>
<dl><dt><a name="-getFloatFromCharacterSplitLine"><strong>getFloatFromCharacterSplitLine</strong></a>(character, splitLine)</dt><dd><tt>Get&nbsp;the&nbsp;float&nbsp;after&nbsp;the&nbsp;first&nbsp;occurence&nbsp;of&nbsp;the&nbsp;character&nbsp;in&nbsp;the&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="-getOutput"><strong>getOutput</strong></a>(gcodeText, gcodeStepPreferences<font color="#909090">=None</font>)</dt><dd><tt>Get&nbsp;the&nbsp;exported&nbsp;version&nbsp;of&nbsp;a&nbsp;gcode&nbsp;file.&nbsp;&nbsp;This&nbsp;function,&nbsp;isArchivable&nbsp;and&nbsp;writeOutput&nbsp;are&nbsp;the&nbsp;only&nbsp;necessary&nbsp;functions&nbsp;in&nbsp;a&nbsp;skeinforge&nbsp;export&nbsp;plugin.<br>
If&nbsp;this&nbsp;plugin&nbsp;writes&nbsp;an&nbsp;output&nbsp;than&nbsp;should&nbsp;not&nbsp;be&nbsp;printed,&nbsp;an&nbsp;empty&nbsp;string&nbsp;should&nbsp;be&nbsp;returned.</tt></dd></dl>
<dl><dt><a name="-getStringFromCharacterSplitLine"><strong>getStringFromCharacterSplitLine</strong></a>(character, splitLine)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;after&nbsp;the&nbsp;first&nbsp;occurence&nbsp;of&nbsp;the&nbsp;character&nbsp;in&nbsp;the&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="-getSummarizedFilename"><strong>getSummarizedFilename</strong></a>(fileName)</dt><dd><tt>Get&nbsp;the&nbsp;fileName&nbsp;basename&nbsp;if&nbsp;the&nbsp;file&nbsp;is&nbsp;in&nbsp;the&nbsp;current&nbsp;working&nbsp;directory,&nbsp;otherwise&nbsp;return&nbsp;the&nbsp;original&nbsp;full&nbsp;name.</tt></dd></dl>
<dl><dt><a name="-getTextLines"><strong>getTextLines</strong></a>(text)</dt><dd><tt>Get&nbsp;the&nbsp;all&nbsp;the&nbsp;lines&nbsp;of&nbsp;text&nbsp;of&nbsp;a&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-indexOfStartingWithSecond"><strong>indexOfStartingWithSecond</strong></a>(letter, splitLine)</dt><dd><tt>Get&nbsp;index&nbsp;of&nbsp;the&nbsp;first&nbsp;occurence&nbsp;of&nbsp;the&nbsp;given&nbsp;letter&nbsp;in&nbsp;the&nbsp;split&nbsp;line,&nbsp;starting&nbsp;with&nbsp;the&nbsp;second&nbsp;word.&nbsp;&nbsp;Return&nbsp;-&nbsp;1&nbsp;if&nbsp;letter&nbsp;is&nbsp;not&nbsp;found</tt></dd></dl>
<dl><dt><a name="-isArchivable"><strong>isArchivable</strong></a>()</dt><dd><tt>Return&nbsp;whether&nbsp;or&nbsp;not&nbsp;this&nbsp;plugin&nbsp;is&nbsp;archivable.</tt></dd></dl>
<dl><dt><a name="-isReplacable"><strong>isReplacable</strong></a>()</dt><dd><tt>Return&nbsp;whether&nbsp;or&nbsp;not&nbsp;the&nbsp;output&nbsp;from&nbsp;this&nbsp;plugin&nbsp;is&nbsp;replacable.&nbsp;&nbsp;This&nbsp;should&nbsp;be&nbsp;true&nbsp;if&nbsp;the&nbsp;output&nbsp;is&nbsp;text&nbsp;and&nbsp;false&nbsp;if&nbsp;it&nbsp;is&nbsp;binary.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>(hashtable<font color="#909090">=None</font>)</dt><dd><tt>Display&nbsp;the&nbsp;export&nbsp;dialog.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,33 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: package skeinforge_tools.export_plugins</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.export_plugins</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/export_plugins/__init__.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/export_plugins/__init__.py</a></font></td></tr></table>
<p><tt>#This&nbsp;is&nbsp;required&nbsp;to&nbsp;workaround&nbsp;the&nbsp;python&nbsp;import&nbsp;bug&nbsp;where&nbsp;relative&nbsp;imports&nbsp;don't&nbsp;work&nbsp;if&nbsp;the&nbsp;module&nbsp;is&nbsp;imported&nbsp;as&nbsp;a&nbsp;main&nbsp;module.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Package Contents</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="skeinforge_tools.export_plugins.binary_16_byte.html">binary_16_byte</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.export_plugins.gcode_small.html">gcode_small</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.export_plugins.gcode_step.html">gcode_step</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>level</strong> = 2<br>
<strong>numberOfLevelsDeepInPackageHierarchy</strong> = 2<br>
<strong>packageFilePath</strong> = '/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap'</td></tr></table>
</body></html>

View File

@@ -0,0 +1,286 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.fill</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.fill</strong></big></big> ($Date: 2008/28/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/fill.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/fill.py</a></font></td></tr></table>
<p><tt>Fill&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;fill&nbsp;the&nbsp;carves&nbsp;of&nbsp;a&nbsp;gcode&nbsp;file.<br>
&nbsp;<br>
The&nbsp;diaphragm&nbsp;is&nbsp;a&nbsp;solid&nbsp;group&nbsp;of&nbsp;layers,&nbsp;at&nbsp;regular&nbsp;intervals.&nbsp;&nbsp;It&nbsp;can&nbsp;be&nbsp;used&nbsp;with&nbsp;a&nbsp;sparse&nbsp;infill&nbsp;to&nbsp;give&nbsp;the&nbsp;object&nbsp;watertight,&nbsp;horizontal<br>
compartments&nbsp;and/or&nbsp;a&nbsp;higher&nbsp;shear&nbsp;strength.&nbsp;&nbsp;The&nbsp;"Diaphragm&nbsp;Period"&nbsp;is&nbsp;the&nbsp;number&nbsp;of&nbsp;layers&nbsp;between&nbsp;diaphrams.&nbsp;&nbsp;The&nbsp;"Diaphragm<br>
Thickness"&nbsp;is&nbsp;the&nbsp;number&nbsp;of&nbsp;layers&nbsp;the&nbsp;diaphram&nbsp;is&nbsp;composed&nbsp;of.&nbsp;&nbsp;The&nbsp;default&nbsp;diaphragm&nbsp;is&nbsp;zero,&nbsp;because&nbsp;the&nbsp;diaphragm&nbsp;feature&nbsp;is&nbsp;rarely<br>
used.<br>
&nbsp;<br>
The&nbsp;"Extra&nbsp;Shells&nbsp;on&nbsp;Alternating&nbsp;Solid&nbsp;Layers"&nbsp;preference&nbsp;is&nbsp;the&nbsp;number&nbsp;of&nbsp;extra&nbsp;shells,&nbsp;which&nbsp;are&nbsp;interior&nbsp;perimeter&nbsp;loops,&nbsp;on&nbsp;the&nbsp;alternating<br>
solid&nbsp;layers.&nbsp;&nbsp;The&nbsp;"Extra&nbsp;Shells&nbsp;on&nbsp;Base"&nbsp;preference&nbsp;is&nbsp;the&nbsp;number&nbsp;of&nbsp;extra&nbsp;shells&nbsp;on&nbsp;the&nbsp;bottom,&nbsp;base&nbsp;layer&nbsp;and&nbsp;every&nbsp;even&nbsp;solid&nbsp;layer&nbsp;after<br>
that.&nbsp;&nbsp;Setting&nbsp;this&nbsp;to&nbsp;a&nbsp;different&nbsp;value&nbsp;than&nbsp;the&nbsp;"Extra&nbsp;Shells&nbsp;on&nbsp;Alternating&nbsp;Solid&nbsp;Layers"&nbsp;means&nbsp;the&nbsp;infill&nbsp;pattern&nbsp;will&nbsp;alternate,&nbsp;creating&nbsp;a<br>
strong&nbsp;interleaved&nbsp;bond&nbsp;even&nbsp;if&nbsp;the&nbsp;perimeter&nbsp;loop&nbsp;shrinks.&nbsp;&nbsp;The&nbsp;"Extra&nbsp;Shells&nbsp;on&nbsp;Sparse&nbsp;Layer"&nbsp;preference&nbsp;is&nbsp;the&nbsp;number&nbsp;of&nbsp;extra&nbsp;shells&nbsp;on<br>
the&nbsp;sparse&nbsp;layers.&nbsp;&nbsp;The&nbsp;solid&nbsp;layers&nbsp;are&nbsp;those&nbsp;at&nbsp;the&nbsp;top&nbsp;&amp;&nbsp;bottom,&nbsp;and&nbsp;wherever&nbsp;the&nbsp;object&nbsp;has&nbsp;a&nbsp;plateau&nbsp;or&nbsp;overhang,&nbsp;the&nbsp;sparse&nbsp;layers&nbsp;are<br>
the&nbsp;layers&nbsp;in&nbsp;between.&nbsp;&nbsp;Adding&nbsp;extra&nbsp;shells&nbsp;makes&nbsp;the&nbsp;object&nbsp;stronger&nbsp;&amp;&nbsp;heavier.<br>
&nbsp;<br>
The&nbsp;"Grid&nbsp;Extra&nbsp;Overlap"&nbsp;preference&nbsp;is&nbsp;the&nbsp;amount&nbsp;of&nbsp;extra&nbsp;overlap&nbsp;added&nbsp;when&nbsp;extruding&nbsp;the&nbsp;grid&nbsp;to&nbsp;compensate&nbsp;for&nbsp;the&nbsp;fact&nbsp;that&nbsp;when&nbsp;the<br>
first&nbsp;thread&nbsp;going&nbsp;through&nbsp;a&nbsp;grid&nbsp;point&nbsp;is&nbsp;extruded,&nbsp;since&nbsp;there&nbsp;is&nbsp;nothing&nbsp;there&nbsp;yet&nbsp;for&nbsp;it&nbsp;to&nbsp;connect&nbsp;to&nbsp;it&nbsp;will&nbsp;shrink&nbsp;extra.&nbsp;&nbsp;The&nbsp;"Grid&nbsp;Square<br>
Half&nbsp;Width&nbsp;over&nbsp;Extrusion&nbsp;Width"&nbsp;preference&nbsp;is&nbsp;the&nbsp;ratio&nbsp;of&nbsp;the&nbsp;amount&nbsp;the&nbsp;grid&nbsp;square&nbsp;is&nbsp;increased&nbsp;in&nbsp;each&nbsp;direction&nbsp;over&nbsp;the&nbsp;extrusion<br>
width,&nbsp;the&nbsp;default&nbsp;is&nbsp;zero.&nbsp;&nbsp;With&nbsp;a&nbsp;value&nbsp;of&nbsp;one&nbsp;or&nbsp;so&nbsp;the&nbsp;grid&nbsp;pattern&nbsp;will&nbsp;have&nbsp;large&nbsp;squares&nbsp;to&nbsp;go&nbsp;with&nbsp;the&nbsp;octogons.&nbsp;&nbsp;The&nbsp;"Infill&nbsp;Pattern"<br>
can&nbsp;be&nbsp;set&nbsp;to&nbsp;"Grid"&nbsp;or&nbsp;"Line".&nbsp;&nbsp;The&nbsp;grid&nbsp;option&nbsp;makes&nbsp;a&nbsp;funky&nbsp;octogon&nbsp;square&nbsp;honeycomb&nbsp;like&nbsp;pattern&nbsp;which&nbsp;gives&nbsp;the&nbsp;object&nbsp;extra&nbsp;strength.<br>
However,&nbsp;the&nbsp;&nbsp;grid&nbsp;pattern&nbsp;means&nbsp;extra&nbsp;turns&nbsp;for&nbsp;the&nbsp;extruder&nbsp;and&nbsp;therefore&nbsp;extra&nbsp;wear&nbsp;&amp;&nbsp;tear,&nbsp;also&nbsp;it&nbsp;takes&nbsp;longer&nbsp;to&nbsp;generate,&nbsp;so&nbsp;the<br>
default&nbsp;is&nbsp;line.&nbsp;&nbsp;The&nbsp;grid&nbsp;has&nbsp;extra&nbsp;diagonal&nbsp;lines,&nbsp;so&nbsp;when&nbsp;choosing&nbsp;the&nbsp;grid&nbsp;option,&nbsp;set&nbsp;the&nbsp;infill&nbsp;solidity&nbsp;to&nbsp;0.2&nbsp;or&nbsp;less&nbsp;so&nbsp;that&nbsp;there&nbsp;is&nbsp;not<br>
too&nbsp;much&nbsp;plastic&nbsp;and&nbsp;the&nbsp;grid&nbsp;generation&nbsp;time,&nbsp;which&nbsp;increases&nbsp;with&nbsp;the&nbsp;fourth&nbsp;power&nbsp;of&nbsp;solidity,&nbsp;will&nbsp;be&nbsp;reasonable.<br>
&nbsp;<br>
The&nbsp;"Infill&nbsp;Begin&nbsp;Rotation"&nbsp;preference&nbsp;is&nbsp;the&nbsp;amount&nbsp;the&nbsp;infill&nbsp;direction&nbsp;of&nbsp;the&nbsp;base&nbsp;and&nbsp;every&nbsp;second&nbsp;layer&nbsp;thereafter&nbsp;is&nbsp;rotated.&nbsp;&nbsp;The&nbsp;default<br>
value&nbsp;of&nbsp;forty&nbsp;five&nbsp;degrees&nbsp;gives&nbsp;a&nbsp;diagonal&nbsp;infill.&nbsp;&nbsp;The&nbsp;"Infill&nbsp;Odd&nbsp;Layer&nbsp;Extra&nbsp;Rotation"&nbsp;preference&nbsp;is&nbsp;the&nbsp;extra&nbsp;amount&nbsp;the&nbsp;infill&nbsp;direction&nbsp;of<br>
the&nbsp;odd&nbsp;layers&nbsp;is&nbsp;rotated&nbsp;compared&nbsp;to&nbsp;the&nbsp;base&nbsp;layer.&nbsp;&nbsp;With&nbsp;the&nbsp;default&nbsp;value&nbsp;of&nbsp;ninety&nbsp;degrees&nbsp;the&nbsp;odd&nbsp;layer&nbsp;infill&nbsp;will&nbsp;be&nbsp;perpendicular&nbsp;to<br>
the&nbsp;base&nbsp;layer.&nbsp;&nbsp;The&nbsp;"Infill&nbsp;Begin&nbsp;Rotation&nbsp;Repeat"&nbsp;preference&nbsp;is&nbsp;the&nbsp;number&nbsp;of&nbsp;layers&nbsp;that&nbsp;the&nbsp;infill&nbsp;begin&nbsp;rotation&nbsp;will&nbsp;repeat.&nbsp;&nbsp;With&nbsp;the<br>
default&nbsp;of&nbsp;one,&nbsp;the&nbsp;object&nbsp;will&nbsp;have&nbsp;alternating&nbsp;cross&nbsp;hatching.&nbsp;&nbsp;With&nbsp;a&nbsp;value&nbsp;higher&nbsp;than&nbsp;one,&nbsp;the&nbsp;infill&nbsp;will&nbsp;go&nbsp;in&nbsp;one&nbsp;direction&nbsp;more&nbsp;often,<br>
giving&nbsp;the&nbsp;object&nbsp;more&nbsp;strength&nbsp;in&nbsp;one&nbsp;direction&nbsp;and&nbsp;less&nbsp;in&nbsp;the&nbsp;other,&nbsp;this&nbsp;is&nbsp;useful&nbsp;for&nbsp;beams&nbsp;and&nbsp;cantilevers.<br>
&nbsp;<br>
The&nbsp;most&nbsp;important&nbsp;preference&nbsp;in&nbsp;fill&nbsp;is&nbsp;the&nbsp;"Infill&nbsp;Solidity".&nbsp;&nbsp;A&nbsp;value&nbsp;of&nbsp;one&nbsp;means&nbsp;the&nbsp;infill&nbsp;lines&nbsp;will&nbsp;be&nbsp;right&nbsp;beside&nbsp;each&nbsp;other,&nbsp;resulting&nbsp;in&nbsp;a<br>
solid,&nbsp;strong,&nbsp;heavy&nbsp;shape&nbsp;which&nbsp;takes&nbsp;a&nbsp;long&nbsp;time&nbsp;to&nbsp;extrude.&nbsp;&nbsp;A&nbsp;low&nbsp;value&nbsp;means&nbsp;the&nbsp;infill&nbsp;will&nbsp;be&nbsp;sparse,&nbsp;the&nbsp;interior&nbsp;will&nbsp;be&nbsp;mosty&nbsp;empty<br>
space,&nbsp;the&nbsp;object&nbsp;will&nbsp;be&nbsp;weak,&nbsp;light&nbsp;and&nbsp;quick&nbsp;to&nbsp;build.&nbsp;&nbsp;The&nbsp;default&nbsp;is&nbsp;0.2.<br>
&nbsp;<br>
The&nbsp;"Interior&nbsp;Infill&nbsp;Density&nbsp;over&nbsp;Exterior&nbsp;Density"&nbsp;preference&nbsp;is&nbsp;the&nbsp;ratio&nbsp;of&nbsp;the&nbsp;infill&nbsp;density&nbsp;of&nbsp;the&nbsp;interior&nbsp;over&nbsp;the&nbsp;infill&nbsp;density&nbsp;of&nbsp;the&nbsp;exterior<br>
surfaces,&nbsp;the&nbsp;default&nbsp;is&nbsp;0.9.&nbsp;&nbsp;The&nbsp;exterior&nbsp;should&nbsp;have&nbsp;a&nbsp;high&nbsp;infill&nbsp;density,&nbsp;so&nbsp;that&nbsp;the&nbsp;surface&nbsp;will&nbsp;be&nbsp;strong&nbsp;and&nbsp;watertight.&nbsp;&nbsp;With&nbsp;the<br>
interior&nbsp;infill&nbsp;density&nbsp;a&nbsp;bit&nbsp;lower&nbsp;than&nbsp;the&nbsp;exterior,&nbsp;the&nbsp;plastic&nbsp;will&nbsp;not&nbsp;fill&nbsp;up&nbsp;higher&nbsp;than&nbsp;the&nbsp;extruder&nbsp;nozzle.&nbsp;&nbsp;If&nbsp;the&nbsp;interior&nbsp;density&nbsp;is&nbsp;too&nbsp;high<br>
that&nbsp;could&nbsp;happen,&nbsp;as&nbsp;Nophead&nbsp;described&nbsp;in&nbsp;the&nbsp;Hydraraptor&nbsp;"Bearing&nbsp;Fruit"&nbsp;post&nbsp;at:<br>
<a href="http://hydraraptor.blogspot.com/2008/08/bearing-fruit.html">http://hydraraptor.blogspot.com/2008/08/bearing-fruit.html</a><br>
&nbsp;<br>
The&nbsp;"Solid&nbsp;Surface&nbsp;Thickness"&nbsp;preference&nbsp;is&nbsp;the&nbsp;number&nbsp;of&nbsp;solid&nbsp;layers&nbsp;that&nbsp;are&nbsp;at&nbsp;the&nbsp;bottom,&nbsp;top,&nbsp;plateaus&nbsp;and&nbsp;overhang.&nbsp;&nbsp;With&nbsp;a&nbsp;value&nbsp;of<br>
zero,&nbsp;the&nbsp;entire&nbsp;object&nbsp;will&nbsp;be&nbsp;composed&nbsp;of&nbsp;a&nbsp;sparse&nbsp;infill,&nbsp;and&nbsp;water&nbsp;could&nbsp;flow&nbsp;right&nbsp;through&nbsp;it.&nbsp;&nbsp;With&nbsp;a&nbsp;value&nbsp;of&nbsp;one,&nbsp;water&nbsp;will&nbsp;leak&nbsp;slowly<br>
through&nbsp;the&nbsp;surface&nbsp;and&nbsp;with&nbsp;a&nbsp;value&nbsp;of&nbsp;three,&nbsp;the&nbsp;object&nbsp;could&nbsp;be&nbsp;watertight.&nbsp;&nbsp;The&nbsp;higher&nbsp;the&nbsp;solid&nbsp;surface&nbsp;thickness,&nbsp;the&nbsp;stronger&nbsp;and<br>
heavier&nbsp;the&nbsp;object&nbsp;will&nbsp;be.&nbsp;&nbsp;The&nbsp;default&nbsp;is&nbsp;three.<br>
&nbsp;<br>
The&nbsp;following&nbsp;examples&nbsp;fill&nbsp;the&nbsp;files&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode&nbsp;&amp;&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl.&nbsp;&nbsp;The&nbsp;examples&nbsp;are&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the&nbsp;folder&nbsp;which<br>
contains&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode,&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;and&nbsp;fill.py.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;fill.py<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;dialog,&nbsp;after&nbsp;clicking&nbsp;'Fill',&nbsp;the&nbsp;following&nbsp;is&nbsp;printed:<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;filled.<br>
The&nbsp;filled&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_fill.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;fill<br>
&gt;&gt;&gt;&nbsp;fill.<a href="#-main">main</a>()<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;filled.<br>
The&nbsp;filled&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_fill.gcode<br>
It&nbsp;took&nbsp;3&nbsp;seconds&nbsp;to&nbsp;fill&nbsp;the&nbsp;file.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;fill.<a href="#-writeOutput">writeOutput</a>()<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;filled.<br>
The&nbsp;filled&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_fill.gcode<br>
It&nbsp;took&nbsp;3&nbsp;seconds&nbsp;to&nbsp;fill&nbsp;the&nbsp;file.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="skeinforge_tools.analyze.html">skeinforge_tools.analyze</a><br>
<a href="cStringIO.html">cStringIO</a><br>
<a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="skeinforge_tools.inset.html">skeinforge_tools.inset</a><br>
<a href="skeinforge_tools.skeinforge_utilities.intercircle.html">skeinforge_tools.skeinforge_utilities.intercircle</a><br>
<a href="skeinforge_tools.skeinforge_utilities.interpret.html">skeinforge_tools.skeinforge_utilities.interpret</a><br>
</td><td width="25%" valign=top><a href="math.html">math</a><br>
<a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
<a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
<a href="sys.html">sys</a><br>
</td><td width="25%" valign=top><a href="time.html">time</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.fill.html#FillPreferences">FillPreferences</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.fill.html#FillSkein">FillSkein</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.fill.html#RotatedLayer">RotatedLayer</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.fill.html#YIntersectionPath">YIntersectionPath</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="FillPreferences">class <strong>FillPreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;fill&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="FillPreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="FillPreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Fill&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="FillSkein">class <strong>FillSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;fill&nbsp;a&nbsp;skein&nbsp;of&nbsp;extrusions.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="FillSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="FillSkein-addFill"><strong>addFill</strong></a>(self, layerIndex)</dt><dd><tt>Add&nbsp;fill&nbsp;to&nbsp;the&nbsp;carve&nbsp;layer.</tt></dd></dl>
<dl><dt><a name="FillSkein-addGcodeFromThreadZ"><strong>addGcodeFromThreadZ</strong></a>(self, thread, z)</dt><dd><tt>Add&nbsp;a&nbsp;gcode&nbsp;thread&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="FillSkein-addGcodeMovementZ"><strong>addGcodeMovementZ</strong></a>(self, point, z)</dt><dd><tt>Add&nbsp;a&nbsp;movement&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="FillSkein-addGrid"><strong>addGrid</strong></a>(self, alreadyFilledArounds, arounds, fillLoops, gridPointInsetX, paths, pixelTable, width, reverseRotationAroundZAngle, rotatedExtruderLoops, surroundingCarves)</dt></dl>
<dl><dt><a name="FillSkein-addGridLinePoints"><strong>addGridLinePoints</strong></a>(self, alreadyFilledArounds, begin, end, gridPoints, gridRotationAngle, offset, rotatedExtruderLoops, surroundingCarves, y)</dt><dd><tt>Add&nbsp;the&nbsp;segments&nbsp;of&nbsp;one&nbsp;line&nbsp;of&nbsp;a&nbsp;grid&nbsp;to&nbsp;the&nbsp;infill.</tt></dd></dl>
<dl><dt><a name="FillSkein-addLine"><strong>addLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;of&nbsp;text&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="FillSkein-addRemainingGridPoints"><strong>addRemainingGridPoints</strong></a>(self, arounds, gridPointInsetX, gridPointInsetY, gridPoints, isBothOrNone, paths, pixelTable, width)</dt><dd><tt>Add&nbsp;the&nbsp;remaining&nbsp;grid&nbsp;points&nbsp;to&nbsp;the&nbsp;grid&nbsp;point&nbsp;list.</tt></dd></dl>
<dl><dt><a name="FillSkein-addRotatedCarve"><strong>addRotatedCarve</strong></a>(self, layerIndex, reverseRotationAroundZAngle, surroundingCarves)</dt><dd><tt>Add&nbsp;a&nbsp;rotated&nbsp;carve&nbsp;to&nbsp;the&nbsp;surrounding&nbsp;carves.</tt></dd></dl>
<dl><dt><a name="FillSkein-addShutdownToOutput"><strong>addShutdownToOutput</strong></a>(self)</dt><dd><tt>Add&nbsp;shutdown&nbsp;gcode&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="FillSkein-addToThread"><strong>addToThread</strong></a>(self, location)</dt><dd><tt>Add&nbsp;a&nbsp;location&nbsp;to&nbsp;thread.</tt></dd></dl>
<dl><dt><a name="FillSkein-getAreaChange"><strong>getAreaChange</strong></a>(self, area, layerIndex)</dt><dd><tt>Get&nbsp;the&nbsp;difference&nbsp;between&nbsp;the&nbsp;area&nbsp;of&nbsp;the&nbsp;carve&nbsp;at&nbsp;the&nbsp;layer&nbsp;index&nbsp;and&nbsp;the&nbsp;given&nbsp;area.</tt></dd></dl>
<dl><dt><a name="FillSkein-getCarveArea"><strong>getCarveArea</strong></a>(self, layerIndex)</dt><dd><tt>Get&nbsp;the&nbsp;area&nbsp;of&nbsp;the&nbsp;carve.</tt></dd></dl>
<dl><dt><a name="FillSkein-getGridPoints"><strong>getGridPoints</strong></a>(self, alreadyFilledArounds, fillLoops, reverseRotationAroundZAngle, rotatedExtruderLoops, surroundingCarves)</dt><dd><tt>Add&nbsp;a&nbsp;grid&nbsp;to&nbsp;the&nbsp;infill.</tt></dd></dl>
<dl><dt><a name="FillSkein-getLayerRoundZ"><strong>getLayerRoundZ</strong></a>(self, layerIndex)</dt><dd><tt>Get&nbsp;the&nbsp;plane&nbsp;angle&nbsp;around&nbsp;z&nbsp;that&nbsp;the&nbsp;layer&nbsp;is&nbsp;rotated&nbsp;by.</tt></dd></dl>
<dl><dt><a name="FillSkein-getNextGripXStep"><strong>getNextGripXStep</strong></a>(self, gridXStep)</dt><dd><tt>Get&nbsp;the&nbsp;next&nbsp;grid&nbsp;x&nbsp;step,&nbsp;increment&nbsp;by&nbsp;an&nbsp;extra&nbsp;one&nbsp;every&nbsp;three&nbsp;if&nbsp;hexagonal&nbsp;grid&nbsp;is&nbsp;chosen.</tt></dd></dl>
<dl><dt><a name="FillSkein-getRounded"><strong>getRounded</strong></a>(self, number)</dt><dd><tt>Get&nbsp;number&nbsp;rounded&nbsp;to&nbsp;the&nbsp;number&nbsp;of&nbsp;carried&nbsp;decimal&nbsp;places&nbsp;as&nbsp;a&nbsp;string.</tt></dd></dl>
<dl><dt><a name="FillSkein-isPointInsideLineSegments"><strong>isPointInsideLineSegments</strong></a>(self, alreadyFilledArounds, gridPoint, rotatedExtruderLoops, surroundingCarves)</dt><dd><tt>Is&nbsp;the&nbsp;point&nbsp;inside&nbsp;the&nbsp;line&nbsp;segments&nbsp;of&nbsp;the&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="FillSkein-linearMove"><strong>linearMove</strong></a>(self, splitLine)</dt><dd><tt>Add&nbsp;a&nbsp;linear&nbsp;move&nbsp;to&nbsp;the&nbsp;thread.</tt></dd></dl>
<dl><dt><a name="FillSkein-parseGcode"><strong>parseGcode</strong></a>(self, fillPreferences, gcodeText)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;bevel&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="FillSkein-parseInitialization"><strong>parseInitialization</strong></a>(self)</dt><dd><tt>Parse&nbsp;gcode&nbsp;initialization&nbsp;and&nbsp;store&nbsp;the&nbsp;parameters.</tt></dd></dl>
<dl><dt><a name="FillSkein-parseLine"><strong>parseLine</strong></a>(self, lineIndex)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;fill&nbsp;skein.</tt></dd></dl>
<dl><dt><a name="FillSkein-setGridVariables"><strong>setGridVariables</strong></a>(self, fillPreferences)</dt><dd><tt>Set&nbsp;the&nbsp;grid&nbsp;variables.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="RotatedLayer">class <strong>RotatedLayer</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;rotated&nbsp;layer.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="RotatedLayer-__init__"><strong>__init__</strong></a>(self, z)</dt></dl>
<dl><dt><a name="RotatedLayer-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;<a href="#RotatedLayer">RotatedLayer</a>.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="YIntersectionPath">class <strong>YIntersectionPath</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;hold&nbsp;the&nbsp;y&nbsp;intersection&nbsp;position,&nbsp;the&nbsp;loop&nbsp;which&nbsp;it&nbsp;intersected&nbsp;and&nbsp;the&nbsp;point&nbsp;index&nbsp;of&nbsp;the&nbsp;loop&nbsp;which&nbsp;it&nbsp;intersected.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="YIntersectionPath-__init__"><strong>__init__</strong></a>(self, pathIndex, pointIndex, y)</dt><dd><tt>Initialize&nbsp;from&nbsp;the&nbsp;path,&nbsp;point&nbsp;index,&nbsp;and&nbsp;y.</tt></dd></dl>
<dl><dt><a name="YIntersectionPath-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;y&nbsp;intersection.</tt></dd></dl>
<dl><dt><a name="YIntersectionPath-getPath"><strong>getPath</strong></a>(self, paths)</dt><dd><tt>Get&nbsp;the&nbsp;path&nbsp;from&nbsp;the&nbsp;paths&nbsp;and&nbsp;path&nbsp;index.</tt></dd></dl>
<dl><dt><a name="YIntersectionPath-getPointIndexPlusOne"><strong>getPointIndexPlusOne</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;point&nbsp;index&nbsp;plus&nbsp;one.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-addAroundGridPoint"><strong>addAroundGridPoint</strong></a>(arounds, gridPoint, gridPointInsetX, gridPointInsetY, gridPoints, gridSearchRadius, isBothOrNone, isDoubleJunction, isJunctionWide, paths, pixelTable, width)</dt><dd><tt>Add&nbsp;the&nbsp;path&nbsp;around&nbsp;the&nbsp;grid&nbsp;point.</tt></dd></dl>
<dl><dt><a name="-addPath"><strong>addPath</strong></a>(extrusionWidth, fill, path, rotationPlaneAngle)</dt><dd><tt>Add&nbsp;simplified&nbsp;path&nbsp;to&nbsp;fill.</tt></dd></dl>
<dl><dt><a name="-addPointOnPath"><strong>addPointOnPath</strong></a>(path, pixelTable, point, pointIndex, width)</dt><dd><tt>Add&nbsp;a&nbsp;point&nbsp;to&nbsp;a&nbsp;path&nbsp;and&nbsp;the&nbsp;pixel&nbsp;table.</tt></dd></dl>
<dl><dt><a name="-addShortenedLineSegment"><strong>addShortenedLineSegment</strong></a>(lineSegment, shortenDistance, shortenedSegments)</dt><dd><tt>Add&nbsp;shortened&nbsp;line&nbsp;segment.</tt></dd></dl>
<dl><dt><a name="-addSparseEndpoints"><strong>addSparseEndpoints</strong></a>(doubleExtrusionWidth, endpoints, fillLine, horizontalSegments, infillSolidity, removedEndpoints, solidSurfaceThickness, surroundingXIntersections)</dt><dd><tt>Add&nbsp;sparse&nbsp;endpoints.</tt></dd></dl>
<dl><dt><a name="-addSparseEndpointsFromSegment"><strong>addSparseEndpointsFromSegment</strong></a>(doubleExtrusionWidth, endpoints, fillLine, horizontalSegments, infillSolidity, removedEndpoints, segment, solidSurfaceThickness, surroundingXIntersections)</dt><dd><tt>Add&nbsp;sparse&nbsp;endpoints&nbsp;from&nbsp;a&nbsp;segment.</tt></dd></dl>
<dl><dt><a name="-addSurroundingXIntersectionIndexes"><strong>addSurroundingXIntersectionIndexes</strong></a>(surroundingCarves, xIntersectionIndexList, y)</dt><dd><tt>Add&nbsp;x&nbsp;intersection&nbsp;indexes&nbsp;from&nbsp;surrounding&nbsp;layers.</tt></dd></dl>
<dl><dt><a name="-addYIntersectionPathToList"><strong>addYIntersectionPathToList</strong></a>(pathIndex, pointIndex, y, yIntersection, yIntersectionPaths)</dt><dd><tt>Add&nbsp;the&nbsp;y&nbsp;intersection&nbsp;path&nbsp;to&nbsp;the&nbsp;y&nbsp;intersection&nbsp;paths.</tt></dd></dl>
<dl><dt><a name="-compareDistanceFromCenter"><strong>compareDistanceFromCenter</strong></a>(self, other)</dt><dd><tt>Get&nbsp;comparison&nbsp;in&nbsp;order&nbsp;to&nbsp;sort&nbsp;y&nbsp;intersections&nbsp;in&nbsp;ascending&nbsp;order&nbsp;of&nbsp;distance&nbsp;from&nbsp;the&nbsp;center.</tt></dd></dl>
<dl><dt><a name="-comparePointIndexDescending"><strong>comparePointIndexDescending</strong></a>(self, other)</dt><dd><tt>Get&nbsp;comparison&nbsp;in&nbsp;order&nbsp;to&nbsp;sort&nbsp;y&nbsp;intersections&nbsp;in&nbsp;descending&nbsp;order&nbsp;of&nbsp;point&nbsp;index.</tt></dd></dl>
<dl><dt><a name="-createExtraFillLoops"><strong>createExtraFillLoops</strong></a>(radius, surroundingLoop)</dt><dd><tt>Create&nbsp;extra&nbsp;fill&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-createFillForSurroundings"><strong>createFillForSurroundings</strong></a>(radius, surroundingLoops)</dt><dd><tt>Create&nbsp;extra&nbsp;fill&nbsp;loops&nbsp;for&nbsp;surrounding&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-getAdditionalLength"><strong>getAdditionalLength</strong></a>(path, point, pointIndex)</dt><dd><tt>Get&nbsp;the&nbsp;additional&nbsp;length&nbsp;added&nbsp;by&nbsp;inserting&nbsp;a&nbsp;point&nbsp;into&nbsp;a&nbsp;path.</tt></dd></dl>
<dl><dt><a name="-getClosestOppositeIntersectionPaths"><strong>getClosestOppositeIntersectionPaths</strong></a>(yIntersectionPaths)</dt><dd><tt>Get&nbsp;the&nbsp;close&nbsp;to&nbsp;center&nbsp;paths,&nbsp;starting&nbsp;with&nbsp;the&nbsp;first&nbsp;and&nbsp;an&nbsp;additional&nbsp;opposite&nbsp;if&nbsp;it&nbsp;exists.</tt></dd></dl>
<dl><dt><a name="-getExtraFillLoops"><strong>getExtraFillLoops</strong></a>(insideLoops, outsideLoop, radius)</dt><dd><tt>Get&nbsp;extra&nbsp;loops&nbsp;between&nbsp;inside&nbsp;and&nbsp;outside&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-getFillChainGcode"><strong>getFillChainGcode</strong></a>(fileName, gcodeText, fillPreferences<font color="#909090">=None</font>)</dt><dd><tt>Fill&nbsp;the&nbsp;carves&nbsp;of&nbsp;a&nbsp;gcode&nbsp;text.&nbsp;&nbsp;Chain&nbsp;fill&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;carved.</tt></dd></dl>
<dl><dt><a name="-getFillGcode"><strong>getFillGcode</strong></a>(gcodeText, fillPreferences<font color="#909090">=None</font>)</dt><dd><tt>Fill&nbsp;the&nbsp;carves&nbsp;of&nbsp;a&nbsp;gcode&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-getHorizontalSegmentsFromLoopLists"><strong>getHorizontalSegmentsFromLoopLists</strong></a>(fillLoops, alreadyFilledArounds, y)</dt><dd><tt>Get&nbsp;horizontal&nbsp;segments&nbsp;inside&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-getIntersectionOfXIntersectionIndexes"><strong>getIntersectionOfXIntersectionIndexes</strong></a>(totalSolidSurfaceThickness, xIntersectionIndexList)</dt><dd><tt>Get&nbsp;x&nbsp;intersections&nbsp;from&nbsp;surrounding&nbsp;layers.</tt></dd></dl>
<dl><dt><a name="-getNonIntersectingGridPointLine"><strong>getNonIntersectingGridPointLine</strong></a>(arounds, gridPointInsetX, isJunctionWide, paths, pixelTable, yIntersectionPath, width)</dt><dd><tt>Get&nbsp;the&nbsp;points&nbsp;around&nbsp;the&nbsp;grid&nbsp;point&nbsp;that&nbsp;is&nbsp;junction&nbsp;wide&nbsp;that&nbsp;do&nbsp;not&nbsp;intersect.</tt></dd></dl>
<dl><dt><a name="-getPlusMinusSign"><strong>getPlusMinusSign</strong></a>(number)</dt><dd><tt>Get&nbsp;one&nbsp;if&nbsp;the&nbsp;number&nbsp;is&nbsp;zero&nbsp;or&nbsp;positive&nbsp;else&nbsp;negative&nbsp;one.</tt></dd></dl>
<dl><dt><a name="-getSurroundingXIntersections"><strong>getSurroundingXIntersections</strong></a>(doubleSolidSurfaceThickness, surroundingCarves, y)</dt><dd><tt>Get&nbsp;x&nbsp;intersections&nbsp;from&nbsp;surrounding&nbsp;layers.</tt></dd></dl>
<dl><dt><a name="-getWithLeastLength"><strong>getWithLeastLength</strong></a>(path, point)</dt><dd><tt>Insert&nbsp;a&nbsp;point&nbsp;into&nbsp;a&nbsp;path,&nbsp;at&nbsp;the&nbsp;index&nbsp;at&nbsp;which&nbsp;the&nbsp;path&nbsp;would&nbsp;be&nbsp;shortest.</tt></dd></dl>
<dl><dt><a name="-getYIntersection"><strong>getYIntersection</strong></a>(firstPoint, secondPoint, x)</dt><dd><tt>Get&nbsp;where&nbsp;the&nbsp;line&nbsp;crosses&nbsp;x.</tt></dd></dl>
<dl><dt><a name="-getYIntersectionIfExists"><strong>getYIntersectionIfExists</strong></a>(complexFirst, complexSecond, x)</dt><dd><tt>Get&nbsp;the&nbsp;y&nbsp;intersection&nbsp;if&nbsp;it&nbsp;exists.</tt></dd></dl>
<dl><dt><a name="-getYIntersectionInsideYSegment"><strong>getYIntersectionInsideYSegment</strong></a>(segmentFirstY, segmentSecondY, complexFirst, complexSecond, x)</dt><dd><tt>Get&nbsp;the&nbsp;y&nbsp;intersection&nbsp;inside&nbsp;the&nbsp;y&nbsp;segment&nbsp;if&nbsp;it&nbsp;does,&nbsp;else&nbsp;none.</tt></dd></dl>
<dl><dt><a name="-insertGridPointPair"><strong>insertGridPointPair</strong></a>(arounds, gridPoint, gridPointInsetX, gridPoints, isJunctionWide, paths, pixelTable, yIntersectionPath, width)</dt><dd><tt>Insert&nbsp;a&nbsp;pair&nbsp;of&nbsp;points&nbsp;around&nbsp;the&nbsp;grid&nbsp;point&nbsp;is&nbsp;is&nbsp;junction&nbsp;wide,&nbsp;otherwise&nbsp;inset&nbsp;one&nbsp;point.</tt></dd></dl>
<dl><dt><a name="-insertGridPointPairWithLinePath"><strong>insertGridPointPairWithLinePath</strong></a>(arounds, gridPoint, gridPointInsetX, gridPoints, isJunctionWide, linePath, paths, pixelTable, yIntersectionPath, width)</dt><dd><tt>Insert&nbsp;a&nbsp;pair&nbsp;of&nbsp;points&nbsp;around&nbsp;the&nbsp;grid&nbsp;point&nbsp;is&nbsp;is&nbsp;junction&nbsp;wide,&nbsp;otherwise&nbsp;inset&nbsp;one&nbsp;point.</tt></dd></dl>
<dl><dt><a name="-insertGridPointPairs"><strong>insertGridPointPairs</strong></a>(arounds, gridPoint, gridPointInsetX, gridPoints, intersectionPathFirst, intersectionPathSecond, isBothOrNone, isJunctionWide, paths, pixelTable, width)</dt><dd><tt>Insert&nbsp;a&nbsp;pair&nbsp;of&nbsp;points&nbsp;around&nbsp;a&nbsp;pair&nbsp;of&nbsp;grid&nbsp;points.</tt></dd></dl>
<dl><dt><a name="-isAddedPointOnPathFree"><strong>isAddedPointOnPathFree</strong></a>(path, pixelTable, point, pointIndex, width)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;point&nbsp;added&nbsp;to&nbsp;a&nbsp;path&nbsp;is&nbsp;intersecting&nbsp;the&nbsp;pixel&nbsp;table.</tt></dd></dl>
<dl><dt><a name="-isIntersectingLoopsPaths"><strong>isIntersectingLoopsPaths</strong></a>(loops, paths, pointBegin, pointEnd)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;segment&nbsp;between&nbsp;the&nbsp;first&nbsp;and&nbsp;second&nbsp;point&nbsp;is&nbsp;intersecting&nbsp;the&nbsp;loop&nbsp;list.</tt></dd></dl>
<dl><dt><a name="-isPathAlwaysInsideLoop"><strong>isPathAlwaysInsideLoop</strong></a>(loop, path)</dt><dd><tt>Determine&nbsp;if&nbsp;all&nbsp;points&nbsp;of&nbsp;a&nbsp;path&nbsp;are&nbsp;inside&nbsp;another&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="-isPathAlwaysOutsideLoops"><strong>isPathAlwaysOutsideLoops</strong></a>(loops, path)</dt><dd><tt>Determine&nbsp;if&nbsp;all&nbsp;points&nbsp;in&nbsp;a&nbsp;path&nbsp;are&nbsp;outside&nbsp;another&nbsp;loop&nbsp;in&nbsp;a&nbsp;list.</tt></dd></dl>
<dl><dt><a name="-isPerimeterPathInSurroundLoops"><strong>isPerimeterPathInSurroundLoops</strong></a>(surroundingLoops)</dt><dd><tt>Determine&nbsp;if&nbsp;there&nbsp;is&nbsp;a&nbsp;perimeter&nbsp;path&nbsp;in&nbsp;the&nbsp;surrounding&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-isPointAddedAroundClosest"><strong>isPointAddedAroundClosest</strong></a>(aroundPixelTable, layerExtrusionWidth, paths, removedEndpointPoint, width)</dt><dd><tt>Add&nbsp;the&nbsp;closest&nbsp;removed&nbsp;endpoint&nbsp;to&nbsp;the&nbsp;path,&nbsp;with&nbsp;minimal&nbsp;twisting.</tt></dd></dl>
<dl><dt><a name="-isSegmentAround"><strong>isSegmentAround</strong></a>(aroundSegments, segment)</dt><dd><tt>Determine&nbsp;if&nbsp;there&nbsp;is&nbsp;another&nbsp;segment&nbsp;around.</tt></dd></dl>
<dl><dt><a name="-isSegmentCompletelyInAnIntersection"><strong>isSegmentCompletelyInAnIntersection</strong></a>(segment, xIntersections)</dt><dd><tt>Add&nbsp;sparse&nbsp;endpoints&nbsp;from&nbsp;a&nbsp;segment.</tt></dd></dl>
<dl><dt><a name="-isSegmentInX"><strong>isSegmentInX</strong></a>(segment, xFirst, xSecond)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;segment&nbsp;overlaps&nbsp;within&nbsp;x.</tt></dd></dl>
<dl><dt><a name="-isSharpCorner"><strong>isSharpCorner</strong></a>(beginComplex, centerComplex, endComplex)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;three&nbsp;complex&nbsp;points&nbsp;form&nbsp;a&nbsp;sharp&nbsp;corner.</tt></dd></dl>
<dl><dt><a name="-isSidePointAdded"><strong>isSidePointAdded</strong></a>(aroundPixelTable, closestPath, closestPointIndex, layerExtrusionWidth, removedEndpointPoint, width)</dt><dd><tt>Add&nbsp;side&nbsp;point&nbsp;along&nbsp;with&nbsp;the&nbsp;closest&nbsp;removed&nbsp;endpoint&nbsp;to&nbsp;the&nbsp;path,&nbsp;with&nbsp;minimal&nbsp;twisting.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>(hashtable<font color="#909090">=None</font>)</dt><dd><tt>Display&nbsp;the&nbsp;fill&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-removeEndpoints"><strong>removeEndpoints</strong></a>(aroundPixelTable, layerExtrusionWidth, paths, removedEndpoints, aroundWidth)</dt><dd><tt>Remove&nbsp;endpoints&nbsp;which&nbsp;are&nbsp;added&nbsp;to&nbsp;the&nbsp;path.</tt></dd></dl>
<dl><dt><a name="-setIsOutside"><strong>setIsOutside</strong></a>(yCloseToCenterPath, yIntersectionPaths)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;yCloseToCenterPath&nbsp;is&nbsp;outside.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Fill&nbsp;the&nbsp;carves&nbsp;of&nbsp;a&nbsp;gcode&nbsp;file.&nbsp;&nbsp;Chain&nbsp;carve&nbsp;the&nbsp;file&nbsp;if&nbsp;it&nbsp;is&nbsp;a&nbsp;GNU&nbsp;TriangulatedSurface&nbsp;file.&nbsp;&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;fill&nbsp;the&nbsp;first&nbsp;unmodified&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/28/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,418 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.fillet</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.fillet</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/fillet.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/fillet.py</a></font></td></tr></table>
<p><tt>Fillet&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;fillet&nbsp;or&nbsp;bevel&nbsp;the&nbsp;corners&nbsp;on&nbsp;a&nbsp;gcode&nbsp;file.<br>
&nbsp;<br>
The&nbsp;default&nbsp;'Activate&nbsp;Fillet'&nbsp;checkbox&nbsp;is&nbsp;on.&nbsp;&nbsp;When&nbsp;it&nbsp;is&nbsp;on,&nbsp;the&nbsp;functions&nbsp;described&nbsp;below&nbsp;will&nbsp;work,&nbsp;when&nbsp;it&nbsp;is&nbsp;off,&nbsp;the&nbsp;functions<br>
will&nbsp;not&nbsp;be&nbsp;called.<br>
&nbsp;<br>
Fillet&nbsp;rounds&nbsp;the&nbsp;corners&nbsp;slightly&nbsp;in&nbsp;a&nbsp;variety&nbsp;of&nbsp;ways.&nbsp;&nbsp;This&nbsp;is&nbsp;to&nbsp;reduce&nbsp;corner&nbsp;blobbing&nbsp;and&nbsp;sudden&nbsp;extruder&nbsp;acceleration.<br>
The&nbsp;'Arc&nbsp;Point'&nbsp;method&nbsp;fillets&nbsp;the&nbsp;corners&nbsp;with&nbsp;an&nbsp;arc&nbsp;using&nbsp;the&nbsp;gcode&nbsp;point&nbsp;form.&nbsp;&nbsp;The&nbsp;'Arc&nbsp;Radius'&nbsp;method&nbsp;fillets&nbsp;with&nbsp;an&nbsp;arc<br>
using&nbsp;the&nbsp;gcode&nbsp;radius&nbsp;form.&nbsp;&nbsp;The&nbsp;'Arc&nbsp;Segment'&nbsp;method&nbsp;fillets&nbsp;corners&nbsp;with&nbsp;an&nbsp;arc&nbsp;composed&nbsp;of&nbsp;several&nbsp;segments.&nbsp;&nbsp;The<br>
'Bevel'&nbsp;method&nbsp;bevels&nbsp;each&nbsp;corner.&nbsp;&nbsp;The&nbsp;default&nbsp;radio&nbsp;button&nbsp;choice&nbsp;is&nbsp;'Bevel'.<br>
&nbsp;<br>
The&nbsp;'Corner&nbsp;Feedrate&nbsp;over&nbsp;Operating&nbsp;Feedrate'&nbsp;is&nbsp;the&nbsp;ratio&nbsp;of&nbsp;the&nbsp;feedrate&nbsp;in&nbsp;corners&nbsp;over&nbsp;the&nbsp;operating&nbsp;feedrate.&nbsp;&nbsp;With&nbsp;a&nbsp;high<br>
value&nbsp;the&nbsp;extruder&nbsp;will&nbsp;move&nbsp;quickly&nbsp;in&nbsp;corners,&nbsp;accelerating&nbsp;quickly&nbsp;and&nbsp;leaving&nbsp;a&nbsp;thin&nbsp;extrusion.&nbsp;&nbsp;With&nbsp;a&nbsp;low&nbsp;value,&nbsp;the<br>
extruder&nbsp;will&nbsp;move&nbsp;slowly&nbsp;in&nbsp;corners,&nbsp;accelerating&nbsp;gently&nbsp;and&nbsp;leaving&nbsp;a&nbsp;thick&nbsp;extrusion.&nbsp;&nbsp;The&nbsp;default&nbsp;value&nbsp;is&nbsp;1.0.&nbsp;&nbsp;The&nbsp;'Fillet<br>
Radius&nbsp;over&nbsp;Extrusion&nbsp;Width'&nbsp;ratio&nbsp;determines&nbsp;how&nbsp;much&nbsp;wide&nbsp;the&nbsp;fillet&nbsp;will&nbsp;be,&nbsp;the&nbsp;default&nbsp;is&nbsp;0.35.&nbsp;&nbsp;The&nbsp;'Reversal&nbsp;Slowdown<br>
over&nbsp;Extrusion&nbsp;Width'&nbsp;ratio&nbsp;determines&nbsp;how&nbsp;far&nbsp;before&nbsp;a&nbsp;path&nbsp;reversal&nbsp;the&nbsp;extruder&nbsp;will&nbsp;slow&nbsp;down.&nbsp;&nbsp;Some&nbsp;tools,&nbsp;like&nbsp;nozzle<br>
wipe,&nbsp;double&nbsp;back&nbsp;the&nbsp;path&nbsp;of&nbsp;the&nbsp;extruder&nbsp;and&nbsp;this&nbsp;option&nbsp;will&nbsp;add&nbsp;a&nbsp;slowdown&nbsp;point&nbsp;in&nbsp;that&nbsp;path&nbsp;so&nbsp;there&nbsp;won't&nbsp;be&nbsp;a&nbsp;sudden<br>
jerk&nbsp;at&nbsp;the&nbsp;end&nbsp;of&nbsp;the&nbsp;path.&nbsp;&nbsp;The&nbsp;default&nbsp;value&nbsp;is&nbsp;0.5&nbsp;and&nbsp;if&nbsp;the&nbsp;value&nbsp;is&nbsp;less&nbsp;than&nbsp;0.1&nbsp;a&nbsp;slowdown&nbsp;will&nbsp;not&nbsp;be&nbsp;added.&nbsp;&nbsp;If<br>
'Use&nbsp;Intermediate&nbsp;Feedrate&nbsp;in&nbsp;Corners'&nbsp;is&nbsp;chosen,&nbsp;the&nbsp;feedrate&nbsp;entering&nbsp;the&nbsp;corner&nbsp;will&nbsp;be&nbsp;the&nbsp;average&nbsp;of&nbsp;the&nbsp;old&nbsp;feedrate&nbsp;and<br>
the&nbsp;new&nbsp;feedrate,&nbsp;the&nbsp;default&nbsp;is&nbsp;true.&nbsp;&nbsp;To&nbsp;run&nbsp;fillet,&nbsp;in&nbsp;a&nbsp;shell&nbsp;in&nbsp;the&nbsp;folder&nbsp;which&nbsp;fillet&nbsp;is&nbsp;in&nbsp;type:<br>
&gt;&nbsp;python&nbsp;fillet.py<br>
&nbsp;<br>
The&nbsp;following&nbsp;examples&nbsp;fillet&nbsp;the&nbsp;files&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode&nbsp;&amp;&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl.&nbsp;&nbsp;The&nbsp;examples&nbsp;are&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the&nbsp;folder<br>
which&nbsp;contains&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode,&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;and&nbsp;fillet.py.&nbsp;&nbsp;The&nbsp;fillet&nbsp;function&nbsp;executes&nbsp;the&nbsp;preferred&nbsp;fillet&nbsp;type,&nbsp;which<br>
can&nbsp;be&nbsp;set&nbsp;in&nbsp;the&nbsp;dialog&nbsp;or&nbsp;by&nbsp;changing&nbsp;the&nbsp;preferences&nbsp;file&nbsp;'fillet.csv'&nbsp;with&nbsp;a&nbsp;text&nbsp;editor&nbsp;or&nbsp;a&nbsp;spreadsheet&nbsp;program&nbsp;set&nbsp;to&nbsp;separate<br>
tabs.&nbsp;&nbsp;The&nbsp;functions&nbsp;writeOutput&nbsp;and&nbsp;getFilletChainGcode&nbsp;check&nbsp;to&nbsp;see&nbsp;if&nbsp;the&nbsp;text&nbsp;has&nbsp;been&nbsp;combed,&nbsp;if&nbsp;not&nbsp;they&nbsp;call&nbsp;the<br>
getOozebaneChainGcode&nbsp;in&nbsp;oozebane.py&nbsp;to&nbsp;fill&nbsp;the&nbsp;text;&nbsp;once&nbsp;they&nbsp;have&nbsp;the&nbsp;oozebaned&nbsp;text,&nbsp;then&nbsp;they&nbsp;fillet.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;fillet.py<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;dialog,&nbsp;after&nbsp;clicking&nbsp;'Fillet',&nbsp;the&nbsp;following&nbsp;is&nbsp;printed:<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;filleted.<br>
The&nbsp;filleted&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_fillet.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;fillet<br>
&gt;&gt;&gt;&nbsp;fillet.<a href="#-main">main</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;fillet&nbsp;dialog.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;fillet.<a href="#-arcPointFile">arcPointFile</a>()<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode&nbsp;is&nbsp;being&nbsp;filleted&nbsp;into&nbsp;arc&nbsp;points.<br>
The&nbsp;arc&nbsp;point&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_fillet.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;fillet.<a href="#-arcRadiusFile">arcRadiusFile</a>()<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode&nbsp;is&nbsp;being&nbsp;filleted&nbsp;into&nbsp;arc&nbsp;radiuses.<br>
The&nbsp;arc&nbsp;radius&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_fillet.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;fillet.<a href="#-arcSegmentFile">arcSegmentFile</a>()<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode&nbsp;is&nbsp;being&nbsp;arc&nbsp;segmented.<br>
The&nbsp;arc&nbsp;segment&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_fillet.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;fillet.<a href="#-bevelFile">bevelFile</a>()<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode&nbsp;is&nbsp;being&nbsp;beveled.<br>
The&nbsp;beveled&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_fillet.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;fillet.<a href="#-getArcPointGcode">getArcPointGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;fillet.<a href="#-getArcRadiusGcode">getArcRadiusGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;fillet.<a href="#-getArcSegmentGcode">getArcSegmentGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;fillet.<a href="#-getBevelGcode">getBevelGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;fillet.<a href="#-getFilletGcode">getFilletGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;fillet.<a href="#-getFilletChainGcode">getFilletChainGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;fillet.<a href="#-writeOutput">writeOutput</a>()<br>
Screw&nbsp;Holder&nbsp;Bottom.stl<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode&nbsp;is&nbsp;being&nbsp;chain&nbsp;filleted.<br>
The&nbsp;filleted&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_fillet.gcode</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="skeinforge_tools.analyze.html">skeinforge_tools.analyze</a><br>
<a href="cStringIO.html">cStringIO</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
<a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="skeinforge_tools.skeinforge_utilities.interpret.html">skeinforge_tools.skeinforge_utilities.interpret</a><br>
</td><td width="25%" valign=top><a href="math.html">math</a><br>
<a href="skeinforge_tools.oozebane.html">skeinforge_tools.oozebane</a><br>
<a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
<a href="sys.html">sys</a><br>
<a href="time.html">time</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.fillet.html#BevelSkein">BevelSkein</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.fillet.html#ArcSegmentSkein">ArcSegmentSkein</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.fillet.html#ArcPointSkein">ArcPointSkein</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.fillet.html#ArcRadiusSkein">ArcRadiusSkein</a>
</font></dt></dl>
</dd>
</dl>
</dd>
</dl>
</dd>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.fillet.html#FilletPreferences">FilletPreferences</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="ArcPointSkein">class <strong>ArcPointSkein</strong></a>(<a href="skeinforge_tools.fillet.html#ArcSegmentSkein">ArcSegmentSkein</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;arc&nbsp;point&nbsp;a&nbsp;skein&nbsp;of&nbsp;extrusions.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="skeinforge_tools.fillet.html#ArcPointSkein">ArcPointSkein</a></dd>
<dd><a href="skeinforge_tools.fillet.html#ArcSegmentSkein">ArcSegmentSkein</a></dd>
<dd><a href="skeinforge_tools.fillet.html#BevelSkein">BevelSkein</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="ArcPointSkein-addArc"><strong>addArc</strong></a>(self, afterCenterDifferenceAngle, afterPoint, beforeCenterSegment, beforePoint, center)</dt><dd><tt>Add&nbsp;an&nbsp;arc&nbsp;point&nbsp;to&nbsp;the&nbsp;filleted&nbsp;skein.</tt></dd></dl>
<dl><dt><a name="ArcPointSkein-addRelativeCenter"><strong>addRelativeCenter</strong></a>(self, centerMinusBefore)</dt><dd><tt>Add&nbsp;the&nbsp;relative&nbsp;center&nbsp;to&nbsp;a&nbsp;line&nbsp;of&nbsp;the&nbsp;arc&nbsp;point&nbsp;filleted&nbsp;skein.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.fillet.html#ArcSegmentSkein">ArcSegmentSkein</a>:<br>
<dl><dt><a name="ArcPointSkein-splitPointGetAfter"><strong>splitPointGetAfter</strong></a>(self, location, nextLocation)</dt><dd><tt>Fillet&nbsp;a&nbsp;point&nbsp;into&nbsp;arc&nbsp;segments&nbsp;and&nbsp;return&nbsp;the&nbsp;end&nbsp;of&nbsp;the&nbsp;last&nbsp;segment.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.fillet.html#BevelSkein">BevelSkein</a>:<br>
<dl><dt><a name="ArcPointSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="ArcPointSkein-addFeedrateEnd"><strong>addFeedrateEnd</strong></a>(self, feedrate)</dt><dd><tt>Add&nbsp;the&nbsp;gcode&nbsp;feedrate&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="ArcPointSkein-addLine"><strong>addLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;of&nbsp;text&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="ArcPointSkein-addLinearMovePoint"><strong>addLinearMovePoint</strong></a>(self, feedrate, point)</dt><dd><tt>Add&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move,&nbsp;feedrate&nbsp;and&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="ArcPointSkein-addPoint"><strong>addPoint</strong></a>(self, point)</dt><dd><tt>Add&nbsp;a&nbsp;gcode&nbsp;point&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="ArcPointSkein-getCornerFeedrate"><strong>getCornerFeedrate</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;corner&nbsp;feedrate,&nbsp;which&nbsp;may&nbsp;be&nbsp;based&nbsp;on&nbsp;the&nbsp;intermediate&nbsp;feedrate.</tt></dd></dl>
<dl><dt><a name="ArcPointSkein-getExtruderOffReversalPoint"><strong>getExtruderOffReversalPoint</strong></a>(self, afterSegment, beforeSegment, location)</dt><dd><tt>If&nbsp;the&nbsp;extruder&nbsp;is&nbsp;off&nbsp;and&nbsp;the&nbsp;path&nbsp;is&nbsp;reversing,&nbsp;add&nbsp;intermediate&nbsp;slow&nbsp;points.</tt></dd></dl>
<dl><dt><a name="ArcPointSkein-getNextLocation"><strong>getNextLocation</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;next&nbsp;linear&nbsp;move.&nbsp;&nbsp;Return&nbsp;none&nbsp;is&nbsp;none&nbsp;is&nbsp;found.</tt></dd></dl>
<dl><dt><a name="ArcPointSkein-getRounded"><strong>getRounded</strong></a>(self, number)</dt><dd><tt>Get&nbsp;number&nbsp;rounded&nbsp;to&nbsp;the&nbsp;number&nbsp;of&nbsp;carried&nbsp;decimal&nbsp;places&nbsp;as&nbsp;a&nbsp;string.</tt></dd></dl>
<dl><dt><a name="ArcPointSkein-linearMove"><strong>linearMove</strong></a>(self, splitLine)</dt><dd><tt>Bevel&nbsp;a&nbsp;linear&nbsp;move.</tt></dd></dl>
<dl><dt><a name="ArcPointSkein-parseGcode"><strong>parseGcode</strong></a>(self, filletPreferences, gcodeText)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;bevel&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="ArcPointSkein-parseInitialization"><strong>parseInitialization</strong></a>(self, filletPreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;initialization&nbsp;and&nbsp;store&nbsp;the&nbsp;parameters.</tt></dd></dl>
<dl><dt><a name="ArcPointSkein-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;bevel&nbsp;gcode.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="ArcRadiusSkein">class <strong>ArcRadiusSkein</strong></a>(<a href="skeinforge_tools.fillet.html#ArcPointSkein">ArcPointSkein</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;arc&nbsp;radius&nbsp;a&nbsp;skein&nbsp;of&nbsp;extrusions.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="skeinforge_tools.fillet.html#ArcRadiusSkein">ArcRadiusSkein</a></dd>
<dd><a href="skeinforge_tools.fillet.html#ArcPointSkein">ArcPointSkein</a></dd>
<dd><a href="skeinforge_tools.fillet.html#ArcSegmentSkein">ArcSegmentSkein</a></dd>
<dd><a href="skeinforge_tools.fillet.html#BevelSkein">BevelSkein</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="ArcRadiusSkein-addRelativeCenter"><strong>addRelativeCenter</strong></a>(self, centerMinusBefore)</dt><dd><tt>Add&nbsp;the&nbsp;relative&nbsp;center&nbsp;to&nbsp;a&nbsp;line&nbsp;of&nbsp;the&nbsp;arc&nbsp;radius&nbsp;filleted&nbsp;skein.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.fillet.html#ArcPointSkein">ArcPointSkein</a>:<br>
<dl><dt><a name="ArcRadiusSkein-addArc"><strong>addArc</strong></a>(self, afterCenterDifferenceAngle, afterPoint, beforeCenterSegment, beforePoint, center)</dt><dd><tt>Add&nbsp;an&nbsp;arc&nbsp;point&nbsp;to&nbsp;the&nbsp;filleted&nbsp;skein.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.fillet.html#ArcSegmentSkein">ArcSegmentSkein</a>:<br>
<dl><dt><a name="ArcRadiusSkein-splitPointGetAfter"><strong>splitPointGetAfter</strong></a>(self, location, nextLocation)</dt><dd><tt>Fillet&nbsp;a&nbsp;point&nbsp;into&nbsp;arc&nbsp;segments&nbsp;and&nbsp;return&nbsp;the&nbsp;end&nbsp;of&nbsp;the&nbsp;last&nbsp;segment.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.fillet.html#BevelSkein">BevelSkein</a>:<br>
<dl><dt><a name="ArcRadiusSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="ArcRadiusSkein-addFeedrateEnd"><strong>addFeedrateEnd</strong></a>(self, feedrate)</dt><dd><tt>Add&nbsp;the&nbsp;gcode&nbsp;feedrate&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="ArcRadiusSkein-addLine"><strong>addLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;of&nbsp;text&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="ArcRadiusSkein-addLinearMovePoint"><strong>addLinearMovePoint</strong></a>(self, feedrate, point)</dt><dd><tt>Add&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move,&nbsp;feedrate&nbsp;and&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="ArcRadiusSkein-addPoint"><strong>addPoint</strong></a>(self, point)</dt><dd><tt>Add&nbsp;a&nbsp;gcode&nbsp;point&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="ArcRadiusSkein-getCornerFeedrate"><strong>getCornerFeedrate</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;corner&nbsp;feedrate,&nbsp;which&nbsp;may&nbsp;be&nbsp;based&nbsp;on&nbsp;the&nbsp;intermediate&nbsp;feedrate.</tt></dd></dl>
<dl><dt><a name="ArcRadiusSkein-getExtruderOffReversalPoint"><strong>getExtruderOffReversalPoint</strong></a>(self, afterSegment, beforeSegment, location)</dt><dd><tt>If&nbsp;the&nbsp;extruder&nbsp;is&nbsp;off&nbsp;and&nbsp;the&nbsp;path&nbsp;is&nbsp;reversing,&nbsp;add&nbsp;intermediate&nbsp;slow&nbsp;points.</tt></dd></dl>
<dl><dt><a name="ArcRadiusSkein-getNextLocation"><strong>getNextLocation</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;next&nbsp;linear&nbsp;move.&nbsp;&nbsp;Return&nbsp;none&nbsp;is&nbsp;none&nbsp;is&nbsp;found.</tt></dd></dl>
<dl><dt><a name="ArcRadiusSkein-getRounded"><strong>getRounded</strong></a>(self, number)</dt><dd><tt>Get&nbsp;number&nbsp;rounded&nbsp;to&nbsp;the&nbsp;number&nbsp;of&nbsp;carried&nbsp;decimal&nbsp;places&nbsp;as&nbsp;a&nbsp;string.</tt></dd></dl>
<dl><dt><a name="ArcRadiusSkein-linearMove"><strong>linearMove</strong></a>(self, splitLine)</dt><dd><tt>Bevel&nbsp;a&nbsp;linear&nbsp;move.</tt></dd></dl>
<dl><dt><a name="ArcRadiusSkein-parseGcode"><strong>parseGcode</strong></a>(self, filletPreferences, gcodeText)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;bevel&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="ArcRadiusSkein-parseInitialization"><strong>parseInitialization</strong></a>(self, filletPreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;initialization&nbsp;and&nbsp;store&nbsp;the&nbsp;parameters.</tt></dd></dl>
<dl><dt><a name="ArcRadiusSkein-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;bevel&nbsp;gcode.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="ArcSegmentSkein">class <strong>ArcSegmentSkein</strong></a>(<a href="skeinforge_tools.fillet.html#BevelSkein">BevelSkein</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;arc&nbsp;segment&nbsp;a&nbsp;skein&nbsp;of&nbsp;extrusions.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="ArcSegmentSkein-addArc"><strong>addArc</strong></a>(self, afterCenterDifferenceAngle, afterPoint, beforeCenterSegment, beforePoint, center)</dt><dd><tt>Add&nbsp;arc&nbsp;segments&nbsp;to&nbsp;the&nbsp;filleted&nbsp;skein.</tt></dd></dl>
<dl><dt><a name="ArcSegmentSkein-splitPointGetAfter"><strong>splitPointGetAfter</strong></a>(self, location, nextLocation)</dt><dd><tt>Fillet&nbsp;a&nbsp;point&nbsp;into&nbsp;arc&nbsp;segments&nbsp;and&nbsp;return&nbsp;the&nbsp;end&nbsp;of&nbsp;the&nbsp;last&nbsp;segment.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.fillet.html#BevelSkein">BevelSkein</a>:<br>
<dl><dt><a name="ArcSegmentSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="ArcSegmentSkein-addFeedrateEnd"><strong>addFeedrateEnd</strong></a>(self, feedrate)</dt><dd><tt>Add&nbsp;the&nbsp;gcode&nbsp;feedrate&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="ArcSegmentSkein-addLine"><strong>addLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;of&nbsp;text&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="ArcSegmentSkein-addLinearMovePoint"><strong>addLinearMovePoint</strong></a>(self, feedrate, point)</dt><dd><tt>Add&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move,&nbsp;feedrate&nbsp;and&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="ArcSegmentSkein-addPoint"><strong>addPoint</strong></a>(self, point)</dt><dd><tt>Add&nbsp;a&nbsp;gcode&nbsp;point&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="ArcSegmentSkein-getCornerFeedrate"><strong>getCornerFeedrate</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;corner&nbsp;feedrate,&nbsp;which&nbsp;may&nbsp;be&nbsp;based&nbsp;on&nbsp;the&nbsp;intermediate&nbsp;feedrate.</tt></dd></dl>
<dl><dt><a name="ArcSegmentSkein-getExtruderOffReversalPoint"><strong>getExtruderOffReversalPoint</strong></a>(self, afterSegment, beforeSegment, location)</dt><dd><tt>If&nbsp;the&nbsp;extruder&nbsp;is&nbsp;off&nbsp;and&nbsp;the&nbsp;path&nbsp;is&nbsp;reversing,&nbsp;add&nbsp;intermediate&nbsp;slow&nbsp;points.</tt></dd></dl>
<dl><dt><a name="ArcSegmentSkein-getNextLocation"><strong>getNextLocation</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;next&nbsp;linear&nbsp;move.&nbsp;&nbsp;Return&nbsp;none&nbsp;is&nbsp;none&nbsp;is&nbsp;found.</tt></dd></dl>
<dl><dt><a name="ArcSegmentSkein-getRounded"><strong>getRounded</strong></a>(self, number)</dt><dd><tt>Get&nbsp;number&nbsp;rounded&nbsp;to&nbsp;the&nbsp;number&nbsp;of&nbsp;carried&nbsp;decimal&nbsp;places&nbsp;as&nbsp;a&nbsp;string.</tt></dd></dl>
<dl><dt><a name="ArcSegmentSkein-linearMove"><strong>linearMove</strong></a>(self, splitLine)</dt><dd><tt>Bevel&nbsp;a&nbsp;linear&nbsp;move.</tt></dd></dl>
<dl><dt><a name="ArcSegmentSkein-parseGcode"><strong>parseGcode</strong></a>(self, filletPreferences, gcodeText)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;bevel&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="ArcSegmentSkein-parseInitialization"><strong>parseInitialization</strong></a>(self, filletPreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;initialization&nbsp;and&nbsp;store&nbsp;the&nbsp;parameters.</tt></dd></dl>
<dl><dt><a name="ArcSegmentSkein-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;bevel&nbsp;gcode.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="BevelSkein">class <strong>BevelSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;bevel&nbsp;a&nbsp;skein&nbsp;of&nbsp;extrusions.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="BevelSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="BevelSkein-addFeedrateEnd"><strong>addFeedrateEnd</strong></a>(self, feedrate)</dt><dd><tt>Add&nbsp;the&nbsp;gcode&nbsp;feedrate&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="BevelSkein-addLine"><strong>addLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;of&nbsp;text&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="BevelSkein-addLinearMovePoint"><strong>addLinearMovePoint</strong></a>(self, feedrate, point)</dt><dd><tt>Add&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move,&nbsp;feedrate&nbsp;and&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="BevelSkein-addPoint"><strong>addPoint</strong></a>(self, point)</dt><dd><tt>Add&nbsp;a&nbsp;gcode&nbsp;point&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="BevelSkein-getCornerFeedrate"><strong>getCornerFeedrate</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;corner&nbsp;feedrate,&nbsp;which&nbsp;may&nbsp;be&nbsp;based&nbsp;on&nbsp;the&nbsp;intermediate&nbsp;feedrate.</tt></dd></dl>
<dl><dt><a name="BevelSkein-getExtruderOffReversalPoint"><strong>getExtruderOffReversalPoint</strong></a>(self, afterSegment, beforeSegment, location)</dt><dd><tt>If&nbsp;the&nbsp;extruder&nbsp;is&nbsp;off&nbsp;and&nbsp;the&nbsp;path&nbsp;is&nbsp;reversing,&nbsp;add&nbsp;intermediate&nbsp;slow&nbsp;points.</tt></dd></dl>
<dl><dt><a name="BevelSkein-getNextLocation"><strong>getNextLocation</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;next&nbsp;linear&nbsp;move.&nbsp;&nbsp;Return&nbsp;none&nbsp;is&nbsp;none&nbsp;is&nbsp;found.</tt></dd></dl>
<dl><dt><a name="BevelSkein-getRounded"><strong>getRounded</strong></a>(self, number)</dt><dd><tt>Get&nbsp;number&nbsp;rounded&nbsp;to&nbsp;the&nbsp;number&nbsp;of&nbsp;carried&nbsp;decimal&nbsp;places&nbsp;as&nbsp;a&nbsp;string.</tt></dd></dl>
<dl><dt><a name="BevelSkein-linearMove"><strong>linearMove</strong></a>(self, splitLine)</dt><dd><tt>Bevel&nbsp;a&nbsp;linear&nbsp;move.</tt></dd></dl>
<dl><dt><a name="BevelSkein-parseGcode"><strong>parseGcode</strong></a>(self, filletPreferences, gcodeText)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;bevel&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="BevelSkein-parseInitialization"><strong>parseInitialization</strong></a>(self, filletPreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;initialization&nbsp;and&nbsp;store&nbsp;the&nbsp;parameters.</tt></dd></dl>
<dl><dt><a name="BevelSkein-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;bevel&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="BevelSkein-splitPointGetAfter"><strong>splitPointGetAfter</strong></a>(self, location, nextLocation)</dt><dd><tt>Bevel&nbsp;a&nbsp;point&nbsp;and&nbsp;return&nbsp;the&nbsp;end&nbsp;of&nbsp;the&nbsp;bevel.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="FilletPreferences">class <strong>FilletPreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;fillet&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="FilletPreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="FilletPreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Fillet&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-arcPointFile"><strong>arcPointFile</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Fillet&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;file&nbsp;into&nbsp;a&nbsp;helical&nbsp;point&nbsp;move&nbsp;file.&nbsp;&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;arc&nbsp;point&nbsp;the&nbsp;first&nbsp;unmodified&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
<dl><dt><a name="-arcRadiusFile"><strong>arcRadiusFile</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Fillet&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;file&nbsp;into&nbsp;a&nbsp;helical&nbsp;radius&nbsp;move&nbsp;file.&nbsp;&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;arc&nbsp;radius&nbsp;the&nbsp;first&nbsp;unmodified&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
<dl><dt><a name="-arcSegmentFile"><strong>arcSegmentFile</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Fillet&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;file&nbsp;into&nbsp;an&nbsp;arc&nbsp;segment&nbsp;linear&nbsp;move&nbsp;file.&nbsp;&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;arc&nbsp;segment&nbsp;the&nbsp;first&nbsp;unmodified&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
<dl><dt><a name="-bevelFile"><strong>bevelFile</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Bevel&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;file.&nbsp;&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;bevel&nbsp;the&nbsp;first&nbsp;unmodified&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
<dl><dt><a name="-getArcPointGcode"><strong>getArcPointGcode</strong></a>(filletPreferences, gcodeText)</dt><dd><tt>Arc&nbsp;point&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text&nbsp;into&nbsp;a&nbsp;helical&nbsp;point&nbsp;move&nbsp;gcode&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-getArcRadiusGcode"><strong>getArcRadiusGcode</strong></a>(filletPreferences, gcodeText)</dt><dd><tt>Arc&nbsp;radius&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text&nbsp;into&nbsp;a&nbsp;helical&nbsp;radius&nbsp;move&nbsp;gcode&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-getArcSegmentGcode"><strong>getArcSegmentGcode</strong></a>(filletPreferences, gcodeText)</dt><dd><tt>Arc&nbsp;segment&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text&nbsp;into&nbsp;an&nbsp;arc&nbsp;segment&nbsp;linear&nbsp;move&nbsp;gcode&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-getBevelGcode"><strong>getBevelGcode</strong></a>(filletPreferences, gcodeText)</dt><dd><tt>Bevel&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-getFilletChainGcode"><strong>getFilletChainGcode</strong></a>(fileName, gcodeText, filletPreferences<font color="#909090">=None</font>)</dt><dd><tt>Fillet&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.&nbsp;&nbsp;Chain&nbsp;oozebane&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;oozebaned.</tt></dd></dl>
<dl><dt><a name="-getFilletGcode"><strong>getFilletGcode</strong></a>(gcodeText, filletPreferences<font color="#909090">=None</font>)</dt><dd><tt>Fillet&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>()</dt><dd><tt>Display&nbsp;the&nbsp;fillet&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Fillet&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;file.&nbsp;&nbsp;Chain&nbsp;fill&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;filled.<br>
Depending&nbsp;on&nbsp;the&nbsp;preferences,&nbsp;either&nbsp;arcPoint,&nbsp;arcRadius,&nbsp;arcSegment,&nbsp;bevel&nbsp;or&nbsp;do&nbsp;nothing.<br>
If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;fillet&nbsp;the&nbsp;first&nbsp;unmodified&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,169 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.hop</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.hop</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/hop.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/hop.py</a></font></td></tr></table>
<p><tt>Hop&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;raise&nbsp;the&nbsp;extruder&nbsp;when&nbsp;it&nbsp;is&nbsp;not&nbsp;extruding.<br>
&nbsp;<br>
The&nbsp;default&nbsp;'Activate&nbsp;Hop'&nbsp;checkbox&nbsp;is&nbsp;off.&nbsp;&nbsp;It&nbsp;is&nbsp;off&nbsp;because&nbsp;Vik&nbsp;and&nbsp;Nophead&nbsp;found&nbsp;better&nbsp;results&nbsp;without&nbsp;hopping.&nbsp;&nbsp;When&nbsp;it<br>
is&nbsp;on,&nbsp;the&nbsp;functions&nbsp;described&nbsp;below&nbsp;will&nbsp;work,&nbsp;when&nbsp;it&nbsp;is&nbsp;off,&nbsp;the&nbsp;functions&nbsp;will&nbsp;not&nbsp;be&nbsp;called.<br>
&nbsp;<br>
The&nbsp;important&nbsp;value&nbsp;for&nbsp;the&nbsp;hop&nbsp;preferences&nbsp;is&nbsp;"Hop&nbsp;Over&nbsp;Layer&nbsp;Thickness&nbsp;(ratio)"&nbsp;which&nbsp;is&nbsp;the&nbsp;ratio&nbsp;of&nbsp;the&nbsp;hop&nbsp;height&nbsp;over&nbsp;the<br>
layer&nbsp;thickness,&nbsp;the&nbsp;default&nbsp;is&nbsp;1.0.&nbsp;&nbsp;The&nbsp;'Minimum&nbsp;Hop&nbsp;Angle&nbsp;(degrees)'&nbsp;is&nbsp;the&nbsp;minimum&nbsp;angle&nbsp;that&nbsp;the&nbsp;path&nbsp;of&nbsp;the&nbsp;extruder<br>
will&nbsp;be&nbsp;raised.&nbsp;&nbsp;An&nbsp;angle&nbsp;of&nbsp;ninety&nbsp;means&nbsp;that&nbsp;the&nbsp;extruder&nbsp;will&nbsp;go&nbsp;straight&nbsp;up&nbsp;as&nbsp;soon&nbsp;as&nbsp;it&nbsp;is&nbsp;not&nbsp;extruding&nbsp;and&nbsp;a&nbsp;low&nbsp;angle<br>
means&nbsp;the&nbsp;extruder&nbsp;path&nbsp;will&nbsp;gradually&nbsp;rise&nbsp;to&nbsp;the&nbsp;hop&nbsp;height,&nbsp;the&nbsp;default&nbsp;is&nbsp;20&nbsp;degrees.<br>
&nbsp;<br>
To&nbsp;run&nbsp;hop,&nbsp;in&nbsp;a&nbsp;shell&nbsp;which&nbsp;hop&nbsp;is&nbsp;in&nbsp;type:<br>
&gt;&nbsp;python&nbsp;hop.py<br>
&nbsp;<br>
The&nbsp;following&nbsp;examples&nbsp;hop&nbsp;the&nbsp;files&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode&nbsp;&amp;&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl.&nbsp;&nbsp;The&nbsp;examples&nbsp;are&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the<br>
folder&nbsp;which&nbsp;contains&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode,&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;and&nbsp;hop.py.&nbsp;&nbsp;The&nbsp;hop&nbsp;function&nbsp;will&nbsp;hop&nbsp;if&nbsp;the&nbsp;'Activate&nbsp;Hop'<br>
checkbox&nbsp;is&nbsp;on.&nbsp;&nbsp;The&nbsp;functions&nbsp;writeOutput&nbsp;and&nbsp;getHopChainGcode&nbsp;check&nbsp;to&nbsp;see&nbsp;if&nbsp;the&nbsp;text&nbsp;has&nbsp;been&nbsp;hopped,&nbsp;if&nbsp;not&nbsp;they<br>
call&nbsp;the&nbsp;getStretchChainGcode&nbsp;in&nbsp;stretch.py&nbsp;to&nbsp;stretch&nbsp;the&nbsp;text;&nbsp;once&nbsp;they&nbsp;have&nbsp;the&nbsp;stretched&nbsp;text,&nbsp;then&nbsp;they&nbsp;hop.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;hop.py<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;dialog,&nbsp;after&nbsp;clicking&nbsp;'Hop',&nbsp;the&nbsp;following&nbsp;is&nbsp;printed:<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;hopped.<br>
The&nbsp;hopped&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_hop.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;hop<br>
&gt;&gt;&gt;&nbsp;hop.<a href="#-main">main</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;hop&nbsp;dialog.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;hop.<a href="#-writeOutput">writeOutput</a>()<br>
Screw&nbsp;Holder&nbsp;Bottom.stl<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;hopped.<br>
The&nbsp;hopped&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_hop.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;hop.<a href="#-getHopGcode">getHopGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;hop.<a href="#-getHopChainGcode">getHopChainGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="skeinforge_tools.analyze.html">skeinforge_tools.analyze</a><br>
<a href="cStringIO.html">cStringIO</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
<a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="skeinforge_tools.skeinforge_utilities.interpret.html">skeinforge_tools.skeinforge_utilities.interpret</a><br>
</td><td width="25%" valign=top><a href="math.html">math</a><br>
<a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
<a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.stretch.html">skeinforge_tools.stretch</a><br>
<a href="sys.html">sys</a><br>
<a href="time.html">time</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.hop.html#HopPreferences">HopPreferences</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.hop.html#HopSkein">HopSkein</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="HopPreferences">class <strong>HopPreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;hop&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="HopPreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="HopPreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Hop&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="HopSkein">class <strong>HopSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;hop&nbsp;a&nbsp;skein&nbsp;of&nbsp;extrusions.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="HopSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="HopSkein-addLine"><strong>addLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;of&nbsp;text&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="HopSkein-getHopLine"><strong>getHopLine</strong></a>(self, line)</dt><dd><tt>Get&nbsp;hopped&nbsp;gcode&nbsp;line.</tt></dd></dl>
<dl><dt><a name="HopSkein-getMovementLineWithHop"><strong>getMovementLineWithHop</strong></a>(self, location, z)</dt><dd><tt>Get&nbsp;linear&nbsp;movement&nbsp;line&nbsp;for&nbsp;a&nbsp;location.</tt></dd></dl>
<dl><dt><a name="HopSkein-getRounded"><strong>getRounded</strong></a>(self, number)</dt><dd><tt>Get&nbsp;number&nbsp;rounded&nbsp;to&nbsp;the&nbsp;number&nbsp;of&nbsp;carried&nbsp;decimal&nbsp;places&nbsp;as&nbsp;a&nbsp;string.</tt></dd></dl>
<dl><dt><a name="HopSkein-isNextTravel"><strong>isNextTravel</strong></a>(self)</dt><dd><tt>Determine&nbsp;if&nbsp;there&nbsp;is&nbsp;another&nbsp;linear&nbsp;travel&nbsp;before&nbsp;the&nbsp;thread&nbsp;ends.</tt></dd></dl>
<dl><dt><a name="HopSkein-parseGcode"><strong>parseGcode</strong></a>(self, gcodeText, hopPreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;hop&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="HopSkein-parseInitialization"><strong>parseInitialization</strong></a>(self, hopPreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;initialization&nbsp;and&nbsp;store&nbsp;the&nbsp;parameters.</tt></dd></dl>
<dl><dt><a name="HopSkein-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;bevel&nbsp;gcode.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getHopChainGcode"><strong>getHopChainGcode</strong></a>(fileName, gcodeText, hopPreferences<font color="#909090">=None</font>)</dt><dd><tt>Hop&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.&nbsp;&nbsp;Chain&nbsp;hop&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;hopped.</tt></dd></dl>
<dl><dt><a name="-getHopGcode"><strong>getHopGcode</strong></a>(gcodeText, hopPreferences<font color="#909090">=None</font>)</dt><dd><tt>Hop&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>(hashtable<font color="#909090">=None</font>)</dt><dd><tt>Display&nbsp;the&nbsp;hop&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Hop&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;file.&nbsp;&nbsp;Chain&nbsp;hop&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;hopped.&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;hop&nbsp;the&nbsp;first&nbsp;unmodified&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,54 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: package skeinforge_tools</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong>skeinforge_tools</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/__init__.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/__init__.py</a></font></td></tr></table>
<p><tt>#This&nbsp;is&nbsp;required&nbsp;to&nbsp;workaround&nbsp;the&nbsp;python&nbsp;import&nbsp;bug&nbsp;where&nbsp;relative&nbsp;imports&nbsp;don't&nbsp;work&nbsp;if&nbsp;the&nbsp;module&nbsp;is&nbsp;imported&nbsp;as&nbsp;a&nbsp;main&nbsp;module.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Package Contents</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="skeinforge_tools.analyze.html">analyze</a><br>
<a href="skeinforge_tools.analyze_plugins.html"><strong>analyze_plugins</strong>&nbsp;(package)</a><br>
<a href="skeinforge_tools.carve.html">carve</a><br>
<a href="skeinforge_tools.clip.html">clip</a><br>
<a href="skeinforge_tools.comb.html">comb</a><br>
<a href="skeinforge_tools.cool.html">cool</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.export.html">export</a><br>
<a href="skeinforge_tools.export_plugins.html"><strong>export_plugins</strong>&nbsp;(package)</a><br>
<a href="skeinforge_tools.fill.html">fill</a><br>
<a href="skeinforge_tools.fillet.html">fillet</a><br>
<a href="skeinforge_tools.hop.html">hop</a><br>
<a href="skeinforge_tools.import_plugins.html"><strong>import_plugins</strong>&nbsp;(package)</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.inset.html">inset</a><br>
<a href="skeinforge_tools.material.html">material</a><br>
<a href="skeinforge_tools.multiply.html">multiply</a><br>
<a href="skeinforge_tools.oozebane.html">oozebane</a><br>
<a href="skeinforge_tools.polyfile.html">polyfile</a><br>
<a href="skeinforge_tools.raft.html">raft</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.html"><strong>skeinforge_utilities</strong>&nbsp;(package)</a><br>
<a href="skeinforge_tools.speed.html">speed</a><br>
<a href="skeinforge_tools.stretch.html">stretch</a><br>
<a href="skeinforge_tools.tower.html">tower</a><br>
<a href="skeinforge_tools.unpause.html">unpause</a><br>
<a href="skeinforge_tools.wipe.html">wipe</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>level</strong> = 1<br>
<strong>numberOfLevelsDeepInPackageHierarchy</strong> = 1<br>
<strong>packageFilePath</strong> = '/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap'</td></tr></table>
</body></html>

View File

@@ -0,0 +1,83 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.import_plugins.gts</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.import_plugins.html"><font color="#ffffff">import_plugins</font></a>.gts</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/import_plugins/gts.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/import_plugins/gts.py</a></font></td></tr></table>
<p><tt>The&nbsp;gts.py&nbsp;script&nbsp;is&nbsp;an&nbsp;import&nbsp;translator&nbsp;plugin&nbsp;to&nbsp;get&nbsp;a&nbsp;carving&nbsp;from&nbsp;an&nbsp;gts&nbsp;file.<br>
&nbsp;<br>
An&nbsp;import&nbsp;plugin&nbsp;is&nbsp;a&nbsp;script&nbsp;in&nbsp;the&nbsp;import_plugins&nbsp;folder&nbsp;which&nbsp;has&nbsp;the&nbsp;function&nbsp;getCarving.&nbsp;&nbsp;It&nbsp;is&nbsp;meant&nbsp;to&nbsp;be&nbsp;run&nbsp;from&nbsp;the<br>
interpret&nbsp;tool.&nbsp;&nbsp;To&nbsp;ensure&nbsp;that&nbsp;the&nbsp;plugin&nbsp;works&nbsp;on&nbsp;platforms&nbsp;which&nbsp;do&nbsp;not&nbsp;handle&nbsp;file&nbsp;capitalization&nbsp;properly,&nbsp;give&nbsp;the&nbsp;plugin<br>
a&nbsp;lower&nbsp;case&nbsp;name.<br>
&nbsp;<br>
The&nbsp;getCarving&nbsp;function&nbsp;takes&nbsp;the&nbsp;file&nbsp;name&nbsp;of&nbsp;an&nbsp;gts&nbsp;file&nbsp;and&nbsp;returns&nbsp;the&nbsp;carving.<br>
&nbsp;<br>
The&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;(.gts)&nbsp;format&nbsp;is&nbsp;described&nbsp;at:<br>
<a href="http://gts.sourceforge.net/reference/gts-surfaces.html#GTS-SURFACE-WRITE">http://gts.sourceforge.net/reference/gts-surfaces.html#GTS-SURFACE-WRITE</a><br>
&nbsp;<br>
This&nbsp;example&nbsp;gets&nbsp;a&nbsp;carving&nbsp;for&nbsp;the&nbsp;gts&nbsp;file&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gts.&nbsp;&nbsp;This&nbsp;example&nbsp;is&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the&nbsp;folder&nbsp;which<br>
contains&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gts&nbsp;and&nbsp;gts.py.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;gts<br>
&gt;&gt;&gt;&nbsp;gts.<a href="#-getCarving">getCarving</a>()<br>
[11.6000003815,&nbsp;10.6837882996,&nbsp;7.80209827423<br>
..<br>
many&nbsp;more&nbsp;lines&nbsp;of&nbsp;the&nbsp;carving<br>
..</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.triangle_mesh.html">skeinforge_tools.skeinforge_utilities.triangle_mesh</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getCarving"><strong>getCarving</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Get&nbsp;the&nbsp;triangle&nbsp;mesh&nbsp;for&nbsp;the&nbsp;gts&nbsp;file.</tt></dd></dl>
<dl><dt><a name="-getFromGNUTriangulatedSurfaceText"><strong>getFromGNUTriangulatedSurfaceText</strong></a>(gnuTriangulatedSurfaceText, triangleMesh)</dt><dd><tt>Initialize&nbsp;from&nbsp;a&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;Text.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__credits__</strong> = 'Nophead &lt;http://hydraraptor.blogspot.com/&gt;<font color="#c040c0">\n</font>Art of Illusion &lt;http://www.artofillusion.org/&gt;'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Credits</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Nophead&nbsp;&lt;<a href="http://hydraraptor.blogspot.com/">http://hydraraptor.blogspot.com/</a>&gt;<br>
Art&nbsp;of&nbsp;Illusion&nbsp;&lt;<a href="http://www.artofillusion.org/">http://www.artofillusion.org/</a>&gt;</td></tr></table>
</body></html>

View File

@@ -0,0 +1,35 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: package skeinforge_tools.import_plugins</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.import_plugins</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/import_plugins/__init__.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/import_plugins/__init__.py</a></font></td></tr></table>
<p><tt>#This&nbsp;is&nbsp;required&nbsp;to&nbsp;workaround&nbsp;the&nbsp;python&nbsp;import&nbsp;bug&nbsp;where&nbsp;relative&nbsp;imports&nbsp;don't&nbsp;work&nbsp;if&nbsp;the&nbsp;module&nbsp;is&nbsp;imported&nbsp;as&nbsp;a&nbsp;main&nbsp;module.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Package Contents</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="skeinforge_tools.import_plugins.gts.html">gts</a><br>
<a href="skeinforge_tools.import_plugins.slc.html">slc</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.import_plugins.stl.html">stl</a><br>
<a href="skeinforge_tools.import_plugins.svg.html">svg</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.import_plugins.xml.html">xml</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>level</strong> = 2<br>
<strong>numberOfLevelsDeepInPackageHierarchy</strong> = 2<br>
<strong>packageFilePath</strong> = '/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap'</td></tr></table>
</body></html>

View File

@@ -0,0 +1,150 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.import_plugins.slc</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.import_plugins.html"><font color="#ffffff">import_plugins</font></a>.slc</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/import_plugins/slc.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/import_plugins/slc.py</a></font></td></tr></table>
<p><tt>The&nbsp;slc.py&nbsp;script&nbsp;is&nbsp;an&nbsp;import&nbsp;translator&nbsp;plugin&nbsp;to&nbsp;get&nbsp;a&nbsp;carving&nbsp;from&nbsp;an&nbsp;slc&nbsp;file.<br>
&nbsp;<br>
An&nbsp;import&nbsp;plugin&nbsp;is&nbsp;a&nbsp;script&nbsp;in&nbsp;the&nbsp;import_plugins&nbsp;folder&nbsp;which&nbsp;has&nbsp;the&nbsp;function&nbsp;getCarving.&nbsp;&nbsp;It&nbsp;is&nbsp;meant&nbsp;to&nbsp;be&nbsp;run&nbsp;from&nbsp;the<br>
interpret&nbsp;tool.&nbsp;&nbsp;To&nbsp;ensure&nbsp;that&nbsp;the&nbsp;plugin&nbsp;works&nbsp;on&nbsp;platforms&nbsp;which&nbsp;do&nbsp;not&nbsp;handle&nbsp;file&nbsp;capitalization&nbsp;properly,&nbsp;give&nbsp;the&nbsp;plugin<br>
a&nbsp;lower&nbsp;case&nbsp;name.<br>
&nbsp;<br>
The&nbsp;getCarving&nbsp;function&nbsp;takes&nbsp;the&nbsp;file&nbsp;name&nbsp;of&nbsp;an&nbsp;slc&nbsp;file&nbsp;and&nbsp;returns&nbsp;the&nbsp;carving.<br>
&nbsp;<br>
This&nbsp;example&nbsp;gets&nbsp;a&nbsp;triangle&nbsp;mesh&nbsp;for&nbsp;the&nbsp;slc&nbsp;file&nbsp;rotor.slc.&nbsp;&nbsp;This&nbsp;example&nbsp;is&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the&nbsp;folder&nbsp;which&nbsp;contains<br>
rotor.slc&nbsp;and&nbsp;slc.py.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;slc<br>
&gt;&gt;&gt;&nbsp;slc.<a href="#-getCarving">getCarving</a>()<br>
0.20000000298,&nbsp;999999999.0,&nbsp;-999999999.0,&nbsp;[8.72782748851e-17,&nbsp;None<br>
..<br>
many&nbsp;more&nbsp;lines&nbsp;of&nbsp;the&nbsp;carving<br>
..<br>
&nbsp;<br>
&nbsp;<br>
An&nbsp;explanation&nbsp;of&nbsp;the&nbsp;SLC&nbsp;format&nbsp;can&nbsp;be&nbsp;found&nbsp;at:<br>
<a href="http://rapid.lpt.fi/archives/rp-ml-1999/0713.html">http://rapid.lpt.fi/archives/rp-ml-1999/0713.html</a></tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
</td><td width="25%" valign=top><a href="sys.html">sys</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.import_plugins.slc.html#SLCCarving">SLCCarving</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.import_plugins.slc.html#SampleTableEntry">SampleTableEntry</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="SLCCarving">class <strong>SLCCarving</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>An&nbsp;slc&nbsp;carving.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="SLCCarving-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Add&nbsp;empty&nbsp;lists.</tt></dd></dl>
<dl><dt><a name="SLCCarving-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;carving.</tt></dd></dl>
<dl><dt><a name="SLCCarving-getCarveCornerMaximum"><strong>getCarveCornerMaximum</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;corner&nbsp;maximum&nbsp;of&nbsp;the&nbsp;vertices.</tt></dd></dl>
<dl><dt><a name="SLCCarving-getCarveCornerMinimum"><strong>getCarveCornerMinimum</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;corner&nbsp;minimum&nbsp;of&nbsp;the&nbsp;vertices.</tt></dd></dl>
<dl><dt><a name="SLCCarving-getCarveLayerThickness"><strong>getCarveLayerThickness</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;layer&nbsp;thickness.</tt></dd></dl>
<dl><dt><a name="SLCCarving-getCarveRotatedBoundaryLayers"><strong>getCarveRotatedBoundaryLayers</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;rotated&nbsp;boundary&nbsp;layers.</tt></dd></dl>
<dl><dt><a name="SLCCarving-processContourLayers"><strong>processContourLayers</strong></a>(self, file)</dt><dd><tt>Process&nbsp;a&nbsp;contour&nbsp;layer&nbsp;at&nbsp;a&nbsp;time&nbsp;until&nbsp;the&nbsp;top&nbsp;of&nbsp;the&nbsp;part.</tt></dd></dl>
<dl><dt><a name="SLCCarving-readFile"><strong>readFile</strong></a>(self, fileName)</dt><dd><tt>Read&nbsp;SLC&nbsp;and&nbsp;store&nbsp;the&nbsp;layers.</tt></dd></dl>
<dl><dt><a name="SLCCarving-readTableEntry"><strong>readTableEntry</strong></a>(self, file)</dt><dd><tt>Read&nbsp;in&nbsp;the&nbsp;sampling&nbsp;table&nbsp;section.&nbsp;It&nbsp;contains&nbsp;a&nbsp;table&nbsp;length&nbsp;(byte)&nbsp;and&nbsp;the&nbsp;table&nbsp;entries.</tt></dd></dl>
<dl><dt><a name="SLCCarving-setCarveBridgeLayerThickness"><strong>setCarveBridgeLayerThickness</strong></a>(self, bridgeLayerThickness)</dt><dd><tt>Set&nbsp;the&nbsp;bridge&nbsp;layer&nbsp;thickness.&nbsp;&nbsp;If&nbsp;the&nbsp;infill&nbsp;is&nbsp;not&nbsp;in&nbsp;the&nbsp;direction&nbsp;of&nbsp;the&nbsp;bridge,&nbsp;the&nbsp;bridge&nbsp;layer&nbsp;thickness&nbsp;should&nbsp;be&nbsp;given&nbsp;as&nbsp;None&nbsp;or&nbsp;not&nbsp;set&nbsp;at&nbsp;all.</tt></dd></dl>
<dl><dt><a name="SLCCarving-setCarveImportRadius"><strong>setCarveImportRadius</strong></a>(self, importRadius)</dt><dd><tt>Set&nbsp;the&nbsp;import&nbsp;radius.</tt></dd></dl>
<dl><dt><a name="SLCCarving-setCarveIsCorrectMesh"><strong>setCarveIsCorrectMesh</strong></a>(self, isCorrectMesh)</dt><dd><tt>Set&nbsp;the&nbsp;is&nbsp;correct&nbsp;mesh&nbsp;flag.</tt></dd></dl>
<dl><dt><a name="SLCCarving-setCarveLayerThickness"><strong>setCarveLayerThickness</strong></a>(self, layerThickness)</dt><dd><tt>Set&nbsp;the&nbsp;layer&nbsp;thickness.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="SampleTableEntry">class <strong>SampleTableEntry</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Sample&nbsp;table&nbsp;entry.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="SampleTableEntry-__init__"><strong>__init__</strong></a>(self, file)</dt><dd><tt>Read&nbsp;in&nbsp;the&nbsp;sampling&nbsp;table&nbsp;section.&nbsp;It&nbsp;contains&nbsp;a&nbsp;table&nbsp;length&nbsp;(byte)&nbsp;and&nbsp;the&nbsp;table&nbsp;entries.</tt></dd></dl>
<dl><dt><a name="SampleTableEntry-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;sample&nbsp;table&nbsp;entry.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getCarving"><strong>getCarving</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Get&nbsp;the&nbsp;triangle&nbsp;mesh&nbsp;for&nbsp;the&nbsp;slc&nbsp;file.</tt></dd></dl>
<dl><dt><a name="-getLittleEndianFloatGivenFile"><strong>getLittleEndianFloatGivenFile</strong></a>(file)</dt><dd><tt>Get&nbsp;little&nbsp;endian&nbsp;float&nbsp;given&nbsp;a&nbsp;file.</tt></dd></dl>
<dl><dt><a name="-getLittleEndianUnsignedLongGivenFile"><strong>getLittleEndianUnsignedLongGivenFile</strong></a>(file)</dt><dd><tt>Get&nbsp;little&nbsp;endian&nbsp;float&nbsp;given&nbsp;a&nbsp;file.</tt></dd></dl>
<dl><dt><a name="-getPointsFromFile"><strong>getPointsFromFile</strong></a>(numPoints, file)</dt><dd><tt>Process&nbsp;the&nbsp;vertice&nbsp;points&nbsp;for&nbsp;a&nbsp;given&nbsp;boundary.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>(hashtable<font color="#909090">=None</font>)</dt><dd><tt>Display&nbsp;the&nbsp;inset&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-readHeader"><strong>readHeader</strong></a>(file)</dt><dd><tt>Read&nbsp;the&nbsp;slc&nbsp;header.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__credits__</strong> = 'Nophead &lt;http://hydraraptor.blogspot.com/&gt;<font color="#c040c0">\n</font>Art of Illusion &lt;http://www.artofillusion.org/&gt;'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Credits</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Nophead&nbsp;&lt;<a href="http://hydraraptor.blogspot.com/">http://hydraraptor.blogspot.com/</a>&gt;<br>
Art&nbsp;of&nbsp;Illusion&nbsp;&lt;<a href="http://www.artofillusion.org/">http://www.artofillusion.org/</a>&gt;</td></tr></table>
</body></html>

View File

@@ -0,0 +1,92 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.import_plugins.stl</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.import_plugins.html"><font color="#ffffff">import_plugins</font></a>.stl</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/import_plugins/stl.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/import_plugins/stl.py</a></font></td></tr></table>
<p><tt>The&nbsp;stl.py&nbsp;script&nbsp;is&nbsp;an&nbsp;import&nbsp;translator&nbsp;plugin&nbsp;to&nbsp;get&nbsp;a&nbsp;carving&nbsp;from&nbsp;an&nbsp;stl&nbsp;file.<br>
&nbsp;<br>
An&nbsp;import&nbsp;plugin&nbsp;is&nbsp;a&nbsp;script&nbsp;in&nbsp;the&nbsp;import_plugins&nbsp;folder&nbsp;which&nbsp;has&nbsp;the&nbsp;function&nbsp;getCarving.&nbsp;&nbsp;It&nbsp;is&nbsp;meant&nbsp;to&nbsp;be&nbsp;run&nbsp;from&nbsp;the<br>
interpret&nbsp;tool.&nbsp;&nbsp;To&nbsp;ensure&nbsp;that&nbsp;the&nbsp;plugin&nbsp;works&nbsp;on&nbsp;platforms&nbsp;which&nbsp;do&nbsp;not&nbsp;handle&nbsp;file&nbsp;capitalization&nbsp;properly,&nbsp;give&nbsp;the&nbsp;plugin<br>
a&nbsp;lower&nbsp;case&nbsp;name.<br>
&nbsp;<br>
The&nbsp;getCarving&nbsp;function&nbsp;takes&nbsp;the&nbsp;file&nbsp;name&nbsp;of&nbsp;an&nbsp;stl&nbsp;file&nbsp;and&nbsp;returns&nbsp;the&nbsp;carving.<br>
&nbsp;<br>
STL&nbsp;is&nbsp;an&nbsp;inferior&nbsp;triangle&nbsp;surface&nbsp;format,&nbsp;described&nbsp;at:<br>
<a href="http://en.wikipedia.org/wiki/STL_(file_format">http://en.wikipedia.org/wiki/STL_(file_format</a>)<br>
&nbsp;<br>
A&nbsp;good&nbsp;triangle&nbsp;surface&nbsp;format&nbsp;is&nbsp;the&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;format&nbsp;which&nbsp;is&nbsp;described&nbsp;at:<br>
<a href="http://gts.sourceforge.net/reference/gts-surfaces.html#GTS-SURFACE-WRITE">http://gts.sourceforge.net/reference/gts-surfaces.html#GTS-SURFACE-WRITE</a><br>
&nbsp;<br>
This&nbsp;example&nbsp;gets&nbsp;a&nbsp;carving&nbsp;for&nbsp;the&nbsp;stl&nbsp;file&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl.&nbsp;&nbsp;This&nbsp;example&nbsp;is&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the&nbsp;folder&nbsp;which<br>
contains&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;and&nbsp;stl.py.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;stl<br>
&gt;&gt;&gt;&nbsp;stl.<a href="#-getCarving">getCarving</a>()<br>
[11.6000003815,&nbsp;10.6837882996,&nbsp;7.80209827423<br>
..<br>
many&nbsp;more&nbsp;lines&nbsp;of&nbsp;the&nbsp;carving<br>
..</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.triangle_mesh.html">skeinforge_tools.skeinforge_utilities.triangle_mesh</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-addFacesGivenBinary"><strong>addFacesGivenBinary</strong></a>(stlData, triangleMesh, vertexIndexTable)</dt><dd><tt>Add&nbsp;faces&nbsp;given&nbsp;stl&nbsp;binary.</tt></dd></dl>
<dl><dt><a name="-addFacesGivenText"><strong>addFacesGivenText</strong></a>(stlText, triangleMesh, vertexIndexTable)</dt><dd><tt>Add&nbsp;faces&nbsp;given&nbsp;stl&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-addFacesGivenVertices"><strong>addFacesGivenVertices</strong></a>(triangleMesh, vertexIndexTable, vertices)</dt><dd><tt>Add&nbsp;faces&nbsp;given&nbsp;stl&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-getCarving"><strong>getCarving</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Get&nbsp;the&nbsp;triangle&nbsp;mesh&nbsp;for&nbsp;the&nbsp;stl&nbsp;file.</tt></dd></dl>
<dl><dt><a name="-getFaceGivenLines"><strong>getFaceGivenLines</strong></a>(triangleMesh, vertexStartIndex, vertexIndexTable, vertices)</dt><dd><tt>Add&nbsp;face&nbsp;given&nbsp;line&nbsp;index&nbsp;and&nbsp;lines.</tt></dd></dl>
<dl><dt><a name="-getFloatGivenBinary"><strong>getFloatGivenBinary</strong></a>(byteIndex, stlData)</dt><dd><tt>Get&nbsp;vertex&nbsp;given&nbsp;stl&nbsp;vertex&nbsp;line.</tt></dd></dl>
<dl><dt><a name="-getVertexGivenBinary"><strong>getVertexGivenBinary</strong></a>(byteIndex, stlData)</dt><dd><tt>Get&nbsp;vertex&nbsp;given&nbsp;stl&nbsp;vertex&nbsp;line.</tt></dd></dl>
<dl><dt><a name="-getVertexGivenLine"><strong>getVertexGivenLine</strong></a>(line)</dt><dd><tt>Get&nbsp;vertex&nbsp;given&nbsp;stl&nbsp;vertex&nbsp;line.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__credits__</strong> = 'Nophead &lt;http://hydraraptor.blogspot.com/&gt;<font color="#c040c0">\n</font>Art of Illusion &lt;http://www.artofillusion.org/&gt;'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Credits</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Nophead&nbsp;&lt;<a href="http://hydraraptor.blogspot.com/">http://hydraraptor.blogspot.com/</a>&gt;<br>
Art&nbsp;of&nbsp;Illusion&nbsp;&lt;<a href="http://www.artofillusion.org/">http://www.artofillusion.org/</a>&gt;</td></tr></table>
</body></html>

View File

@@ -0,0 +1,128 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.import_plugins.svg</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.import_plugins.html"><font color="#ffffff">import_plugins</font></a>.svg</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/import_plugins/svg.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/import_plugins/svg.py</a></font></td></tr></table>
<p><tt>The&nbsp;svg.py&nbsp;script&nbsp;is&nbsp;an&nbsp;import&nbsp;translator&nbsp;plugin&nbsp;to&nbsp;get&nbsp;a&nbsp;carving&nbsp;from&nbsp;an&nbsp;svg&nbsp;file.<br>
&nbsp;<br>
An&nbsp;import&nbsp;plugin&nbsp;is&nbsp;a&nbsp;script&nbsp;in&nbsp;the&nbsp;import_plugins&nbsp;folder&nbsp;which&nbsp;has&nbsp;the&nbsp;function&nbsp;getCarving.&nbsp;&nbsp;It&nbsp;is&nbsp;meant&nbsp;to&nbsp;be&nbsp;run&nbsp;from&nbsp;the<br>
interpret&nbsp;tool.&nbsp;&nbsp;To&nbsp;ensure&nbsp;that&nbsp;the&nbsp;plugin&nbsp;works&nbsp;on&nbsp;platforms&nbsp;which&nbsp;do&nbsp;not&nbsp;handle&nbsp;file&nbsp;capitalization&nbsp;properly,&nbsp;give&nbsp;the&nbsp;plugin<br>
a&nbsp;lower&nbsp;case&nbsp;name.<br>
&nbsp;<br>
The&nbsp;getCarving&nbsp;function&nbsp;takes&nbsp;the&nbsp;file&nbsp;name&nbsp;of&nbsp;an&nbsp;svg&nbsp;file&nbsp;and&nbsp;returns&nbsp;the&nbsp;carving.<br>
&nbsp;<br>
This&nbsp;example&nbsp;gets&nbsp;a&nbsp;carving&nbsp;for&nbsp;the&nbsp;svg&nbsp;file&nbsp;Screw&nbsp;Holder&nbsp;Bottom.svg.&nbsp;&nbsp;This&nbsp;example&nbsp;is&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the&nbsp;folder&nbsp;which<br>
contains&nbsp;Screw&nbsp;Holder&nbsp;Bottom.svg&nbsp;and&nbsp;svg.py.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;svg<br>
&gt;&gt;&gt;&nbsp;svg.<a href="#-getCarving">getCarving</a>()<br>
0.20000000298,&nbsp;999999999.0,&nbsp;-999999999.0,&nbsp;[8.72782748851e-17,&nbsp;None<br>
..<br>
many&nbsp;more&nbsp;lines&nbsp;of&nbsp;the&nbsp;carving<br>
..</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.import_plugins.svg.html#SVGCarving">SVGCarving</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="SVGCarving">class <strong>SVGCarving</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>An&nbsp;svg&nbsp;carving.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="SVGCarving-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Add&nbsp;empty&nbsp;lists.</tt></dd></dl>
<dl><dt><a name="SVGCarving-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;carving.</tt></dd></dl>
<dl><dt><a name="SVGCarving-getCarveCornerMaximum"><strong>getCarveCornerMaximum</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;corner&nbsp;maximum&nbsp;of&nbsp;the&nbsp;vertices.</tt></dd></dl>
<dl><dt><a name="SVGCarving-getCarveCornerMinimum"><strong>getCarveCornerMinimum</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;corner&nbsp;minimum&nbsp;of&nbsp;the&nbsp;vertices.</tt></dd></dl>
<dl><dt><a name="SVGCarving-getCarveLayerThickness"><strong>getCarveLayerThickness</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;layer&nbsp;thickness.</tt></dd></dl>
<dl><dt><a name="SVGCarving-getCarveRotatedBoundaryLayers"><strong>getCarveRotatedBoundaryLayers</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;rotated&nbsp;boundary&nbsp;layers.</tt></dd></dl>
<dl><dt><a name="SVGCarving-parseInitialization"><strong>parseInitialization</strong></a>(self)</dt><dd><tt>Parse&nbsp;gcode&nbsp;initialization&nbsp;and&nbsp;store&nbsp;the&nbsp;parameters.</tt></dd></dl>
<dl><dt><a name="SVGCarving-parseLine"><strong>parseLine</strong></a>(self, lineIndex)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;inset&nbsp;skein.</tt></dd></dl>
<dl><dt><a name="SVGCarving-parseSVG"><strong>parseSVG</strong></a>(self, svgText)</dt><dd><tt>Parse&nbsp;SVG&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;layers.</tt></dd></dl>
<dl><dt><a name="SVGCarving-setCarveBridgeLayerThickness"><strong>setCarveBridgeLayerThickness</strong></a>(self, bridgeLayerThickness)</dt><dd><tt>Set&nbsp;the&nbsp;bridge&nbsp;layer&nbsp;thickness.&nbsp;&nbsp;If&nbsp;the&nbsp;infill&nbsp;is&nbsp;not&nbsp;in&nbsp;the&nbsp;direction&nbsp;of&nbsp;the&nbsp;bridge,&nbsp;the&nbsp;bridge&nbsp;layer&nbsp;thickness&nbsp;should&nbsp;be&nbsp;given&nbsp;as&nbsp;None&nbsp;or&nbsp;not&nbsp;set&nbsp;at&nbsp;all.</tt></dd></dl>
<dl><dt><a name="SVGCarving-setCarveImportRadius"><strong>setCarveImportRadius</strong></a>(self, importRadius)</dt><dd><tt>Set&nbsp;the&nbsp;import&nbsp;radius.</tt></dd></dl>
<dl><dt><a name="SVGCarving-setCarveIsCorrectMesh"><strong>setCarveIsCorrectMesh</strong></a>(self, isCorrectMesh)</dt><dd><tt>Set&nbsp;the&nbsp;is&nbsp;correct&nbsp;mesh&nbsp;flag.</tt></dd></dl>
<dl><dt><a name="SVGCarving-setCarveLayerThickness"><strong>setCarveLayerThickness</strong></a>(self, layerThickness)</dt><dd><tt>Set&nbsp;the&nbsp;layer&nbsp;thickness.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-addPathData"><strong>addPathData</strong></a>(line, loops)</dt><dd><tt>Add&nbsp;the&nbsp;data&nbsp;from&nbsp;the&nbsp;path&nbsp;line.</tt></dd></dl>
<dl><dt><a name="-addTextData"><strong>addTextData</strong></a>(line, rotatedBoundaryLayers)</dt><dd><tt>Add&nbsp;the&nbsp;data&nbsp;from&nbsp;the&nbsp;text&nbsp;line.</tt></dd></dl>
<dl><dt><a name="-getCarving"><strong>getCarving</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Get&nbsp;the&nbsp;triangle&nbsp;mesh&nbsp;for&nbsp;the&nbsp;gts&nbsp;file.</tt></dd></dl>
<dl><dt><a name="-getValueInQuotes"><strong>getValueInQuotes</strong></a>(name, text, value)</dt><dd><tt>Get&nbsp;value&nbsp;in&nbsp;quotes&nbsp;after&nbsp;the&nbsp;name.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__credits__</strong> = 'Nophead &lt;http://hydraraptor.blogspot.com/&gt;<font color="#c040c0">\n</font>Art of Illusion &lt;http://www.artofillusion.org/&gt;'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Credits</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Nophead&nbsp;&lt;<a href="http://hydraraptor.blogspot.com/">http://hydraraptor.blogspot.com/</a>&gt;<br>
Art&nbsp;of&nbsp;Illusion&nbsp;&lt;<a href="http://www.artofillusion.org/">http://www.artofillusion.org/</a>&gt;</td></tr></table>
</body></html>

View File

@@ -0,0 +1,353 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.import_plugins.xml</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.import_plugins.html"><font color="#ffffff">import_plugins</font></a>.xml</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/import_plugins/xml.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/import_plugins/xml.py</a></font></td></tr></table>
<p><tt>The&nbsp;xml.py&nbsp;script&nbsp;is&nbsp;an&nbsp;import&nbsp;translator&nbsp;plugin&nbsp;to&nbsp;get&nbsp;a&nbsp;carving&nbsp;from&nbsp;an&nbsp;Art&nbsp;of&nbsp;Illusion&nbsp;xml&nbsp;file.<br>
&nbsp;<br>
An&nbsp;import&nbsp;plugin&nbsp;is&nbsp;a&nbsp;script&nbsp;in&nbsp;the&nbsp;import_plugins&nbsp;folder&nbsp;which&nbsp;has&nbsp;the&nbsp;function&nbsp;getCarving.&nbsp;&nbsp;It&nbsp;is&nbsp;meant&nbsp;to&nbsp;be&nbsp;run&nbsp;from&nbsp;the<br>
interpret&nbsp;tool.&nbsp;&nbsp;To&nbsp;ensure&nbsp;that&nbsp;the&nbsp;plugin&nbsp;works&nbsp;on&nbsp;platforms&nbsp;which&nbsp;do&nbsp;not&nbsp;handle&nbsp;file&nbsp;capitalization&nbsp;properly,&nbsp;give&nbsp;the&nbsp;plugin<br>
a&nbsp;lower&nbsp;case&nbsp;name.<br>
&nbsp;<br>
The&nbsp;getCarving&nbsp;function&nbsp;takes&nbsp;the&nbsp;file&nbsp;name&nbsp;of&nbsp;an&nbsp;xml&nbsp;file&nbsp;and&nbsp;returns&nbsp;the&nbsp;carving.<br>
&nbsp;<br>
This&nbsp;example&nbsp;gets&nbsp;a&nbsp;triangle&nbsp;mesh&nbsp;for&nbsp;the&nbsp;xml&nbsp;file&nbsp;boolean.xml.&nbsp;&nbsp;This&nbsp;example&nbsp;is&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the&nbsp;folder&nbsp;which&nbsp;contains<br>
boolean.xml&nbsp;and&nbsp;xml.py.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;xml<br>
&gt;&gt;&gt;&nbsp;xml.<a href="#-getCarving">getCarving</a>().getCarveRotatedBoundaryLayers()<br>
[-1.159765625,&nbsp;None,&nbsp;[[(-18.925000000000001-2.4550000000000001j),&nbsp;(-18.754999999999981-2.4550000000000001j)<br>
..<br>
many&nbsp;more&nbsp;lines&nbsp;of&nbsp;the&nbsp;carving<br>
..<br>
&nbsp;<br>
&nbsp;<br>
An&nbsp;xml&nbsp;file&nbsp;can&nbsp;be&nbsp;exported&nbsp;from&nbsp;Art&nbsp;of&nbsp;Illusion&nbsp;by&nbsp;going&nbsp;to&nbsp;the&nbsp;"File"&nbsp;menu,&nbsp;then&nbsp;going&nbsp;into&nbsp;the&nbsp;"Export"&nbsp;menu&nbsp;item,&nbsp;then<br>
picking&nbsp;the&nbsp;XML&nbsp;choice.&nbsp;&nbsp;This&nbsp;will&nbsp;bring&nbsp;up&nbsp;the&nbsp;XML&nbsp;file&nbsp;chooser&nbsp;window,&nbsp;choose&nbsp;a&nbsp;place&nbsp;to&nbsp;save&nbsp;the&nbsp;file&nbsp;then&nbsp;click&nbsp;"OK".<br>
Leave&nbsp;the&nbsp;"compressFile"&nbsp;checkbox&nbsp;unchecked.&nbsp;&nbsp;All&nbsp;the&nbsp;objects&nbsp;from&nbsp;the&nbsp;scene&nbsp;will&nbsp;be&nbsp;exported,&nbsp;this&nbsp;plugin&nbsp;will&nbsp;ignore<br>
the&nbsp;light&nbsp;and&nbsp;camera.&nbsp;&nbsp;If&nbsp;you&nbsp;want&nbsp;to&nbsp;fabricate&nbsp;more&nbsp;than&nbsp;one&nbsp;object&nbsp;at&nbsp;a&nbsp;time,&nbsp;you&nbsp;can&nbsp;have&nbsp;multiple&nbsp;objects&nbsp;in&nbsp;the&nbsp;Art&nbsp;of<br>
Illusion&nbsp;scene&nbsp;and&nbsp;they&nbsp;will&nbsp;all&nbsp;be&nbsp;carved,&nbsp;then&nbsp;fabricated&nbsp;together.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="skeinforge_tools.skeinforge_utilities.intercircle.html">skeinforge_tools.skeinforge_utilities.intercircle</a><br>
</td><td width="25%" valign=top><a href="math.html">math</a><br>
<a href="sys.html">sys</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.triangle_mesh.html">skeinforge_tools.skeinforge_utilities.triangle_mesh</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.import_plugins.xml.html#Matrix4By4">Matrix4By4</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.import_plugins.xml.html#TriangleMeshObjectInfo">TriangleMeshObjectInfo</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.import_plugins.xml.html#CSGObjectObjectInfo">CSGObjectObjectInfo</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.import_plugins.xml.html#CubeObjectInfo">CubeObjectInfo</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.import_plugins.xml.html#CylinderObjectInfo">CylinderObjectInfo</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.import_plugins.xml.html#SphereObjectInfo">SphereObjectInfo</a>
</font></dt></dl>
</dd>
</dl>
</dd>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.import_plugins.xml.html#XMLCarving">XMLCarving</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="CSGObjectObjectInfo">class <strong>CSGObjectObjectInfo</strong></a>(<a href="skeinforge_tools.import_plugins.xml.html#TriangleMeshObjectInfo">TriangleMeshObjectInfo</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>An&nbsp;Art&nbsp;of&nbsp;Illusion&nbsp;CSG&nbsp;object&nbsp;info.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="CSGObjectObjectInfo-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;object&nbsp;info.</tt></dd></dl>
<dl><dt><a name="CSGObjectObjectInfo-getIntersectedLoops"><strong>getIntersectedLoops</strong></a>(self, importRadius, subObjectInfoLoopsList)</dt><dd><tt>Get&nbsp;intersected&nbsp;loops&nbsp;sliced&nbsp;through&nbsp;shape.</tt></dd></dl>
<dl><dt><a name="CSGObjectObjectInfo-getJoinedLoops"><strong>getJoinedLoops</strong></a>(self, importRadius, subObjectInfoLoopsList)</dt><dd><tt>Get&nbsp;joined&nbsp;loops&nbsp;sliced&nbsp;through&nbsp;shape.</tt></dd></dl>
<dl><dt><a name="CSGObjectObjectInfo-getLoops"><strong>getLoops</strong></a>(self, importRadius, z)</dt><dd><tt>Get&nbsp;loops&nbsp;sliced&nbsp;through&nbsp;shape.</tt></dd></dl>
<dl><dt><a name="CSGObjectObjectInfo-getSubtractedLoops"><strong>getSubtractedLoops</strong></a>(self, importRadius, subObjectInfoLoopsList)</dt><dd><tt>Get&nbsp;subtracted&nbsp;loops&nbsp;sliced&nbsp;through&nbsp;shape.</tt></dd></dl>
<dl><dt><a name="CSGObjectObjectInfo-getVertices"><strong>getVertices</strong></a>(self)</dt><dd><tt>Get&nbsp;all&nbsp;vertices.</tt></dd></dl>
<dl><dt><a name="CSGObjectObjectInfo-setShape"><strong>setShape</strong></a>(self, matrix4By4)</dt><dd><tt>Set&nbsp;the&nbsp;shape&nbsp;of&nbsp;this&nbsp;carvable&nbsp;object&nbsp;info.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.import_plugins.xml.html#TriangleMeshObjectInfo">TriangleMeshObjectInfo</a>:<br>
<dl><dt><a name="CSGObjectObjectInfo-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;name&nbsp;to&nbsp;None.</tt></dd></dl>
<dl><dt><a name="CSGObjectObjectInfo-getNewCarvableObjectInfo"><strong>getNewCarvableObjectInfo</strong></a>(self, objectInfoElement)</dt><dd><tt>Get&nbsp;new&nbsp;carvable&nbsp;object&nbsp;info.</tt></dd></dl>
<dl><dt><a name="CSGObjectObjectInfo-getTransformAttributeTable"><strong>getTransformAttributeTable</strong></a>(self, coords, transformName)</dt><dd><tt>Get&nbsp;the&nbsp;transform&nbsp;attributes.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="CubeObjectInfo">class <strong>CubeObjectInfo</strong></a>(<a href="skeinforge_tools.import_plugins.xml.html#TriangleMeshObjectInfo">TriangleMeshObjectInfo</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>An&nbsp;Art&nbsp;of&nbsp;Illusion&nbsp;Cube&nbsp;object&nbsp;info.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="CubeObjectInfo-setBottomTopTriangleMesh"><strong>setBottomTopTriangleMesh</strong></a>(self, edgeTriples, matrix4By4, vertexPairs, vertices)</dt><dd><tt>Set&nbsp;the&nbsp;bottom,&nbsp;top&nbsp;and&nbsp;triangle&nbsp;mesh&nbsp;of&nbsp;this&nbsp;carvable&nbsp;object&nbsp;info.</tt></dd></dl>
<dl><dt><a name="CubeObjectInfo-setShape"><strong>setShape</strong></a>(self, matrix4By4)</dt><dd><tt>Set&nbsp;the&nbsp;shape&nbsp;of&nbsp;this&nbsp;carvable&nbsp;object&nbsp;info.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.import_plugins.xml.html#TriangleMeshObjectInfo">TriangleMeshObjectInfo</a>:<br>
<dl><dt><a name="CubeObjectInfo-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;name&nbsp;to&nbsp;None.</tt></dd></dl>
<dl><dt><a name="CubeObjectInfo-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;object&nbsp;info.</tt></dd></dl>
<dl><dt><a name="CubeObjectInfo-getLoops"><strong>getLoops</strong></a>(self, importRadius, z)</dt><dd><tt>Get&nbsp;loops&nbsp;sliced&nbsp;through&nbsp;shape.</tt></dd></dl>
<dl><dt><a name="CubeObjectInfo-getNewCarvableObjectInfo"><strong>getNewCarvableObjectInfo</strong></a>(self, objectInfoElement)</dt><dd><tt>Get&nbsp;new&nbsp;carvable&nbsp;object&nbsp;info.</tt></dd></dl>
<dl><dt><a name="CubeObjectInfo-getTransformAttributeTable"><strong>getTransformAttributeTable</strong></a>(self, coords, transformName)</dt><dd><tt>Get&nbsp;the&nbsp;transform&nbsp;attributes.</tt></dd></dl>
<dl><dt><a name="CubeObjectInfo-getVertices"><strong>getVertices</strong></a>(self)</dt><dd><tt>Get&nbsp;all&nbsp;vertices.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="CylinderObjectInfo">class <strong>CylinderObjectInfo</strong></a>(<a href="skeinforge_tools.import_plugins.xml.html#CubeObjectInfo">CubeObjectInfo</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>An&nbsp;Art&nbsp;of&nbsp;Illusion&nbsp;Cylinder&nbsp;object&nbsp;info.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="skeinforge_tools.import_plugins.xml.html#CylinderObjectInfo">CylinderObjectInfo</a></dd>
<dd><a href="skeinforge_tools.import_plugins.xml.html#CubeObjectInfo">CubeObjectInfo</a></dd>
<dd><a href="skeinforge_tools.import_plugins.xml.html#TriangleMeshObjectInfo">TriangleMeshObjectInfo</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="CylinderObjectInfo-setShape"><strong>setShape</strong></a>(self, matrix4By4)</dt><dd><tt>Set&nbsp;the&nbsp;shape&nbsp;of&nbsp;this&nbsp;carvable&nbsp;object&nbsp;info.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.import_plugins.xml.html#CubeObjectInfo">CubeObjectInfo</a>:<br>
<dl><dt><a name="CylinderObjectInfo-setBottomTopTriangleMesh"><strong>setBottomTopTriangleMesh</strong></a>(self, edgeTriples, matrix4By4, vertexPairs, vertices)</dt><dd><tt>Set&nbsp;the&nbsp;bottom,&nbsp;top&nbsp;and&nbsp;triangle&nbsp;mesh&nbsp;of&nbsp;this&nbsp;carvable&nbsp;object&nbsp;info.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.import_plugins.xml.html#TriangleMeshObjectInfo">TriangleMeshObjectInfo</a>:<br>
<dl><dt><a name="CylinderObjectInfo-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;name&nbsp;to&nbsp;None.</tt></dd></dl>
<dl><dt><a name="CylinderObjectInfo-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;object&nbsp;info.</tt></dd></dl>
<dl><dt><a name="CylinderObjectInfo-getLoops"><strong>getLoops</strong></a>(self, importRadius, z)</dt><dd><tt>Get&nbsp;loops&nbsp;sliced&nbsp;through&nbsp;shape.</tt></dd></dl>
<dl><dt><a name="CylinderObjectInfo-getNewCarvableObjectInfo"><strong>getNewCarvableObjectInfo</strong></a>(self, objectInfoElement)</dt><dd><tt>Get&nbsp;new&nbsp;carvable&nbsp;object&nbsp;info.</tt></dd></dl>
<dl><dt><a name="CylinderObjectInfo-getTransformAttributeTable"><strong>getTransformAttributeTable</strong></a>(self, coords, transformName)</dt><dd><tt>Get&nbsp;the&nbsp;transform&nbsp;attributes.</tt></dd></dl>
<dl><dt><a name="CylinderObjectInfo-getVertices"><strong>getVertices</strong></a>(self)</dt><dd><tt>Get&nbsp;all&nbsp;vertices.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="Matrix4By4">class <strong>Matrix4By4</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;four&nbsp;by&nbsp;four&nbsp;matrix.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Matrix4By4-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Add&nbsp;empty&nbsp;lists.</tt></dd></dl>
<dl><dt><a name="Matrix4By4-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;four&nbsp;by&nbsp;four&nbsp;matrix.</tt></dd></dl>
<dl><dt><a name="Matrix4By4-getFromAttributeTable"><strong>getFromAttributeTable</strong></a>(self, attributeTable)</dt><dd><tt>Get&nbsp;the&nbsp;from&nbsp;row&nbsp;column&nbsp;attribute&nbsp;strings,&nbsp;counting&nbsp;from&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Matrix4By4-getMultiplied"><strong>getMultiplied</strong></a>(self, otherMatrix)</dt><dd><tt>Get&nbsp;this&nbsp;matrix&nbsp;multiplied&nbsp;by&nbsp;the&nbsp;other&nbsp;matrix.</tt></dd></dl>
<dl><dt><a name="Matrix4By4-setMatrixToZero"><strong>setMatrixToZero</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;matrix&nbsp;elements&nbsp;to&nbsp;zero.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="SphereObjectInfo">class <strong>SphereObjectInfo</strong></a>(<a href="skeinforge_tools.import_plugins.xml.html#CubeObjectInfo">CubeObjectInfo</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>An&nbsp;Art&nbsp;of&nbsp;Illusion&nbsp;Sphere&nbsp;object&nbsp;info.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="skeinforge_tools.import_plugins.xml.html#SphereObjectInfo">SphereObjectInfo</a></dd>
<dd><a href="skeinforge_tools.import_plugins.xml.html#CubeObjectInfo">CubeObjectInfo</a></dd>
<dd><a href="skeinforge_tools.import_plugins.xml.html#TriangleMeshObjectInfo">TriangleMeshObjectInfo</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="SphereObjectInfo-setShape"><strong>setShape</strong></a>(self, matrix4By4)</dt><dd><tt>Set&nbsp;the&nbsp;shape&nbsp;of&nbsp;this&nbsp;carvable&nbsp;object&nbsp;info.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.import_plugins.xml.html#CubeObjectInfo">CubeObjectInfo</a>:<br>
<dl><dt><a name="SphereObjectInfo-setBottomTopTriangleMesh"><strong>setBottomTopTriangleMesh</strong></a>(self, edgeTriples, matrix4By4, vertexPairs, vertices)</dt><dd><tt>Set&nbsp;the&nbsp;bottom,&nbsp;top&nbsp;and&nbsp;triangle&nbsp;mesh&nbsp;of&nbsp;this&nbsp;carvable&nbsp;object&nbsp;info.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.import_plugins.xml.html#TriangleMeshObjectInfo">TriangleMeshObjectInfo</a>:<br>
<dl><dt><a name="SphereObjectInfo-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;name&nbsp;to&nbsp;None.</tt></dd></dl>
<dl><dt><a name="SphereObjectInfo-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;object&nbsp;info.</tt></dd></dl>
<dl><dt><a name="SphereObjectInfo-getLoops"><strong>getLoops</strong></a>(self, importRadius, z)</dt><dd><tt>Get&nbsp;loops&nbsp;sliced&nbsp;through&nbsp;shape.</tt></dd></dl>
<dl><dt><a name="SphereObjectInfo-getNewCarvableObjectInfo"><strong>getNewCarvableObjectInfo</strong></a>(self, objectInfoElement)</dt><dd><tt>Get&nbsp;new&nbsp;carvable&nbsp;object&nbsp;info.</tt></dd></dl>
<dl><dt><a name="SphereObjectInfo-getTransformAttributeTable"><strong>getTransformAttributeTable</strong></a>(self, coords, transformName)</dt><dd><tt>Get&nbsp;the&nbsp;transform&nbsp;attributes.</tt></dd></dl>
<dl><dt><a name="SphereObjectInfo-getVertices"><strong>getVertices</strong></a>(self)</dt><dd><tt>Get&nbsp;all&nbsp;vertices.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="TriangleMeshObjectInfo">class <strong>TriangleMeshObjectInfo</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>An&nbsp;Art&nbsp;of&nbsp;Illusion&nbsp;object&nbsp;info.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="TriangleMeshObjectInfo-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;name&nbsp;to&nbsp;None.</tt></dd></dl>
<dl><dt><a name="TriangleMeshObjectInfo-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;object&nbsp;info.</tt></dd></dl>
<dl><dt><a name="TriangleMeshObjectInfo-getLoops"><strong>getLoops</strong></a>(self, importRadius, z)</dt><dd><tt>Get&nbsp;loops&nbsp;sliced&nbsp;through&nbsp;shape.</tt></dd></dl>
<dl><dt><a name="TriangleMeshObjectInfo-getNewCarvableObjectInfo"><strong>getNewCarvableObjectInfo</strong></a>(self, objectInfoElement)</dt><dd><tt>Get&nbsp;new&nbsp;carvable&nbsp;object&nbsp;info.</tt></dd></dl>
<dl><dt><a name="TriangleMeshObjectInfo-getTransformAttributeTable"><strong>getTransformAttributeTable</strong></a>(self, coords, transformName)</dt><dd><tt>Get&nbsp;the&nbsp;transform&nbsp;attributes.</tt></dd></dl>
<dl><dt><a name="TriangleMeshObjectInfo-getVertices"><strong>getVertices</strong></a>(self)</dt><dd><tt>Get&nbsp;all&nbsp;vertices.</tt></dd></dl>
<dl><dt><a name="TriangleMeshObjectInfo-setShape"><strong>setShape</strong></a>(self, matrix4By4)</dt><dd><tt>Set&nbsp;the&nbsp;shape&nbsp;of&nbsp;this&nbsp;carvable&nbsp;object&nbsp;info.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="XMLCarving">class <strong>XMLCarving</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>An&nbsp;svg&nbsp;carving.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="XMLCarving-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Add&nbsp;empty&nbsp;lists.</tt></dd></dl>
<dl><dt><a name="XMLCarving-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;carving.</tt></dd></dl>
<dl><dt><a name="XMLCarving-getCarveCornerMaximum"><strong>getCarveCornerMaximum</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;corner&nbsp;maximum&nbsp;of&nbsp;the&nbsp;vertices.</tt></dd></dl>
<dl><dt><a name="XMLCarving-getCarveCornerMinimum"><strong>getCarveCornerMinimum</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;corner&nbsp;minimum&nbsp;of&nbsp;the&nbsp;vertices.</tt></dd></dl>
<dl><dt><a name="XMLCarving-getCarveLayerThickness"><strong>getCarveLayerThickness</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;layer&nbsp;thickness.</tt></dd></dl>
<dl><dt><a name="XMLCarving-getCarveRotatedBoundaryLayers"><strong>getCarveRotatedBoundaryLayers</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;rotated&nbsp;boundary&nbsp;layers.</tt></dd></dl>
<dl><dt><a name="XMLCarving-getExtruderPaths"><strong>getExtruderPaths</strong></a>(self, z)</dt><dd><tt>Get&nbsp;extruder&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="XMLCarving-getZAddExtruderPaths"><strong>getZAddExtruderPaths</strong></a>(self, z)</dt><dd><tt>Get&nbsp;next&nbsp;z&nbsp;and&nbsp;add&nbsp;extruder&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="XMLCarving-parseXML"><strong>parseXML</strong></a>(self, xmlText)</dt><dd><tt>Parse&nbsp;XML&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;layers.</tt></dd></dl>
<dl><dt><a name="XMLCarving-setActualMinimumZ"><strong>setActualMinimumZ</strong></a>(self, halfHeight, layerTop)</dt><dd><tt>Get&nbsp;the&nbsp;actual&nbsp;minimum&nbsp;z&nbsp;at&nbsp;the&nbsp;lowest&nbsp;rotated&nbsp;boundary&nbsp;layer.</tt></dd></dl>
<dl><dt><a name="XMLCarving-setCarveBridgeLayerThickness"><strong>setCarveBridgeLayerThickness</strong></a>(self, bridgeLayerThickness)</dt><dd><tt>Set&nbsp;the&nbsp;bridge&nbsp;layer&nbsp;thickness.&nbsp;&nbsp;If&nbsp;the&nbsp;infill&nbsp;is&nbsp;not&nbsp;in&nbsp;the&nbsp;direction&nbsp;of&nbsp;the&nbsp;bridge,&nbsp;the&nbsp;bridge&nbsp;layer&nbsp;thickness&nbsp;should&nbsp;be&nbsp;given&nbsp;as&nbsp;None&nbsp;or&nbsp;not&nbsp;set&nbsp;at&nbsp;all.</tt></dd></dl>
<dl><dt><a name="XMLCarving-setCarveImportRadius"><strong>setCarveImportRadius</strong></a>(self, importRadius)</dt><dd><tt>Set&nbsp;the&nbsp;import&nbsp;radius.</tt></dd></dl>
<dl><dt><a name="XMLCarving-setCarveIsCorrectMesh"><strong>setCarveIsCorrectMesh</strong></a>(self, isCorrectMesh)</dt><dd><tt>Set&nbsp;the&nbsp;is&nbsp;correct&nbsp;mesh&nbsp;flag.</tt></dd></dl>
<dl><dt><a name="XMLCarving-setCarveLayerThickness"><strong>setCarveLayerThickness</strong></a>(self, layerThickness)</dt><dd><tt>Set&nbsp;the&nbsp;layer&nbsp;thickness.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-addCarvableObjectInfo"><strong>addCarvableObjectInfo</strong></a>(carvableObjectInfos, objectInfoElement)</dt><dd><tt>Add&nbsp;the&nbsp;object&nbsp;info&nbsp;if&nbsp;it&nbsp;is&nbsp;carvable.</tt></dd></dl>
<dl><dt><a name="-addCarvableObjectInfoWithMatrix"><strong>addCarvableObjectInfoWithMatrix</strong></a>(carvableObjectInfos, matrix4By4, objectInfoElement)</dt><dd><tt>Add&nbsp;the&nbsp;object&nbsp;info&nbsp;if&nbsp;it&nbsp;is&nbsp;carvable.</tt></dd></dl>
<dl><dt><a name="-addLineLoopsIntersections"><strong>addLineLoopsIntersections</strong></a>(loopLoopsIntersections, loops, pointBegin, pointEnd)</dt><dd><tt>Add&nbsp;intersections&nbsp;of&nbsp;the&nbsp;line&nbsp;with&nbsp;the&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-addLineXSegmentIntersection"><strong>addLineXSegmentIntersection</strong></a>(lineLoopsIntersections, segmentFirstX, segmentSecondX, vector3First, vector3Second, y)</dt><dd><tt>Add&nbsp;intersections&nbsp;of&nbsp;the&nbsp;line&nbsp;with&nbsp;the&nbsp;x&nbsp;segment.</tt></dd></dl>
<dl><dt><a name="-addLoopLoopsIntersections"><strong>addLoopLoopsIntersections</strong></a>(loop, loopsLoopsIntersections, otherLoops)</dt><dd><tt>Add&nbsp;intersections&nbsp;of&nbsp;the&nbsp;loop&nbsp;with&nbsp;the&nbsp;other&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-addLoopXSegmentIntersections"><strong>addLoopXSegmentIntersections</strong></a>(lineLoopsIntersections, loop, segmentFirstX, segmentSecondX, segmentYMirror, y)</dt><dd><tt>Add&nbsp;intersections&nbsp;of&nbsp;the&nbsp;loop&nbsp;with&nbsp;the&nbsp;x&nbsp;segment.</tt></dd></dl>
<dl><dt><a name="-addLoopsXSegmentIntersections"><strong>addLoopsXSegmentIntersections</strong></a>(lineLoopsIntersections, loops, segmentFirstX, segmentSecondX, segmentYMirror, y)</dt><dd><tt>Add&nbsp;intersections&nbsp;of&nbsp;the&nbsp;loops&nbsp;with&nbsp;the&nbsp;x&nbsp;segment.</tt></dd></dl>
<dl><dt><a name="-getBottom"><strong>getBottom</strong></a>(points)</dt><dd><tt>Get&nbsp;the&nbsp;bottom&nbsp;of&nbsp;the&nbsp;points.</tt></dd></dl>
<dl><dt><a name="-getCarvableClassObjectInfoTable"><strong>getCarvableClassObjectInfoTable</strong></a>()</dt><dd><tt>Get&nbsp;the&nbsp;carvable&nbsp;class&nbsp;object&nbsp;info&nbsp;table.</tt></dd></dl>
<dl><dt><a name="-getCarvableObjectInfo"><strong>getCarvableObjectInfo</strong></a>(objectInfoElement)</dt><dd><tt>Get&nbsp;the&nbsp;object&nbsp;info&nbsp;if&nbsp;it&nbsp;is&nbsp;carvable.</tt></dd></dl>
<dl><dt><a name="-getCarving"><strong>getCarving</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Get&nbsp;the&nbsp;carving&nbsp;for&nbsp;the&nbsp;xml&nbsp;file.</tt></dd></dl>
<dl><dt><a name="-getInBetweenPointsFromLoops"><strong>getInBetweenPointsFromLoops</strong></a>(importRadius, loops)</dt><dd><tt>Get&nbsp;the&nbsp;in&nbsp;between&nbsp;points&nbsp;from&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-getInBetweenPointsFromLoopsBoundarySideOtherLoops"><strong>getInBetweenPointsFromLoopsBoundarySideOtherLoops</strong></a>(inside, importRadius, loops, otherLoops, radiusSide)</dt><dd><tt>Get&nbsp;the&nbsp;in&nbsp;between&nbsp;points&nbsp;from&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-getJoinedList"><strong>getJoinedList</strong></a>(originalLists)</dt><dd><tt>Get&nbsp;the&nbsp;lists&nbsp;as&nbsp;one&nbsp;joined&nbsp;list.</tt></dd></dl>
<dl><dt><a name="-getLoopsListsIntersections"><strong>getLoopsListsIntersections</strong></a>(loopsList)</dt><dd><tt>Get&nbsp;intersections&nbsp;betweens&nbsp;the&nbsp;loops&nbsp;lists.</tt></dd></dl>
<dl><dt><a name="-getLoopsLoopsIntersections"><strong>getLoopsLoopsIntersections</strong></a>(loops, otherLoops)</dt><dd><tt>Get&nbsp;all&nbsp;the&nbsp;intersections&nbsp;of&nbsp;the&nbsp;loops&nbsp;with&nbsp;the&nbsp;other&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-getPointsBoundarySideLoops"><strong>getPointsBoundarySideLoops</strong></a>(inside, loops, points, radius)</dt><dd><tt>Get&nbsp;the&nbsp;points&nbsp;inside&nbsp;the&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-getSubObjectInfoLoopsList"><strong>getSubObjectInfoLoopsList</strong></a>(importRadius, subObjectInfos, z)</dt><dd><tt>Get&nbsp;subObjectInfo&nbsp;loops&nbsp;list.</tt></dd></dl>
<dl><dt><a name="-getTop"><strong>getTop</strong></a>(points)</dt><dd><tt>Get&nbsp;the&nbsp;top&nbsp;of&nbsp;the&nbsp;points.</tt></dd></dl>
<dl><dt><a name="-getTransformedByList"><strong>getTransformedByList</strong></a>(floatList, point)</dt><dd><tt>Get&nbsp;the&nbsp;point&nbsp;transformed&nbsp;by&nbsp;the&nbsp;array.</tt></dd></dl>
<dl><dt><a name="-getValueInQuotes"><strong>getValueInQuotes</strong></a>(name, text, value)</dt><dd><tt>Get&nbsp;value&nbsp;in&nbsp;quotes&nbsp;after&nbsp;the&nbsp;name.</tt></dd></dl>
<dl><dt><a name="-getVector3TransformedByMatrix"><strong>getVector3TransformedByMatrix</strong></a>(matrix, vector3)</dt><dd><tt>Get&nbsp;the&nbsp;vector3&nbsp;multiplied&nbsp;by&nbsp;a&nbsp;vector3.</tt></dd></dl>
<dl><dt><a name="-isPointOrEitherBoundarySideInsideLoops"><strong>isPointOrEitherBoundarySideInsideLoops</strong></a>(inside, loops, pointBegin, pointCenter, pointEnd, radius)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;point&nbsp;or&nbsp;a&nbsp;point&nbsp;on&nbsp;either&nbsp;side&nbsp;of&nbsp;the&nbsp;point,&nbsp;is&nbsp;inside&nbsp;the&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-isPointOrEitherLineBoundarySideInsideLoops"><strong>isPointOrEitherLineBoundarySideInsideLoops</strong></a>(inside, loops, pointBegin, pointCenter, pointEnd, radius)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;point&nbsp;or&nbsp;a&nbsp;point&nbsp;on&nbsp;either&nbsp;side&nbsp;of&nbsp;the&nbsp;point,&nbsp;is&nbsp;inside&nbsp;the&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>(hashtable<font color="#909090">=None</font>)</dt><dd><tt>Display&nbsp;the&nbsp;inset&nbsp;dialog.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__credits__</strong> = 'Nophead &lt;http://hydraraptor.blogspot.com/&gt;<font color="#c040c0">\n</font>Art of Illusion &lt;http://www.artofillusion.org/&gt;'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)<br>
<strong>globalCarvableClassObjectInfoTable</strong> = {'CSGObject': CSGObjectObjectInfo, 'Cube': CubeObjectInfo, 'Cylinder': CylinderObjectInfo, 'Sphere': SphereObjectInfo, 'TriangleMesh': TriangleMeshObjectInfo}</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Credits</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Nophead&nbsp;&lt;<a href="http://hydraraptor.blogspot.com/">http://hydraraptor.blogspot.com/</a>&gt;<br>
Art&nbsp;of&nbsp;Illusion&nbsp;&lt;<a href="http://www.artofillusion.org/">http://www.artofillusion.org/</a>&gt;</td></tr></table>
</body></html>

View File

@@ -0,0 +1,186 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.inset</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.inset</strong></big></big> ($Date: 2008/28/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/inset.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/inset.py</a></font></td></tr></table>
<p><tt>Inset&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;inset&nbsp;the&nbsp;carvings&nbsp;of&nbsp;an&nbsp;svg&nbsp;file.<br>
&nbsp;<br>
Inset&nbsp;insets&nbsp;the&nbsp;svg&nbsp;slices&nbsp;into&nbsp;gcode&nbsp;extrusion&nbsp;layers.&nbsp;&nbsp;The&nbsp;'Extrusion&nbsp;Perimeter&nbsp;Width&nbsp;over&nbsp;Thickness'&nbsp;ratio&nbsp;is&nbsp;the&nbsp;ratio&nbsp;of&nbsp;the<br>
extrusion&nbsp;perimeter&nbsp;width&nbsp;over&nbsp;the&nbsp;layer&nbsp;thickness.&nbsp;&nbsp;The&nbsp;higher&nbsp;the&nbsp;value&nbsp;the&nbsp;more&nbsp;the&nbsp;perimeter&nbsp;will&nbsp;be&nbsp;inset,&nbsp;the&nbsp;default&nbsp;is&nbsp;1.8.<br>
&nbsp;<br>
The&nbsp;'Infill&nbsp;Perimeter&nbsp;Overlap'&nbsp;ratio&nbsp;is&nbsp;the&nbsp;amount&nbsp;the&nbsp;infill&nbsp;overlaps&nbsp;the&nbsp;perimeter&nbsp;over&nbsp;the&nbsp;extrusion&nbsp;width.&nbsp;&nbsp;The&nbsp;higher&nbsp;the&nbsp;value&nbsp;the<br>
more&nbsp;the&nbsp;infill&nbsp;will&nbsp;overlap&nbsp;the&nbsp;perimeter,&nbsp;and&nbsp;the&nbsp;thicker&nbsp;join&nbsp;between&nbsp;the&nbsp;infill&nbsp;and&nbsp;the&nbsp;perimeter.&nbsp;&nbsp;If&nbsp;the&nbsp;value&nbsp;is&nbsp;too&nbsp;high,&nbsp;the&nbsp;join&nbsp;will<br>
be&nbsp;so&nbsp;thick&nbsp;that&nbsp;the&nbsp;nozzle&nbsp;will&nbsp;run&nbsp;plow&nbsp;through&nbsp;the&nbsp;join&nbsp;below&nbsp;making&nbsp;a&nbsp;mess,&nbsp;the&nbsp;default&nbsp;is&nbsp;0.05.&nbsp;&nbsp;There&nbsp;are&nbsp;two&nbsp;choices&nbsp;for&nbsp;the<br>
infill&nbsp;perimeter&nbsp;overlap&nbsp;method&nbsp;of&nbsp;calculation.&nbsp;&nbsp;If&nbsp;the&nbsp;'Calculate&nbsp;Overlap&nbsp;from&nbsp;Perimeter&nbsp;and&nbsp;Infill'&nbsp;option&nbsp;is&nbsp;chosen,&nbsp;the&nbsp;overlap&nbsp;will&nbsp;be<br>
calculated&nbsp;from&nbsp;the&nbsp;average&nbsp;of&nbsp;the&nbsp;perimeter&nbsp;width&nbsp;and&nbsp;the&nbsp;infill&nbsp;width,&nbsp;this&nbsp;is&nbsp;the&nbsp;default&nbsp;choice.&nbsp;&nbsp;If&nbsp;the&nbsp;'Calculate&nbsp;Overlap&nbsp;from<br>
Perimeter&nbsp;Only'&nbsp;option&nbsp;is&nbsp;chosen,&nbsp;the&nbsp;overlap&nbsp;will&nbsp;be&nbsp;calculated&nbsp;from&nbsp;the&nbsp;perimeter&nbsp;width&nbsp;only.<br>
&nbsp;<br>
If&nbsp;the&nbsp;"Start&nbsp;at&nbsp;Home"&nbsp;preference&nbsp;is&nbsp;selected,&nbsp;the&nbsp;G28&nbsp;gcode&nbsp;will&nbsp;be&nbsp;added&nbsp;at&nbsp;the&nbsp;beginning&nbsp;of&nbsp;the&nbsp;file,&nbsp;the&nbsp;default&nbsp;is&nbsp;off<br>
&nbsp;<br>
When&nbsp;inset&nbsp;is&nbsp;generating&nbsp;the&nbsp;code,&nbsp;if&nbsp;there&nbsp;is&nbsp;a&nbsp;file&nbsp;start.txt,&nbsp;it&nbsp;will&nbsp;add&nbsp;that&nbsp;to&nbsp;the&nbsp;very&nbsp;beginning&nbsp;of&nbsp;the&nbsp;gcode.&nbsp;After&nbsp;it&nbsp;has&nbsp;added&nbsp;some<br>
initialization&nbsp;code&nbsp;and&nbsp;just&nbsp;before&nbsp;it&nbsp;adds&nbsp;the&nbsp;extrusion&nbsp;gcode,&nbsp;it&nbsp;will&nbsp;add&nbsp;the&nbsp;file&nbsp;endofthebeginning.txt&nbsp;if&nbsp;it&nbsp;exists.&nbsp;At&nbsp;the&nbsp;very&nbsp;end,&nbsp;it&nbsp;will<br>
add&nbsp;the&nbsp;file&nbsp;end.txt&nbsp;if&nbsp;it&nbsp;exists.&nbsp;Carve&nbsp;does&nbsp;not&nbsp;care&nbsp;if&nbsp;the&nbsp;text&nbsp;file&nbsp;names&nbsp;are&nbsp;capitalized,&nbsp;but&nbsp;some&nbsp;file&nbsp;systems&nbsp;do&nbsp;not&nbsp;handle&nbsp;file&nbsp;name<br>
cases&nbsp;properly,&nbsp;so&nbsp;to&nbsp;be&nbsp;on&nbsp;the&nbsp;safe&nbsp;side&nbsp;you&nbsp;should&nbsp;give&nbsp;them&nbsp;lower&nbsp;case&nbsp;names.&nbsp;&nbsp;It&nbsp;will&nbsp;first&nbsp;look&nbsp;for&nbsp;the&nbsp;file&nbsp;in&nbsp;the&nbsp;same&nbsp;directory&nbsp;as<br>
inset,&nbsp;if&nbsp;it&nbsp;does&nbsp;not&nbsp;find&nbsp;it&nbsp;it&nbsp;will&nbsp;look&nbsp;in&nbsp;~/.skeinforge/gcode_scripts.<br>
&nbsp;<br>
The&nbsp;following&nbsp;examples&nbsp;inset&nbsp;the&nbsp;files&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode&nbsp;&amp;&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl.&nbsp;&nbsp;The&nbsp;examples&nbsp;are&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in<br>
the&nbsp;folder&nbsp;which&nbsp;contains&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;and&nbsp;inset.py.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;inset.py<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;dialog,&nbsp;after&nbsp;clicking&nbsp;'Inset',&nbsp;the&nbsp;following&nbsp;is&nbsp;printed:<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;insetted.<br>
The&nbsp;insetted&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_inset.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;inset<br>
&gt;&gt;&gt;&nbsp;inset.<a href="#-main">main</a>()<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;insetted.<br>
The&nbsp;insetted&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_inset.gcode<br>
It&nbsp;took&nbsp;3&nbsp;seconds&nbsp;to&nbsp;inset&nbsp;the&nbsp;file.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;inset.<a href="#-writeOutput">writeOutput</a>()<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;insetted.<br>
The&nbsp;insetted&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_inset.gcode<br>
It&nbsp;took&nbsp;3&nbsp;seconds&nbsp;to&nbsp;inset&nbsp;the&nbsp;file.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="skeinforge_tools.analyze.html">skeinforge_tools.analyze</a><br>
<a href="cStringIO.html">cStringIO</a><br>
<a href="skeinforge_tools.carve.html">skeinforge_tools.carve</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
<a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="skeinforge_tools.skeinforge_utilities.intercircle.html">skeinforge_tools.skeinforge_utilities.intercircle</a><br>
<a href="skeinforge_tools.skeinforge_utilities.interpret.html">skeinforge_tools.skeinforge_utilities.interpret</a><br>
</td><td width="25%" valign=top><a href="math.html">math</a><br>
<a href="os.html">os</a><br>
<a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
<a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
</td><td width="25%" valign=top><a href="sys.html">sys</a><br>
<a href="time.html">time</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.inset.html#InsetPreferences">InsetPreferences</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.inset.html#InsetSkein">InsetSkein</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="InsetPreferences">class <strong>InsetPreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;inset&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="InsetPreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="InsetPreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Inset&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="InsetSkein">class <strong>InsetSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;inset&nbsp;a&nbsp;skein&nbsp;of&nbsp;extrusions.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="InsetSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="InsetSkein-addFromUpperLowerFile"><strong>addFromUpperLowerFile</strong></a>(self, fileName)</dt><dd><tt>Add&nbsp;lines&nbsp;of&nbsp;text&nbsp;from&nbsp;the&nbsp;fileName&nbsp;or&nbsp;the&nbsp;lowercase&nbsp;fileName,&nbsp;if&nbsp;there&nbsp;is&nbsp;no&nbsp;file&nbsp;by&nbsp;the&nbsp;original&nbsp;fileName&nbsp;in&nbsp;the&nbsp;directory.</tt></dd></dl>
<dl><dt><a name="InsetSkein-addGcodeFromPerimeterPaths"><strong>addGcodeFromPerimeterPaths</strong></a>(self, isIntersectingSelf, loop, loopLists, radius, z)</dt><dd><tt>Add&nbsp;the&nbsp;perimeter&nbsp;paths&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="InsetSkein-addGcodeFromRemainingLoop"><strong>addGcodeFromRemainingLoop</strong></a>(self, loop, loopLists, radius, z)</dt><dd><tt>Add&nbsp;the&nbsp;remainder&nbsp;of&nbsp;the&nbsp;loop&nbsp;which&nbsp;does&nbsp;not&nbsp;overlap&nbsp;the&nbsp;alreadyFilledArounds&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="InsetSkein-addGcodeFromThreadZ"><strong>addGcodeFromThreadZ</strong></a>(self, thread, z)</dt><dd><tt>Add&nbsp;a&nbsp;thread&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="InsetSkein-addGcodeMovementZ"><strong>addGcodeMovementZ</strong></a>(self, point, z)</dt><dd><tt>Add&nbsp;a&nbsp;movement&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="InsetSkein-addInitializationToOutput"><strong>addInitializationToOutput</strong></a>(self)</dt><dd><tt>Add&nbsp;initialization&nbsp;gcode&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="InsetSkein-addInset"><strong>addInset</strong></a>(self, rotatedBoundaryLayer)</dt><dd><tt>Add&nbsp;inset&nbsp;to&nbsp;the&nbsp;carve&nbsp;layer.</tt></dd></dl>
<dl><dt><a name="InsetSkein-addLine"><strong>addLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;of&nbsp;text&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="InsetSkein-addPathData"><strong>addPathData</strong></a>(self, line)</dt><dd><tt>Add&nbsp;the&nbsp;data&nbsp;from&nbsp;the&nbsp;path&nbsp;line.</tt></dd></dl>
<dl><dt><a name="InsetSkein-addRotatedLoopLayer"><strong>addRotatedLoopLayer</strong></a>(self, z)</dt><dd><tt>Add&nbsp;rotated&nbsp;loop&nbsp;layer.</tt></dd></dl>
<dl><dt><a name="InsetSkein-addShutdownToOutput"><strong>addShutdownToOutput</strong></a>(self)</dt><dd><tt>Add&nbsp;shutdown&nbsp;gcode&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="InsetSkein-addTextData"><strong>addTextData</strong></a>(self, line)</dt><dd><tt>Add&nbsp;the&nbsp;data&nbsp;from&nbsp;the&nbsp;text&nbsp;line.</tt></dd></dl>
<dl><dt><a name="InsetSkein-getExtrudateLoops"><strong>getExtrudateLoops</strong></a>(self, halfWidth, loop)</dt><dd><tt>Get&nbsp;the&nbsp;inset&nbsp;extrudate&nbsp;loops&nbsp;from&nbsp;the&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="InsetSkein-getRounded"><strong>getRounded</strong></a>(self, number)</dt><dd><tt>Get&nbsp;number&nbsp;rounded&nbsp;to&nbsp;the&nbsp;number&nbsp;of&nbsp;carried&nbsp;decimal&nbsp;places&nbsp;as&nbsp;a&nbsp;string.</tt></dd></dl>
<dl><dt><a name="InsetSkein-parseGcode"><strong>parseGcode</strong></a>(self, insetPreferences, gcodeText)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;bevel&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="InsetSkein-parseInitialization"><strong>parseInitialization</strong></a>(self)</dt><dd><tt>Parse&nbsp;gcode&nbsp;initialization&nbsp;and&nbsp;store&nbsp;the&nbsp;parameters.</tt></dd></dl>
<dl><dt><a name="InsetSkein-parseLine"><strong>parseLine</strong></a>(self, lineIndex)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;inset&nbsp;skein.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-addAlreadyFilledArounds"><strong>addAlreadyFilledArounds</strong></a>(alreadyFilledArounds, loop, radius)</dt><dd><tt>Add&nbsp;already&nbsp;filled&nbsp;loops&nbsp;around&nbsp;loop&nbsp;to&nbsp;alreadyFilledArounds.</tt></dd></dl>
<dl><dt><a name="-addSegmentOutline"><strong>addSegmentOutline</strong></a>(isThick, outlines, pointBegin, pointEnd, width)</dt><dd><tt>Add&nbsp;a&nbsp;diamond&nbsp;or&nbsp;hexagonal&nbsp;outline&nbsp;for&nbsp;a&nbsp;line&nbsp;segment.</tt></dd></dl>
<dl><dt><a name="-getInsetChainGcode"><strong>getInsetChainGcode</strong></a>(fileName, gcodeText, insetPreferences<font color="#909090">=None</font>)</dt><dd><tt>Inset&nbsp;the&nbsp;carves&nbsp;of&nbsp;a&nbsp;gcode&nbsp;text.&nbsp;&nbsp;Chain&nbsp;inset&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;carved.</tt></dd></dl>
<dl><dt><a name="-getInsetGcode"><strong>getInsetGcode</strong></a>(gcodeText, insetPreferences<font color="#909090">=None</font>)</dt><dd><tt>Inset&nbsp;the&nbsp;carves&nbsp;of&nbsp;a&nbsp;gcode&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-getSegmentsFromPoints"><strong>getSegmentsFromPoints</strong></a>(aroundLists, loopLists, pointBegin, pointEnd)</dt><dd><tt>Get&nbsp;endpoint&nbsp;segments&nbsp;from&nbsp;the&nbsp;beginning&nbsp;and&nbsp;end&nbsp;of&nbsp;a&nbsp;line&nbsp;segment.</tt></dd></dl>
<dl><dt><a name="-isCloseToLast"><strong>isCloseToLast</strong></a>(paths, point, radius)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;point&nbsp;is&nbsp;close&nbsp;to&nbsp;the&nbsp;last&nbsp;point&nbsp;of&nbsp;the&nbsp;last&nbsp;path.</tt></dd></dl>
<dl><dt><a name="-isIntersectingItself"><strong>isIntersectingItself</strong></a>(loop, width)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;loop&nbsp;is&nbsp;intersecting&nbsp;itself.</tt></dd></dl>
<dl><dt><a name="-isIntersectingWithinList"><strong>isIntersectingWithinList</strong></a>(loop, loopList)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;loop&nbsp;is&nbsp;intersecting&nbsp;or&nbsp;is&nbsp;within&nbsp;the&nbsp;loop&nbsp;list.</tt></dd></dl>
<dl><dt><a name="-isIntersectingWithinLists"><strong>isIntersectingWithinLists</strong></a>(loop, loopLists)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;loop&nbsp;is&nbsp;intersecting&nbsp;or&nbsp;is&nbsp;within&nbsp;the&nbsp;loop&nbsp;lists.</tt></dd></dl>
<dl><dt><a name="-isSegmentInsideAround"><strong>isSegmentInsideAround</strong></a>(aroundLists, segment)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;segment&nbsp;is&nbsp;inside&nbsp;an&nbsp;around.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>(hashtable<font color="#909090">=None</font>)</dt><dd><tt>Display&nbsp;the&nbsp;inset&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Inset&nbsp;the&nbsp;carves&nbsp;of&nbsp;a&nbsp;gcode&nbsp;file.&nbsp;&nbsp;Chain&nbsp;carve&nbsp;the&nbsp;file&nbsp;if&nbsp;it&nbsp;is&nbsp;a&nbsp;GNU&nbsp;TriangulatedSurface&nbsp;file.&nbsp;&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;inset&nbsp;the&nbsp;first&nbsp;unmodified&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/28/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,90 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.material</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.material</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/material.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/material.py</a></font></td></tr></table>
<p><tt>Material&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;set&nbsp;the&nbsp;material&nbsp;preference&nbsp;for&nbsp;the&nbsp;skeinforge&nbsp;chain.<br>
&nbsp;<br>
To&nbsp;change&nbsp;the&nbsp;material&nbsp;preference,&nbsp;in&nbsp;a&nbsp;shell&nbsp;in&nbsp;the&nbsp;material&nbsp;folder&nbsp;type:<br>
&gt;&nbsp;python&nbsp;material.py<br>
&nbsp;<br>
An&nbsp;example&nbsp;of&nbsp;using&nbsp;material&nbsp;from&nbsp;the&nbsp;python&nbsp;interpreter&nbsp;follows&nbsp;below.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;material<br>
&gt;&gt;&gt;&nbsp;material.<a href="#-main">main</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;material&nbsp;preference&nbsp;dialog.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;material.<a href="#-getSelectedMaterial">getSelectedMaterial</a>()<br>
ABS</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.material.html#MaterialPreferences">MaterialPreferences</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="MaterialPreferences">class <strong>MaterialPreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;material&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="MaterialPreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getSelectedMaterial"><strong>getSelectedMaterial</strong></a>()</dt><dd><tt>Get&nbsp;the&nbsp;selected&nbsp;material.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>(hashtable<font color="#909090">=None</font>)</dt><dd><tt>Display&nbsp;the&nbsp;material&nbsp;dialog.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,175 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.multiply</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.multiply</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/multiply.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/multiply.py</a></font></td></tr></table>
<p><tt>Multiply&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;multiply&nbsp;the&nbsp;shape&nbsp;into&nbsp;an&nbsp;array&nbsp;of&nbsp;copies&nbsp;arranged&nbsp;in&nbsp;a&nbsp;table.<br>
&nbsp;<br>
The&nbsp;default&nbsp;'Activate&nbsp;Multiply'&nbsp;checkbox&nbsp;is&nbsp;on.&nbsp;&nbsp;When&nbsp;it&nbsp;is&nbsp;on,&nbsp;the&nbsp;functions&nbsp;described&nbsp;below&nbsp;will&nbsp;work,&nbsp;when&nbsp;it&nbsp;is&nbsp;off,&nbsp;the<br>
functions&nbsp;will&nbsp;not&nbsp;be&nbsp;called.&nbsp;&nbsp;The&nbsp;multiply&nbsp;script&nbsp;sets&nbsp;the&nbsp;feedrate,&nbsp;and&nbsp;flowrate.&nbsp;&nbsp;To&nbsp;run&nbsp;multiply,&nbsp;in&nbsp;a&nbsp;shell&nbsp;type:<br>
&gt;&nbsp;python&nbsp;multiply.py<br>
&nbsp;<br>
The&nbsp;center&nbsp;of&nbsp;the&nbsp;shape&nbsp;will&nbsp;be&nbsp;moved&nbsp;to&nbsp;the&nbsp;"Center&nbsp;X"&nbsp;and&nbsp;"Center&nbsp;Y"&nbsp;coordinates.<br>
&nbsp;<br>
The&nbsp;"Number&nbsp;of&nbsp;Columns"&nbsp;preference&nbsp;is&nbsp;the&nbsp;number&nbsp;of&nbsp;columns&nbsp;in&nbsp;the&nbsp;array&nbsp;table.&nbsp;&nbsp;The&nbsp;"Number&nbsp;of&nbsp;Rows"&nbsp;is&nbsp;the&nbsp;number&nbsp;of&nbsp;rows<br>
in&nbsp;the&nbsp;table.&nbsp;&nbsp;The&nbsp;"Separation&nbsp;over&nbsp;Extrusion&nbsp;Width"&nbsp;is&nbsp;the&nbsp;ratio&nbsp;of&nbsp;separation&nbsp;between&nbsp;the&nbsp;shape&nbsp;copies&nbsp;over&nbsp;the&nbsp;extrusion&nbsp;width.<br>
&nbsp;<br>
The&nbsp;following&nbsp;examples&nbsp;multiply&nbsp;the&nbsp;files&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode&nbsp;&amp;&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl.&nbsp;&nbsp;The&nbsp;examples&nbsp;are&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the<br>
folder&nbsp;which&nbsp;contains&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode,&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;and&nbsp;multiply.py.&nbsp;&nbsp;The&nbsp;multiply&nbsp;function&nbsp;will&nbsp;multiply&nbsp;if&nbsp;"Activate<br>
Multiply"&nbsp;is&nbsp;true,&nbsp;which&nbsp;can&nbsp;be&nbsp;set&nbsp;in&nbsp;the&nbsp;dialog&nbsp;or&nbsp;by&nbsp;changing&nbsp;the&nbsp;preferences&nbsp;file&nbsp;'multiply.csv'&nbsp;with&nbsp;a&nbsp;text&nbsp;editor&nbsp;or&nbsp;a<br>
spreadsheet&nbsp;program&nbsp;set&nbsp;to&nbsp;separate&nbsp;tabs.&nbsp;&nbsp;The&nbsp;functions&nbsp;writeOutput&nbsp;and&nbsp;getMultiplyChainGcode&nbsp;check&nbsp;to&nbsp;see&nbsp;if&nbsp;the&nbsp;text&nbsp;has<br>
been&nbsp;multiplied,&nbsp;if&nbsp;not&nbsp;they&nbsp;call&nbsp;getFillChainGcode&nbsp;in&nbsp;fill.py&nbsp;to&nbsp;get&nbsp;filled&nbsp;gcode;&nbsp;once&nbsp;they&nbsp;have&nbsp;the&nbsp;filled&nbsp;text,&nbsp;then&nbsp;they&nbsp;multiply.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;multiply.py<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;dialog,&nbsp;after&nbsp;clicking&nbsp;'Multiply',&nbsp;the&nbsp;following&nbsp;is&nbsp;printed:<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;multiplied.<br>
The&nbsp;multiplied&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_multiply.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;multiply<br>
&gt;&gt;&gt;&nbsp;multiply.<a href="#-main">main</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;multiply&nbsp;dialog.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;multiply.<a href="#-writeOutput">writeOutput</a>()<br>
Screw&nbsp;Holder&nbsp;Bottom.stl<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;multiplied.<br>
The&nbsp;multiplied&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_multiply.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;multiply.<a href="#-getMultiplyGcode">getMultiplyGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;multiply.<a href="#-getMultiplyChainGcode">getMultiplyChainGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="skeinforge_tools.analyze.html">skeinforge_tools.analyze</a><br>
<a href="cStringIO.html">cStringIO</a><br>
<a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.fill.html">skeinforge_tools.fill</a><br>
<a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="skeinforge_tools.skeinforge_utilities.intercircle.html">skeinforge_tools.skeinforge_utilities.intercircle</a><br>
<a href="skeinforge_tools.skeinforge_utilities.interpret.html">skeinforge_tools.skeinforge_utilities.interpret</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.material.html">skeinforge_tools.material</a><br>
<a href="math.html">math</a><br>
<a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
<a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
</td><td width="25%" valign=top><a href="sys.html">sys</a><br>
<a href="time.html">time</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.multiply.html#MultiplyPreferences">MultiplyPreferences</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.multiply.html#MultiplySkein">MultiplySkein</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="MultiplyPreferences">class <strong>MultiplyPreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;multiply&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="MultiplyPreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="MultiplyPreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Multiply&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="MultiplySkein">class <strong>MultiplySkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;multiply&nbsp;a&nbsp;skein&nbsp;of&nbsp;extrusions.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="MultiplySkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="MultiplySkein-addElement"><strong>addElement</strong></a>(self, offset)</dt><dd><tt>Add&nbsp;moved&nbsp;element&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="MultiplySkein-addLayer"><strong>addLayer</strong></a>(self)</dt><dd><tt>Add&nbsp;multiplied&nbsp;layer&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="MultiplySkein-addLine"><strong>addLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;of&nbsp;text&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="MultiplySkein-getGcodeFromMovementZ"><strong>getGcodeFromMovementZ</strong></a>(self, point, z)</dt><dd><tt>Get&nbsp;a&nbsp;gcode&nbsp;movement.</tt></dd></dl>
<dl><dt><a name="MultiplySkein-getMovedLocationSetOldLocation"><strong>getMovedLocationSetOldLocation</strong></a>(self, offset, splitLine)</dt><dd><tt>Get&nbsp;the&nbsp;moved&nbsp;location&nbsp;and&nbsp;set&nbsp;the&nbsp;old&nbsp;location.</tt></dd></dl>
<dl><dt><a name="MultiplySkein-getRounded"><strong>getRounded</strong></a>(self, number)</dt><dd><tt>Get&nbsp;number&nbsp;rounded&nbsp;to&nbsp;the&nbsp;number&nbsp;of&nbsp;carried&nbsp;decimal&nbsp;places&nbsp;as&nbsp;a&nbsp;string.</tt></dd></dl>
<dl><dt><a name="MultiplySkein-parseGcode"><strong>parseGcode</strong></a>(self, gcodeText, multiplyPreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;multiply&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="MultiplySkein-parseInitialization"><strong>parseInitialization</strong></a>(self)</dt><dd><tt>Parse&nbsp;gcode&nbsp;initialization&nbsp;and&nbsp;store&nbsp;the&nbsp;parameters.</tt></dd></dl>
<dl><dt><a name="MultiplySkein-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;multiply&nbsp;skein.</tt></dd></dl>
<dl><dt><a name="MultiplySkein-setCorners"><strong>setCorners</strong></a>(self)</dt><dd><tt>Set&nbsp;maximum&nbsp;and&nbsp;minimum&nbsp;corners&nbsp;and&nbsp;z.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getMultiplyChainGcode"><strong>getMultiplyChainGcode</strong></a>(fileName, gcodeText, multiplyPreferences<font color="#909090">=None</font>)</dt><dd><tt>Multiply&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.&nbsp;&nbsp;Chain&nbsp;multiply&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;multiplied.</tt></dd></dl>
<dl><dt><a name="-getMultiplyGcode"><strong>getMultiplyGcode</strong></a>(gcodeText, multiplyPreferences<font color="#909090">=None</font>)</dt><dd><tt>Multiply&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>()</dt><dd><tt>Display&nbsp;the&nbsp;multiply&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Multiply&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;file.&nbsp;&nbsp;Chain&nbsp;multiply&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;multiplied.<br>
If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;multiply&nbsp;the&nbsp;first&nbsp;unmodified&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,238 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.oozebane</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.oozebane</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/oozebane.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/oozebane.py</a></font></td></tr></table>
<p><tt>Oozebane&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;turn&nbsp;off&nbsp;the&nbsp;extruder&nbsp;before&nbsp;the&nbsp;end&nbsp;of&nbsp;a&nbsp;thread&nbsp;and&nbsp;turn&nbsp;it&nbsp;on&nbsp;before&nbsp;the&nbsp;beginning.<br>
&nbsp;<br>
The&nbsp;default&nbsp;'Activate&nbsp;Oozebane'&nbsp;checkbox&nbsp;is&nbsp;on.&nbsp;&nbsp;When&nbsp;it&nbsp;is&nbsp;on,&nbsp;the&nbsp;functions&nbsp;described&nbsp;below&nbsp;will&nbsp;work,&nbsp;when&nbsp;it&nbsp;is&nbsp;off,&nbsp;the&nbsp;functions<br>
will&nbsp;not&nbsp;be&nbsp;called.<br>
&nbsp;<br>
The&nbsp;important&nbsp;value&nbsp;for&nbsp;the&nbsp;oozebane&nbsp;preferences&nbsp;is&nbsp;"Early&nbsp;Shutdown&nbsp;Distance"&nbsp;which&nbsp;is&nbsp;the&nbsp;distance&nbsp;before&nbsp;the&nbsp;end&nbsp;of&nbsp;the&nbsp;thread<br>
that&nbsp;the&nbsp;extruder&nbsp;will&nbsp;be&nbsp;turned&nbsp;off,&nbsp;the&nbsp;default&nbsp;is&nbsp;1.2.&nbsp;&nbsp;A&nbsp;higher&nbsp;distance&nbsp;means&nbsp;the&nbsp;extruder&nbsp;will&nbsp;turn&nbsp;off&nbsp;sooner&nbsp;and&nbsp;the&nbsp;end&nbsp;of&nbsp;the<br>
line&nbsp;will&nbsp;be&nbsp;thinner.<br>
&nbsp;<br>
When&nbsp;oozebane&nbsp;turns&nbsp;the&nbsp;extruder&nbsp;off,&nbsp;it&nbsp;slows&nbsp;the&nbsp;feedrate&nbsp;down&nbsp;in&nbsp;steps&nbsp;so&nbsp;in&nbsp;theory&nbsp;the&nbsp;thread&nbsp;will&nbsp;remain&nbsp;at&nbsp;roughly&nbsp;the&nbsp;same<br>
thickness&nbsp;until&nbsp;the&nbsp;end.&nbsp;&nbsp;The&nbsp;"Turn&nbsp;Off&nbsp;Steps"&nbsp;preference&nbsp;is&nbsp;the&nbsp;number&nbsp;of&nbsp;steps,&nbsp;the&nbsp;more&nbsp;steps&nbsp;the&nbsp;smaller&nbsp;the&nbsp;size&nbsp;of&nbsp;the&nbsp;step&nbsp;that<br>
the&nbsp;feedrate&nbsp;will&nbsp;be&nbsp;decreased&nbsp;and&nbsp;the&nbsp;larger&nbsp;the&nbsp;size&nbsp;of&nbsp;the&nbsp;resulting&nbsp;gcode&nbsp;file,&nbsp;the&nbsp;default&nbsp;is&nbsp;three.<br>
&nbsp;<br>
Oozebane&nbsp;also&nbsp;turns&nbsp;the&nbsp;extruder&nbsp;on&nbsp;just&nbsp;before&nbsp;the&nbsp;start&nbsp;of&nbsp;a&nbsp;thread.&nbsp;&nbsp;The&nbsp;"Early&nbsp;Startup&nbsp;Maximum&nbsp;Distance"&nbsp;preference&nbsp;is&nbsp;the<br>
maximum&nbsp;distance&nbsp;before&nbsp;the&nbsp;thread&nbsp;starts&nbsp;that&nbsp;the&nbsp;extruder&nbsp;will&nbsp;be&nbsp;turned&nbsp;off,&nbsp;the&nbsp;default&nbsp;is&nbsp;1.2.&nbsp;&nbsp;The&nbsp;longer&nbsp;the&nbsp;extruder&nbsp;has&nbsp;been<br>
off,&nbsp;the&nbsp;earlier&nbsp;the&nbsp;extruder&nbsp;will&nbsp;turn&nbsp;back&nbsp;on,&nbsp;the&nbsp;ratio&nbsp;is&nbsp;one&nbsp;minus&nbsp;one&nbsp;over&nbsp;e&nbsp;to&nbsp;the&nbsp;power&nbsp;of&nbsp;the&nbsp;distance&nbsp;the&nbsp;extruder&nbsp;has&nbsp;been<br>
off&nbsp;over&nbsp;the&nbsp;"Early&nbsp;Startup&nbsp;Distance&nbsp;Constant".&nbsp;&nbsp;The&nbsp;'First&nbsp;Early&nbsp;Startup&nbsp;Distance'&nbsp;preference&nbsp;is&nbsp;the&nbsp;distance&nbsp;before&nbsp;the&nbsp;first&nbsp;thread<br>
starts&nbsp;that&nbsp;the&nbsp;extruder&nbsp;will&nbsp;be&nbsp;turned&nbsp;off.&nbsp;&nbsp;This&nbsp;value&nbsp;should&nbsp;be&nbsp;high&nbsp;because,&nbsp;according&nbsp;to&nbsp;Marius,&nbsp;the&nbsp;extruder&nbsp;takes&nbsp;a&nbsp;second&nbsp;or<br>
two&nbsp;to&nbsp;extrude&nbsp;when&nbsp;starting&nbsp;for&nbsp;the&nbsp;first&nbsp;time,&nbsp;the&nbsp;default&nbsp;is&nbsp;twenty&nbsp;five.<br>
&nbsp;<br>
When&nbsp;oozebane&nbsp;reaches&nbsp;the&nbsp;point&nbsp;where&nbsp;the&nbsp;extruder&nbsp;would&nbsp;of&nbsp;turned&nbsp;on,&nbsp;it&nbsp;slows&nbsp;down&nbsp;so&nbsp;that&nbsp;the&nbsp;thread&nbsp;will&nbsp;be&nbsp;thick&nbsp;at&nbsp;that&nbsp;point.<br>
Afterwards&nbsp;it&nbsp;speeds&nbsp;the&nbsp;extruder&nbsp;back&nbsp;up&nbsp;to&nbsp;operating&nbsp;speed.&nbsp;&nbsp;The&nbsp;speed&nbsp;up&nbsp;distance&nbsp;is&nbsp;the&nbsp;"After&nbsp;Startup&nbsp;Distance".<br>
&nbsp;<br>
The&nbsp;"Minimum&nbsp;Distance&nbsp;for&nbsp;Early&nbsp;Startup"&nbsp;is&nbsp;the&nbsp;minimum&nbsp;distance&nbsp;that&nbsp;the&nbsp;extruder&nbsp;has&nbsp;to&nbsp;be&nbsp;off&nbsp;before&nbsp;the&nbsp;thread&nbsp;begins&nbsp;for&nbsp;the<br>
early&nbsp;start&nbsp;up&nbsp;feature&nbsp;to&nbsp;activate.&nbsp;&nbsp;The&nbsp;"Minimum&nbsp;Distance&nbsp;for&nbsp;Early&nbsp;Shutdown"&nbsp;is&nbsp;the&nbsp;minimum&nbsp;distance&nbsp;that&nbsp;the&nbsp;extruder&nbsp;has&nbsp;to&nbsp;be<br>
off&nbsp;after&nbsp;the&nbsp;thread&nbsp;end&nbsp;for&nbsp;the&nbsp;early&nbsp;shutdown&nbsp;feature&nbsp;to&nbsp;activate.<br>
&nbsp;<br>
After&nbsp;oozebane&nbsp;turns&nbsp;the&nbsp;extruder&nbsp;on,&nbsp;it&nbsp;slows&nbsp;the&nbsp;feedrate&nbsp;down&nbsp;where&nbsp;the&nbsp;thread&nbsp;starts.&nbsp;&nbsp;Then&nbsp;it&nbsp;speeds&nbsp;it&nbsp;up&nbsp;in&nbsp;steps&nbsp;so&nbsp;in&nbsp;theory<br>
the&nbsp;thread&nbsp;will&nbsp;remain&nbsp;at&nbsp;roughly&nbsp;the&nbsp;same&nbsp;thickness&nbsp;from&nbsp;the&nbsp;beginning.<br>
&nbsp;<br>
To&nbsp;run&nbsp;oozebane,&nbsp;in&nbsp;a&nbsp;shell&nbsp;which&nbsp;oozebane&nbsp;is&nbsp;in&nbsp;type:<br>
&gt;&nbsp;python&nbsp;oozebane.py<br>
&nbsp;<br>
The&nbsp;following&nbsp;examples&nbsp;oozebane&nbsp;the&nbsp;files&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode&nbsp;&amp;&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl.&nbsp;&nbsp;The&nbsp;examples&nbsp;are&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the<br>
folder&nbsp;which&nbsp;contains&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode,&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;and&nbsp;oozebane.py.&nbsp;&nbsp;The&nbsp;oozebane&nbsp;function&nbsp;will&nbsp;oozebane&nbsp;if&nbsp;the<br>
'Activate&nbsp;Oozebane'&nbsp;checkbox&nbsp;is&nbsp;on.&nbsp;&nbsp;The&nbsp;functions&nbsp;writeOutput&nbsp;and&nbsp;getOozebaneChainGcode&nbsp;check&nbsp;to&nbsp;see&nbsp;if&nbsp;the&nbsp;text&nbsp;has&nbsp;been<br>
oozebaned,&nbsp;if&nbsp;not&nbsp;they&nbsp;call&nbsp;the&nbsp;getWipeChainGcode&nbsp;in&nbsp;wipe.py&nbsp;to&nbsp;nozzle&nbsp;wipe&nbsp;the&nbsp;text;&nbsp;once&nbsp;they&nbsp;have&nbsp;the&nbsp;nozzle<br>
wiped&nbsp;text,&nbsp;then&nbsp;they&nbsp;oozebane.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;oozebane.py<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;dialog,&nbsp;after&nbsp;clicking&nbsp;'Oozebane',&nbsp;the&nbsp;following&nbsp;is&nbsp;printed:<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;oozebaned.<br>
The&nbsp;oozebaned&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_oozebane.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;oozebane.py&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;oozebaned.<br>
The&nbsp;oozebaned&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_oozebane.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;oozebane<br>
&gt;&gt;&gt;&nbsp;oozebane.<a href="#-main">main</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;oozebane&nbsp;dialog.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;oozebane.<a href="#-writeOutput">writeOutput</a>()<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;oozebaned.<br>
The&nbsp;oozebaned&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_oozebane.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;oozebane.<a href="#-getOozebaneGcode">getOozebaneGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;oozebane.<a href="#-getOozebaneChainGcode">getOozebaneChainGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="skeinforge_tools.analyze.html">skeinforge_tools.analyze</a><br>
<a href="cStringIO.html">cStringIO</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
<a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="skeinforge_tools.skeinforge_utilities.interpret.html">skeinforge_tools.skeinforge_utilities.interpret</a><br>
</td><td width="25%" valign=top><a href="math.html">math</a><br>
<a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
<a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
</td><td width="25%" valign=top><a href="sys.html">sys</a><br>
<a href="time.html">time</a><br>
<a href="skeinforge_tools.wipe.html">skeinforge_tools.wipe</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.oozebane.html#OozebanePreferences">OozebanePreferences</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.oozebane.html#OozebaneSkein">OozebaneSkein</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="OozebanePreferences">class <strong>OozebanePreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;oozebane&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="OozebanePreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="OozebanePreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Oozebane&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="OozebaneSkein">class <strong>OozebaneSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;oozebane&nbsp;a&nbsp;skein&nbsp;of&nbsp;extrusions.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="OozebaneSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="OozebaneSkein-addAfterStartupLine"><strong>addAfterStartupLine</strong></a>(self, splitLine)</dt><dd><tt>Add&nbsp;the&nbsp;after&nbsp;startup&nbsp;lines.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-addLine"><strong>addLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;of&nbsp;text&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-addLineSetShutdowns"><strong>addLineSetShutdowns</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;and&nbsp;set&nbsp;the&nbsp;shutdown&nbsp;variables.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getActiveFeedrateRatio"><strong>getActiveFeedrateRatio</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;feedrate&nbsp;of&nbsp;the&nbsp;first&nbsp;active&nbsp;move&nbsp;over&nbsp;the&nbsp;operating&nbsp;feedrate.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getAddAfterStartupLines"><strong>getAddAfterStartupLines</strong></a>(self, line)</dt><dd><tt>Get&nbsp;and&nbsp;/&nbsp;or&nbsp;add&nbsp;after&nbsp;the&nbsp;startup&nbsp;lines.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getAddBeforeStartupLines"><strong>getAddBeforeStartupLines</strong></a>(self, line)</dt><dd><tt>Get&nbsp;and&nbsp;/&nbsp;or&nbsp;add&nbsp;before&nbsp;the&nbsp;startup&nbsp;lines.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getAddShutSlowDownLine"><strong>getAddShutSlowDownLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;the&nbsp;shutdown&nbsp;and&nbsp;slowdown&nbsp;lines.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getAddShutSlowDownLines"><strong>getAddShutSlowDownLines</strong></a>(self, line)</dt><dd><tt>Get&nbsp;and&nbsp;/&nbsp;or&nbsp;add&nbsp;the&nbsp;shutdown&nbsp;and&nbsp;slowdown&nbsp;lines.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getDistanceAfterThreadBeginning"><strong>getDistanceAfterThreadBeginning</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;distance&nbsp;after&nbsp;the&nbsp;beginning&nbsp;of&nbsp;the&nbsp;thread.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getDistanceToExtruderOffCommand"><strong>getDistanceToExtruderOffCommand</strong></a>(self, remainingDistance)</dt><dd><tt>Get&nbsp;the&nbsp;distance&nbsp;to&nbsp;the&nbsp;word.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getDistanceToThreadBeginning"><strong>getDistanceToThreadBeginning</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;distance&nbsp;to&nbsp;the&nbsp;beginning&nbsp;of&nbsp;the&nbsp;thread.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getDistanceToThreadBeginningAfterThreadEnd"><strong>getDistanceToThreadBeginningAfterThreadEnd</strong></a>(self, remainingDistance)</dt><dd><tt>Get&nbsp;the&nbsp;distance&nbsp;to&nbsp;the&nbsp;thread&nbsp;beginning&nbsp;after&nbsp;the&nbsp;end&nbsp;of&nbsp;this&nbsp;thread.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getDistanceToThreadEnd"><strong>getDistanceToThreadEnd</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;distance&nbsp;to&nbsp;the&nbsp;end&nbsp;of&nbsp;the&nbsp;thread.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getLinearMoveWithFeedrate"><strong>getLinearMoveWithFeedrate</strong></a>(self, feedrate, location)</dt><dd><tt>Get&nbsp;a&nbsp;linear&nbsp;move&nbsp;line&nbsp;with&nbsp;the&nbsp;feedrate.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getLinearMoveWithFeedrateSplitLine"><strong>getLinearMoveWithFeedrateSplitLine</strong></a>(self, feedrate, splitLine)</dt><dd><tt>Get&nbsp;a&nbsp;linear&nbsp;move&nbsp;line&nbsp;with&nbsp;the&nbsp;feedrate&nbsp;and&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getOozebaneLine"><strong>getOozebaneLine</strong></a>(self, line)</dt><dd><tt>Get&nbsp;oozebaned&nbsp;gcode&nbsp;line.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getRounded"><strong>getRounded</strong></a>(self, number)</dt><dd><tt>Get&nbsp;number&nbsp;rounded&nbsp;to&nbsp;the&nbsp;number&nbsp;of&nbsp;carried&nbsp;decimal&nbsp;places&nbsp;as&nbsp;a&nbsp;string.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getShutdownFlowRateMultiplier"><strong>getShutdownFlowRateMultiplier</strong></a>(self, along, numberOfDistances)</dt><dd><tt>Get&nbsp;the&nbsp;shut&nbsp;down&nbsp;flow&nbsp;rate&nbsp;multipler.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-getStartupFlowRateMultiplier"><strong>getStartupFlowRateMultiplier</strong></a>(self, along, numberOfDistances)</dt><dd><tt>Get&nbsp;the&nbsp;startup&nbsp;flow&nbsp;rate&nbsp;multipler.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-isClose"><strong>isClose</strong></a>(self, location, otherLocation)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;location&nbsp;is&nbsp;close&nbsp;to&nbsp;the&nbsp;other&nbsp;location.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-isCloseToEither"><strong>isCloseToEither</strong></a>(self, location, otherLocationFirst, otherLocationSecond)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;location&nbsp;is&nbsp;close&nbsp;to&nbsp;the&nbsp;other&nbsp;locations.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-isDistanceAfterThreadBeginningGreater"><strong>isDistanceAfterThreadBeginningGreater</strong></a>(self)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;distance&nbsp;after&nbsp;the&nbsp;thread&nbsp;beginning&nbsp;is&nbsp;greater&nbsp;than&nbsp;the&nbsp;step&nbsp;index&nbsp;after&nbsp;startup&nbsp;distance.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-parseGcode"><strong>parseGcode</strong></a>(self, gcodeText, oozebanePreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;oozebane&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-parseInitialization"><strong>parseInitialization</strong></a>(self, oozebanePreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;initialization&nbsp;and&nbsp;store&nbsp;the&nbsp;parameters.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;bevel&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-setAfterStartupFlowRates"><strong>setAfterStartupFlowRates</strong></a>(self, afterStartupRatio)</dt><dd><tt>Set&nbsp;the&nbsp;after&nbsp;startup&nbsp;flow&nbsp;rates.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-setEarlyShutdown"><strong>setEarlyShutdown</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;early&nbsp;shutdown&nbsp;variables.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-setEarlyShutdownFlowRates"><strong>setEarlyShutdownFlowRates</strong></a>(self, earlyShutdownRatio)</dt><dd><tt>Set&nbsp;the&nbsp;extrusion&nbsp;width.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-setEarlyStartupDistance"><strong>setEarlyStartupDistance</strong></a>(self, splitLine)</dt><dd><tt>Set&nbsp;the&nbsp;early&nbsp;startup&nbsp;distance.</tt></dd></dl>
<dl><dt><a name="OozebaneSkein-setExtrusionWidth"><strong>setExtrusionWidth</strong></a>(self, oozebanePreferences)</dt><dd><tt>Set&nbsp;the&nbsp;extrusion&nbsp;width.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getOozebaneChainGcode"><strong>getOozebaneChainGcode</strong></a>(fileName, gcodeText, oozebanePreferences<font color="#909090">=None</font>)</dt><dd><tt>Oozebane&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.&nbsp;&nbsp;Chain&nbsp;oozebane&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;oozebaned.</tt></dd></dl>
<dl><dt><a name="-getOozebaneGcode"><strong>getOozebaneGcode</strong></a>(gcodeText, oozebanePreferences<font color="#909090">=None</font>)</dt><dd><tt>Oozebane&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>(hashtable<font color="#909090">=None</font>)</dt><dd><tt>Display&nbsp;the&nbsp;oozebane&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Oozebane&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;file.&nbsp;&nbsp;Chain&nbsp;oozebane&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;oozebaned.&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;oozebane&nbsp;the&nbsp;first&nbsp;unmodified&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,98 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.polyfile</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.polyfile</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/polyfile.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/polyfile.py</a></font></td></tr></table>
<p><tt>Polyfile&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;choose&nbsp;whether&nbsp;the&nbsp;skeinforge&nbsp;toolchain&nbsp;will&nbsp;operate&nbsp;on&nbsp;one&nbsp;file&nbsp;or&nbsp;all&nbsp;the&nbsp;files&nbsp;in&nbsp;a&nbsp;directory.<br>
&nbsp;<br>
Polyfile&nbsp;stores&nbsp;and&nbsp;lets&nbsp;the&nbsp;user&nbsp;change&nbsp;the&nbsp;preference&nbsp;of&nbsp;whether&nbsp;to&nbsp;operate&nbsp;on&nbsp;one&nbsp;file&nbsp;or&nbsp;all&nbsp;the&nbsp;files&nbsp;in&nbsp;a&nbsp;directory.&nbsp;&nbsp;The&nbsp;default<br>
'Polyfile&nbsp;Choice'&nbsp;radio&nbsp;button&nbsp;group&nbsp;choice&nbsp;is&nbsp;'Execute&nbsp;File'.&nbsp;&nbsp;With&nbsp;'Execute&nbsp;File'&nbsp;chosen,&nbsp;the&nbsp;toolchain&nbsp;will&nbsp;operate&nbsp;on&nbsp;only&nbsp;the<br>
chosen&nbsp;file.&nbsp;&nbsp;When&nbsp;the&nbsp;chosen&nbsp;choice&nbsp;is&nbsp;'Execute&nbsp;All&nbsp;Unmodified&nbsp;Files&nbsp;in&nbsp;a&nbsp;Directory',&nbsp;the&nbsp;toolchain&nbsp;will&nbsp;operate&nbsp;on&nbsp;all&nbsp;the<br>
unmodifed&nbsp;files&nbsp;in&nbsp;the&nbsp;directory&nbsp;that&nbsp;the&nbsp;chosen&nbsp;file&nbsp;is&nbsp;in.&nbsp;&nbsp;To&nbsp;use&nbsp;the&nbsp;dialog&nbsp;to&nbsp;change&nbsp;the&nbsp;polyfile<br>
preferences,&nbsp;in&nbsp;a&nbsp;shell&nbsp;type:<br>
&gt;&nbsp;python&nbsp;polyfile.py<br>
&nbsp;<br>
Polyfile&nbsp;examples&nbsp;follow&nbsp;below.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;polyfile<br>
&gt;&gt;&gt;&nbsp;polyfile.<a href="#-main">main</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;polyfile&nbsp;preference&nbsp;dialog.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;polyfile.<a href="#-isDirectoryPreference">isDirectoryPreference</a>()<br>
This&nbsp;returns&nbsp;true&nbsp;if&nbsp;'Execute&nbsp;All&nbsp;Unmodified&nbsp;Files&nbsp;in&nbsp;a&nbsp;Directory'&nbsp;is&nbsp;chosen&nbsp;and&nbsp;returns&nbsp;false&nbsp;if&nbsp;'Execute&nbsp;File'&nbsp;is&nbsp;chosen.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.polyfile.html#PolyfilePreferences">PolyfilePreferences</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="PolyfilePreferences">class <strong>PolyfilePreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;polyfile&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="PolyfilePreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getFileOrDirectoryTypes"><strong>getFileOrDirectoryTypes</strong></a>(fileName, fileTypes, wasCancelled)</dt><dd><tt>Get&nbsp;the&nbsp;gcode&nbsp;files&nbsp;in&nbsp;the&nbsp;directory&nbsp;the&nbsp;file&nbsp;is&nbsp;in&nbsp;if&nbsp;directory&nbsp;preference&nbsp;is&nbsp;true.&nbsp;&nbsp;Otherwise,&nbsp;return&nbsp;the&nbsp;file&nbsp;in&nbsp;a&nbsp;list.</tt></dd></dl>
<dl><dt><a name="-getFileOrDirectoryTypesUnmodifiedGcode"><strong>getFileOrDirectoryTypesUnmodifiedGcode</strong></a>(fileName, fileTypes, wasCancelled)</dt><dd><tt>Get&nbsp;the&nbsp;gcode&nbsp;files&nbsp;in&nbsp;the&nbsp;directory&nbsp;the&nbsp;file&nbsp;is&nbsp;in&nbsp;if&nbsp;directory&nbsp;preference&nbsp;is&nbsp;true.&nbsp;&nbsp;Otherwise,&nbsp;return&nbsp;the&nbsp;file&nbsp;in&nbsp;a&nbsp;list.</tt></dd></dl>
<dl><dt><a name="-getFileOrGcodeDirectory"><strong>getFileOrGcodeDirectory</strong></a>(fileName, wasCancelled, words<font color="#909090">=[]</font>)</dt><dd><tt>Get&nbsp;the&nbsp;gcode&nbsp;files&nbsp;in&nbsp;the&nbsp;directory&nbsp;the&nbsp;file&nbsp;is&nbsp;in&nbsp;if&nbsp;directory&nbsp;preference&nbsp;is&nbsp;true.&nbsp;&nbsp;Otherwise,&nbsp;return&nbsp;the&nbsp;file&nbsp;in&nbsp;a&nbsp;list.</tt></dd></dl>
<dl><dt><a name="-isDirectoryPreference"><strong>isDirectoryPreference</strong></a>()</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;directory&nbsp;preference&nbsp;is&nbsp;true.</tt></dd></dl>
<dl><dt><a name="-isEmptyOrCancelled"><strong>isEmptyOrCancelled</strong></a>(fileName, wasCancelled)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;fileName&nbsp;is&nbsp;empty&nbsp;or&nbsp;the&nbsp;dialog&nbsp;was&nbsp;cancelled.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>(hashtable<font color="#909090">=None</font>)</dt><dd><tt>Display&nbsp;the&nbsp;file&nbsp;or&nbsp;directory&nbsp;dialog.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,278 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.raft</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.raft</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/raft.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/raft.py</a></font></td></tr></table>
<p><tt>Raft&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;create&nbsp;a&nbsp;reusable&nbsp;raft,&nbsp;elevate&nbsp;the&nbsp;nozzle&nbsp;and&nbsp;set&nbsp;the&nbsp;temperature.<br>
&nbsp;<br>
The&nbsp;default&nbsp;'Activate&nbsp;Raft'&nbsp;checkbox&nbsp;is&nbsp;on.&nbsp;&nbsp;When&nbsp;it&nbsp;is&nbsp;on,&nbsp;the&nbsp;functions&nbsp;described&nbsp;below&nbsp;will&nbsp;work,&nbsp;when&nbsp;it&nbsp;is&nbsp;off,&nbsp;the<br>
functions&nbsp;will&nbsp;not&nbsp;be&nbsp;called.&nbsp;&nbsp;The&nbsp;raft&nbsp;script&nbsp;sets&nbsp;the&nbsp;temperature.&nbsp;&nbsp;If&nbsp;the&nbsp;"Activate&nbsp;Raft,&nbsp;Elevate&nbsp;Nozzle,&nbsp;Orbit&nbsp;and&nbsp;Set<br>
Altitude"&nbsp;checkbox&nbsp;is&nbsp;checked,&nbsp;the&nbsp;script&nbsp;will&nbsp;also&nbsp;create&nbsp;a&nbsp;raft,&nbsp;elevate&nbsp;the&nbsp;nozzle,&nbsp;orbit&nbsp;and&nbsp;set&nbsp;the&nbsp;altitude&nbsp;of&nbsp;the&nbsp;bottom<br>
of&nbsp;the&nbsp;raft.<br>
&nbsp;<br>
Raft&nbsp;is&nbsp;based&nbsp;on&nbsp;the&nbsp;Nophead's&nbsp;reusable&nbsp;raft,&nbsp;which&nbsp;has&nbsp;a&nbsp;base&nbsp;layer&nbsp;running&nbsp;one&nbsp;way,&nbsp;and&nbsp;a&nbsp;couple&nbsp;of&nbsp;perpendicular&nbsp;layers<br>
above.&nbsp;&nbsp;Each&nbsp;set&nbsp;of&nbsp;layers&nbsp;can&nbsp;be&nbsp;set&nbsp;to&nbsp;a&nbsp;different&nbsp;temperature.&nbsp;&nbsp;There&nbsp;is&nbsp;the&nbsp;option&nbsp;of&nbsp;having&nbsp;the&nbsp;extruder&nbsp;orbit&nbsp;the&nbsp;raft&nbsp;for&nbsp;a<br>
while,&nbsp;so&nbsp;the&nbsp;heater&nbsp;barrel&nbsp;has&nbsp;time&nbsp;to&nbsp;reach&nbsp;a&nbsp;different&nbsp;temperature,&nbsp;without&nbsp;ooze&nbsp;accumulating&nbsp;around&nbsp;the&nbsp;nozzle.&nbsp;&nbsp;To&nbsp;run<br>
raft,&nbsp;in&nbsp;a&nbsp;shell&nbsp;type:<br>
&gt;&nbsp;python&nbsp;raft.py<br>
&nbsp;<br>
The&nbsp;important&nbsp;values&nbsp;for&nbsp;the&nbsp;raft&nbsp;preferences&nbsp;are&nbsp;the&nbsp;temperatures&nbsp;of&nbsp;the&nbsp;raft,&nbsp;the&nbsp;first&nbsp;layer&nbsp;and&nbsp;the&nbsp;next&nbsp;layers.&nbsp;&nbsp;These&nbsp;will&nbsp;be<br>
different&nbsp;for&nbsp;each&nbsp;material.&nbsp;&nbsp;The&nbsp;default&nbsp;preferences&nbsp;for&nbsp;ABS,&nbsp;HDPE,&nbsp;PCL&nbsp;&amp;&nbsp;PLA&nbsp;are&nbsp;extrapolated&nbsp;from&nbsp;Nophead's<br>
experiments.&nbsp;&nbsp;To&nbsp;change&nbsp;the&nbsp;material,&nbsp;in&nbsp;a&nbsp;shell&nbsp;type:<br>
&gt;&nbsp;python&nbsp;material.py<br>
&nbsp;<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;material&nbsp;preferences&nbsp;dialog.&nbsp;&nbsp;In&nbsp;that&nbsp;dialog&nbsp;you&nbsp;can&nbsp;add&nbsp;or&nbsp;delete&nbsp;a&nbsp;material&nbsp;on&nbsp;the&nbsp;listbox&nbsp;and&nbsp;you&nbsp;change<br>
the&nbsp;selected&nbsp;material.&nbsp;&nbsp;After&nbsp;you&nbsp;can&nbsp;change&nbsp;the&nbsp;selected&nbsp;material,&nbsp;run&nbsp;raft&nbsp;again.&nbsp;&nbsp;If&nbsp;there&nbsp;are&nbsp;preferences&nbsp;for&nbsp;the&nbsp;new&nbsp;material,<br>
those&nbsp;will&nbsp;be&nbsp;in&nbsp;the&nbsp;raft&nbsp;dialog.&nbsp;&nbsp;If&nbsp;there&nbsp;are&nbsp;no&nbsp;preferences&nbsp;for&nbsp;the&nbsp;new&nbsp;material,&nbsp;the&nbsp;preferences&nbsp;will&nbsp;be&nbsp;set&nbsp;to&nbsp;defaults&nbsp;and&nbsp;you<br>
will&nbsp;have&nbsp;to&nbsp;set&nbsp;new&nbsp;preferences&nbsp;for&nbsp;the&nbsp;new&nbsp;material.<br>
&nbsp;<br>
The&nbsp;"Base&nbsp;Infill&nbsp;Density"&nbsp;preference&nbsp;is&nbsp;the&nbsp;infill&nbsp;density&nbsp;ratio&nbsp;of&nbsp;the&nbsp;base&nbsp;of&nbsp;the&nbsp;raft,&nbsp;the&nbsp;default&nbsp;ratio&nbsp;is&nbsp;half.&nbsp;&nbsp;The&nbsp;"Base&nbsp;Layer<br>
Height&nbsp;over&nbsp;Layer&nbsp;Thickness"&nbsp;preference&nbsp;is&nbsp;the&nbsp;ratio&nbsp;of&nbsp;the&nbsp;height&nbsp;&amp;&nbsp;width&nbsp;of&nbsp;the&nbsp;base&nbsp;layer&nbsp;compared&nbsp;to&nbsp;the&nbsp;height&nbsp;and&nbsp;width<br>
of&nbsp;the&nbsp;shape&nbsp;infill,&nbsp;the&nbsp;default&nbsp;is&nbsp;two.&nbsp;&nbsp;The&nbsp;feedrate&nbsp;will&nbsp;be&nbsp;slower&nbsp;for&nbsp;raft&nbsp;layers&nbsp;which&nbsp;have&nbsp;thicker&nbsp;extrusions&nbsp;than&nbsp;the&nbsp;shape<br>
infill.&nbsp;&nbsp;The&nbsp;"Base&nbsp;Layers"&nbsp;preference&nbsp;is&nbsp;the&nbsp;number&nbsp;of&nbsp;base&nbsp;layers,&nbsp;the&nbsp;default&nbsp;is&nbsp;one.&nbsp;&nbsp;The&nbsp;"Base&nbsp;Nozzle&nbsp;Lift&nbsp;over&nbsp;Half&nbsp;Base<br>
Layer&nbsp;Thickness"&nbsp;is&nbsp;the&nbsp;amount&nbsp;the&nbsp;nozzle&nbsp;is&nbsp;above&nbsp;the&nbsp;center&nbsp;of&nbsp;the&nbsp;extrusion&nbsp;divided&nbsp;by&nbsp;half&nbsp;the&nbsp;base&nbsp;layer&nbsp;thickness.<br>
&nbsp;<br>
The&nbsp;interface&nbsp;of&nbsp;the&nbsp;raft&nbsp;has&nbsp;equivalent&nbsp;preferences&nbsp;called&nbsp;"Interface&nbsp;Infill&nbsp;Density",&nbsp;"Interface&nbsp;Layer&nbsp;Thickness&nbsp;over&nbsp;Extrusion<br>
Height",&nbsp;"Interface&nbsp;Layers"&nbsp;and&nbsp;"Interface&nbsp;Nozzle&nbsp;Lift&nbsp;over&nbsp;Half&nbsp;Base&nbsp;Layer&nbsp;Thickness".&nbsp;&nbsp;The&nbsp;shape&nbsp;has&nbsp;the&nbsp;equivalent<br>
preference&nbsp;of&nbsp;called&nbsp;"Operating&nbsp;Nozzle&nbsp;Lift&nbsp;over&nbsp;Half&nbsp;Layer&nbsp;Thickness".<br>
&nbsp;<br>
The&nbsp;altitude&nbsp;that&nbsp;the&nbsp;bottom&nbsp;of&nbsp;the&nbsp;raft&nbsp;will&nbsp;be&nbsp;set&nbsp;to&nbsp;the&nbsp;"Bottom&nbsp;Altitude"&nbsp;preference.<br>
&nbsp;<br>
The&nbsp;raft&nbsp;fills&nbsp;a&nbsp;rectangle&nbsp;whose&nbsp;size&nbsp;is&nbsp;the&nbsp;rectangle&nbsp;around&nbsp;the&nbsp;bottom&nbsp;layer&nbsp;of&nbsp;the&nbsp;shape&nbsp;expanded&nbsp;on&nbsp;each&nbsp;side&nbsp;by&nbsp;the<br>
"Raft&nbsp;Outset&nbsp;Radius&nbsp;over&nbsp;Extrusion&nbsp;Width"&nbsp;preference&nbsp;times&nbsp;the&nbsp;extrusion&nbsp;width,&nbsp;minus&nbsp;the&nbsp;"Infill&nbsp;Overhang"&nbsp;ratio&nbsp;times&nbsp;the<br>
width&nbsp;of&nbsp;the&nbsp;extrusion&nbsp;of&nbsp;the&nbsp;raft.<br>
&nbsp;<br>
In&nbsp;the&nbsp;"Support&nbsp;Material&nbsp;Choice"&nbsp;radio&nbsp;button&nbsp;group,&nbsp;if&nbsp;"No&nbsp;Support&nbsp;Material"&nbsp;is&nbsp;selected&nbsp;then&nbsp;raft&nbsp;will&nbsp;not&nbsp;add&nbsp;support<br>
material,&nbsp;this&nbsp;is&nbsp;the&nbsp;default&nbsp;because&nbsp;the&nbsp;raft&nbsp;takes&nbsp;time&nbsp;to&nbsp;generate.&nbsp;&nbsp;If&nbsp;"Support&nbsp;Material&nbsp;Everywhere"&nbsp;is&nbsp;selected,&nbsp;support<br>
material&nbsp;will&nbsp;be&nbsp;added&nbsp;wherever&nbsp;there&nbsp;are&nbsp;overhangs,&nbsp;even&nbsp;inside&nbsp;the&nbsp;object;&nbsp;because&nbsp;support&nbsp;material&nbsp;inside&nbsp;objects&nbsp;is&nbsp;hard<br>
or&nbsp;impossible&nbsp;to&nbsp;remove,&nbsp;this&nbsp;option&nbsp;should&nbsp;only&nbsp;be&nbsp;chosen&nbsp;if&nbsp;the&nbsp;shape&nbsp;has&nbsp;a&nbsp;cavity&nbsp;that&nbsp;needs&nbsp;support&nbsp;and&nbsp;there&nbsp;is&nbsp;some<br>
way&nbsp;to&nbsp;extract&nbsp;the&nbsp;support&nbsp;material.&nbsp;&nbsp;If&nbsp;"Support&nbsp;Material&nbsp;on&nbsp;Exterior&nbsp;Only"&nbsp;is&nbsp;selected,&nbsp;support&nbsp;material&nbsp;will&nbsp;be&nbsp;added&nbsp;only<br>
the&nbsp;exterior&nbsp;of&nbsp;the&nbsp;object;&nbsp;this&nbsp;is&nbsp;the&nbsp;best&nbsp;option&nbsp;for&nbsp;most&nbsp;objects&nbsp;which&nbsp;require&nbsp;support&nbsp;material.&nbsp;&nbsp;The&nbsp;"Support&nbsp;Minimum<br>
Angle"&nbsp;preference&nbsp;is&nbsp;the&nbsp;minimum&nbsp;angle&nbsp;that&nbsp;a&nbsp;surface&nbsp;overhangs&nbsp;before&nbsp;support&nbsp;material&nbsp;is&nbsp;added,&nbsp;the&nbsp;default&nbsp;is&nbsp;sixty<br>
degrees.&nbsp;The&nbsp;"Support&nbsp;Inset&nbsp;over&nbsp;Perimeter&nbsp;Extrusion&nbsp;Width"&nbsp;is&nbsp;the&nbsp;amount&nbsp;that&nbsp;the&nbsp;support&nbsp;material&nbsp;is&nbsp;inset&nbsp;into&nbsp;the&nbsp;object<br>
over&nbsp;the&nbsp;perimeter&nbsp;extrusion&nbsp;width,&nbsp;the&nbsp;default&nbsp;is&nbsp;zero.<br>
&nbsp;<br>
The&nbsp;extruder&nbsp;will&nbsp;orbit&nbsp;for&nbsp;at&nbsp;least&nbsp;"Temperature&nbsp;Change&nbsp;Time&nbsp;Before&nbsp;Raft"&nbsp;seconds&nbsp;before&nbsp;extruding&nbsp;the&nbsp;raft.&nbsp;&nbsp;It&nbsp;will&nbsp;orbit&nbsp;for<br>
at&nbsp;least&nbsp;"Temperature&nbsp;Change&nbsp;Time&nbsp;Before&nbsp;First&nbsp;Layer&nbsp;Outline"&nbsp;seconds&nbsp;before&nbsp;extruding&nbsp;the&nbsp;outline&nbsp;of&nbsp;the&nbsp;first&nbsp;layer&nbsp;of&nbsp;the<br>
shape.&nbsp;&nbsp;It&nbsp;will&nbsp;orbit&nbsp;for&nbsp;at&nbsp;least&nbsp;"Temperature&nbsp;Change&nbsp;Time&nbsp;Before&nbsp;Next&nbsp;Threads"&nbsp;seconds&nbsp;before&nbsp;extruding&nbsp;within&nbsp;the&nbsp;outline<br>
of&nbsp;the&nbsp;first&nbsp;layer&nbsp;of&nbsp;the&nbsp;shape&nbsp;and&nbsp;before&nbsp;extruding&nbsp;the&nbsp;next&nbsp;layers&nbsp;of&nbsp;the&nbsp;shape.&nbsp;&nbsp;It&nbsp;will&nbsp;orbit&nbsp;for&nbsp;at&nbsp;least&nbsp;"Temperature<br>
Change&nbsp;Time&nbsp;Before&nbsp;Support&nbsp;Layers"&nbsp;seconds&nbsp;before&nbsp;extruding&nbsp;the&nbsp;support&nbsp;layers.&nbsp;&nbsp;It&nbsp;will&nbsp;orbit&nbsp;for&nbsp;at&nbsp;least&nbsp;"Temperature<br>
Change&nbsp;Time&nbsp;Before&nbsp;Supported&nbsp;Layers"&nbsp;seconds&nbsp;before&nbsp;extruding&nbsp;the&nbsp;layer&nbsp;of&nbsp;the&nbsp;shape&nbsp;above&nbsp;the&nbsp;support&nbsp;layer.&nbsp;&nbsp;If&nbsp;a&nbsp;time<br>
is&nbsp;zero,&nbsp;it&nbsp;will&nbsp;not&nbsp;orbit.<br>
&nbsp;<br>
The&nbsp;"Temperature&nbsp;of&nbsp;Raft"&nbsp;preference&nbsp;sets&nbsp;the&nbsp;temperature&nbsp;of&nbsp;the&nbsp;raft.&nbsp;&nbsp;The&nbsp;"Temperature&nbsp;of&nbsp;Shape&nbsp;First&nbsp;Layer&nbsp;Outline"<br>
preference&nbsp;sets&nbsp;the&nbsp;temperature&nbsp;of&nbsp;the&nbsp;outline&nbsp;of&nbsp;the&nbsp;first&nbsp;layer&nbsp;of&nbsp;the&nbsp;shape.&nbsp;&nbsp;The&nbsp;"Temperature&nbsp;of&nbsp;Shape&nbsp;First&nbsp;Layer&nbsp;Within"<br>
preference&nbsp;sets&nbsp;the&nbsp;temperature&nbsp;within&nbsp;the&nbsp;outline&nbsp;of&nbsp;the&nbsp;first&nbsp;layer&nbsp;of&nbsp;the&nbsp;shape.&nbsp;&nbsp;The&nbsp;"Temperature&nbsp;of&nbsp;Shape&nbsp;Next&nbsp;Layers"<br>
preference&nbsp;sets&nbsp;the&nbsp;temperature&nbsp;of&nbsp;the&nbsp;next&nbsp;layers&nbsp;of&nbsp;the&nbsp;shape.&nbsp;&nbsp;The&nbsp;"Temperature&nbsp;of&nbsp;Support&nbsp;Layers"&nbsp;preference&nbsp;sets&nbsp;the<br>
temperature&nbsp;of&nbsp;the&nbsp;support&nbsp;layer.&nbsp;&nbsp;The&nbsp;"Temperature&nbsp;of&nbsp;Supported&nbsp;Layers"&nbsp;preference&nbsp;sets&nbsp;the&nbsp;temperature&nbsp;of&nbsp;the&nbsp;layer&nbsp;of&nbsp;the<br>
shape&nbsp;above&nbsp;the&nbsp;support&nbsp;layer.<br>
&nbsp;<br>
The&nbsp;following&nbsp;examples&nbsp;raft&nbsp;the&nbsp;files&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode&nbsp;&amp;&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl.&nbsp;&nbsp;The&nbsp;examples&nbsp;are&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the&nbsp;folder<br>
which&nbsp;contains&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode,&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;and&nbsp;raft.py.&nbsp;&nbsp;The&nbsp;raft&nbsp;function&nbsp;will&nbsp;raft&nbsp;if&nbsp;"Activate&nbsp;Raft,&nbsp;Elevate&nbsp;Nozzle,<br>
Orbit&nbsp;and&nbsp;Set&nbsp;Altitude"&nbsp;is&nbsp;true,&nbsp;which&nbsp;can&nbsp;be&nbsp;set&nbsp;in&nbsp;the&nbsp;dialog&nbsp;or&nbsp;by&nbsp;changing&nbsp;the&nbsp;preferences&nbsp;file&nbsp;'raft.csv'&nbsp;with&nbsp;a&nbsp;text&nbsp;editor&nbsp;or&nbsp;a<br>
spreadsheet&nbsp;program&nbsp;set&nbsp;to&nbsp;separate&nbsp;tabs.&nbsp;&nbsp;The&nbsp;functions&nbsp;writeOutput&nbsp;and&nbsp;getRaftChainGcode&nbsp;check&nbsp;to&nbsp;see&nbsp;if&nbsp;the&nbsp;text&nbsp;has<br>
been&nbsp;rafted,&nbsp;if&nbsp;not&nbsp;they&nbsp;call&nbsp;getSpeedChainGcode&nbsp;in&nbsp;speed.py&nbsp;to&nbsp;get&nbsp;speeded&nbsp;gcode;&nbsp;once&nbsp;they&nbsp;have&nbsp;the&nbsp;speeded&nbsp;text,&nbsp;then<br>
they&nbsp;raft.&nbsp;&nbsp;Pictures&nbsp;of&nbsp;rafting&nbsp;in&nbsp;action&nbsp;are&nbsp;available&nbsp;from&nbsp;the&nbsp;Metalab&nbsp;blog&nbsp;at:<br>
<a href="http://reprap.soup.io/?search=rafting">http://reprap.soup.io/?search=rafting</a><br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;raft.py<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;dialog,&nbsp;after&nbsp;clicking&nbsp;'Raft',&nbsp;the&nbsp;following&nbsp;is&nbsp;printed:<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;rafted.<br>
The&nbsp;rafted&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_raft.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;raft<br>
&gt;&gt;&gt;&nbsp;raft.<a href="#-main">main</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;raft&nbsp;dialog.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;raft.<a href="#-writeOutput">writeOutput</a>()<br>
Screw&nbsp;Holder&nbsp;Bottom.stl<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;rafted.<br>
The&nbsp;rafted&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_raft.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;raft.<a href="#-getRaftGcode">getRaftGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;raft.<a href="#-getRaftChainGcode">getRaftChainGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="skeinforge_tools.analyze.html">skeinforge_tools.analyze</a><br>
<a href="cStringIO.html">cStringIO</a><br>
<a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="skeinforge_tools.skeinforge_utilities.intercircle.html">skeinforge_tools.skeinforge_utilities.intercircle</a><br>
<a href="skeinforge_tools.skeinforge_utilities.interpret.html">skeinforge_tools.skeinforge_utilities.interpret</a><br>
<a href="skeinforge_tools.material.html">skeinforge_tools.material</a><br>
</td><td width="25%" valign=top><a href="math.html">math</a><br>
<a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
<a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
<a href="skeinforge_tools.speed.html">skeinforge_tools.speed</a><br>
</td><td width="25%" valign=top><a href="sys.html">sys</a><br>
<a href="time.html">time</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.raft.html#RaftPreferences">RaftPreferences</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.raft.html#RaftSkein">RaftSkein</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="RaftPreferences">class <strong>RaftPreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;raft&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="RaftPreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="RaftPreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Raft&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="RaftSkein">class <strong>RaftSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;raft&nbsp;a&nbsp;skein&nbsp;of&nbsp;extrusions.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="RaftSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="RaftSkein-addBaseLayer"><strong>addBaseLayer</strong></a>(self, baseExtrusionWidth, baseStep, stepBegin, stepEnd)</dt><dd><tt>Add&nbsp;a&nbsp;base&nbsp;layer.</tt></dd></dl>
<dl><dt><a name="RaftSkein-addGcodeFromFeedrateMovementZ"><strong>addGcodeFromFeedrateMovementZ</strong></a>(self, feedrateMinute, point, z)</dt><dd><tt>Add&nbsp;a&nbsp;movement&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="RaftSkein-addGcodeFromFeedrateThreadZ"><strong>addGcodeFromFeedrateThreadZ</strong></a>(self, feedrateMinute, thread, z)</dt><dd><tt>Add&nbsp;a&nbsp;thread&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="RaftSkein-addInterfaceLayer"><strong>addInterfaceLayer</strong></a>(self)</dt><dd><tt>Add&nbsp;an&nbsp;interface&nbsp;layer.</tt></dd></dl>
<dl><dt><a name="RaftSkein-addLayerFromSegments"><strong>addLayerFromSegments</strong></a>(self, feedrateMinute, layerLayerThickness, segments, z)</dt><dd><tt>Add&nbsp;a&nbsp;layer&nbsp;from&nbsp;segments&nbsp;and&nbsp;raise&nbsp;the&nbsp;extrusion&nbsp;top.</tt></dd></dl>
<dl><dt><a name="RaftSkein-addLayerLine"><strong>addLayerLine</strong></a>(self, z)</dt><dd><tt>Add&nbsp;the&nbsp;layer&nbsp;gcode&nbsp;line&nbsp;and&nbsp;close&nbsp;the&nbsp;last&nbsp;layer&nbsp;gcode&nbsp;block.</tt></dd></dl>
<dl><dt><a name="RaftSkein-addLine"><strong>addLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;of&nbsp;text&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="RaftSkein-addRaft"><strong>addRaft</strong></a>(self)</dt></dl>
<dl><dt><a name="RaftSkein-addSupportLayerTemperature"><strong>addSupportLayerTemperature</strong></a>(self, supportSegments, z)</dt><dd><tt>Add&nbsp;support&nbsp;layer&nbsp;and&nbsp;temperature&nbsp;before&nbsp;the&nbsp;object&nbsp;layer.</tt></dd></dl>
<dl><dt><a name="RaftSkein-addSupportSegmentTable"><strong>addSupportSegmentTable</strong></a>(self, layerIndex)</dt><dd><tt>Add&nbsp;support&nbsp;segments&nbsp;from&nbsp;the&nbsp;boundary&nbsp;layers.</tt></dd></dl>
<dl><dt><a name="RaftSkein-addTemperature"><strong>addTemperature</strong></a>(self, temperature)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;of&nbsp;temperature.</tt></dd></dl>
<dl><dt><a name="RaftSkein-addTemperatureOrbits"><strong>addTemperatureOrbits</strong></a>(self, segments, temperaturePreference, temperatureTimeChangePreference, z)</dt><dd><tt>Add&nbsp;the&nbsp;temperature&nbsp;and&nbsp;orbits&nbsp;around&nbsp;the&nbsp;support&nbsp;layer.</tt></dd></dl>
<dl><dt><a name="RaftSkein-addToFillXIntersectionIndexTables"><strong>addToFillXIntersectionIndexTables</strong></a>(self, fillXIntersectionIndexTables, layerIndex)</dt><dd><tt>Add&nbsp;fill&nbsp;segments&nbsp;from&nbsp;the&nbsp;boundary&nbsp;layers.</tt></dd></dl>
<dl><dt><a name="RaftSkein-extendSegments"><strong>extendSegments</strong></a>(self, supportSegmentTable)</dt><dd><tt>Extend&nbsp;the&nbsp;support&nbsp;segments.</tt></dd></dl>
<dl><dt><a name="RaftSkein-getBoundaryLine"><strong>getBoundaryLine</strong></a>(self, splitLine)</dt><dd><tt>Get&nbsp;elevated&nbsp;boundary&nbsp;gcode&nbsp;line.</tt></dd></dl>
<dl><dt><a name="RaftSkein-getGcodeFromFeedrateMovementZ"><strong>getGcodeFromFeedrateMovementZ</strong></a>(self, feedrateMinute, point, z)</dt><dd><tt>Get&nbsp;a&nbsp;gcode&nbsp;movement.</tt></dd></dl>
<dl><dt><a name="RaftSkein-getRaftedLine"><strong>getRaftedLine</strong></a>(self, splitLine)</dt><dd><tt>Get&nbsp;elevated&nbsp;gcode&nbsp;line&nbsp;with&nbsp;operating&nbsp;feedrate.</tt></dd></dl>
<dl><dt><a name="RaftSkein-getRounded"><strong>getRounded</strong></a>(self, number)</dt><dd><tt>Get&nbsp;number&nbsp;rounded&nbsp;to&nbsp;the&nbsp;number&nbsp;of&nbsp;carried&nbsp;decimal&nbsp;places&nbsp;as&nbsp;a&nbsp;string.</tt></dd></dl>
<dl><dt><a name="RaftSkein-getStepsUntilEnd"><strong>getStepsUntilEnd</strong></a>(self, begin, end, stepSize)</dt><dd><tt>Get&nbsp;steps&nbsp;from&nbsp;the&nbsp;beginning&nbsp;until&nbsp;the&nbsp;end.</tt></dd></dl>
<dl><dt><a name="RaftSkein-getSupportSegments"><strong>getSupportSegments</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;support&nbsp;layer&nbsp;segments.</tt></dd></dl>
<dl><dt><a name="RaftSkein-joinSegments"><strong>joinSegments</strong></a>(self, supportSegmentTableIndex)</dt><dd><tt>Join&nbsp;the&nbsp;support&nbsp;segments&nbsp;of&nbsp;this&nbsp;layer&nbsp;with&nbsp;those&nbsp;of&nbsp;the&nbsp;layer&nbsp;above.</tt></dd></dl>
<dl><dt><a name="RaftSkein-parseGcode"><strong>parseGcode</strong></a>(self, gcodeText, raftPreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;raft&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="RaftSkein-parseInitialization"><strong>parseInitialization</strong></a>(self)</dt><dd><tt>Parse&nbsp;gcode&nbsp;initialization&nbsp;and&nbsp;store&nbsp;the&nbsp;parameters.</tt></dd></dl>
<dl><dt><a name="RaftSkein-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;raft&nbsp;skein.</tt></dd></dl>
<dl><dt><a name="RaftSkein-setBoundaryLayers"><strong>setBoundaryLayers</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;boundary&nbsp;layers.</tt></dd></dl>
<dl><dt><a name="RaftSkein-setCornersZ"><strong>setCornersZ</strong></a>(self)</dt><dd><tt>Set&nbsp;maximum&nbsp;and&nbsp;minimum&nbsp;corners&nbsp;and&nbsp;z.</tt></dd></dl>
<dl><dt><a name="RaftSkein-setInterfaceVariables"><strong>setInterfaceVariables</strong></a>(self, interfaceExtrusionWidth, stepBegin, stepEnd)</dt><dd><tt>Set&nbsp;the&nbsp;interface&nbsp;variables.</tt></dd></dl>
<dl><dt><a name="RaftSkein-subtractJoinedFill"><strong>subtractJoinedFill</strong></a>(self, fillXIntersectionIndexTables, supportSegmentTableIndex)</dt><dd><tt>Join&nbsp;the&nbsp;fill&nbsp;then&nbsp;subtract&nbsp;it&nbsp;from&nbsp;the&nbsp;support&nbsp;layer&nbsp;table.</tt></dd></dl>
<dl><dt><a name="RaftSkein-truncateSupportSegmentTables"><strong>truncateSupportSegmentTables</strong></a>(self)</dt><dd><tt>Truncate&nbsp;the&nbsp;support&nbsp;segments&nbsp;after&nbsp;the&nbsp;last&nbsp;support&nbsp;segment&nbsp;which&nbsp;contains&nbsp;elements.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-addXIntersectionsFromSegment"><strong>addXIntersectionsFromSegment</strong></a>(index, segment, xIntersectionIndexList)</dt><dd><tt>Add&nbsp;the&nbsp;x&nbsp;intersections&nbsp;from&nbsp;the&nbsp;segment.</tt></dd></dl>
<dl><dt><a name="-addXIntersectionsFromSegments"><strong>addXIntersectionsFromSegments</strong></a>(index, segments, xIntersectionIndexList)</dt><dd><tt>Add&nbsp;the&nbsp;x&nbsp;intersections&nbsp;from&nbsp;the&nbsp;segments.</tt></dd></dl>
<dl><dt><a name="-getEndpointsFromSegments"><strong>getEndpointsFromSegments</strong></a>(segments)</dt><dd><tt>Get&nbsp;the&nbsp;endpoints&nbsp;from&nbsp;the&nbsp;segments.</tt></dd></dl>
<dl><dt><a name="-getExtendedLineSegment"><strong>getExtendedLineSegment</strong></a>(extensionDistance, lineSegment)</dt><dd><tt>Add&nbsp;shortened&nbsp;line&nbsp;segment.</tt></dd></dl>
<dl><dt><a name="-getFillXIntersectionIndexes"><strong>getFillXIntersectionIndexes</strong></a>(fillLoops, y)</dt><dd><tt>Get&nbsp;fill&nbsp;x&nbsp;intersection&nbsp;indexes&nbsp;inside&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-getHorizontalSegments"><strong>getHorizontalSegments</strong></a>(fillLoops, alreadyFilledArounds, y)</dt><dd><tt>Get&nbsp;horizontal&nbsp;segments&nbsp;inside&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-getJoinOfXIntersectionIndexes"><strong>getJoinOfXIntersectionIndexes</strong></a>(xIntersectionIndexList)</dt><dd><tt>Get&nbsp;x&nbsp;intersections&nbsp;from&nbsp;surrounding&nbsp;layers.</tt></dd></dl>
<dl><dt><a name="-getRaftChainGcode"><strong>getRaftChainGcode</strong></a>(fileName, gcodeText, raftPreferences<font color="#909090">=None</font>)</dt><dd><tt>Raft&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.&nbsp;&nbsp;Chain&nbsp;raft&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;rafted.</tt></dd></dl>
<dl><dt><a name="-getRaftGcode"><strong>getRaftGcode</strong></a>(gcodeText, raftPreferences<font color="#909090">=None</font>)</dt><dd><tt>Raft&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-getSquareLoop"><strong>getSquareLoop</strong></a>(beginComplex, endComplex)</dt><dd><tt>Get&nbsp;a&nbsp;square&nbsp;loop&nbsp;from&nbsp;the&nbsp;beginning&nbsp;to&nbsp;the&nbsp;end&nbsp;and&nbsp;back.</tt></dd></dl>
<dl><dt><a name="-joinSegmentTables"><strong>joinSegmentTables</strong></a>(fromTable, intoTable)</dt><dd><tt>Join&nbsp;both&nbsp;segment&nbsp;tables&nbsp;and&nbsp;put&nbsp;the&nbsp;join&nbsp;into&nbsp;the&nbsp;intoTable.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>()</dt><dd><tt>Display&nbsp;the&nbsp;raft&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-subtractFill"><strong>subtractFill</strong></a>(fillXIntersectionIndexTable, supportSegmentLayerTable)</dt><dd><tt>Subtract&nbsp;fill&nbsp;from&nbsp;the&nbsp;support&nbsp;layer&nbsp;table.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Raft&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;file.&nbsp;&nbsp;Chain&nbsp;raft&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;rafted.<br>
If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;raft&nbsp;the&nbsp;first&nbsp;unmodified&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,314 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.skeinforge_utilities.euclidean</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.skeinforge_utilities.html"><font color="#ffffff">skeinforge_utilities</font></a>.euclidean</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/skeinforge_utilities/euclidean.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/skeinforge_utilities/euclidean.py</a></font></td></tr></table>
<p><tt>Euclidean&nbsp;is&nbsp;a&nbsp;collection&nbsp;of&nbsp;python&nbsp;utilities&nbsp;for&nbsp;complex&nbsp;numbers,&nbsp;paths,&nbsp;polygons&nbsp;&amp;&nbsp;Vector3s.<br>
&nbsp;<br>
To&nbsp;use&nbsp;euclidean,&nbsp;install&nbsp;python&nbsp;2.x&nbsp;on&nbsp;your&nbsp;machine,&nbsp;which&nbsp;is&nbsp;avaliable&nbsp;from&nbsp;<a href="http://www.python.org/download/">http://www.python.org/download/</a><br>
&nbsp;<br>
Then&nbsp;in&nbsp;the&nbsp;folder&nbsp;which&nbsp;euclidean&nbsp;is&nbsp;in,&nbsp;type&nbsp;'python'&nbsp;in&nbsp;a&nbsp;shell&nbsp;to&nbsp;run&nbsp;the&nbsp;python&nbsp;interpreter.&nbsp;&nbsp;Finally&nbsp;type<br>
'import&nbsp;euclidean'&nbsp;to&nbsp;import&nbsp;these&nbsp;utilities&nbsp;and&nbsp;'from&nbsp;vector3&nbsp;import&nbsp;Vector3'&nbsp;to&nbsp;import&nbsp;the&nbsp;Vector3&nbsp;class.<br>
&nbsp;<br>
&nbsp;<br>
Below&nbsp;are&nbsp;examples&nbsp;of&nbsp;euclidean&nbsp;use.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;from&nbsp;euclidean&nbsp;import&nbsp;*<br>
&gt;&gt;&gt;&nbsp;origin=complex()<br>
&gt;&gt;&gt;&nbsp;right=complex(1.0,0.0)<br>
&gt;&gt;&gt;&nbsp;back=complex(0.0,1.0)<br>
&gt;&gt;&gt;&nbsp;<a href="#-getMaximum">getMaximum</a>(right,back)<br>
1.0,&nbsp;1.0<br>
&gt;&gt;&gt;&nbsp;polygon=[origin,&nbsp;right,&nbsp;back]<br>
&gt;&gt;&gt;&nbsp;<a href="#-getPolygonLength">getPolygonLength</a>(polygon)<br>
3.4142135623730949<br>
&gt;&gt;&gt;&nbsp;<a href="#-getPolygonArea">getPolygonArea</a>(polygon)<br>
0.5</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
</td><td width="25%" valign=top><a href="math.html">math</a><br>
</td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.euclidean.html#DistanceIndex">DistanceIndex</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.euclidean.html#Endpoint">Endpoint</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.euclidean.html#LoopLayer">LoopLayer</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.euclidean.html#PathZ">PathZ</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.euclidean.html#RotatedLoopLayer">RotatedLoopLayer</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.euclidean.html#SurroundingLoop">SurroundingLoop</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.euclidean.html#XIntersectionIndex">XIntersectionIndex</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="DistanceIndex">class <strong>DistanceIndex</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;hold&nbsp;the&nbsp;distance&nbsp;and&nbsp;the&nbsp;index&nbsp;of&nbsp;the&nbsp;loop.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="DistanceIndex-__init__"><strong>__init__</strong></a>(self, distance, index)</dt></dl>
<dl><dt><a name="DistanceIndex-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;distance&nbsp;index.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="Endpoint">class <strong>Endpoint</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>The&nbsp;endpoint&nbsp;of&nbsp;a&nbsp;segment.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Endpoint-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;<a href="#Endpoint">Endpoint</a>.</tt></dd></dl>
<dl><dt><a name="Endpoint-getFromOtherPoint"><strong>getFromOtherPoint</strong></a>(self, otherEndpoint, point)</dt><dd><tt>Initialize&nbsp;from&nbsp;other&nbsp;endpoint.</tt></dd></dl>
<dl><dt><a name="Endpoint-getHop"><strong>getHop</strong></a>(self, fillInset, path)</dt><dd><tt>Get&nbsp;a&nbsp;hop&nbsp;away&nbsp;from&nbsp;the&nbsp;endpoint&nbsp;if&nbsp;the&nbsp;other&nbsp;endpoint&nbsp;is&nbsp;doubling&nbsp;back.</tt></dd></dl>
<dl><dt><a name="Endpoint-getNearestEndpoint"><strong>getNearestEndpoint</strong></a>(self, endpoints)</dt><dd><tt>Get&nbsp;nearest&nbsp;endpoint.</tt></dd></dl>
<dl><dt><a name="Endpoint-getNearestMiss"><strong>getNearestMiss</strong></a>(self, endpoints, path, pixelTable, width)</dt><dd><tt>Get&nbsp;the&nbsp;nearest&nbsp;endpoint&nbsp;which&nbsp;the&nbsp;segment&nbsp;to&nbsp;that&nbsp;endpoint&nbsp;misses&nbsp;the&nbsp;other&nbsp;extrusions.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="LoopLayer">class <strong>LoopLayer</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Loops&nbsp;with&nbsp;a&nbsp;z.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="LoopLayer-__init__"><strong>__init__</strong></a>(self, z)</dt></dl>
<dl><dt><a name="LoopLayer-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;loop&nbsp;layer.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="PathZ">class <strong>PathZ</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Complex&nbsp;path&nbsp;with&nbsp;a&nbsp;z.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="PathZ-__init__"><strong>__init__</strong></a>(self, z)</dt></dl>
<dl><dt><a name="PathZ-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;path&nbsp;z.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="RotatedLoopLayer">class <strong>RotatedLoopLayer</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;rotated&nbsp;layer.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="RotatedLoopLayer-__init__"><strong>__init__</strong></a>(self, z)</dt></dl>
<dl><dt><a name="RotatedLoopLayer-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;rotated&nbsp;loop&nbsp;layer.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="SurroundingLoop">class <strong>SurroundingLoop</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;loop&nbsp;that&nbsp;surrounds&nbsp;paths.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="SurroundingLoop-__init__"><strong>__init__</strong></a>(self, isOutsideExtrudedFirst<font color="#909090">=True</font>)</dt></dl>
<dl><dt><a name="SurroundingLoop-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;surrounding&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="SurroundingLoop-addToBoundary"><strong>addToBoundary</strong></a>(self, vector3)</dt><dd><tt>Add&nbsp;vector3&nbsp;to&nbsp;boundary.</tt></dd></dl>
<dl><dt><a name="SurroundingLoop-addToLoop"><strong>addToLoop</strong></a>(self, vector3)</dt><dd><tt>Add&nbsp;vector3&nbsp;to&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="SurroundingLoop-addToThreads"><strong>addToThreads</strong></a>(self, oldOrderedLocation, skein)</dt><dd><tt>Add&nbsp;to&nbsp;paths&nbsp;from&nbsp;the&nbsp;last&nbsp;location.</tt></dd></dl>
<dl><dt><a name="SurroundingLoop-getFillLoops"><strong>getFillLoops</strong></a>(self)</dt><dd><tt>Get&nbsp;last&nbsp;fill&nbsp;loops&nbsp;from&nbsp;the&nbsp;outside&nbsp;loop&nbsp;and&nbsp;the&nbsp;loops&nbsp;inside&nbsp;the&nbsp;inside&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="SurroundingLoop-getFromInsideSurroundings"><strong>getFromInsideSurroundings</strong></a>(self, extrusionWidth, inputSurroundingInsides)</dt><dd><tt>Initialize&nbsp;from&nbsp;inside&nbsp;surrounding&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="SurroundingLoop-getLoopsToBeFilled"><strong>getLoopsToBeFilled</strong></a>(self)</dt><dd><tt>Get&nbsp;last&nbsp;fill&nbsp;loops&nbsp;from&nbsp;the&nbsp;outside&nbsp;loop&nbsp;and&nbsp;the&nbsp;loops&nbsp;inside&nbsp;the&nbsp;inside&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="SurroundingLoop-transferClosestFillLoops"><strong>transferClosestFillLoops</strong></a>(self, oldOrderedLocation, skein)</dt><dd><tt>Transfer&nbsp;closest&nbsp;fill&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="SurroundingLoop-transferPaths"><strong>transferPaths</strong></a>(self, paths)</dt><dd><tt>Transfer&nbsp;paths.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="XIntersectionIndex">class <strong>XIntersectionIndex</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;hold&nbsp;the&nbsp;x&nbsp;intersection&nbsp;position&nbsp;and&nbsp;the&nbsp;index&nbsp;of&nbsp;the&nbsp;loop&nbsp;which&nbsp;intersected.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="XIntersectionIndex-__cmp__"><strong>__cmp__</strong></a>(self, other)</dt><dd><tt>Get&nbsp;comparison&nbsp;in&nbsp;order&nbsp;to&nbsp;sort&nbsp;x&nbsp;intersections&nbsp;in&nbsp;ascending&nbsp;order&nbsp;of&nbsp;x.</tt></dd></dl>
<dl><dt><a name="XIntersectionIndex-__init__"><strong>__init__</strong></a>(self, index, x)</dt></dl>
<dl><dt><a name="XIntersectionIndex-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;x&nbsp;intersection.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-addCircleToPixelTable"><strong>addCircleToPixelTable</strong></a>(pixelTable, pointComplex)</dt><dd><tt>Add&nbsp;pixel&nbsp;to&nbsp;the&nbsp;pixel&nbsp;table.</tt></dd></dl>
<dl><dt><a name="-addElementToPixelList"><strong>addElementToPixelList</strong></a>(element, pixelTable, x, y)</dt><dd><tt>Add&nbsp;an&nbsp;element&nbsp;to&nbsp;the&nbsp;pixel&nbsp;list.</tt></dd></dl>
<dl><dt><a name="-addLoopToPixelTable"><strong>addLoopToPixelTable</strong></a>(loop, pixelTable, width)</dt><dd><tt>Add&nbsp;loop&nbsp;to&nbsp;the&nbsp;pixel&nbsp;table.</tt></dd></dl>
<dl><dt><a name="-addPathToPixelTable"><strong>addPathToPixelTable</strong></a>(path, pixelTable, width)</dt><dd><tt>Add&nbsp;path&nbsp;to&nbsp;the&nbsp;pixel&nbsp;table.</tt></dd></dl>
<dl><dt><a name="-addPixelToPixelTable"><strong>addPixelToPixelTable</strong></a>(pixelTable, value, x, y)</dt><dd><tt>Add&nbsp;pixel&nbsp;to&nbsp;the&nbsp;pixel&nbsp;table.</tt></dd></dl>
<dl><dt><a name="-addPixelToPixelTableWithSteepness"><strong>addPixelToPixelTableWithSteepness</strong></a>(isSteep, pixelTable, x, y)</dt><dd><tt>Add&nbsp;pixels&nbsp;to&nbsp;the&nbsp;pixel&nbsp;table&nbsp;with&nbsp;steepness.</tt></dd></dl>
<dl><dt><a name="-addPointToPath"><strong>addPointToPath</strong></a>(path, pixelTable, point, width)</dt><dd><tt>Add&nbsp;a&nbsp;point&nbsp;to&nbsp;a&nbsp;path&nbsp;and&nbsp;the&nbsp;pixel&nbsp;table.</tt></dd></dl>
<dl><dt><a name="-addSegmentToPixelTable"><strong>addSegmentToPixelTable</strong></a>(beginComplex, endComplex, pixelTable, shortenDistanceBegin, shortenDistanceEnd, width)</dt><dd><tt>Add&nbsp;line&nbsp;segment&nbsp;to&nbsp;the&nbsp;pixel&nbsp;table.</tt></dd></dl>
<dl><dt><a name="-addSurroundingLoopBeginning"><strong>addSurroundingLoopBeginning</strong></a>(loop, skein, z)</dt><dd><tt>Add&nbsp;surrounding&nbsp;loop&nbsp;beginning&nbsp;to&nbsp;gcode&nbsp;output.</tt></dd></dl>
<dl><dt><a name="-addToThreadsFromLoop"><strong>addToThreadsFromLoop</strong></a>(extrusionHalfWidth, gcodeType, loop, oldOrderedLocation, skein)</dt><dd><tt>Add&nbsp;to&nbsp;threads&nbsp;from&nbsp;the&nbsp;last&nbsp;location&nbsp;from&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="-addToThreadsRemoveFromSurroundings"><strong>addToThreadsRemoveFromSurroundings</strong></a>(oldOrderedLocation, surroundingLoops, skein)</dt><dd><tt>Add&nbsp;to&nbsp;threads&nbsp;from&nbsp;the&nbsp;last&nbsp;location&nbsp;from&nbsp;surrounding&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-addXIntersectionIndexes"><strong>addXIntersectionIndexes</strong></a>(loop, solidIndex, xIntersectionIndexList, y)</dt><dd><tt>Add&nbsp;the&nbsp;x&nbsp;intersections&nbsp;for&nbsp;a&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="-addXIntersectionIndexesFromLoopLists"><strong>addXIntersectionIndexesFromLoopLists</strong></a>(loopLists, xIntersectionIndexList, y)</dt><dd><tt>Add&nbsp;the&nbsp;x&nbsp;intersections&nbsp;for&nbsp;the&nbsp;loop&nbsp;lists.</tt></dd></dl>
<dl><dt><a name="-addXIntersectionIndexesFromLoops"><strong>addXIntersectionIndexesFromLoops</strong></a>(loops, solidIndex, xIntersectionIndexList, y)</dt><dd><tt>Add&nbsp;the&nbsp;x&nbsp;intersections&nbsp;for&nbsp;the&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-compareSegmentLength"><strong>compareSegmentLength</strong></a>(endpoint, otherEndpoint)</dt><dd><tt>Get&nbsp;comparison&nbsp;in&nbsp;order&nbsp;to&nbsp;sort&nbsp;endpoints&nbsp;in&nbsp;ascending&nbsp;order&nbsp;of&nbsp;segment&nbsp;length.</tt></dd></dl>
<dl><dt><a name="-getAngleAroundZAxisDifference"><strong>getAngleAroundZAxisDifference</strong></a>(subtractFromVec3, subtractVec3)</dt><dd><tt>Get&nbsp;the&nbsp;angle&nbsp;around&nbsp;the&nbsp;Z&nbsp;axis&nbsp;difference&nbsp;between&nbsp;a&nbsp;pair&nbsp;of&nbsp;Vector3s.<br>
&nbsp;<br>
Keyword&nbsp;arguments:<br>
subtractFromVec3&nbsp;--&nbsp;Vector3&nbsp;whose&nbsp;angle&nbsp;will&nbsp;be&nbsp;subtracted&nbsp;from<br>
subtractVec3&nbsp;--&nbsp;Vector3&nbsp;whose&nbsp;angle&nbsp;will&nbsp;be&nbsp;subtracted</tt></dd></dl>
<dl><dt><a name="-getAroundLoop"><strong>getAroundLoop</strong></a>(begin, end, loop)</dt><dd><tt>Get&nbsp;an&nbsp;arc&nbsp;around&nbsp;a&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="-getAwayPoints"><strong>getAwayPoints</strong></a>(pointComplexes, radius)</dt><dd><tt>Get&nbsp;a&nbsp;path&nbsp;with&nbsp;only&nbsp;the&nbsp;points&nbsp;that&nbsp;are&nbsp;far&nbsp;enough&nbsp;away&nbsp;from&nbsp;each&nbsp;other.</tt></dd></dl>
<dl><dt><a name="-getBackOfLoops"><strong>getBackOfLoops</strong></a>(loops)</dt><dd><tt>Get&nbsp;the&nbsp;back&nbsp;of&nbsp;the&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-getClippedAtEndLoopPath"><strong>getClippedAtEndLoopPath</strong></a>(clip, loopPath)</dt><dd><tt>Get&nbsp;a&nbsp;clipped&nbsp;loop&nbsp;path.</tt></dd></dl>
<dl><dt><a name="-getClippedLoopPath"><strong>getClippedLoopPath</strong></a>(clip, loopPath)</dt><dd><tt>Get&nbsp;a&nbsp;clipped&nbsp;loop&nbsp;path.</tt></dd></dl>
<dl><dt><a name="-getCrossProduct"><strong>getCrossProduct</strong></a>(firstComplex, secondComplex)</dt><dd><tt>Get&nbsp;z&nbsp;component&nbsp;cross&nbsp;product&nbsp;of&nbsp;a&nbsp;pair&nbsp;of&nbsp;complexes.</tt></dd></dl>
<dl><dt><a name="-getDistanceToPlaneSegment"><strong>getDistanceToPlaneSegment</strong></a>(segmentBegin, segmentEnd, point)</dt><dd><tt>Get&nbsp;the&nbsp;distance&nbsp;squared&nbsp;from&nbsp;a&nbsp;point&nbsp;to&nbsp;the&nbsp;x&nbsp;&amp;&nbsp;y&nbsp;components&nbsp;of&nbsp;a&nbsp;segment.</tt></dd></dl>
<dl><dt><a name="-getDotProduct"><strong>getDotProduct</strong></a>(firstComplex, secondComplex)</dt><dd><tt>Get&nbsp;the&nbsp;dot&nbsp;product&nbsp;of&nbsp;a&nbsp;pair&nbsp;of&nbsp;complexes.</tt></dd></dl>
<dl><dt><a name="-getDotProductPlusOne"><strong>getDotProductPlusOne</strong></a>(firstComplex, secondComplex)</dt><dd><tt>Get&nbsp;the&nbsp;dot&nbsp;product&nbsp;plus&nbsp;one&nbsp;of&nbsp;the&nbsp;x&nbsp;and&nbsp;y&nbsp;components&nbsp;of&nbsp;a&nbsp;pair&nbsp;of&nbsp;Vector3s.</tt></dd></dl>
<dl><dt><a name="-getFillOfSurroundings"><strong>getFillOfSurroundings</strong></a>(surroundingLoops)</dt><dd><tt>Get&nbsp;extra&nbsp;fill&nbsp;loops&nbsp;of&nbsp;surrounding&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-getFloatPart"><strong>getFloatPart</strong></a>(number)</dt><dd><tt>Get&nbsp;the&nbsp;float&nbsp;part&nbsp;of&nbsp;the&nbsp;number.</tt></dd></dl>
<dl><dt><a name="-getFrontOfLoops"><strong>getFrontOfLoops</strong></a>(loops)</dt><dd><tt>Get&nbsp;the&nbsp;front&nbsp;of&nbsp;the&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-getHalfSimplifiedLoop"><strong>getHalfSimplifiedLoop</strong></a>(loopComplex, radius, remainder)</dt><dd><tt>Get&nbsp;the&nbsp;loop&nbsp;with&nbsp;half&nbsp;of&nbsp;the&nbsp;points&nbsp;inside&nbsp;the&nbsp;channel&nbsp;removed.</tt></dd></dl>
<dl><dt><a name="-getHalfSimplifiedPath"><strong>getHalfSimplifiedPath</strong></a>(path, radius, remainder)</dt><dd><tt>Get&nbsp;the&nbsp;path&nbsp;with&nbsp;half&nbsp;of&nbsp;the&nbsp;points&nbsp;inside&nbsp;the&nbsp;channel&nbsp;removed.</tt></dd></dl>
<dl><dt><a name="-getInsidesAddToOutsides"><strong>getInsidesAddToOutsides</strong></a>(loops, outsides)</dt><dd><tt>Add&nbsp;loops&nbsp;to&nbsp;either&nbsp;the&nbsp;insides&nbsp;or&nbsp;outsides.</tt></dd></dl>
<dl><dt><a name="-getIntermediateLocation"><strong>getIntermediateLocation</strong></a>(alongWay, begin, end)</dt><dd><tt>Get&nbsp;the&nbsp;intermediate&nbsp;location&nbsp;between&nbsp;begin&nbsp;and&nbsp;end.</tt></dd></dl>
<dl><dt><a name="-getLargestLoop"><strong>getLargestLoop</strong></a>(loops)</dt><dd><tt>Get&nbsp;largest&nbsp;loop&nbsp;from&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-getLeftPoint"><strong>getLeftPoint</strong></a>(pointComplexes)</dt><dd><tt>Get&nbsp;the&nbsp;leftmost&nbsp;complex&nbsp;point&nbsp;in&nbsp;the&nbsp;points.</tt></dd></dl>
<dl><dt><a name="-getLoopStartingNearest"><strong>getLoopStartingNearest</strong></a>(extrusionHalfWidth, location, loop)</dt><dd><tt>Add&nbsp;to&nbsp;threads&nbsp;from&nbsp;the&nbsp;last&nbsp;location&nbsp;from&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="-getMaximum"><strong>getMaximum</strong></a>(firstComplex, secondComplex)</dt><dd><tt>Get&nbsp;a&nbsp;complex&nbsp;with&nbsp;each&nbsp;component&nbsp;the&nbsp;maximum&nbsp;of&nbsp;the&nbsp;respective&nbsp;components&nbsp;of&nbsp;a&nbsp;pair&nbsp;of&nbsp;complexes.</tt></dd></dl>
<dl><dt><a name="-getMaximumFromPoints"><strong>getMaximumFromPoints</strong></a>(pointComplexes)</dt><dd><tt>Get&nbsp;a&nbsp;complex&nbsp;with&nbsp;each&nbsp;component&nbsp;the&nbsp;maximum&nbsp;of&nbsp;the&nbsp;respective&nbsp;components&nbsp;of&nbsp;a&nbsp;list&nbsp;of&nbsp;complex&nbsp;points.</tt></dd></dl>
<dl><dt><a name="-getMaximumSpan"><strong>getMaximumSpan</strong></a>(loop)</dt><dd><tt>Get&nbsp;the&nbsp;maximum&nbsp;span&nbsp;of&nbsp;the&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="-getMinimum"><strong>getMinimum</strong></a>(firstComplex, secondComplex)</dt><dd><tt>Get&nbsp;a&nbsp;complex&nbsp;with&nbsp;each&nbsp;component&nbsp;the&nbsp;minimum&nbsp;of&nbsp;the&nbsp;respective&nbsp;components&nbsp;of&nbsp;a&nbsp;pair&nbsp;of&nbsp;complexes.</tt></dd></dl>
<dl><dt><a name="-getMinimumFromPoints"><strong>getMinimumFromPoints</strong></a>(pointComplexes)</dt><dd><tt>Get&nbsp;a&nbsp;complex&nbsp;with&nbsp;each&nbsp;component&nbsp;the&nbsp;minimum&nbsp;of&nbsp;the&nbsp;respective&nbsp;components&nbsp;of&nbsp;a&nbsp;list&nbsp;of&nbsp;complex&nbsp;points.</tt></dd></dl>
<dl><dt><a name="-getMinimumFromVec3List"><strong>getMinimumFromVec3List</strong></a>(vec3List)</dt><dd><tt>Get&nbsp;a&nbsp;complex&nbsp;with&nbsp;each&nbsp;component&nbsp;the&nbsp;minimum&nbsp;of&nbsp;the&nbsp;respective&nbsp;components&nbsp;of&nbsp;a&nbsp;list&nbsp;of&nbsp;Vector3s.</tt></dd></dl>
<dl><dt><a name="-getNearestDistanceIndex"><strong>getNearestDistanceIndex</strong></a>(point, loop)</dt><dd><tt>Get&nbsp;the&nbsp;distance&nbsp;squared&nbsp;to&nbsp;the&nbsp;nearest&nbsp;segment&nbsp;of&nbsp;the&nbsp;loop&nbsp;and&nbsp;index&nbsp;of&nbsp;that&nbsp;segment.</tt></dd></dl>
<dl><dt><a name="-getNearestPointOnSegment"><strong>getNearestPointOnSegment</strong></a>(segmentBegin, segmentEnd, point)</dt><dd><tt>Get&nbsp;the&nbsp;nearest&nbsp;point&nbsp;on&nbsp;the&nbsp;segment.</tt></dd></dl>
<dl><dt><a name="-getNormalized"><strong>getNormalized</strong></a>(complexNumber)</dt><dd><tt>Get&nbsp;the&nbsp;normalized&nbsp;complex.</tt></dd></dl>
<dl><dt><a name="-getNumberOfIntersectionsToLeft"><strong>getNumberOfIntersectionsToLeft</strong></a>(leftPointComplex, loopComplex)</dt><dd><tt>Get&nbsp;the&nbsp;number&nbsp;of&nbsp;intersections&nbsp;through&nbsp;the&nbsp;loop&nbsp;for&nbsp;the&nbsp;line&nbsp;starting&nbsp;from&nbsp;the&nbsp;left&nbsp;point&nbsp;and&nbsp;going&nbsp;left.</tt></dd></dl>
<dl><dt><a name="-getOrderedSurroundingLoops"><strong>getOrderedSurroundingLoops</strong></a>(extrusionWidth, surroundingLoops)</dt><dd><tt>Get&nbsp;ordered&nbsp;surrounding&nbsp;loops&nbsp;from&nbsp;surrounding&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-getPathLength"><strong>getPathLength</strong></a>(path)</dt><dd><tt>Get&nbsp;the&nbsp;length&nbsp;of&nbsp;a&nbsp;path&nbsp;(&nbsp;an&nbsp;open&nbsp;polyline&nbsp;).</tt></dd></dl>
<dl><dt><a name="-getPathsFromEndpoints"><strong>getPathsFromEndpoints</strong></a>(endpoints, fillInset, pixelTable, width)</dt><dd><tt>Get&nbsp;paths&nbsp;from&nbsp;endpoints.</tt></dd></dl>
<dl><dt><a name="-getPlaneDot"><strong>getPlaneDot</strong></a>(vec3First, vec3Second)</dt><dd><tt>Get&nbsp;the&nbsp;dot&nbsp;product&nbsp;of&nbsp;the&nbsp;x&nbsp;and&nbsp;y&nbsp;components&nbsp;of&nbsp;a&nbsp;pair&nbsp;of&nbsp;Vector3s.</tt></dd></dl>
<dl><dt><a name="-getPointMaximum"><strong>getPointMaximum</strong></a>(firstPoint, secondPoint)</dt><dd><tt>Get&nbsp;a&nbsp;point&nbsp;with&nbsp;each&nbsp;component&nbsp;the&nbsp;maximum&nbsp;of&nbsp;the&nbsp;respective&nbsp;components&nbsp;of&nbsp;a&nbsp;pair&nbsp;of&nbsp;Vector3s.</tt></dd></dl>
<dl><dt><a name="-getPointMinimum"><strong>getPointMinimum</strong></a>(firstPoint, secondPoint)</dt><dd><tt>Get&nbsp;a&nbsp;point&nbsp;with&nbsp;each&nbsp;component&nbsp;the&nbsp;minimum&nbsp;of&nbsp;the&nbsp;respective&nbsp;components&nbsp;of&nbsp;a&nbsp;pair&nbsp;of&nbsp;Vector3s.</tt></dd></dl>
<dl><dt><a name="-getPointPlusSegmentWithLength"><strong>getPointPlusSegmentWithLength</strong></a>(length, point, segment)</dt><dd><tt>Get&nbsp;point&nbsp;plus&nbsp;a&nbsp;segment&nbsp;scaled&nbsp;to&nbsp;a&nbsp;given&nbsp;length.</tt></dd></dl>
<dl><dt><a name="-getPointsRoundZAxis"><strong>getPointsRoundZAxis</strong></a>(planeAngle, points)</dt><dd><tt>Get&nbsp;points&nbsp;rotated&nbsp;by&nbsp;the&nbsp;plane&nbsp;angle</tt></dd></dl>
<dl><dt><a name="-getPolar"><strong>getPolar</strong></a>(angle, radius<font color="#909090">=1.0</font>)</dt><dd><tt>Get&nbsp;polar&nbsp;complex&nbsp;from&nbsp;counterclockwise&nbsp;angle&nbsp;from&nbsp;1,&nbsp;0&nbsp;and&nbsp;radius.</tt></dd></dl>
<dl><dt><a name="-getPolygonArea"><strong>getPolygonArea</strong></a>(polygonComplex)</dt><dd><tt>Get&nbsp;the&nbsp;area&nbsp;of&nbsp;a&nbsp;complex&nbsp;polygon.</tt></dd></dl>
<dl><dt><a name="-getPolygonLength"><strong>getPolygonLength</strong></a>(polygon)</dt><dd><tt>Get&nbsp;the&nbsp;length&nbsp;of&nbsp;a&nbsp;polygon&nbsp;perimeter.</tt></dd></dl>
<dl><dt><a name="-getReverseFloatPart"><strong>getReverseFloatPart</strong></a>(number)</dt><dd><tt>Get&nbsp;the&nbsp;reverse&nbsp;float&nbsp;part&nbsp;of&nbsp;the&nbsp;number.</tt></dd></dl>
<dl><dt><a name="-getRotatedWiddershinsQuarterAroundZAxis"><strong>getRotatedWiddershinsQuarterAroundZAxis</strong></a>(vector3)</dt><dd><tt>Get&nbsp;Vector3&nbsp;rotated&nbsp;a&nbsp;quarter&nbsp;widdershins&nbsp;turn&nbsp;around&nbsp;Z&nbsp;axis.</tt></dd></dl>
<dl><dt><a name="-getRoundZAxisByPlaneAngle"><strong>getRoundZAxisByPlaneAngle</strong></a>(planeAngle, vector3)</dt><dd><tt>Get&nbsp;Vector3&nbsp;rotated&nbsp;by&nbsp;a&nbsp;plane&nbsp;angle.<br>
&nbsp;<br>
Keyword&nbsp;arguments:<br>
planeAngle&nbsp;-&nbsp;plane&nbsp;angle&nbsp;of&nbsp;the&nbsp;rotation<br>
vector3&nbsp;-&nbsp;Vector3&nbsp;whose&nbsp;rotation&nbsp;will&nbsp;be&nbsp;returned</tt></dd></dl>
<dl><dt><a name="-getRoundedPoint"><strong>getRoundedPoint</strong></a>(point)</dt><dd><tt>Get&nbsp;point&nbsp;with&nbsp;each&nbsp;component&nbsp;rounded.</tt></dd></dl>
<dl><dt><a name="-getRoundedToDecimalPlaces"><strong>getRoundedToDecimalPlaces</strong></a>(decimalPlaces, number)</dt><dd><tt>Get&nbsp;number&nbsp;rounded&nbsp;to&nbsp;a&nbsp;number&nbsp;of&nbsp;decimal&nbsp;places.</tt></dd></dl>
<dl><dt><a name="-getRoundedToDecimalPlacesString"><strong>getRoundedToDecimalPlacesString</strong></a>(decimalPlaces, number)</dt><dd><tt>Get&nbsp;number&nbsp;rounded&nbsp;to&nbsp;a&nbsp;number&nbsp;of&nbsp;decimal&nbsp;places&nbsp;as&nbsp;a&nbsp;string.</tt></dd></dl>
<dl><dt><a name="-getRoundedToThreePlaces"><strong>getRoundedToThreePlaces</strong></a>(number)</dt><dd><tt>Get&nbsp;number&nbsp;rounded&nbsp;to&nbsp;three&nbsp;places&nbsp;as&nbsp;a&nbsp;string.</tt></dd></dl>
<dl><dt><a name="-getSegmentFromPoints"><strong>getSegmentFromPoints</strong></a>(begin, end)</dt><dd><tt>Get&nbsp;endpoint&nbsp;segment&nbsp;from&nbsp;a&nbsp;pair&nbsp;of&nbsp;points.</tt></dd></dl>
<dl><dt><a name="-getSegmentsFromXIntersectionIndexes"><strong>getSegmentsFromXIntersectionIndexes</strong></a>(xIntersectionIndexList, y)</dt><dd><tt>Get&nbsp;endpoint&nbsp;segments&nbsp;from&nbsp;the&nbsp;x&nbsp;intersection&nbsp;indexes.</tt></dd></dl>
<dl><dt><a name="-getSegmentsFromXIntersections"><strong>getSegmentsFromXIntersections</strong></a>(xIntersections, y)</dt><dd><tt>Get&nbsp;endpoint&nbsp;segments&nbsp;from&nbsp;the&nbsp;x&nbsp;intersections.</tt></dd></dl>
<dl><dt><a name="-getSimplifiedLoop"><strong>getSimplifiedLoop</strong></a>(loopComplex, radius)</dt><dd><tt>Get&nbsp;loop&nbsp;with&nbsp;points&nbsp;inside&nbsp;the&nbsp;channel&nbsp;removed.</tt></dd></dl>
<dl><dt><a name="-getSimplifiedPath"><strong>getSimplifiedPath</strong></a>(path, radius)</dt><dd><tt>Get&nbsp;path&nbsp;with&nbsp;points&nbsp;inside&nbsp;the&nbsp;channel&nbsp;removed.</tt></dd></dl>
<dl><dt><a name="-getSquareValues"><strong>getSquareValues</strong></a>(pixelTable, x, y)</dt><dd><tt>Get&nbsp;a&nbsp;list&nbsp;of&nbsp;the&nbsp;values&nbsp;in&nbsp;a&nbsp;square&nbsp;around&nbsp;the&nbsp;x&nbsp;and&nbsp;y&nbsp;pixel&nbsp;coordinates.</tt></dd></dl>
<dl><dt><a name="-getStepKey"><strong>getStepKey</strong></a>(x, y)</dt><dd><tt>Get&nbsp;step&nbsp;key&nbsp;for&nbsp;x&nbsp;and&nbsp;y.</tt></dd></dl>
<dl><dt><a name="-getTransferClosestSurroundingLoop"><strong>getTransferClosestSurroundingLoop</strong></a>(oldOrderedLocation, remainingSurroundingLoops, skein)</dt><dd><tt>Get&nbsp;and&nbsp;transfer&nbsp;the&nbsp;closest&nbsp;remaining&nbsp;surrounding&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="-getTransferredPaths"><strong>getTransferredPaths</strong></a>(insides, loop)</dt><dd><tt>Get&nbsp;transferred&nbsp;paths&nbsp;from&nbsp;inside&nbsp;paths.</tt></dd></dl>
<dl><dt><a name="-getTransferredSurroundingLoops"><strong>getTransferredSurroundingLoops</strong></a>(insides, loop)</dt><dd><tt>Get&nbsp;transferred&nbsp;paths&nbsp;from&nbsp;inside&nbsp;surrounding&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-getWiddershinsDotGiven"><strong>getWiddershinsDotGiven</strong></a>(complexFirst, complexSecond)</dt><dd><tt>Get&nbsp;the&nbsp;magintude&nbsp;of&nbsp;the&nbsp;positive&nbsp;dot&nbsp;product&nbsp;plus&nbsp;one&nbsp;of&nbsp;the&nbsp;x&nbsp;and&nbsp;y&nbsp;components&nbsp;of&nbsp;a&nbsp;pair&nbsp;of&nbsp;complexes,&nbsp;with&nbsp;the&nbsp;reversed&nbsp;sign&nbsp;of&nbsp;the&nbsp;cross&nbsp;product.</tt></dd></dl>
<dl><dt><a name="-getXIntersection"><strong>getXIntersection</strong></a>(firstComplex, secondComplex, y)</dt><dd><tt>Get&nbsp;where&nbsp;the&nbsp;line&nbsp;crosses&nbsp;y.</tt></dd></dl>
<dl><dt><a name="-getXIntersectionsFromIntersections"><strong>getXIntersectionsFromIntersections</strong></a>(xIntersectionIndexList)</dt><dd><tt>Get&nbsp;x&nbsp;intersections&nbsp;from&nbsp;the&nbsp;x&nbsp;intersection&nbsp;index&nbsp;list,&nbsp;in&nbsp;other&nbsp;words&nbsp;subtract&nbsp;non&nbsp;negative&nbsp;intersections&nbsp;from&nbsp;negatives.</tt></dd></dl>
<dl><dt><a name="-getXYComplexFromVector3"><strong>getXYComplexFromVector3</strong></a>(vector3)</dt><dd><tt>Get&nbsp;an&nbsp;xy&nbsp;complex&nbsp;from&nbsp;a&nbsp;vector3&nbsp;if&nbsp;it&nbsp;exists,&nbsp;otherwise&nbsp;return&nbsp;None.</tt></dd></dl>
<dl><dt><a name="-getZComponentCrossProduct"><strong>getZComponentCrossProduct</strong></a>(vec3First, vec3Second)</dt><dd><tt>Get&nbsp;z&nbsp;component&nbsp;cross&nbsp;product&nbsp;of&nbsp;a&nbsp;pair&nbsp;of&nbsp;Vector3s.</tt></dd></dl>
<dl><dt><a name="-isCloseXYPlane"><strong>isCloseXYPlane</strong></a>(overlapDistance, pixelTable, pointComplex, x, y)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;point&nbsp;is&nbsp;close&nbsp;to&nbsp;another&nbsp;point&nbsp;on&nbsp;the&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="-isInsideOtherLoops"><strong>isInsideOtherLoops</strong></a>(loopIndex, loops)</dt><dd><tt>Determine&nbsp;if&nbsp;a&nbsp;loop&nbsp;in&nbsp;a&nbsp;list&nbsp;is&nbsp;inside&nbsp;another&nbsp;loop&nbsp;in&nbsp;that&nbsp;list.</tt></dd></dl>
<dl><dt><a name="-isLargeSameDirection"><strong>isLargeSameDirection</strong></a>(inset, loop, requiredSize)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;inset&nbsp;is&nbsp;in&nbsp;the&nbsp;same&nbsp;direction&nbsp;as&nbsp;the&nbsp;loop&nbsp;and&nbsp;if&nbsp;the&nbsp;inset&nbsp;is&nbsp;as&nbsp;large&nbsp;as&nbsp;the&nbsp;required&nbsp;size.</tt></dd></dl>
<dl><dt><a name="-isLineIntersectingInsideXSegment"><strong>isLineIntersectingInsideXSegment</strong></a>(segmentFirstX, segmentSecondX, vector3First, vector3Second, y)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;line&nbsp;is&nbsp;crossing&nbsp;inside&nbsp;the&nbsp;x&nbsp;segment.</tt></dd></dl>
<dl><dt><a name="-isLineIntersectingLoops"><strong>isLineIntersectingLoops</strong></a>(loops, pointBegin, pointEnd)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;line&nbsp;is&nbsp;intersecting&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-isLoopIntersectingInsideXSegment"><strong>isLoopIntersectingInsideXSegment</strong></a>(loop, segmentFirstX, segmentSecondX, segmentYMirror, y)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;loop&nbsp;is&nbsp;intersecting&nbsp;inside&nbsp;the&nbsp;x&nbsp;segment.</tt></dd></dl>
<dl><dt><a name="-isLoopIntersectingLoops"><strong>isLoopIntersectingLoops</strong></a>(loop, otherLoops)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;loop&nbsp;is&nbsp;intersecting&nbsp;other&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-isLoopListIntersectingInsideXSegment"><strong>isLoopListIntersectingInsideXSegment</strong></a>(loopList, segmentFirstX, segmentSecondX, segmentYMirror, y)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;loop&nbsp;list&nbsp;is&nbsp;crossing&nbsp;inside&nbsp;the&nbsp;x&nbsp;segment.</tt></dd></dl>
<dl><dt><a name="-isPathInsideLoop"><strong>isPathInsideLoop</strong></a>(loop, path)</dt><dd><tt>Determine&nbsp;if&nbsp;a&nbsp;path&nbsp;is&nbsp;inside&nbsp;another&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="-isPathInsideLoops"><strong>isPathInsideLoops</strong></a>(loops, path)</dt><dd><tt>Determine&nbsp;if&nbsp;a&nbsp;path&nbsp;is&nbsp;inside&nbsp;another&nbsp;loop&nbsp;in&nbsp;a&nbsp;list.</tt></dd></dl>
<dl><dt><a name="-isPixelTableIntersecting"><strong>isPixelTableIntersecting</strong></a>(bigTable, littleTable, maskTable<font color="#909090">={}</font>)</dt><dd><tt>Add&nbsp;path&nbsp;to&nbsp;the&nbsp;pixel&nbsp;table.</tt></dd></dl>
<dl><dt><a name="-isPointInsideLoop"><strong>isPointInsideLoop</strong></a>(loop, point)</dt><dd><tt>Determine&nbsp;if&nbsp;a&nbsp;point&nbsp;is&nbsp;inside&nbsp;another&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="-isPointInsideLoops"><strong>isPointInsideLoops</strong></a>(loops, point)</dt><dd><tt>Determine&nbsp;if&nbsp;a&nbsp;point&nbsp;is&nbsp;inside&nbsp;a&nbsp;loop&nbsp;list.</tt></dd></dl>
<dl><dt><a name="-isSegmentCompletelyInX"><strong>isSegmentCompletelyInX</strong></a>(segment, xFirst, xSecond)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;segment&nbsp;overlaps&nbsp;within&nbsp;x.</tt></dd></dl>
<dl><dt><a name="-isWiddershins"><strong>isWiddershins</strong></a>(polygonComplex)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;complex&nbsp;polygon&nbsp;goes&nbsp;round&nbsp;in&nbsp;the&nbsp;widdershins&nbsp;direction.</tt></dd></dl>
<dl><dt><a name="-isWithinChannel"><strong>isWithinChannel</strong></a>(channelRadius, pointIndex, loopComplex)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;the&nbsp;point&nbsp;is&nbsp;within&nbsp;the&nbsp;channel&nbsp;between&nbsp;two&nbsp;adjacent&nbsp;points.</tt></dd></dl>
<dl><dt><a name="-isXSegmentIntersectingPaths"><strong>isXSegmentIntersectingPaths</strong></a>(paths, segmentFirstX, segmentSecondX, segmentYMirror, y)</dt><dd><tt>Determine&nbsp;if&nbsp;a&nbsp;path&nbsp;list&nbsp;is&nbsp;crossing&nbsp;inside&nbsp;the&nbsp;x&nbsp;segment.</tt></dd></dl>
<dl><dt><a name="-removePixelTableFromPixelTable"><strong>removePixelTableFromPixelTable</strong></a>(pixelTableToBeRemoved, pixelTableToBeRemovedFrom)</dt><dd><tt>Remove&nbsp;pixel&nbsp;from&nbsp;the&nbsp;pixel&nbsp;table.</tt></dd></dl>
<dl><dt><a name="-toggleHashtable"><strong>toggleHashtable</strong></a>(hashtable, key, value)</dt><dd><tt>Toggle&nbsp;a&nbsp;hashtable&nbsp;between&nbsp;having&nbsp;and&nbsp;not&nbsp;having&nbsp;a&nbsp;key.</tt></dd></dl>
<dl><dt><a name="-transferClosestFillLoop"><strong>transferClosestFillLoop</strong></a>(extrusionHalfWidth, oldOrderedLocation, remainingFillLoops, skein)</dt><dd><tt>Transfer&nbsp;the&nbsp;closest&nbsp;remaining&nbsp;fill&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="-transferClosestPath"><strong>transferClosestPath</strong></a>(oldOrderedLocation, remainingPaths, skein)</dt><dd><tt>Transfer&nbsp;the&nbsp;closest&nbsp;remaining&nbsp;path.</tt></dd></dl>
<dl><dt><a name="-transferClosestPaths"><strong>transferClosestPaths</strong></a>(oldOrderedLocation, remainingPaths, skein)</dt><dd><tt>Transfer&nbsp;the&nbsp;closest&nbsp;remaining&nbsp;paths.</tt></dd></dl>
<dl><dt><a name="-transferPathsToSurroundingLoops"><strong>transferPathsToSurroundingLoops</strong></a>(paths, surroundingLoops)</dt><dd><tt>Transfer&nbsp;paths&nbsp;to&nbsp;surrounding&nbsp;loops.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,122 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.skeinforge_utilities.gcodec</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.skeinforge_utilities.html"><font color="#ffffff">skeinforge_utilities</font></a>.gcodec</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/skeinforge_utilities/gcodec.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/skeinforge_utilities/gcodec.py</a></font></td></tr></table>
<p><tt>Gcodec&nbsp;is&nbsp;a&nbsp;collection&nbsp;of&nbsp;utilities&nbsp;to&nbsp;decode&nbsp;and&nbsp;encode&nbsp;gcode.<br>
&nbsp;<br>
To&nbsp;run&nbsp;gcodec,&nbsp;install&nbsp;python&nbsp;2.x&nbsp;on&nbsp;your&nbsp;machine,&nbsp;which&nbsp;is&nbsp;avaliable&nbsp;from&nbsp;<a href="http://www.python.org/download/">http://www.python.org/download/</a><br>
&nbsp;<br>
Then&nbsp;in&nbsp;the&nbsp;folder&nbsp;which&nbsp;gcodec&nbsp;is&nbsp;in,&nbsp;type&nbsp;'python'&nbsp;in&nbsp;a&nbsp;shell&nbsp;to&nbsp;run&nbsp;the&nbsp;python&nbsp;interpreter.&nbsp;&nbsp;Finally&nbsp;type&nbsp;'from&nbsp;gcodec&nbsp;import&nbsp;*'&nbsp;to&nbsp;import&nbsp;this&nbsp;program.<br>
&nbsp;<br>
Below&nbsp;is&nbsp;an&nbsp;example&nbsp;of&nbsp;gcodec&nbsp;use.&nbsp;&nbsp;This&nbsp;example&nbsp;is&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the&nbsp;folder&nbsp;which&nbsp;contains&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode&nbsp;and&nbsp;gcodec.py.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;from&nbsp;gcodec&nbsp;import&nbsp;*<br>
&gt;&gt;&gt;&nbsp;<a href="#-getFileText">getFileText</a>('Screw&nbsp;Holder&nbsp;Bottom.gcode')<br>
'(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;April&nbsp;17,2007&nbsp;Skeinforge&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
M100&nbsp;P210<br>
M103<br>
M105<br>
(&lt;extrusionDiameter&gt;&nbsp;P0.7<br>
(&lt;extrusionWidth&gt;&nbsp;P0.654<br>
(&lt;layerThickness&gt;&nbsp;P0.654<br>
G21<br>
G90<br>
G28<br>
(&nbsp;Extruder&nbsp;Movement&nbsp;)<br>
(&nbsp;Extruder&nbsp;paths&nbsp;for&nbsp;layer&nbsp;0&nbsp;of&nbsp;Screw&nbsp;Holder&nbsp;Bottom&nbsp;)<br>
(&lt;extrusion&gt;<br>
G1&nbsp;X2.727&nbsp;Y-2.505&nbsp;Z0.33&nbsp;F600.0<br>
&nbsp;<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;text<br>
..</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
</td><td width="25%" valign=top><a href="os.html">os</a><br>
</td><td width="25%" valign=top><a href="sys.html">sys</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-createInitFile"><strong>createInitFile</strong></a>()</dt><dd><tt>Create&nbsp;the&nbsp;__init__.py&nbsp;file.</tt></dd></dl>
<dl><dt><a name="-findWords"><strong>findWords</strong></a>(fileNames, search)</dt><dd><tt>Find&nbsp;in&nbsp;files&nbsp;the&nbsp;search.</tt></dd></dl>
<dl><dt><a name="-getDoubleAfterFirstLetter"><strong>getDoubleAfterFirstLetter</strong></a>(word)</dt><dd><tt>Get&nbsp;the&nbsp;double&nbsp;value&nbsp;of&nbsp;the&nbsp;word&nbsp;after&nbsp;the&nbsp;first&nbsp;letter.<br>
&nbsp;<br>
Keyword&nbsp;arguments:<br>
word&nbsp;--&nbsp;string&nbsp;with&nbsp;value&nbsp;starting&nbsp;after&nbsp;the&nbsp;first&nbsp;letter</tt></dd></dl>
<dl><dt><a name="-getDoubleForLetter"><strong>getDoubleForLetter</strong></a>(letter, splitLine)</dt><dd><tt>Get&nbsp;the&nbsp;double&nbsp;value&nbsp;of&nbsp;the&nbsp;word&nbsp;after&nbsp;the&nbsp;first&nbsp;occurence&nbsp;of&nbsp;the&nbsp;letter&nbsp;in&nbsp;the&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="-getDoubleFromCharacterSplitLineValue"><strong>getDoubleFromCharacterSplitLineValue</strong></a>(character, splitLine, value)</dt><dd><tt>Get&nbsp;the&nbsp;double&nbsp;value&nbsp;of&nbsp;the&nbsp;string&nbsp;after&nbsp;the&nbsp;first&nbsp;occurence&nbsp;of&nbsp;the&nbsp;character&nbsp;in&nbsp;the&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="-getFeedrateMinute"><strong>getFeedrateMinute</strong></a>(feedrateMinute, splitLine)</dt><dd><tt>Get&nbsp;the&nbsp;feedrate&nbsp;per&nbsp;minute&nbsp;if&nbsp;the&nbsp;split&nbsp;line&nbsp;has&nbsp;a&nbsp;feedrate.</tt></dd></dl>
<dl><dt><a name="-getFileText"><strong>getFileText</strong></a>(fileName, readMode<font color="#909090">='r'</font>)</dt><dd><tt>Get&nbsp;the&nbsp;entire&nbsp;text&nbsp;of&nbsp;a&nbsp;file.</tt></dd></dl>
<dl><dt><a name="-getFileTextInFileDirectory"><strong>getFileTextInFileDirectory</strong></a>(fileInDirectory, fileName, readMode<font color="#909090">='r'</font>)</dt><dd><tt>Get&nbsp;the&nbsp;entire&nbsp;text&nbsp;of&nbsp;a&nbsp;file&nbsp;in&nbsp;the&nbsp;directory&nbsp;of&nbsp;the&nbsp;file&nbsp;in&nbsp;directory.</tt></dd></dl>
<dl><dt><a name="-getFilesWithFileTypeWithoutWords"><strong>getFilesWithFileTypeWithoutWords</strong></a>(fileType, words<font color="#909090">=[]</font>, fileInDirectory<font color="#909090">=''</font>)</dt><dd><tt>Get&nbsp;files&nbsp;which&nbsp;have&nbsp;a&nbsp;given&nbsp;file&nbsp;type,&nbsp;but&nbsp;with&nbsp;do&nbsp;not&nbsp;contain&nbsp;a&nbsp;word&nbsp;in&nbsp;a&nbsp;list.<br>
&nbsp;<br>
Keyword&nbsp;arguments:<br>
fileType&nbsp;--&nbsp;file&nbsp;type&nbsp;required<br>
words&nbsp;--&nbsp;list&nbsp;of&nbsp;words&nbsp;which&nbsp;the&nbsp;file&nbsp;must&nbsp;not&nbsp;have</tt></dd></dl>
<dl><dt><a name="-getFilesWithFileTypesWithoutWords"><strong>getFilesWithFileTypesWithoutWords</strong></a>(fileTypes, words<font color="#909090">=[]</font>, fileInDirectory<font color="#909090">=''</font>)</dt><dd><tt>Get&nbsp;files&nbsp;which&nbsp;have&nbsp;a&nbsp;given&nbsp;file&nbsp;type,&nbsp;but&nbsp;with&nbsp;do&nbsp;not&nbsp;contain&nbsp;a&nbsp;word&nbsp;in&nbsp;a&nbsp;list.<br>
&nbsp;<br>
Keyword&nbsp;arguments:<br>
fileType&nbsp;--&nbsp;file&nbsp;types&nbsp;required<br>
words&nbsp;--&nbsp;list&nbsp;of&nbsp;words&nbsp;which&nbsp;the&nbsp;file&nbsp;must&nbsp;not&nbsp;have</tt></dd></dl>
<dl><dt><a name="-getFirstWord"><strong>getFirstWord</strong></a>(splitLine)</dt><dd><tt>Get&nbsp;the&nbsp;first&nbsp;word&nbsp;of&nbsp;a&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="-getGcodeFileText"><strong>getGcodeFileText</strong></a>(fileName, gcodeText)</dt><dd><tt>Get&nbsp;the&nbsp;gcode&nbsp;text&nbsp;from&nbsp;a&nbsp;file&nbsp;if&nbsp;it&nbsp;the&nbsp;gcode&nbsp;text&nbsp;is&nbsp;empty&nbsp;and&nbsp;if&nbsp;the&nbsp;file&nbsp;is&nbsp;a&nbsp;gcode&nbsp;file.</tt></dd></dl>
<dl><dt><a name="-getLocationFromSplitLine"><strong>getLocationFromSplitLine</strong></a>(oldLocation, splitLine)</dt><dd><tt>Get&nbsp;the&nbsp;location&nbsp;from&nbsp;the&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="-getModule"><strong>getModule</strong></a>(fileName, folderName, moduleFilename)</dt><dd><tt>Get&nbsp;the&nbsp;module&nbsp;from&nbsp;the&nbsp;fileName&nbsp;and&nbsp;folder&nbsp;name.</tt></dd></dl>
<dl><dt><a name="-getPluginFilenames"><strong>getPluginFilenames</strong></a>(folderName, moduleFilename)</dt><dd><tt>Get&nbsp;the&nbsp;fileNames&nbsp;of&nbsp;the&nbsp;python&nbsp;plugins&nbsp;in&nbsp;the&nbsp;export_plugins&nbsp;folder.</tt></dd></dl>
<dl><dt><a name="-getPythonDirectoryNames"><strong>getPythonDirectoryNames</strong></a>(directoryName)</dt><dd><tt>Get&nbsp;the&nbsp;python&nbsp;directories.</tt></dd></dl>
<dl><dt><a name="-getPythonDirectoryNamesRecursively"><strong>getPythonDirectoryNamesRecursively</strong></a>(directoryName<font color="#909090">=''</font>)</dt><dd><tt>Get&nbsp;the&nbsp;python&nbsp;directories&nbsp;recursively.</tt></dd></dl>
<dl><dt><a name="-getPythonFilenamesExceptInit"><strong>getPythonFilenamesExceptInit</strong></a>(fileInDirectory<font color="#909090">=''</font>)</dt><dd><tt>Get&nbsp;the&nbsp;python&nbsp;fileNames&nbsp;of&nbsp;the&nbsp;directory&nbsp;which&nbsp;the&nbsp;fileInDirectory&nbsp;is&nbsp;in,&nbsp;except&nbsp;for&nbsp;the&nbsp;__init__.py&nbsp;file.</tt></dd></dl>
<dl><dt><a name="-getPythonFilenamesExceptInitRecursively"><strong>getPythonFilenamesExceptInitRecursively</strong></a>(directoryName<font color="#909090">=''</font>)</dt><dd><tt>Get&nbsp;the&nbsp;python&nbsp;fileNames&nbsp;of&nbsp;the&nbsp;directory&nbsp;recursively,&nbsp;except&nbsp;for&nbsp;the&nbsp;__init__.py&nbsp;files.</tt></dd></dl>
<dl><dt><a name="-getSummarizedFilename"><strong>getSummarizedFilename</strong></a>(fileName)</dt><dd><tt>Get&nbsp;the&nbsp;fileName&nbsp;basename&nbsp;if&nbsp;the&nbsp;file&nbsp;is&nbsp;in&nbsp;the&nbsp;current&nbsp;working&nbsp;directory,&nbsp;otherwise&nbsp;return&nbsp;the&nbsp;original&nbsp;full&nbsp;name.</tt></dd></dl>
<dl><dt><a name="-getTextLines"><strong>getTextLines</strong></a>(text)</dt><dd><tt>Get&nbsp;the&nbsp;all&nbsp;the&nbsp;lines&nbsp;of&nbsp;text&nbsp;of&nbsp;a&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-getUnmodifiedGCodeFiles"><strong>getUnmodifiedGCodeFiles</strong></a>(fileInDirectory<font color="#909090">=''</font>)</dt><dd><tt>Get&nbsp;gcode&nbsp;files&nbsp;which&nbsp;are&nbsp;not&nbsp;modified.</tt></dd></dl>
<dl><dt><a name="-getWithoutBracketsEqualTab"><strong>getWithoutBracketsEqualTab</strong></a>(line)</dt><dd><tt>Get&nbsp;a&nbsp;string&nbsp;without&nbsp;the&nbsp;greater&nbsp;than&nbsp;sign,&nbsp;the&nbsp;bracket&nbsp;and&nbsp;less&nbsp;than&nbsp;sign,&nbsp;the&nbsp;equal&nbsp;sign&nbsp;or&nbsp;the&nbsp;tab.</tt></dd></dl>
<dl><dt><a name="-indexOfStartingWithSecond"><strong>indexOfStartingWithSecond</strong></a>(letter, splitLine)</dt><dd><tt>Get&nbsp;index&nbsp;of&nbsp;the&nbsp;first&nbsp;occurence&nbsp;of&nbsp;the&nbsp;given&nbsp;letter&nbsp;in&nbsp;the&nbsp;split&nbsp;line,&nbsp;starting&nbsp;with&nbsp;the&nbsp;second&nbsp;word.&nbsp;&nbsp;Return&nbsp;-&nbsp;1&nbsp;if&nbsp;letter&nbsp;is&nbsp;not&nbsp;found</tt></dd></dl>
<dl><dt><a name="-isFileWithFileTypeWithoutWords"><strong>isFileWithFileTypeWithoutWords</strong></a>(fileType, fileName, words)</dt><dd><tt>Determine&nbsp;if&nbsp;file&nbsp;has&nbsp;a&nbsp;given&nbsp;file&nbsp;type,&nbsp;but&nbsp;with&nbsp;does&nbsp;not&nbsp;contain&nbsp;a&nbsp;word&nbsp;in&nbsp;a&nbsp;list.<br>
&nbsp;<br>
Keyword&nbsp;arguments:<br>
fileType&nbsp;--&nbsp;file&nbsp;type&nbsp;required<br>
fileName&nbsp;--&nbsp;name&nbsp;of&nbsp;the&nbsp;file<br>
words&nbsp;--&nbsp;list&nbsp;of&nbsp;words&nbsp;which&nbsp;the&nbsp;fileName&nbsp;must&nbsp;not&nbsp;have</tt></dd></dl>
<dl><dt><a name="-isProcedureDone"><strong>isProcedureDone</strong></a>(gcodeText, procedure)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;procedure&nbsp;has&nbsp;been&nbsp;done&nbsp;on&nbsp;the&nbsp;gcode&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-isThereAFirstWord"><strong>isThereAFirstWord</strong></a>(firstWord, lines, startIndex)</dt><dd><tt>Parse&nbsp;gcode&nbsp;until&nbsp;the&nbsp;first&nbsp;word&nbsp;if&nbsp;there&nbsp;is&nbsp;one.</tt></dd></dl>
<dl><dt><a name="-replaceWords"><strong>replaceWords</strong></a>(fileNames, original, replacement)</dt><dd><tt>Replace&nbsp;in&nbsp;files&nbsp;the&nbsp;original&nbsp;with&nbsp;the&nbsp;replacement.</tt></dd></dl>
<dl><dt><a name="-writeFileMessageEnd"><strong>writeFileMessageEnd</strong></a>(end, fileName, fileText, message)</dt><dd><tt>Write&nbsp;to&nbsp;a&nbsp;fileName&nbsp;with&nbsp;a&nbsp;suffix&nbsp;and&nbsp;print&nbsp;a&nbsp;message.</tt></dd></dl>
<dl><dt><a name="-writeFileText"><strong>writeFileText</strong></a>(fileName, fileText, writeMode<font color="#909090">='w+'</font>)</dt><dd><tt>Write&nbsp;a&nbsp;text&nbsp;to&nbsp;a&nbsp;file.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,38 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: package skeinforge_tools.skeinforge_utilities</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.skeinforge_utilities</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/skeinforge_utilities/__init__.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/skeinforge_utilities/__init__.py</a></font></td></tr></table>
<p></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Package Contents</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.euclidean.html">euclidean</a><br>
<a href="skeinforge_tools.skeinforge_utilities.gcodec.html">gcodec</a><br>
<a href="skeinforge_tools.skeinforge_utilities.intercircle.html">intercircle</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.interpret.html">interpret</a><br>
<a href="skeinforge_tools.skeinforge_utilities.preferences.html">preferences</a><br>
<a href="skeinforge_tools.skeinforge_utilities.triangle_mesh.html">triangle_mesh</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.vec3.html">vec3</a><br>
<a href="skeinforge_tools.skeinforge_utilities.vector3.html">vector3</a><br>
<a href="skeinforge_tools.skeinforge_utilities.xml_parser.html">xml_parser</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.xml_simple_parser.html">xml_simple_parser</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__all__</strong> = ['euclidean', 'gcodec', 'intercircle', 'preferences', 'trianglemesh', 'vec3']</td></tr></table>
</body></html>

View File

@@ -0,0 +1,145 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.skeinforge_utilities.intercircle</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.skeinforge_utilities.html"><font color="#ffffff">skeinforge_utilities</font></a>.intercircle</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/skeinforge_utilities/intercircle.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/skeinforge_utilities/intercircle.py</a></font></td></tr></table>
<p><tt>Intercircle&nbsp;is&nbsp;a&nbsp;collection&nbsp;of&nbsp;utilities&nbsp;for&nbsp;intersecting&nbsp;circles,&nbsp;used&nbsp;to&nbsp;get&nbsp;smooth&nbsp;loops&nbsp;around&nbsp;a&nbsp;collection&nbsp;of&nbsp;points&nbsp;and&nbsp;inset&nbsp;&amp;&nbsp;outset&nbsp;loops.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
</td><td width="25%" valign=top><a href="math.html">math</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.intercircle.html#BoundingLoop">BoundingLoop</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.intercircle.html#CircleIntersection">CircleIntersection</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.intercircle.html#CircleNode">CircleNode</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="BoundingLoop">class <strong>BoundingLoop</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;hold&nbsp;a&nbsp;bounding&nbsp;loop&nbsp;composed&nbsp;of&nbsp;a&nbsp;minimum&nbsp;complex,&nbsp;a&nbsp;maximum&nbsp;complex&nbsp;and&nbsp;an&nbsp;outset&nbsp;loop.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="BoundingLoop-__cmp__"><strong>__cmp__</strong></a>(self, other)</dt><dd><tt>Get&nbsp;comparison&nbsp;in&nbsp;order&nbsp;to&nbsp;sort&nbsp;bounding&nbsp;loops&nbsp;in&nbsp;descending&nbsp;order&nbsp;of&nbsp;area.</tt></dd></dl>
<dl><dt><a name="BoundingLoop-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;bounding&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="BoundingLoop-getFromLoop"><strong>getFromLoop</strong></a>(self, loop)</dt><dd><tt>Get&nbsp;the&nbsp;bounding&nbsp;loop&nbsp;from&nbsp;a&nbsp;path.</tt></dd></dl>
<dl><dt><a name="BoundingLoop-getOutsetBoundingLoop"><strong>getOutsetBoundingLoop</strong></a>(self, outsetDistance)</dt><dd><tt>Outset&nbsp;the&nbsp;bounding&nbsp;rectangle&nbsp;and&nbsp;loop&nbsp;by&nbsp;a&nbsp;distance.</tt></dd></dl>
<dl><dt><a name="BoundingLoop-isEntirelyInsideAnother"><strong>isEntirelyInsideAnother</strong></a>(self, anotherBoundingLoop)</dt><dd><tt>Determine&nbsp;if&nbsp;this&nbsp;bounding&nbsp;loop&nbsp;is&nbsp;entirely&nbsp;inside&nbsp;another&nbsp;bounding&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="BoundingLoop-isOverlappingAnother"><strong>isOverlappingAnother</strong></a>(self, anotherBoundingLoop)</dt><dd><tt>Determine&nbsp;if&nbsp;this&nbsp;bounding&nbsp;loop&nbsp;is&nbsp;intersecting&nbsp;another&nbsp;bounding&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="BoundingLoop-isRectangleMissingAnother"><strong>isRectangleMissingAnother</strong></a>(self, anotherBoundingLoop)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;rectangle&nbsp;of&nbsp;this&nbsp;bounding&nbsp;loop&nbsp;is&nbsp;missing&nbsp;the&nbsp;rectangle&nbsp;of&nbsp;another&nbsp;bounding&nbsp;loop.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="CircleIntersection">class <strong>CircleIntersection</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>An&nbsp;intersection&nbsp;of&nbsp;two&nbsp;complex&nbsp;circles.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="CircleIntersection-__init__"><strong>__init__</strong></a>(self, circleNodeAhead, index, circleNodeBehind)</dt></dl>
<dl><dt><a name="CircleIntersection-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;<a href="#CircleIntersection">CircleIntersection</a>.</tt></dd></dl>
<dl><dt><a name="CircleIntersection-addToList"><strong>addToList</strong></a>(self, circleIntersectionPath)</dt></dl>
<dl><dt><a name="CircleIntersection-getAbsolutePosition"><strong>getAbsolutePosition</strong></a>(self)</dt></dl>
<dl><dt><a name="CircleIntersection-getCircleIntersectionAhead"><strong>getCircleIntersectionAhead</strong></a>(self)</dt></dl>
<dl><dt><a name="CircleIntersection-getPositionRelativeToBehind"><strong>getPositionRelativeToBehind</strong></a>(self)</dt></dl>
<dl><dt><a name="CircleIntersection-isWithinCircles"><strong>isWithinCircles</strong></a>(self, pixelTable, width)</dt></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="CircleNode">class <strong>CircleNode</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;complex&nbsp;node&nbsp;of&nbsp;complex&nbsp;circle&nbsp;intersections.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="CircleNode-__init__"><strong>__init__</strong></a>(self, circle, index, radius)</dt></dl>
<dl><dt><a name="CircleNode-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;<a href="#CircleNode">CircleNode</a>.</tt></dd></dl>
<dl><dt><a name="CircleNode-getWithinNodes"><strong>getWithinNodes</strong></a>(self, pixelTable, width)</dt></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-addCircleIntersectionLoop"><strong>addCircleIntersectionLoop</strong></a>(circleIntersectionPathComplexes, circleIntersections)</dt><dd><tt>Add&nbsp;a&nbsp;circle&nbsp;intersection&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="-addOperatingOrbits"><strong>addOperatingOrbits</strong></a>(boundaryLoops, pointComplex, skein, temperatureChangeTime, z)</dt><dd><tt>Add&nbsp;the&nbsp;orbits&nbsp;before&nbsp;the&nbsp;operating&nbsp;layers.</tt></dd></dl>
<dl><dt><a name="-addOrbits"><strong>addOrbits</strong></a>(loop, skein, temperatureChangeTime, z)</dt><dd><tt>Add&nbsp;orbits&nbsp;with&nbsp;the&nbsp;extruder&nbsp;off.</tt></dd></dl>
<dl><dt><a name="-addPointsFromSegment"><strong>addPointsFromSegment</strong></a>(pointComplexes, radius, pointBeginComplex, pointEndComplex, thresholdRatio<font color="#909090">=0.90000000000000002</font>)</dt><dd><tt>Add&nbsp;point&nbsp;complexes&nbsp;between&nbsp;the&nbsp;endpoints&nbsp;of&nbsp;a&nbsp;segment.</tt></dd></dl>
<dl><dt><a name="-getCentersFromCircleNodes"><strong>getCentersFromCircleNodes</strong></a>(circleNodesComplex)</dt><dd><tt>Get&nbsp;the&nbsp;complex&nbsp;centers&nbsp;of&nbsp;the&nbsp;circle&nbsp;intersection&nbsp;loops&nbsp;from&nbsp;circle&nbsp;nodes.</tt></dd></dl>
<dl><dt><a name="-getCentersFromIntersectionLoop"><strong>getCentersFromIntersectionLoop</strong></a>(circleIntersectionLoopComplex)</dt><dd><tt>Get&nbsp;the&nbsp;centers&nbsp;from&nbsp;the&nbsp;intersection&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="-getCentersFromIntersectionLoops"><strong>getCentersFromIntersectionLoops</strong></a>(circleIntersectionLoopComplexes)</dt><dd><tt>Get&nbsp;the&nbsp;centers&nbsp;from&nbsp;the&nbsp;intersection&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-getCentersFromLoopDirection"><strong>getCentersFromLoopDirection</strong></a>(isWiddershins, loop, radius)</dt><dd><tt>Get&nbsp;the&nbsp;centers&nbsp;of&nbsp;the&nbsp;circle&nbsp;intersection&nbsp;loops&nbsp;which&nbsp;go&nbsp;around&nbsp;in&nbsp;the&nbsp;given&nbsp;direction.</tt></dd></dl>
<dl><dt><a name="-getCircleIntersectionLoops"><strong>getCircleIntersectionLoops</strong></a>(circleIntersections)</dt><dd><tt>Get&nbsp;all&nbsp;the&nbsp;loops&nbsp;going&nbsp;through&nbsp;the&nbsp;circle&nbsp;intersections.</tt></dd></dl>
<dl><dt><a name="-getCircleIntersectionsFromCircleNodes"><strong>getCircleIntersectionsFromCircleNodes</strong></a>(circleNodesComplex)</dt><dd><tt>Get&nbsp;all&nbsp;the&nbsp;circle&nbsp;intersections&nbsp;which&nbsp;exist&nbsp;between&nbsp;all&nbsp;the&nbsp;circle&nbsp;nodes.</tt></dd></dl>
<dl><dt><a name="-getCircleNodesFromLoop"><strong>getCircleNodesFromLoop</strong></a>(loop, radius)</dt><dd><tt>Get&nbsp;the&nbsp;circle&nbsp;nodes&nbsp;from&nbsp;every&nbsp;point&nbsp;on&nbsp;a&nbsp;loop&nbsp;and&nbsp;between&nbsp;points.</tt></dd></dl>
<dl><dt><a name="-getCircleNodesFromPoints"><strong>getCircleNodesFromPoints</strong></a>(pointComplexes, radius)</dt><dd><tt>Get&nbsp;the&nbsp;circle&nbsp;nodes&nbsp;from&nbsp;a&nbsp;path.</tt></dd></dl>
<dl><dt><a name="-getInsetFromClockwiseLoop"><strong>getInsetFromClockwiseLoop</strong></a>(loop, radius)</dt><dd><tt>Get&nbsp;loop&nbsp;inset&nbsp;from&nbsp;clockwise&nbsp;loop,&nbsp;out&nbsp;from&nbsp;widdershins&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="-getInsetFromClockwiseTriple"><strong>getInsetFromClockwiseTriple</strong></a>(aheadAbsoluteComplex, behindAbsoluteComplex, centerComplex, radius)</dt><dd><tt>Get&nbsp;loop&nbsp;inset&nbsp;from&nbsp;clockwise&nbsp;triple,&nbsp;out&nbsp;from&nbsp;widdershins&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="-getInsetLoops"><strong>getInsetLoops</strong></a>(inset, loops)</dt><dd><tt>Get&nbsp;the&nbsp;inset&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-getIntersectionAtInset"><strong>getIntersectionAtInset</strong></a>(aheadComplex, behindComplex, inset)</dt><dd><tt>Get&nbsp;circle&nbsp;intersection&nbsp;loop&nbsp;at&nbsp;inset&nbsp;from&nbsp;segment.</tt></dd></dl>
<dl><dt><a name="-getLoopsFromLoopsDirection"><strong>getLoopsFromLoopsDirection</strong></a>(isWiddershins, loops)</dt><dd><tt>Get&nbsp;the&nbsp;loops&nbsp;going&nbsp;round&nbsp;in&nbsp;a&nbsp;given&nbsp;direction.</tt></dd></dl>
<dl><dt><a name="-getSimplifiedInsetFromClockwiseLoop"><strong>getSimplifiedInsetFromClockwiseLoop</strong></a>(loop, radius)</dt><dd><tt>Get&nbsp;loop&nbsp;inset&nbsp;from&nbsp;clockwise&nbsp;loop,&nbsp;out&nbsp;from&nbsp;widdershins&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="-getWithoutIntersections"><strong>getWithoutIntersections</strong></a>(loop)</dt><dd><tt>Get&nbsp;loop&nbsp;without&nbsp;intersections.</tt></dd></dl>
<dl><dt><a name="-isLoopIntersectingLoop"><strong>isLoopIntersectingLoop</strong></a>(anotherLoop, loop)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;a&nbsp;loop&nbsp;is&nbsp;intersecting&nbsp;another&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="-removeIntersection"><strong>removeIntersection</strong></a>(loop)</dt><dd><tt>Get&nbsp;loop&nbsp;without&nbsp;the&nbsp;first&nbsp;intersection.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,68 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.skeinforge_utilities.interpret</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.skeinforge_utilities.html"><font color="#ffffff">skeinforge_utilities</font></a>.interpret</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/skeinforge_utilities/interpret.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/skeinforge_utilities/interpret.py</a></font></td></tr></table>
<p><tt>Interpret&nbsp;is&nbsp;a&nbsp;collection&nbsp;of&nbsp;utilities&nbsp;to&nbsp;list&nbsp;the&nbsp;import&nbsp;plugins.<br>
&nbsp;<br>
An&nbsp;import&nbsp;plugin&nbsp;is&nbsp;a&nbsp;script&nbsp;in&nbsp;the&nbsp;import_plugins&nbsp;folder&nbsp;which&nbsp;has&nbsp;the&nbsp;function&nbsp;getTriangleMesh.<br>
&nbsp;<br>
The&nbsp;following&nbsp;examples&nbsp;shows&nbsp;functions&nbsp;of&nbsp;interpret.&nbsp;&nbsp;The&nbsp;examples&nbsp;are&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the&nbsp;folder&nbsp;which&nbsp;contains&nbsp;interpret.py.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;interpret<br>
&gt;&gt;&gt;&nbsp;interpret.<a href="#-getGNUTranslatorGcodeFileTypeTuples">getGNUTranslatorGcodeFileTypeTuples</a>()<br>
[('GTS&nbsp;files',&nbsp;'*.gts'),&nbsp;('Gcode&nbsp;text&nbsp;files',&nbsp;'*.gcode'),&nbsp;('STL&nbsp;files',&nbsp;'*.stl'),&nbsp;('SVG&nbsp;files',&nbsp;'*.svg')]<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;interpret.<a href="#-getImportPluginFilenames">getImportPluginFilenames</a>()<br>
['gts',&nbsp;'stl',&nbsp;'svg']</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
</td><td width="25%" valign=top><a href="os.html">os</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getGNUTranslatorFilesUnmodified"><strong>getGNUTranslatorFilesUnmodified</strong></a>()</dt><dd><tt>Get&nbsp;the&nbsp;file&nbsp;types&nbsp;from&nbsp;the&nbsp;translators&nbsp;in&nbsp;the&nbsp;import&nbsp;plugins&nbsp;folder.</tt></dd></dl>
<dl><dt><a name="-getGNUTranslatorGcodeFileTypeTuples"><strong>getGNUTranslatorGcodeFileTypeTuples</strong></a>()</dt><dd><tt>Get&nbsp;the&nbsp;file&nbsp;type&nbsp;tuples&nbsp;from&nbsp;the&nbsp;translators&nbsp;in&nbsp;the&nbsp;import&nbsp;plugins&nbsp;folder&nbsp;plus&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="-getImportPluginFilenames"><strong>getImportPluginFilenames</strong></a>()</dt><dd><tt>Get&nbsp;analyze&nbsp;plugin&nbsp;fileNames.</tt></dd></dl>
<dl><dt><a name="-getTranslatorFileTypeTuples"><strong>getTranslatorFileTypeTuples</strong></a>()</dt><dd><tt>Get&nbsp;the&nbsp;file&nbsp;types&nbsp;from&nbsp;the&nbsp;translators&nbsp;in&nbsp;the&nbsp;import&nbsp;plugins&nbsp;folder.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,633 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.skeinforge_utilities.preferences</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.skeinforge_utilities.html"><font color="#ffffff">skeinforge_utilities</font></a>.preferences</strong></big></big> ($Date: 2008/23/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/skeinforge_utilities/preferences.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/skeinforge_utilities/preferences.py</a></font></td></tr></table>
<p><tt>Preferences&nbsp;is&nbsp;a&nbsp;collection&nbsp;of&nbsp;utilities&nbsp;to&nbsp;display,&nbsp;read&nbsp;&amp;&nbsp;write&nbsp;preferences.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="Tkinter.html">Tkinter</a><br>
<a href="__init__.html">__init__</a><br>
</td><td width="25%" valign=top><a href="cStringIO.html">cStringIO</a><br>
<a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
</td><td width="25%" valign=top><a href="os.html">os</a><br>
<a href="webbrowser.html">webbrowser</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.preferences.html#AddListboxSelection">AddListboxSelection</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.preferences.html#DeleteListboxSelection">DeleteListboxSelection</a>
</font></dt></dl>
</dd>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.preferences.html#DisplayToolButton">DisplayToolButton</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.preferences.html#DisplayToolButtonBesidePrevious">DisplayToolButtonBesidePrevious</a>
</font></dt></dl>
</dd>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.preferences.html#LabelDisplay">LabelDisplay</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.preferences.html#PreferencesDialog">PreferencesDialog</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.preferences.html#StringPreference">StringPreference</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.preferences.html#BooleanPreference">BooleanPreference</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.preferences.html#Radio">Radio</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.preferences.html#RadioCapitalized">RadioCapitalized</a>
</font></dt></dl>
</dd>
</dl>
</dd>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.preferences.html#Filename">Filename</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.preferences.html#FloatPreference">FloatPreference</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.preferences.html#IntPreference">IntPreference</a>
</font></dt></dl>
</dd>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.preferences.html#ListPreference">ListPreference</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.preferences.html#ListboxPreference">ListboxPreference</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.preferences.html#WindowPosition">WindowPosition</a>
</font></dt></dl>
</dd>
</dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="AddListboxSelection">class <strong>AddListboxSelection</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;add&nbsp;the&nbsp;selection&nbsp;of&nbsp;a&nbsp;listbox&nbsp;preference.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="AddListboxSelection-addSelection"><strong>addSelection</strong></a>(self)</dt><dd><tt>Add&nbsp;the&nbsp;selection&nbsp;of&nbsp;a&nbsp;listbox&nbsp;preference.</tt></dd></dl>
<dl><dt><a name="AddListboxSelection-addSelectionWithEvent"><strong>addSelectionWithEvent</strong></a>(self, event)</dt><dd><tt>Add&nbsp;the&nbsp;selection&nbsp;of&nbsp;a&nbsp;listbox&nbsp;preference,&nbsp;given&nbsp;an&nbsp;event.</tt></dd></dl>
<dl><dt><a name="AddListboxSelection-addToDialog"><strong>addToDialog</strong></a>(self, preferencesDialog)</dt><dd><tt>Add&nbsp;this&nbsp;to&nbsp;the&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="AddListboxSelection-addToPreferenceTable"><strong>addToPreferenceTable</strong></a>(self, preferenceTable)</dt><dd><tt>Do&nbsp;nothing&nbsp;because&nbsp;the&nbsp;add&nbsp;listbox&nbsp;selection&nbsp;is&nbsp;not&nbsp;archivable.</tt></dd></dl>
<dl><dt><a name="AddListboxSelection-getFromListboxPreference"><strong>getFromListboxPreference</strong></a>(self, listboxPreference)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="AddListboxSelection-setToDisplay"><strong>setToDisplay</strong></a>(self)</dt><dd><tt>Do&nbsp;nothing&nbsp;because&nbsp;the&nbsp;add&nbsp;listbox&nbsp;selection&nbsp;is&nbsp;not&nbsp;archivable.</tt></dd></dl>
<dl><dt><a name="AddListboxSelection-writeToArchiveWriter"><strong>writeToArchiveWriter</strong></a>(self, archiveWriter)</dt><dd><tt>Do&nbsp;nothing&nbsp;because&nbsp;the&nbsp;add&nbsp;listbox&nbsp;selection&nbsp;is&nbsp;not&nbsp;archivable.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="BooleanPreference">class <strong>BooleanPreference</strong></a>(<a href="skeinforge_tools.skeinforge_utilities.preferences.html#StringPreference">StringPreference</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;display,&nbsp;read&nbsp;&amp;&nbsp;write&nbsp;a&nbsp;boolean.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="BooleanPreference-addToDialog"><strong>addToDialog</strong></a>(self, preferencesDialog)</dt><dd><tt>Add&nbsp;this&nbsp;to&nbsp;the&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="BooleanPreference-setStateToValue"><strong>setStateToValue</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;checkbox&nbsp;to&nbsp;the&nbsp;boolean.</tt></dd></dl>
<dl><dt><a name="BooleanPreference-setToDisplay"><strong>setToDisplay</strong></a>(self)</dt><dd><tt>Do&nbsp;nothing&nbsp;because&nbsp;toggleCheckbox&nbsp;is&nbsp;handling&nbsp;the&nbsp;value.</tt></dd></dl>
<dl><dt><a name="BooleanPreference-setValueToString"><strong>setValueToString</strong></a>(self, valueString)</dt><dd><tt>Set&nbsp;the&nbsp;boolean&nbsp;to&nbsp;the&nbsp;string.</tt></dd></dl>
<dl><dt><a name="BooleanPreference-toggleCheckbox"><strong>toggleCheckbox</strong></a>(self)</dt><dd><tt>Workaround&nbsp;for&nbsp;Tkinter&nbsp;bug,&nbsp;toggle&nbsp;the&nbsp;value.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.skeinforge_utilities.preferences.html#StringPreference">StringPreference</a>:<br>
<dl><dt><a name="BooleanPreference-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;update&nbsp;function&nbsp;to&nbsp;none.</tt></dd></dl>
<dl><dt><a name="BooleanPreference-addToPreferenceTable"><strong>addToPreferenceTable</strong></a>(self, preferenceTable)</dt><dd><tt>Add&nbsp;this&nbsp;to&nbsp;the&nbsp;preference&nbsp;table.</tt></dd></dl>
<dl><dt><a name="BooleanPreference-getFromValue"><strong>getFromValue</strong></a>(self, name, value)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="BooleanPreference-setUpdateFunction"><strong>setUpdateFunction</strong></a>(self, updateFunction)</dt><dd><tt>Set&nbsp;the&nbsp;update&nbsp;function.</tt></dd></dl>
<dl><dt><a name="BooleanPreference-setValueToSplitLine"><strong>setValueToSplitLine</strong></a>(self, lineIndex, lines, splitLine)</dt><dd><tt>Set&nbsp;the&nbsp;value&nbsp;to&nbsp;the&nbsp;second&nbsp;word&nbsp;of&nbsp;a&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="BooleanPreference-writeToArchiveWriter"><strong>writeToArchiveWriter</strong></a>(self, archiveWriter)</dt><dd><tt>Write&nbsp;tab&nbsp;separated&nbsp;name&nbsp;and&nbsp;value&nbsp;to&nbsp;the&nbsp;archive&nbsp;writer.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="DeleteListboxSelection">class <strong>DeleteListboxSelection</strong></a>(<a href="skeinforge_tools.skeinforge_utilities.preferences.html#AddListboxSelection">AddListboxSelection</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;delete&nbsp;the&nbsp;selection&nbsp;of&nbsp;a&nbsp;listbox&nbsp;preference.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="DeleteListboxSelection-addToDialog"><strong>addToDialog</strong></a>(self, preferencesDialog)</dt><dd><tt>Add&nbsp;this&nbsp;to&nbsp;the&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="DeleteListboxSelection-deleteSelection"><strong>deleteSelection</strong></a>(self)</dt><dd><tt>Delete&nbsp;the&nbsp;selection&nbsp;of&nbsp;a&nbsp;listbox&nbsp;preference.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.skeinforge_utilities.preferences.html#AddListboxSelection">AddListboxSelection</a>:<br>
<dl><dt><a name="DeleteListboxSelection-addSelection"><strong>addSelection</strong></a>(self)</dt><dd><tt>Add&nbsp;the&nbsp;selection&nbsp;of&nbsp;a&nbsp;listbox&nbsp;preference.</tt></dd></dl>
<dl><dt><a name="DeleteListboxSelection-addSelectionWithEvent"><strong>addSelectionWithEvent</strong></a>(self, event)</dt><dd><tt>Add&nbsp;the&nbsp;selection&nbsp;of&nbsp;a&nbsp;listbox&nbsp;preference,&nbsp;given&nbsp;an&nbsp;event.</tt></dd></dl>
<dl><dt><a name="DeleteListboxSelection-addToPreferenceTable"><strong>addToPreferenceTable</strong></a>(self, preferenceTable)</dt><dd><tt>Do&nbsp;nothing&nbsp;because&nbsp;the&nbsp;add&nbsp;listbox&nbsp;selection&nbsp;is&nbsp;not&nbsp;archivable.</tt></dd></dl>
<dl><dt><a name="DeleteListboxSelection-getFromListboxPreference"><strong>getFromListboxPreference</strong></a>(self, listboxPreference)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="DeleteListboxSelection-setToDisplay"><strong>setToDisplay</strong></a>(self)</dt><dd><tt>Do&nbsp;nothing&nbsp;because&nbsp;the&nbsp;add&nbsp;listbox&nbsp;selection&nbsp;is&nbsp;not&nbsp;archivable.</tt></dd></dl>
<dl><dt><a name="DeleteListboxSelection-writeToArchiveWriter"><strong>writeToArchiveWriter</strong></a>(self, archiveWriter)</dt><dd><tt>Do&nbsp;nothing&nbsp;because&nbsp;the&nbsp;add&nbsp;listbox&nbsp;selection&nbsp;is&nbsp;not&nbsp;archivable.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="DisplayToolButton">class <strong>DisplayToolButton</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;display&nbsp;the&nbsp;tool&nbsp;preferences&nbsp;dialog.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="DisplayToolButton-addToDialog"><strong>addToDialog</strong></a>(self, preferencesDialog)</dt><dd><tt>Add&nbsp;this&nbsp;to&nbsp;the&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="DisplayToolButton-addToPreferenceTable"><strong>addToPreferenceTable</strong></a>(self, preferenceTable)</dt><dd><tt>Do&nbsp;nothing&nbsp;because&nbsp;the&nbsp;add&nbsp;listbox&nbsp;selection&nbsp;is&nbsp;not&nbsp;archivable.</tt></dd></dl>
<dl><dt><a name="DisplayToolButton-displayTool"><strong>displayTool</strong></a>(self)</dt><dd><tt>Display&nbsp;the&nbsp;tool&nbsp;preferences&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="DisplayToolButton-getFromFolderName"><strong>getFromFolderName</strong></a>(self, folderName, moduleFilename, name)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="DisplayToolButton-getLowerName"><strong>getLowerName</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;lower&nbsp;case&nbsp;name.</tt></dd></dl>
<dl><dt><a name="DisplayToolButton-setToDisplay"><strong>setToDisplay</strong></a>(self)</dt><dd><tt>Do&nbsp;nothing&nbsp;because&nbsp;the&nbsp;display&nbsp;tool&nbsp;button&nbsp;is&nbsp;not&nbsp;archivable.</tt></dd></dl>
<dl><dt><a name="DisplayToolButton-writeToArchiveWriter"><strong>writeToArchiveWriter</strong></a>(self, archiveWriter)</dt><dd><tt>Do&nbsp;nothing&nbsp;because&nbsp;the&nbsp;display&nbsp;tool&nbsp;button&nbsp;is&nbsp;not&nbsp;archivable.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="DisplayToolButtonBesidePrevious">class <strong>DisplayToolButtonBesidePrevious</strong></a>(<a href="skeinforge_tools.skeinforge_utilities.preferences.html#DisplayToolButton">DisplayToolButton</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;display&nbsp;the&nbsp;tool&nbsp;preferences&nbsp;dialog&nbsp;beside&nbsp;the&nbsp;previous&nbsp;preference&nbsp;dialog&nbsp;element.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="DisplayToolButtonBesidePrevious-addToDialog"><strong>addToDialog</strong></a>(self, preferencesDialog)</dt><dd><tt>Add&nbsp;this&nbsp;to&nbsp;the&nbsp;dialog.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.skeinforge_utilities.preferences.html#DisplayToolButton">DisplayToolButton</a>:<br>
<dl><dt><a name="DisplayToolButtonBesidePrevious-addToPreferenceTable"><strong>addToPreferenceTable</strong></a>(self, preferenceTable)</dt><dd><tt>Do&nbsp;nothing&nbsp;because&nbsp;the&nbsp;add&nbsp;listbox&nbsp;selection&nbsp;is&nbsp;not&nbsp;archivable.</tt></dd></dl>
<dl><dt><a name="DisplayToolButtonBesidePrevious-displayTool"><strong>displayTool</strong></a>(self)</dt><dd><tt>Display&nbsp;the&nbsp;tool&nbsp;preferences&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="DisplayToolButtonBesidePrevious-getFromFolderName"><strong>getFromFolderName</strong></a>(self, folderName, moduleFilename, name)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="DisplayToolButtonBesidePrevious-getLowerName"><strong>getLowerName</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;lower&nbsp;case&nbsp;name.</tt></dd></dl>
<dl><dt><a name="DisplayToolButtonBesidePrevious-setToDisplay"><strong>setToDisplay</strong></a>(self)</dt><dd><tt>Do&nbsp;nothing&nbsp;because&nbsp;the&nbsp;display&nbsp;tool&nbsp;button&nbsp;is&nbsp;not&nbsp;archivable.</tt></dd></dl>
<dl><dt><a name="DisplayToolButtonBesidePrevious-writeToArchiveWriter"><strong>writeToArchiveWriter</strong></a>(self, archiveWriter)</dt><dd><tt>Do&nbsp;nothing&nbsp;because&nbsp;the&nbsp;display&nbsp;tool&nbsp;button&nbsp;is&nbsp;not&nbsp;archivable.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="Filename">class <strong>Filename</strong></a>(<a href="skeinforge_tools.skeinforge_utilities.preferences.html#StringPreference">StringPreference</a>)</font></td></tr>
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Filename-addToDialog"><strong>addToDialog</strong></a>(self, preferencesDialog)</dt><dd><tt>Add&nbsp;this&nbsp;to&nbsp;the&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="Filename-execute"><strong>execute</strong></a>(self)</dt></dl>
<dl><dt><a name="Filename-getFilenameFirstTypes"><strong>getFilenameFirstTypes</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;file&nbsp;types&nbsp;with&nbsp;the&nbsp;file&nbsp;type&nbsp;of&nbsp;the&nbsp;fileName&nbsp;moved&nbsp;to&nbsp;the&nbsp;front&nbsp;of&nbsp;the&nbsp;list.</tt></dd></dl>
<dl><dt><a name="Filename-getFromFilename"><strong>getFromFilename</strong></a>(self, fileTypes, name, value)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="Filename-setToDisplay"><strong>setToDisplay</strong></a>(self)</dt><dd><tt>Do&nbsp;nothing&nbsp;because&nbsp;the&nbsp;file&nbsp;dialog&nbsp;is&nbsp;handling&nbsp;the&nbsp;value.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.skeinforge_utilities.preferences.html#StringPreference">StringPreference</a>:<br>
<dl><dt><a name="Filename-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;update&nbsp;function&nbsp;to&nbsp;none.</tt></dd></dl>
<dl><dt><a name="Filename-addToPreferenceTable"><strong>addToPreferenceTable</strong></a>(self, preferenceTable)</dt><dd><tt>Add&nbsp;this&nbsp;to&nbsp;the&nbsp;preference&nbsp;table.</tt></dd></dl>
<dl><dt><a name="Filename-getFromValue"><strong>getFromValue</strong></a>(self, name, value)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="Filename-setStateToValue"><strong>setStateToValue</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;entry&nbsp;to&nbsp;the&nbsp;value.</tt></dd></dl>
<dl><dt><a name="Filename-setUpdateFunction"><strong>setUpdateFunction</strong></a>(self, updateFunction)</dt><dd><tt>Set&nbsp;the&nbsp;update&nbsp;function.</tt></dd></dl>
<dl><dt><a name="Filename-setValueToSplitLine"><strong>setValueToSplitLine</strong></a>(self, lineIndex, lines, splitLine)</dt><dd><tt>Set&nbsp;the&nbsp;value&nbsp;to&nbsp;the&nbsp;second&nbsp;word&nbsp;of&nbsp;a&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="Filename-setValueToString"><strong>setValueToString</strong></a>(self, valueString)</dt><dd><tt>Set&nbsp;the&nbsp;string&nbsp;to&nbsp;the&nbsp;value&nbsp;string.</tt></dd></dl>
<dl><dt><a name="Filename-writeToArchiveWriter"><strong>writeToArchiveWriter</strong></a>(self, archiveWriter)</dt><dd><tt>Write&nbsp;tab&nbsp;separated&nbsp;name&nbsp;and&nbsp;value&nbsp;to&nbsp;the&nbsp;archive&nbsp;writer.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="FloatPreference">class <strong>FloatPreference</strong></a>(<a href="skeinforge_tools.skeinforge_utilities.preferences.html#StringPreference">StringPreference</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;display,&nbsp;read&nbsp;&amp;&nbsp;write&nbsp;a&nbsp;float.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="FloatPreference-addToDialog"><strong>addToDialog</strong></a>(self, preferencesDialog)</dt><dd><tt>Add&nbsp;this&nbsp;to&nbsp;the&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="FloatPreference-setUpdateFunction"><strong>setUpdateFunction</strong></a>(self, updateFunction)</dt><dd><tt>Set&nbsp;the&nbsp;update&nbsp;function.</tt></dd></dl>
<dl><dt><a name="FloatPreference-setValueToString"><strong>setValueToString</strong></a>(self, valueString)</dt><dd><tt>Set&nbsp;the&nbsp;float&nbsp;to&nbsp;the&nbsp;string.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.skeinforge_utilities.preferences.html#StringPreference">StringPreference</a>:<br>
<dl><dt><a name="FloatPreference-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;update&nbsp;function&nbsp;to&nbsp;none.</tt></dd></dl>
<dl><dt><a name="FloatPreference-addToPreferenceTable"><strong>addToPreferenceTable</strong></a>(self, preferenceTable)</dt><dd><tt>Add&nbsp;this&nbsp;to&nbsp;the&nbsp;preference&nbsp;table.</tt></dd></dl>
<dl><dt><a name="FloatPreference-getFromValue"><strong>getFromValue</strong></a>(self, name, value)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="FloatPreference-setStateToValue"><strong>setStateToValue</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;entry&nbsp;to&nbsp;the&nbsp;value.</tt></dd></dl>
<dl><dt><a name="FloatPreference-setToDisplay"><strong>setToDisplay</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;string&nbsp;to&nbsp;the&nbsp;entry&nbsp;field.</tt></dd></dl>
<dl><dt><a name="FloatPreference-setValueToSplitLine"><strong>setValueToSplitLine</strong></a>(self, lineIndex, lines, splitLine)</dt><dd><tt>Set&nbsp;the&nbsp;value&nbsp;to&nbsp;the&nbsp;second&nbsp;word&nbsp;of&nbsp;a&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="FloatPreference-writeToArchiveWriter"><strong>writeToArchiveWriter</strong></a>(self, archiveWriter)</dt><dd><tt>Write&nbsp;tab&nbsp;separated&nbsp;name&nbsp;and&nbsp;value&nbsp;to&nbsp;the&nbsp;archive&nbsp;writer.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="IntPreference">class <strong>IntPreference</strong></a>(<a href="skeinforge_tools.skeinforge_utilities.preferences.html#FloatPreference">FloatPreference</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;display,&nbsp;read&nbsp;&amp;&nbsp;write&nbsp;an&nbsp;int.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="skeinforge_tools.skeinforge_utilities.preferences.html#IntPreference">IntPreference</a></dd>
<dd><a href="skeinforge_tools.skeinforge_utilities.preferences.html#FloatPreference">FloatPreference</a></dd>
<dd><a href="skeinforge_tools.skeinforge_utilities.preferences.html#StringPreference">StringPreference</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="IntPreference-setValueToString"><strong>setValueToString</strong></a>(self, valueString)</dt><dd><tt>Set&nbsp;the&nbsp;integer&nbsp;to&nbsp;the&nbsp;string.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.skeinforge_utilities.preferences.html#FloatPreference">FloatPreference</a>:<br>
<dl><dt><a name="IntPreference-addToDialog"><strong>addToDialog</strong></a>(self, preferencesDialog)</dt><dd><tt>Add&nbsp;this&nbsp;to&nbsp;the&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="IntPreference-setUpdateFunction"><strong>setUpdateFunction</strong></a>(self, updateFunction)</dt><dd><tt>Set&nbsp;the&nbsp;update&nbsp;function.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.skeinforge_utilities.preferences.html#StringPreference">StringPreference</a>:<br>
<dl><dt><a name="IntPreference-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;update&nbsp;function&nbsp;to&nbsp;none.</tt></dd></dl>
<dl><dt><a name="IntPreference-addToPreferenceTable"><strong>addToPreferenceTable</strong></a>(self, preferenceTable)</dt><dd><tt>Add&nbsp;this&nbsp;to&nbsp;the&nbsp;preference&nbsp;table.</tt></dd></dl>
<dl><dt><a name="IntPreference-getFromValue"><strong>getFromValue</strong></a>(self, name, value)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="IntPreference-setStateToValue"><strong>setStateToValue</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;entry&nbsp;to&nbsp;the&nbsp;value.</tt></dd></dl>
<dl><dt><a name="IntPreference-setToDisplay"><strong>setToDisplay</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;string&nbsp;to&nbsp;the&nbsp;entry&nbsp;field.</tt></dd></dl>
<dl><dt><a name="IntPreference-setValueToSplitLine"><strong>setValueToSplitLine</strong></a>(self, lineIndex, lines, splitLine)</dt><dd><tt>Set&nbsp;the&nbsp;value&nbsp;to&nbsp;the&nbsp;second&nbsp;word&nbsp;of&nbsp;a&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="IntPreference-writeToArchiveWriter"><strong>writeToArchiveWriter</strong></a>(self, archiveWriter)</dt><dd><tt>Write&nbsp;tab&nbsp;separated&nbsp;name&nbsp;and&nbsp;value&nbsp;to&nbsp;the&nbsp;archive&nbsp;writer.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="LabelDisplay">class <strong>LabelDisplay</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;add&nbsp;a&nbsp;label.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="LabelDisplay-addToDialog"><strong>addToDialog</strong></a>(self, preferencesDialog)</dt><dd><tt>Add&nbsp;this&nbsp;to&nbsp;the&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="LabelDisplay-addToPreferenceTable"><strong>addToPreferenceTable</strong></a>(self, preferenceTable)</dt><dd><tt>Do&nbsp;nothing&nbsp;because&nbsp;the&nbsp;label&nbsp;display&nbsp;is&nbsp;not&nbsp;archivable.</tt></dd></dl>
<dl><dt><a name="LabelDisplay-getFromName"><strong>getFromName</strong></a>(self, name)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="LabelDisplay-getName"><strong>getName</strong></a>(self)</dt><dd><tt>Get&nbsp;name&nbsp;for&nbsp;key&nbsp;sorting.</tt></dd></dl>
<dl><dt><a name="LabelDisplay-setToDisplay"><strong>setToDisplay</strong></a>(self)</dt><dd><tt>Do&nbsp;nothing&nbsp;because&nbsp;the&nbsp;label&nbsp;display&nbsp;is&nbsp;not&nbsp;archivable.</tt></dd></dl>
<dl><dt><a name="LabelDisplay-writeToArchiveWriter"><strong>writeToArchiveWriter</strong></a>(self, archiveWriter)</dt><dd><tt>Do&nbsp;nothing&nbsp;because&nbsp;the&nbsp;label&nbsp;display&nbsp;is&nbsp;not&nbsp;archivable.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="ListPreference">class <strong>ListPreference</strong></a>(<a href="skeinforge_tools.skeinforge_utilities.preferences.html#StringPreference">StringPreference</a>)</font></td></tr>
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="ListPreference-addToDialog"><strong>addToDialog</strong></a>(self, preferencesDialog)</dt><dd><tt>Do&nbsp;nothing&nbsp;because&nbsp;the&nbsp;list&nbsp;preference&nbsp;does&nbsp;not&nbsp;have&nbsp;a&nbsp;graphical&nbsp;interface.</tt></dd></dl>
<dl><dt><a name="ListPreference-setToDisplay"><strong>setToDisplay</strong></a>(self)</dt><dd><tt>Do&nbsp;nothing&nbsp;because&nbsp;the&nbsp;list&nbsp;preference&nbsp;does&nbsp;not&nbsp;have&nbsp;a&nbsp;graphical&nbsp;interface.</tt></dd></dl>
<dl><dt><a name="ListPreference-setValueToSplitLine"><strong>setValueToSplitLine</strong></a>(self, lineIndex, lines, splitLine)</dt><dd><tt>Set&nbsp;the&nbsp;value&nbsp;to&nbsp;the&nbsp;second&nbsp;and&nbsp;later&nbsp;words&nbsp;of&nbsp;a&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="ListPreference-setValueToString"><strong>setValueToString</strong></a>(self, valueString)</dt><dd><tt>Do&nbsp;nothing&nbsp;because&nbsp;the&nbsp;list&nbsp;preference&nbsp;does&nbsp;not&nbsp;have&nbsp;a&nbsp;graphical&nbsp;interface.</tt></dd></dl>
<dl><dt><a name="ListPreference-writeToArchiveWriter"><strong>writeToArchiveWriter</strong></a>(self, archiveWriter)</dt><dd><tt>Write&nbsp;tab&nbsp;separated&nbsp;name&nbsp;and&nbsp;list&nbsp;to&nbsp;the&nbsp;archive&nbsp;writer.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.skeinforge_utilities.preferences.html#StringPreference">StringPreference</a>:<br>
<dl><dt><a name="ListPreference-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;update&nbsp;function&nbsp;to&nbsp;none.</tt></dd></dl>
<dl><dt><a name="ListPreference-addToPreferenceTable"><strong>addToPreferenceTable</strong></a>(self, preferenceTable)</dt><dd><tt>Add&nbsp;this&nbsp;to&nbsp;the&nbsp;preference&nbsp;table.</tt></dd></dl>
<dl><dt><a name="ListPreference-getFromValue"><strong>getFromValue</strong></a>(self, name, value)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="ListPreference-setStateToValue"><strong>setStateToValue</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;entry&nbsp;to&nbsp;the&nbsp;value.</tt></dd></dl>
<dl><dt><a name="ListPreference-setUpdateFunction"><strong>setUpdateFunction</strong></a>(self, updateFunction)</dt><dd><tt>Set&nbsp;the&nbsp;update&nbsp;function.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="ListboxPreference">class <strong>ListboxPreference</strong></a>(<a href="skeinforge_tools.skeinforge_utilities.preferences.html#StringPreference">StringPreference</a>)</font></td></tr>
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="ListboxPreference-addToDialog"><strong>addToDialog</strong></a>(self, preferencesDialog)</dt><dd><tt>Add&nbsp;this&nbsp;to&nbsp;the&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="ListboxPreference-getFromListPreference"><strong>getFromListPreference</strong></a>(self, listPreference, name, value)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="ListboxPreference-setListboxItems"><strong>setListboxItems</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;listbox&nbsp;items&nbsp;to&nbsp;the&nbsp;list&nbsp;preference.</tt></dd></dl>
<dl><dt><a name="ListboxPreference-setToDisplay"><strong>setToDisplay</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;selection&nbsp;value&nbsp;to&nbsp;the&nbsp;listbox&nbsp;selection.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.skeinforge_utilities.preferences.html#StringPreference">StringPreference</a>:<br>
<dl><dt><a name="ListboxPreference-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;update&nbsp;function&nbsp;to&nbsp;none.</tt></dd></dl>
<dl><dt><a name="ListboxPreference-addToPreferenceTable"><strong>addToPreferenceTable</strong></a>(self, preferenceTable)</dt><dd><tt>Add&nbsp;this&nbsp;to&nbsp;the&nbsp;preference&nbsp;table.</tt></dd></dl>
<dl><dt><a name="ListboxPreference-getFromValue"><strong>getFromValue</strong></a>(self, name, value)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="ListboxPreference-setStateToValue"><strong>setStateToValue</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;entry&nbsp;to&nbsp;the&nbsp;value.</tt></dd></dl>
<dl><dt><a name="ListboxPreference-setUpdateFunction"><strong>setUpdateFunction</strong></a>(self, updateFunction)</dt><dd><tt>Set&nbsp;the&nbsp;update&nbsp;function.</tt></dd></dl>
<dl><dt><a name="ListboxPreference-setValueToSplitLine"><strong>setValueToSplitLine</strong></a>(self, lineIndex, lines, splitLine)</dt><dd><tt>Set&nbsp;the&nbsp;value&nbsp;to&nbsp;the&nbsp;second&nbsp;word&nbsp;of&nbsp;a&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="ListboxPreference-setValueToString"><strong>setValueToString</strong></a>(self, valueString)</dt><dd><tt>Set&nbsp;the&nbsp;string&nbsp;to&nbsp;the&nbsp;value&nbsp;string.</tt></dd></dl>
<dl><dt><a name="ListboxPreference-writeToArchiveWriter"><strong>writeToArchiveWriter</strong></a>(self, archiveWriter)</dt><dd><tt>Write&nbsp;tab&nbsp;separated&nbsp;name&nbsp;and&nbsp;value&nbsp;to&nbsp;the&nbsp;archive&nbsp;writer.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="PreferencesDialog">class <strong>PreferencesDialog</strong></a></font></td></tr>
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="PreferencesDialog-__init__"><strong>__init__</strong></a>(self, displayPreferences, master)</dt><dd><tt>Add&nbsp;display&nbsp;preferences&nbsp;to&nbsp;the&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="PreferencesDialog-execute"><strong>execute</strong></a>(self)</dt><dd><tt>The&nbsp;execute&nbsp;button&nbsp;was&nbsp;clicked.</tt></dd></dl>
<dl><dt><a name="PreferencesDialog-openBrowser"><strong>openBrowser</strong></a>(self)</dt><dd><tt>Open&nbsp;the&nbsp;browser&nbsp;to&nbsp;the&nbsp;help&nbsp;page.</tt></dd></dl>
<dl><dt><a name="PreferencesDialog-savePreferences"><strong>savePreferences</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;preferences&nbsp;to&nbsp;the&nbsp;dialog&nbsp;then&nbsp;write&nbsp;them.</tt></dd></dl>
<dl><dt><a name="PreferencesDialog-savePreferencesDestroy"><strong>savePreferencesDestroy</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;preferences&nbsp;to&nbsp;the&nbsp;dialog,&nbsp;write&nbsp;them,&nbsp;then&nbsp;destroy&nbsp;the&nbsp;window.</tt></dd></dl>
<dl><dt><a name="PreferencesDialog-setWindowPosition"><strong>setWindowPosition</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;window&nbsp;position&nbsp;if&nbsp;that&nbsp;preference&nbsp;exists.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="Radio">class <strong>Radio</strong></a>(<a href="skeinforge_tools.skeinforge_utilities.preferences.html#BooleanPreference">BooleanPreference</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;display,&nbsp;read&nbsp;&amp;&nbsp;write&nbsp;a&nbsp;boolean&nbsp;with&nbsp;associated&nbsp;radio&nbsp;button.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="skeinforge_tools.skeinforge_utilities.preferences.html#Radio">Radio</a></dd>
<dd><a href="skeinforge_tools.skeinforge_utilities.preferences.html#BooleanPreference">BooleanPreference</a></dd>
<dd><a href="skeinforge_tools.skeinforge_utilities.preferences.html#StringPreference">StringPreference</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="Radio-addToDialog"><strong>addToDialog</strong></a>(self, preferencesDialog)</dt><dd><tt>Add&nbsp;this&nbsp;to&nbsp;the&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="Radio-clickRadio"><strong>clickRadio</strong></a>(self)</dt><dd><tt>Workaround&nbsp;for&nbsp;Tkinter&nbsp;bug,&nbsp;set&nbsp;the&nbsp;value.</tt></dd></dl>
<dl><dt><a name="Radio-getFromRadio"><strong>getFromRadio</strong></a>(self, name, radio, value)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="Radio-getIntVar"><strong>getIntVar</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;IntVar&nbsp;for&nbsp;this&nbsp;radio&nbsp;button&nbsp;group.</tt></dd></dl>
<dl><dt><a name="Radio-setDisplayState"><strong>setDisplayState</strong></a>(self, row)</dt><dd><tt>Set&nbsp;the&nbsp;boolean&nbsp;to&nbsp;the&nbsp;checkbox.</tt></dd></dl>
<dl><dt><a name="Radio-setToDisplay"><strong>setToDisplay</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;boolean&nbsp;to&nbsp;the&nbsp;checkbox.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.skeinforge_utilities.preferences.html#BooleanPreference">BooleanPreference</a>:<br>
<dl><dt><a name="Radio-setStateToValue"><strong>setStateToValue</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;checkbox&nbsp;to&nbsp;the&nbsp;boolean.</tt></dd></dl>
<dl><dt><a name="Radio-setValueToString"><strong>setValueToString</strong></a>(self, valueString)</dt><dd><tt>Set&nbsp;the&nbsp;boolean&nbsp;to&nbsp;the&nbsp;string.</tt></dd></dl>
<dl><dt><a name="Radio-toggleCheckbox"><strong>toggleCheckbox</strong></a>(self)</dt><dd><tt>Workaround&nbsp;for&nbsp;Tkinter&nbsp;bug,&nbsp;toggle&nbsp;the&nbsp;value.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.skeinforge_utilities.preferences.html#StringPreference">StringPreference</a>:<br>
<dl><dt><a name="Radio-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;update&nbsp;function&nbsp;to&nbsp;none.</tt></dd></dl>
<dl><dt><a name="Radio-addToPreferenceTable"><strong>addToPreferenceTable</strong></a>(self, preferenceTable)</dt><dd><tt>Add&nbsp;this&nbsp;to&nbsp;the&nbsp;preference&nbsp;table.</tt></dd></dl>
<dl><dt><a name="Radio-getFromValue"><strong>getFromValue</strong></a>(self, name, value)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="Radio-setUpdateFunction"><strong>setUpdateFunction</strong></a>(self, updateFunction)</dt><dd><tt>Set&nbsp;the&nbsp;update&nbsp;function.</tt></dd></dl>
<dl><dt><a name="Radio-setValueToSplitLine"><strong>setValueToSplitLine</strong></a>(self, lineIndex, lines, splitLine)</dt><dd><tt>Set&nbsp;the&nbsp;value&nbsp;to&nbsp;the&nbsp;second&nbsp;word&nbsp;of&nbsp;a&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="Radio-writeToArchiveWriter"><strong>writeToArchiveWriter</strong></a>(self, archiveWriter)</dt><dd><tt>Write&nbsp;tab&nbsp;separated&nbsp;name&nbsp;and&nbsp;value&nbsp;to&nbsp;the&nbsp;archive&nbsp;writer.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="RadioCapitalized">class <strong>RadioCapitalized</strong></a>(<a href="skeinforge_tools.skeinforge_utilities.preferences.html#Radio">Radio</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;display,&nbsp;read&nbsp;&amp;&nbsp;write&nbsp;a&nbsp;boolean&nbsp;with&nbsp;associated&nbsp;radio&nbsp;button.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="skeinforge_tools.skeinforge_utilities.preferences.html#RadioCapitalized">RadioCapitalized</a></dd>
<dd><a href="skeinforge_tools.skeinforge_utilities.preferences.html#Radio">Radio</a></dd>
<dd><a href="skeinforge_tools.skeinforge_utilities.preferences.html#BooleanPreference">BooleanPreference</a></dd>
<dd><a href="skeinforge_tools.skeinforge_utilities.preferences.html#StringPreference">StringPreference</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="RadioCapitalized-addToDialog"><strong>addToDialog</strong></a>(self, preferencesDialog)</dt><dd><tt>Add&nbsp;this&nbsp;to&nbsp;the&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="RadioCapitalized-getLowerName"><strong>getLowerName</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;lower&nbsp;case&nbsp;name.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.skeinforge_utilities.preferences.html#Radio">Radio</a>:<br>
<dl><dt><a name="RadioCapitalized-clickRadio"><strong>clickRadio</strong></a>(self)</dt><dd><tt>Workaround&nbsp;for&nbsp;Tkinter&nbsp;bug,&nbsp;set&nbsp;the&nbsp;value.</tt></dd></dl>
<dl><dt><a name="RadioCapitalized-getFromRadio"><strong>getFromRadio</strong></a>(self, name, radio, value)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="RadioCapitalized-getIntVar"><strong>getIntVar</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;IntVar&nbsp;for&nbsp;this&nbsp;radio&nbsp;button&nbsp;group.</tt></dd></dl>
<dl><dt><a name="RadioCapitalized-setDisplayState"><strong>setDisplayState</strong></a>(self, row)</dt><dd><tt>Set&nbsp;the&nbsp;boolean&nbsp;to&nbsp;the&nbsp;checkbox.</tt></dd></dl>
<dl><dt><a name="RadioCapitalized-setToDisplay"><strong>setToDisplay</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;boolean&nbsp;to&nbsp;the&nbsp;checkbox.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.skeinforge_utilities.preferences.html#BooleanPreference">BooleanPreference</a>:<br>
<dl><dt><a name="RadioCapitalized-setStateToValue"><strong>setStateToValue</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;checkbox&nbsp;to&nbsp;the&nbsp;boolean.</tt></dd></dl>
<dl><dt><a name="RadioCapitalized-setValueToString"><strong>setValueToString</strong></a>(self, valueString)</dt><dd><tt>Set&nbsp;the&nbsp;boolean&nbsp;to&nbsp;the&nbsp;string.</tt></dd></dl>
<dl><dt><a name="RadioCapitalized-toggleCheckbox"><strong>toggleCheckbox</strong></a>(self)</dt><dd><tt>Workaround&nbsp;for&nbsp;Tkinter&nbsp;bug,&nbsp;toggle&nbsp;the&nbsp;value.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.skeinforge_utilities.preferences.html#StringPreference">StringPreference</a>:<br>
<dl><dt><a name="RadioCapitalized-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;update&nbsp;function&nbsp;to&nbsp;none.</tt></dd></dl>
<dl><dt><a name="RadioCapitalized-addToPreferenceTable"><strong>addToPreferenceTable</strong></a>(self, preferenceTable)</dt><dd><tt>Add&nbsp;this&nbsp;to&nbsp;the&nbsp;preference&nbsp;table.</tt></dd></dl>
<dl><dt><a name="RadioCapitalized-getFromValue"><strong>getFromValue</strong></a>(self, name, value)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="RadioCapitalized-setUpdateFunction"><strong>setUpdateFunction</strong></a>(self, updateFunction)</dt><dd><tt>Set&nbsp;the&nbsp;update&nbsp;function.</tt></dd></dl>
<dl><dt><a name="RadioCapitalized-setValueToSplitLine"><strong>setValueToSplitLine</strong></a>(self, lineIndex, lines, splitLine)</dt><dd><tt>Set&nbsp;the&nbsp;value&nbsp;to&nbsp;the&nbsp;second&nbsp;word&nbsp;of&nbsp;a&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="RadioCapitalized-writeToArchiveWriter"><strong>writeToArchiveWriter</strong></a>(self, archiveWriter)</dt><dd><tt>Write&nbsp;tab&nbsp;separated&nbsp;name&nbsp;and&nbsp;value&nbsp;to&nbsp;the&nbsp;archive&nbsp;writer.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="StringPreference">class <strong>StringPreference</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;display,&nbsp;read&nbsp;&amp;&nbsp;write&nbsp;a&nbsp;string.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="StringPreference-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;update&nbsp;function&nbsp;to&nbsp;none.</tt></dd></dl>
<dl><dt><a name="StringPreference-addToDialog"><strong>addToDialog</strong></a>(self, preferencesDialog)</dt><dd><tt>Add&nbsp;this&nbsp;to&nbsp;the&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="StringPreference-addToPreferenceTable"><strong>addToPreferenceTable</strong></a>(self, preferenceTable)</dt><dd><tt>Add&nbsp;this&nbsp;to&nbsp;the&nbsp;preference&nbsp;table.</tt></dd></dl>
<dl><dt><a name="StringPreference-getFromValue"><strong>getFromValue</strong></a>(self, name, value)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="StringPreference-setStateToValue"><strong>setStateToValue</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;entry&nbsp;to&nbsp;the&nbsp;value.</tt></dd></dl>
<dl><dt><a name="StringPreference-setToDisplay"><strong>setToDisplay</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;string&nbsp;to&nbsp;the&nbsp;entry&nbsp;field.</tt></dd></dl>
<dl><dt><a name="StringPreference-setUpdateFunction"><strong>setUpdateFunction</strong></a>(self, updateFunction)</dt><dd><tt>Set&nbsp;the&nbsp;update&nbsp;function.</tt></dd></dl>
<dl><dt><a name="StringPreference-setValueToSplitLine"><strong>setValueToSplitLine</strong></a>(self, lineIndex, lines, splitLine)</dt><dd><tt>Set&nbsp;the&nbsp;value&nbsp;to&nbsp;the&nbsp;second&nbsp;word&nbsp;of&nbsp;a&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="StringPreference-setValueToString"><strong>setValueToString</strong></a>(self, valueString)</dt><dd><tt>Set&nbsp;the&nbsp;string&nbsp;to&nbsp;the&nbsp;value&nbsp;string.</tt></dd></dl>
<dl><dt><a name="StringPreference-writeToArchiveWriter"><strong>writeToArchiveWriter</strong></a>(self, archiveWriter)</dt><dd><tt>Write&nbsp;tab&nbsp;separated&nbsp;name&nbsp;and&nbsp;value&nbsp;to&nbsp;the&nbsp;archive&nbsp;writer.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="WindowPosition">class <strong>WindowPosition</strong></a>(<a href="skeinforge_tools.skeinforge_utilities.preferences.html#StringPreference">StringPreference</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;display,&nbsp;read&nbsp;&amp;&nbsp;write&nbsp;a&nbsp;window&nbsp;position.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="WindowPosition-addToDialog"><strong>addToDialog</strong></a>(self, preferencesDialog)</dt><dd><tt>Set&nbsp;the&nbsp;master&nbsp;to&nbsp;later&nbsp;get&nbsp;the&nbsp;geometry.</tt></dd></dl>
<dl><dt><a name="WindowPosition-setToDisplay"><strong>setToDisplay</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;string&nbsp;to&nbsp;the&nbsp;window&nbsp;position.</tt></dd></dl>
<dl><dt><a name="WindowPosition-setWindowPosition"><strong>setWindowPosition</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;window&nbsp;position.</tt></dd></dl>
<hr>
Methods inherited from <a href="skeinforge_tools.skeinforge_utilities.preferences.html#StringPreference">StringPreference</a>:<br>
<dl><dt><a name="WindowPosition-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;update&nbsp;function&nbsp;to&nbsp;none.</tt></dd></dl>
<dl><dt><a name="WindowPosition-addToPreferenceTable"><strong>addToPreferenceTable</strong></a>(self, preferenceTable)</dt><dd><tt>Add&nbsp;this&nbsp;to&nbsp;the&nbsp;preference&nbsp;table.</tt></dd></dl>
<dl><dt><a name="WindowPosition-getFromValue"><strong>getFromValue</strong></a>(self, name, value)</dt><dd><tt>Initialize.</tt></dd></dl>
<dl><dt><a name="WindowPosition-setStateToValue"><strong>setStateToValue</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;entry&nbsp;to&nbsp;the&nbsp;value.</tt></dd></dl>
<dl><dt><a name="WindowPosition-setUpdateFunction"><strong>setUpdateFunction</strong></a>(self, updateFunction)</dt><dd><tt>Set&nbsp;the&nbsp;update&nbsp;function.</tt></dd></dl>
<dl><dt><a name="WindowPosition-setValueToSplitLine"><strong>setValueToSplitLine</strong></a>(self, lineIndex, lines, splitLine)</dt><dd><tt>Set&nbsp;the&nbsp;value&nbsp;to&nbsp;the&nbsp;second&nbsp;word&nbsp;of&nbsp;a&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="WindowPosition-setValueToString"><strong>setValueToString</strong></a>(self, valueString)</dt><dd><tt>Set&nbsp;the&nbsp;string&nbsp;to&nbsp;the&nbsp;value&nbsp;string.</tt></dd></dl>
<dl><dt><a name="WindowPosition-writeToArchiveWriter"><strong>writeToArchiveWriter</strong></a>(self, archiveWriter)</dt><dd><tt>Write&nbsp;tab&nbsp;separated&nbsp;name&nbsp;and&nbsp;value&nbsp;to&nbsp;the&nbsp;archive&nbsp;writer.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-displayDialog"><strong>displayDialog</strong></a>(displayPreferences)</dt><dd><tt>Display&nbsp;the&nbsp;preferences&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-getArchiveText"><strong>getArchiveText</strong></a>(archivablePreferences)</dt><dd><tt>Get&nbsp;the&nbsp;text&nbsp;representation&nbsp;of&nbsp;the&nbsp;archive.</tt></dd></dl>
<dl><dt><a name="-getFileInGivenDirectory"><strong>getFileInGivenDirectory</strong></a>(directory, fileName)</dt><dd><tt>Get&nbsp;the&nbsp;file&nbsp;from&nbsp;the&nbsp;fileName&nbsp;or&nbsp;the&nbsp;lowercase&nbsp;fileName&nbsp;in&nbsp;the&nbsp;given&nbsp;directory.</tt></dd></dl>
<dl><dt><a name="-getFileInGivenPreferencesDirectory"><strong>getFileInGivenPreferencesDirectory</strong></a>(directory, fileName)</dt><dd><tt>Get&nbsp;the&nbsp;file&nbsp;from&nbsp;the&nbsp;fileName&nbsp;or&nbsp;the&nbsp;lowercase&nbsp;fileName&nbsp;in&nbsp;the&nbsp;given&nbsp;directory,&nbsp;if&nbsp;there&nbsp;is&nbsp;no&nbsp;file&nbsp;look&nbsp;in&nbsp;the&nbsp;gcode_scripts&nbsp;folder&nbsp;in&nbsp;the&nbsp;preferences&nbsp;directory.</tt></dd></dl>
<dl><dt><a name="-getFileTextGivenDirectoryFileName"><strong>getFileTextGivenDirectoryFileName</strong></a>(directory, fileName)</dt><dd><tt>Get&nbsp;the&nbsp;entire&nbsp;text&nbsp;of&nbsp;a&nbsp;file&nbsp;with&nbsp;the&nbsp;given&nbsp;file&nbsp;name&nbsp;in&nbsp;the&nbsp;given&nbsp;directory.</tt></dd></dl>
<dl><dt><a name="-getPreferencesDirectoryPath"><strong>getPreferencesDirectoryPath</strong></a>()</dt><dd><tt>Get&nbsp;the&nbsp;preferences&nbsp;directory&nbsp;path,&nbsp;which&nbsp;is&nbsp;the&nbsp;home&nbsp;directory&nbsp;joined&nbsp;with&nbsp;.skeinforge.</tt></dd></dl>
<dl><dt><a name="-getPreferencesFilePath"><strong>getPreferencesFilePath</strong></a>(fileName)</dt><dd><tt>Get&nbsp;the&nbsp;preferences&nbsp;file&nbsp;path,&nbsp;which&nbsp;is&nbsp;the&nbsp;home&nbsp;directory&nbsp;joined&nbsp;with&nbsp;.skeinforge&nbsp;and&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="-readPreferences"><strong>readPreferences</strong></a>(archivablePreferences)</dt><dd><tt>Set&nbsp;an&nbsp;archive&nbsp;to&nbsp;the&nbsp;preferences&nbsp;read&nbsp;from&nbsp;a&nbsp;file.</tt></dd></dl>
<dl><dt><a name="-readPreferencesFromText"><strong>readPreferencesFromText</strong></a>(archivablePreferences, text)</dt><dd><tt>Set&nbsp;an&nbsp;archive&nbsp;to&nbsp;the&nbsp;preferences&nbsp;read&nbsp;from&nbsp;a&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-setArchiveToLine"><strong>setArchiveToLine</strong></a>(lineIndex, lines, preferenceTable)</dt><dd><tt>Set&nbsp;an&nbsp;archive&nbsp;to&nbsp;a&nbsp;preference&nbsp;line.</tt></dd></dl>
<dl><dt><a name="-setHelpPreferencesFileNameTitleWindowPosition"><strong>setHelpPreferencesFileNameTitleWindowPosition</strong></a>(displayPreferences, fileNameHelp)</dt><dd><tt>Set&nbsp;the&nbsp;help&nbsp;&amp;&nbsp;preferences&nbsp;file&nbsp;path,&nbsp;the&nbsp;title&nbsp;and&nbsp;the&nbsp;window&nbsp;position&nbsp;archiver.</tt></dd></dl>
<dl><dt><a name="-writePreferences"><strong>writePreferences</strong></a>(archivablePreferences)</dt><dd><tt>Write&nbsp;the&nbsp;preferences&nbsp;to&nbsp;a&nbsp;file.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/23/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)<br>
<strong>globalIsMainLoopRunning</strong> = False<br>
<strong>globalSpreadsheetSeparator</strong> = '<font color="#c040c0">\t</font>'</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,241 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.skeinforge_utilities.triangle_mesh</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.skeinforge_utilities.html"><font color="#ffffff">skeinforge_utilities</font></a>.triangle_mesh</strong></big></big> ($Date: 2008/02/05 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/skeinforge_utilities/triangle_mesh.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/skeinforge_utilities/triangle_mesh.py</a></font></td></tr></table>
<p><tt>Triangle&nbsp;Mesh&nbsp;holds&nbsp;the&nbsp;faces&nbsp;and&nbsp;edges&nbsp;of&nbsp;a&nbsp;triangular&nbsp;mesh.<br>
&nbsp;<br>
It&nbsp;can&nbsp;read&nbsp;from&nbsp;and&nbsp;write&nbsp;to&nbsp;a&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;(.gts)&nbsp;file.<br>
&nbsp;<br>
The&nbsp;following&nbsp;examples&nbsp;carve&nbsp;the&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;file&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl.&nbsp;&nbsp;The&nbsp;examples&nbsp;are&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the&nbsp;folder&nbsp;which<br>
contains&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;and&nbsp;triangle_mesh.py.<br>
&nbsp;<br>
&nbsp;<br>
&gt;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;carve<br>
&gt;&gt;&gt;&nbsp;carve.main()<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;carved.<br>
The&nbsp;carved&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_carve.gcode<br>
It&nbsp;took&nbsp;3&nbsp;seconds&nbsp;to&nbsp;carve&nbsp;the&nbsp;file.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;carve.writeOutput()<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode&nbsp;is&nbsp;being&nbsp;carved.<br>
The&nbsp;carved&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_carve.gcode<br>
It&nbsp;took&nbsp;3&nbsp;seconds&nbsp;to&nbsp;carve&nbsp;the&nbsp;file.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;carve.getCarveGcode("<br>
54&nbsp;162&nbsp;108&nbsp;Number&nbsp;of&nbsp;Vertices,Number&nbsp;of&nbsp;Edges,Number&nbsp;of&nbsp;Faces<br>
-5.800000000000001&nbsp;5.341893939393939&nbsp;4.017841892579603&nbsp;Vertex&nbsp;Coordinates&nbsp;XYZ<br>
5.800000000000001&nbsp;5.341893939393939&nbsp;4.017841892579603<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;vertices,&nbsp;edges&nbsp;and&nbsp;faces<br>
..<br>
")</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="cStringIO.html">cStringIO</a><br>
</td><td width="25%" valign=top><a href="cmath.html">cmath</a><br>
<a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="skeinforge_tools.skeinforge_utilities.intercircle.html">skeinforge_tools.skeinforge_utilities.intercircle</a><br>
</td><td width="25%" valign=top><a href="math.html">math</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.triangle_mesh.html#Edge">Edge</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.triangle_mesh.html#EdgePair">EdgePair</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.triangle_mesh.html#Face">Face</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.triangle_mesh.html#LoopArea">LoopArea</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.triangle_mesh.html#TriangleMesh">TriangleMesh</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="Edge">class <strong>Edge</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>An&nbsp;edge&nbsp;of&nbsp;a&nbsp;triangle&nbsp;mesh.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Edge-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;face&nbsp;indexes&nbsp;to&nbsp;None.</tt></dd></dl>
<dl><dt><a name="Edge-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;<a href="#Edge">Edge</a>.</tt></dd></dl>
<dl><dt><a name="Edge-addFaceIndex"><strong>addFaceIndex</strong></a>(self, faceIndex)</dt><dd><tt>Add&nbsp;first&nbsp;None&nbsp;face&nbsp;index&nbsp;to&nbsp;input&nbsp;face&nbsp;index.</tt></dd></dl>
<dl><dt><a name="Edge-getFromVertexIndexes"><strong>getFromVertexIndexes</strong></a>(self, edgeIndex, vertexIndexes)</dt><dd><tt>Initialize&nbsp;from&nbsp;two&nbsp;vertex&nbsp;indices.</tt></dd></dl>
<dl><dt><a name="Edge-getGNUTriangulatedSurfaceLine"><strong>getGNUTriangulatedSurfaceLine</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;(.gts)&nbsp;line&nbsp;of&nbsp;text.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="EdgePair">class <strong>EdgePair</strong></a></font></td></tr>
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="EdgePair-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Pair&nbsp;of&nbsp;edges&nbsp;on&nbsp;a&nbsp;face.</tt></dd></dl>
<dl><dt><a name="EdgePair-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;<a href="#EdgePair">EdgePair</a>.</tt></dd></dl>
<dl><dt><a name="EdgePair-getFromIndexesEdges"><strong>getFromIndexesEdges</strong></a>(self, edgeIndexes, edges)</dt><dd><tt>Initialize&nbsp;from&nbsp;edge&nbsp;indices.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="Face">class <strong>Face</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;face&nbsp;of&nbsp;a&nbsp;triangle&nbsp;mesh.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Face-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;edge&nbsp;indexes&nbsp;to&nbsp;None.</tt></dd></dl>
<dl><dt><a name="Face-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;<a href="#Face">Face</a>.</tt></dd></dl>
<dl><dt><a name="Face-getFromEdgeIndexes"><strong>getFromEdgeIndexes</strong></a>(self, edgeIndexes, edges, faceIndex)</dt><dd><tt>Initialize&nbsp;from&nbsp;edge&nbsp;indices.</tt></dd></dl>
<dl><dt><a name="Face-getGNUTriangulatedSurfaceLine"><strong>getGNUTriangulatedSurfaceLine</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;(.gts)&nbsp;line&nbsp;of&nbsp;text.</tt></dd></dl>
<dl><dt><a name="Face-setEdgeIndexesToVertexIndexes"><strong>setEdgeIndexesToVertexIndexes</strong></a>(self, edges, edgeTable)</dt><dd><tt>Set&nbsp;the&nbsp;edge&nbsp;indexes&nbsp;to&nbsp;the&nbsp;vertex&nbsp;indexes.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="LoopArea">class <strong>LoopArea</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Complex&nbsp;loop&nbsp;with&nbsp;an&nbsp;area.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="LoopArea-__init__"><strong>__init__</strong></a>(self, loop)</dt></dl>
<dl><dt><a name="LoopArea-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;flat&nbsp;path.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="TriangleMesh">class <strong>TriangleMesh</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;triangle&nbsp;mesh.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="TriangleMesh-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Add&nbsp;empty&nbsp;lists.</tt></dd></dl>
<dl><dt><a name="TriangleMesh-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;<a href="#TriangleMesh">TriangleMesh</a>.</tt></dd></dl>
<dl><dt><a name="TriangleMesh-getCarveCornerMaximum"><strong>getCarveCornerMaximum</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;corner&nbsp;maximum&nbsp;of&nbsp;the&nbsp;vertices.</tt></dd></dl>
<dl><dt><a name="TriangleMesh-getCarveCornerMinimum"><strong>getCarveCornerMinimum</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;corner&nbsp;minimum&nbsp;of&nbsp;the&nbsp;vertices.</tt></dd></dl>
<dl><dt><a name="TriangleMesh-getCarveLayerThickness"><strong>getCarveLayerThickness</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;layer&nbsp;thickness.</tt></dd></dl>
<dl><dt><a name="TriangleMesh-getCarveRotatedBoundaryLayers"><strong>getCarveRotatedBoundaryLayers</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;rotated&nbsp;boundary&nbsp;layers.</tt></dd></dl>
<dl><dt><a name="TriangleMesh-getGNUTriangulatedSurfaceText"><strong>getGNUTriangulatedSurfaceText</strong></a>(self)</dt><dd><tt>Get&nbsp;this&nbsp;mesh&nbsp;in&nbsp;the&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;(.gts)&nbsp;format.</tt></dd></dl>
<dl><dt><a name="TriangleMesh-getLoopsFromMesh"><strong>getLoopsFromMesh</strong></a>(self, z)</dt><dd><tt>Get&nbsp;loops&nbsp;from&nbsp;a&nbsp;carve&nbsp;of&nbsp;a&nbsp;mesh.</tt></dd></dl>
<dl><dt><a name="TriangleMesh-getZAddExtruderPaths"><strong>getZAddExtruderPaths</strong></a>(self, z)</dt><dd><tt>Get&nbsp;next&nbsp;z&nbsp;and&nbsp;add&nbsp;extruder&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="TriangleMesh-setCarveBridgeLayerThickness"><strong>setCarveBridgeLayerThickness</strong></a>(self, bridgeLayerThickness)</dt><dd><tt>Set&nbsp;the&nbsp;bridge&nbsp;layer&nbsp;thickness.&nbsp;&nbsp;If&nbsp;the&nbsp;infill&nbsp;is&nbsp;not&nbsp;in&nbsp;the&nbsp;direction&nbsp;of&nbsp;the&nbsp;bridge,&nbsp;the&nbsp;bridge&nbsp;layer&nbsp;thickness&nbsp;should&nbsp;be&nbsp;given&nbsp;as&nbsp;None&nbsp;or&nbsp;not&nbsp;set&nbsp;at&nbsp;all.</tt></dd></dl>
<dl><dt><a name="TriangleMesh-setCarveImportRadius"><strong>setCarveImportRadius</strong></a>(self, importRadius)</dt><dd><tt>Set&nbsp;the&nbsp;import&nbsp;radius.</tt></dd></dl>
<dl><dt><a name="TriangleMesh-setCarveIsCorrectMesh"><strong>setCarveIsCorrectMesh</strong></a>(self, isCorrectMesh)</dt><dd><tt>Set&nbsp;the&nbsp;is&nbsp;correct&nbsp;mesh&nbsp;flag.</tt></dd></dl>
<dl><dt><a name="TriangleMesh-setCarveLayerThickness"><strong>setCarveLayerThickness</strong></a>(self, layerThickness)</dt><dd><tt>Set&nbsp;the&nbsp;layer&nbsp;thickness.</tt></dd></dl>
<dl><dt><a name="TriangleMesh-setEdgesForAllFaces"><strong>setEdgesForAllFaces</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;face&nbsp;edges&nbsp;of&nbsp;all&nbsp;the&nbsp;faces.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-addEdgePair"><strong>addEdgePair</strong></a>(edgePairTable, edges, faceEdgeIndex, remainingEdgeIndex, remainingEdgeTable)</dt><dd><tt>Add&nbsp;edge&nbsp;pair&nbsp;to&nbsp;the&nbsp;edge&nbsp;pair&nbsp;table.</tt></dd></dl>
<dl><dt><a name="-addLoopToPointTable"><strong>addLoopToPointTable</strong></a>(loop, pointTable)</dt><dd><tt>Add&nbsp;the&nbsp;points&nbsp;in&nbsp;the&nbsp;loop&nbsp;to&nbsp;the&nbsp;point&nbsp;table.</tt></dd></dl>
<dl><dt><a name="-addPointsAtZ"><strong>addPointsAtZ</strong></a>(edgePair, points, radius, vertices, z)</dt><dd><tt>Add&nbsp;point&nbsp;complexes&nbsp;on&nbsp;the&nbsp;segment&nbsp;between&nbsp;the&nbsp;edge&nbsp;intersections&nbsp;with&nbsp;z.</tt></dd></dl>
<dl><dt><a name="-addToZoneArray"><strong>addToZoneArray</strong></a>(point, z, zoneArray, zZoneInterval)</dt><dd><tt>Add&nbsp;a&nbsp;height&nbsp;to&nbsp;the&nbsp;zone&nbsp;array.</tt></dd></dl>
<dl><dt><a name="-addWithLeastLength"><strong>addWithLeastLength</strong></a>(loops, point, shortestAdditionalLength)</dt><dd><tt>Insert&nbsp;a&nbsp;point&nbsp;into&nbsp;a&nbsp;loop,&nbsp;at&nbsp;the&nbsp;index&nbsp;at&nbsp;which&nbsp;the&nbsp;loop&nbsp;would&nbsp;be&nbsp;shortest.</tt></dd></dl>
<dl><dt><a name="-compareArea"><strong>compareArea</strong></a>(loopArea, otherLoopArea)</dt><dd><tt>Get&nbsp;comparison&nbsp;in&nbsp;order&nbsp;to&nbsp;sort&nbsp;loop&nbsp;areas&nbsp;in&nbsp;descending&nbsp;order&nbsp;of&nbsp;area.</tt></dd></dl>
<dl><dt><a name="-getAdditionalLoopLength"><strong>getAdditionalLoopLength</strong></a>(loop, point, pointIndex)</dt><dd><tt>Get&nbsp;the&nbsp;additional&nbsp;length&nbsp;added&nbsp;by&nbsp;inserting&nbsp;a&nbsp;point&nbsp;into&nbsp;a&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="-getBridgeDirection"><strong>getBridgeDirection</strong></a>(belowLoops, layerLoops, layerThickness)</dt><dd><tt>Get&nbsp;span&nbsp;direction&nbsp;for&nbsp;the&nbsp;majority&nbsp;of&nbsp;the&nbsp;overhanging&nbsp;extrusion&nbsp;perimeter,&nbsp;if&nbsp;any.</tt></dd></dl>
<dl><dt><a name="-getBridgeLoops"><strong>getBridgeLoops</strong></a>(layerThickness, loop)</dt><dd><tt>Get&nbsp;the&nbsp;inset&nbsp;bridge&nbsp;loops&nbsp;from&nbsp;the&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="-getCarveIntersectionFromEdge"><strong>getCarveIntersectionFromEdge</strong></a>(edge, vertices, z)</dt><dd><tt>Get&nbsp;the&nbsp;complex&nbsp;where&nbsp;the&nbsp;carve&nbsp;intersects&nbsp;the&nbsp;edge.</tt></dd></dl>
<dl><dt><a name="-getCommonVertexIndex"><strong>getCommonVertexIndex</strong></a>(edgeFirst, edgeSecond)</dt><dd><tt>Get&nbsp;the&nbsp;vertex&nbsp;index&nbsp;that&nbsp;both&nbsp;edges&nbsp;have&nbsp;in&nbsp;common.</tt></dd></dl>
<dl><dt><a name="-getDoubledRoundZ"><strong>getDoubledRoundZ</strong></a>(overhangingSegment, segmentRoundZ)</dt><dd><tt>Get&nbsp;doubled&nbsp;plane&nbsp;angle&nbsp;around&nbsp;z&nbsp;of&nbsp;the&nbsp;overhanging&nbsp;segment.</tt></dd></dl>
<dl><dt><a name="-getInclusiveLoops"><strong>getInclusiveLoops</strong></a>(allPoints, corners, importRadius, isInteriorWanted)</dt><dd><tt>Get&nbsp;loops&nbsp;which&nbsp;include&nbsp;most&nbsp;of&nbsp;the&nbsp;points.</tt></dd></dl>
<dl><dt><a name="-getLoopsFromCorrectMesh"><strong>getLoopsFromCorrectMesh</strong></a>(edges, faces, vertices, z)</dt><dd><tt>Get&nbsp;loops&nbsp;from&nbsp;a&nbsp;carve&nbsp;of&nbsp;a&nbsp;correct&nbsp;mesh.</tt></dd></dl>
<dl><dt><a name="-getLoopsFromUnprovenMesh"><strong>getLoopsFromUnprovenMesh</strong></a>(edges, faces, importRadius, vertices, z)</dt><dd><tt>Get&nbsp;loops&nbsp;from&nbsp;a&nbsp;carve&nbsp;of&nbsp;an&nbsp;unproven&nbsp;mesh.</tt></dd></dl>
<dl><dt><a name="-getLoopsInDescendingOrderOfArea"><strong>getLoopsInDescendingOrderOfArea</strong></a>(loops)</dt><dd><tt>Get&nbsp;the&nbsp;lowest&nbsp;zone&nbsp;index.</tt></dd></dl>
<dl><dt><a name="-getLoopsWithCorners"><strong>getLoopsWithCorners</strong></a>(corners, importRadius, loops, pointTable)</dt><dd><tt>Add&nbsp;corners&nbsp;to&nbsp;the&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-getLowestZoneIndex"><strong>getLowestZoneIndex</strong></a>(zoneArray, z)</dt><dd><tt>Get&nbsp;the&nbsp;lowest&nbsp;zone&nbsp;index.</tt></dd></dl>
<dl><dt><a name="-getNextEdgeIndexAroundZ"><strong>getNextEdgeIndexAroundZ</strong></a>(edge, faces, remainingEdgeTable)</dt><dd><tt>Get&nbsp;the&nbsp;next&nbsp;edge&nbsp;index&nbsp;in&nbsp;the&nbsp;mesh&nbsp;carve.</tt></dd></dl>
<dl><dt><a name="-getOverhangDirection"><strong>getOverhangDirection</strong></a>(belowOutsetLoops, segmentBegin, segmentEnd)</dt><dd><tt>Add&nbsp;to&nbsp;span&nbsp;direction&nbsp;from&nbsp;the&nbsp;endpoint&nbsp;segments&nbsp;which&nbsp;overhang&nbsp;the&nbsp;layer&nbsp;below.</tt></dd></dl>
<dl><dt><a name="-getOverlapRatio"><strong>getOverlapRatio</strong></a>(loop, pointTable)</dt><dd><tt>Get&nbsp;the&nbsp;overlap&nbsp;ratio&nbsp;between&nbsp;the&nbsp;loop&nbsp;and&nbsp;the&nbsp;point&nbsp;table.</tt></dd></dl>
<dl><dt><a name="-getPath"><strong>getPath</strong></a>(edges, pathIndexes, loop, z)</dt><dd><tt>Get&nbsp;the&nbsp;path&nbsp;from&nbsp;the&nbsp;edge&nbsp;intersections.</tt></dd></dl>
<dl><dt><a name="-getRemainingEdgeTable"><strong>getRemainingEdgeTable</strong></a>(edges, vertices, z)</dt><dd><tt>Get&nbsp;the&nbsp;remaining&nbsp;edge&nbsp;hashtable.</tt></dd></dl>
<dl><dt><a name="-getSharedFace"><strong>getSharedFace</strong></a>(firstEdge, faces, secondEdge)</dt><dd><tt>Get&nbsp;the&nbsp;face&nbsp;which&nbsp;is&nbsp;shared&nbsp;by&nbsp;two&nbsp;edges.</tt></dd></dl>
<dl><dt><a name="-getTriangleMesh"><strong>getTriangleMesh</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Carve&nbsp;a&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;file.&nbsp;&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;carve&nbsp;the&nbsp;first&nbsp;GNU&nbsp;Triangulated&nbsp;Surface&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
<dl><dt><a name="-getZoneInterval"><strong>getZoneInterval</strong></a>(layerThickness)</dt><dd><tt>Get&nbsp;the&nbsp;zone&nbsp;interval&nbsp;around&nbsp;the&nbsp;slice&nbsp;height.</tt></dd></dl>
<dl><dt><a name="-isInline"><strong>isInline</strong></a>(beginComplex, centerComplex, endComplex)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;three&nbsp;complex&nbsp;points&nbsp;form&nbsp;a&nbsp;line.</tt></dd></dl>
<dl><dt><a name="-isPathAdded"><strong>isPathAdded</strong></a>(edges, faces, loops, remainingEdgeTable, vertices, z)</dt><dd><tt>Get&nbsp;the&nbsp;path&nbsp;indexes&nbsp;around&nbsp;a&nbsp;triangle&nbsp;mesh&nbsp;carve&nbsp;and&nbsp;add&nbsp;the&nbsp;path&nbsp;to&nbsp;the&nbsp;flat&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-isZInEdge"><strong>isZInEdge</strong></a>(edge, vertices, z)</dt><dd><tt>Determine&nbsp;if&nbsp;z&nbsp;is&nbsp;inside&nbsp;the&nbsp;edge.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__credits__</strong> = 'Art of Illusion &lt;http://www.artofillusion.org/&gt;'<br>
<strong>__date__</strong> = '$Date: 2008/02/05 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Credits</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Art&nbsp;of&nbsp;Illusion&nbsp;&lt;<a href="http://www.artofillusion.org/">http://www.artofillusion.org/</a>&gt;</td></tr></table>
</body></html>

View File

@@ -0,0 +1,173 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.skeinforge_utilities.vec3</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.skeinforge_utilities.html"><font color="#ffffff">skeinforge_utilities</font></a>.vec3</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/skeinforge_utilities/vec3.pyc">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/skeinforge_utilities/vec3.pyc</a></font></td></tr></table>
<p><tt><a href="#Vec3">Vec3</a>&nbsp;is&nbsp;a&nbsp;three&nbsp;dimensional&nbsp;vector&nbsp;class.<br>
&nbsp;<br>
#Class&nbsp;vec3&nbsp;is&nbsp;deprecated,&nbsp;please&nbsp;use&nbsp;<a href="#Vec3">Vec3</a>&nbsp;instead.<br>
&nbsp;<br>
Below&nbsp;are&nbsp;examples&nbsp;of&nbsp;<a href="#Vec3">Vec3</a>&nbsp;use.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;from&nbsp;vec3&nbsp;import&nbsp;<a href="#Vec3">Vec3</a><br>
&gt;&gt;&gt;&nbsp;origin&nbsp;=&nbsp;<a href="#Vec3">Vec3</a>()<br>
&gt;&gt;&gt;&nbsp;origin<br>
0.0,&nbsp;0.0,&nbsp;0.0<br>
&gt;&gt;&gt;&nbsp;pythagoras&nbsp;=&nbsp;<a href="#Vec3">Vec3</a>(&nbsp;3,&nbsp;4,&nbsp;0&nbsp;)<br>
&gt;&gt;&gt;&nbsp;pythagoras<br>
3.0,&nbsp;4.0,&nbsp;0.0<br>
&gt;&gt;&gt;&nbsp;pythagoras.magnitude()<br>
5.0<br>
&gt;&gt;&gt;&nbsp;pythagoras.magnitudeSquared()<br>
25<br>
&gt;&gt;&gt;&nbsp;triplePythagoras&nbsp;=&nbsp;pythagoras&nbsp;*&nbsp;3.0<br>
&gt;&gt;&gt;&nbsp;triplePythagoras<br>
9.0,&nbsp;12.0,&nbsp;0.0<br>
&gt;&gt;&gt;&nbsp;plane&nbsp;=&nbsp;pythagoras.dropAxis(&nbsp;2&nbsp;)<br>
&gt;&gt;&gt;&nbsp;plane<br>
(3+4j)</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
</td><td width="25%" valign=top><a href="math.html">math</a><br>
</td><td width="25%" valign=top><a href="operator.html">operator</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.vec3.html#Vec3">Vec3</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="Vec3">class <strong>Vec3</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;three&nbsp;dimensional&nbsp;vector&nbsp;class.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Vec3-__abs__"><strong>__abs__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;magnitude&nbsp;of&nbsp;the&nbsp;<a href="#Vec3">Vec3</a>.</tt></dd></dl>
<dl><dt><a name="Vec3-__add__"><strong>__add__</strong></a>(self, other)</dt><dd><tt>Get&nbsp;the&nbsp;sum&nbsp;of&nbsp;this&nbsp;<a href="#Vec3">Vec3</a>&nbsp;and&nbsp;other&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vec3-__copy__"><strong>__copy__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;copy&nbsp;of&nbsp;this&nbsp;<a href="#Vec3">Vec3</a>.</tt></dd></dl>
<dl><dt><a name="Vec3-__div__"><strong>__div__</strong></a>(self, other)</dt><dd><tt>Get&nbsp;a&nbsp;new&nbsp;<a href="#Vec3">Vec3</a>&nbsp;by&nbsp;dividing&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vec3-__eq__"><strong>__eq__</strong></a>(self, other)</dt><dd><tt>Determine&nbsp;whether&nbsp;this&nbsp;vector&nbsp;is&nbsp;identical&nbsp;to&nbsp;other&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vec3-__floordiv__"><strong>__floordiv__</strong></a>(self, other)</dt><dd><tt>Get&nbsp;a&nbsp;new&nbsp;<a href="#Vec3">Vec3</a>&nbsp;by&nbsp;floor&nbsp;dividing&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vec3-__hash__"><strong>__hash__</strong></a>(self)</dt><dd><tt>Determine&nbsp;whether&nbsp;this&nbsp;vector&nbsp;is&nbsp;identical&nbsp;to&nbsp;other&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vec3-__iadd__"><strong>__iadd__</strong></a>(self, other)</dt><dd><tt>Add&nbsp;other&nbsp;<a href="#Vec3">Vec3</a>&nbsp;to&nbsp;this&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vec3-__idiv__"><strong>__idiv__</strong></a>(self, other)</dt><dd><tt>Divide&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;<a href="#Vec3">Vec3</a>.</tt></dd></dl>
<dl><dt><a name="Vec3-__ifloordiv__"><strong>__ifloordiv__</strong></a>(self, other)</dt><dd><tt>Floor&nbsp;divide&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;<a href="#Vec3">Vec3</a>.</tt></dd></dl>
<dl><dt><a name="Vec3-__imul__"><strong>__imul__</strong></a>(self, other)</dt><dd><tt>Multiply&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;<a href="#Vec3">Vec3</a>.</tt></dd></dl>
<dl><dt><a name="Vec3-__init__"><strong>__init__</strong></a>(self, x<font color="#909090">=0.0</font>, y<font color="#909090">=0.0</font>, z<font color="#909090">=0.0</font>)</dt></dl>
<dl><dt><a name="Vec3-__isub__"><strong>__isub__</strong></a>(self, other)</dt><dd><tt>Subtract&nbsp;other&nbsp;<a href="#Vec3">Vec3</a>&nbsp;from&nbsp;this&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vec3-__itruediv__"><strong>__itruediv__</strong></a>(self, other)</dt><dd><tt>True&nbsp;divide&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;<a href="#Vec3">Vec3</a>.</tt></dd></dl>
<dl><dt><a name="Vec3-__mul__"><strong>__mul__</strong></a>(self, other)</dt><dd><tt>Get&nbsp;a&nbsp;new&nbsp;<a href="#Vec3">Vec3</a>&nbsp;by&nbsp;multiplying&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vec3-__ne__"><strong>__ne__</strong></a>(self, other)</dt><dd><tt>Determine&nbsp;whether&nbsp;this&nbsp;vector&nbsp;is&nbsp;not&nbsp;identical&nbsp;to&nbsp;other&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vec3-__neg__"><strong>__neg__</strong></a>(self)</dt></dl>
<dl><dt><a name="Vec3-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt></dl>
<dl><dt><a name="Vec3-__pos__"><strong>__pos__</strong></a> = <a href="#Vec3-__copy__">__copy__</a>(self)</dt></dl>
<dl><dt><a name="Vec3-__rdiv__"><strong>__rdiv__</strong></a>(self, other)</dt><dd><tt>Get&nbsp;a&nbsp;new&nbsp;<a href="#Vec3">Vec3</a>&nbsp;by&nbsp;dividing&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vec3-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;<a href="#Vec3">Vec3</a>.</tt></dd></dl>
<dl><dt><a name="Vec3-__rfloordiv__"><strong>__rfloordiv__</strong></a>(self, other)</dt><dd><tt>Get&nbsp;a&nbsp;new&nbsp;<a href="#Vec3">Vec3</a>&nbsp;by&nbsp;floor&nbsp;dividing&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vec3-__rmul__"><strong>__rmul__</strong></a>(self, other)</dt><dd><tt>Get&nbsp;a&nbsp;new&nbsp;<a href="#Vec3">Vec3</a>&nbsp;by&nbsp;multiplying&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vec3-__rtruediv__"><strong>__rtruediv__</strong></a>(self, other)</dt><dd><tt>Get&nbsp;a&nbsp;new&nbsp;<a href="#Vec3">Vec3</a>&nbsp;by&nbsp;true&nbsp;dividing&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vec3-__sub__"><strong>__sub__</strong></a>(self, other)</dt><dd><tt>Get&nbsp;the&nbsp;difference&nbsp;between&nbsp;the&nbsp;<a href="#Vec3">Vec3</a>&nbsp;and&nbsp;other&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vec3-__truediv__"><strong>__truediv__</strong></a>(self, other)</dt><dd><tt>Get&nbsp;a&nbsp;new&nbsp;<a href="#Vec3">Vec3</a>&nbsp;by&nbsp;true&nbsp;dividing&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vec3-copy"><strong>copy</strong></a> = <a href="#Vec3-__copy__">__copy__</a>(self)</dt></dl>
<dl><dt><a name="Vec3-cross"><strong>cross</strong></a>(self, other)</dt><dd><tt>Calculate&nbsp;the&nbsp;cross&nbsp;product&nbsp;of&nbsp;this&nbsp;vector&nbsp;with&nbsp;other&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vec3-distance"><strong>distance</strong></a>(self, other)</dt><dd><tt>Get&nbsp;the&nbsp;Euclidean&nbsp;distance&nbsp;between&nbsp;this&nbsp;vector&nbsp;and&nbsp;other&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vec3-distanceSquared"><strong>distanceSquared</strong></a>(self, other)</dt><dd><tt>Get&nbsp;the&nbsp;square&nbsp;of&nbsp;the&nbsp;Euclidean&nbsp;distance&nbsp;between&nbsp;this&nbsp;vector&nbsp;and&nbsp;other&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vec3-dot"><strong>dot</strong></a>(self, other)</dt><dd><tt>Calculate&nbsp;the&nbsp;dot&nbsp;product&nbsp;of&nbsp;this&nbsp;vector&nbsp;with&nbsp;other&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vec3-dropAxis"><strong>dropAxis</strong></a>(self, which)</dt><dd><tt>Get&nbsp;a&nbsp;complex&nbsp;by&nbsp;removing&nbsp;one&nbsp;axis&nbsp;of&nbsp;this&nbsp;one.<br>
&nbsp;<br>
Keyword&nbsp;arguments:<br>
which&nbsp;--&nbsp;the&nbsp;axis&nbsp;to&nbsp;drop&nbsp;(0=X,&nbsp;1=Y,&nbsp;2=Z)</tt></dd></dl>
<dl><dt><a name="Vec3-getNormalized"><strong>getNormalized</strong></a>(self, other)</dt><dd><tt>Get&nbsp;the&nbsp;normalized&nbsp;<a href="#Vec3">Vec3</a>.</tt></dd></dl>
<dl><dt><a name="Vec3-magnitude"><strong>magnitude</strong></a> = <a href="#Vec3-__abs__">__abs__</a>(self)</dt></dl>
<dl><dt><a name="Vec3-magnitudeSquared"><strong>magnitudeSquared</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;square&nbsp;of&nbsp;the&nbsp;magnitude&nbsp;of&nbsp;the&nbsp;<a href="#Vec3">Vec3</a>.</tt></dd></dl>
<dl><dt><a name="Vec3-normalize"><strong>normalize</strong></a>(self)</dt><dd><tt>Scale&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;<a href="#Vec3">Vec3</a>&nbsp;so&nbsp;that&nbsp;it&nbsp;has&nbsp;a&nbsp;magnitude&nbsp;of&nbsp;1.&nbsp;If&nbsp;this&nbsp;<a href="#Vec3">Vec3</a>&nbsp;has&nbsp;a&nbsp;magnitude&nbsp;of&nbsp;0,&nbsp;this&nbsp;method&nbsp;has&nbsp;no&nbsp;effect.</tt></dd></dl>
<dl><dt><a name="Vec3-reflect"><strong>reflect</strong></a>(self, normal)</dt><dd><tt>Reflect&nbsp;the&nbsp;<a href="#Vec3">Vec3</a>&nbsp;across&nbsp;the&nbsp;normal,&nbsp;which&nbsp;is&nbsp;assumed&nbsp;to&nbsp;be&nbsp;normalized.</tt></dd></dl>
<dl><dt><a name="Vec3-setToVec3"><strong>setToVec3</strong></a>(self, other)</dt><dd><tt>Set&nbsp;this&nbsp;<a href="#Vec3">Vec3</a>&nbsp;to&nbsp;be&nbsp;identical&nbsp;to&nbsp;other&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vec3-setToXYZ"><strong>setToXYZ</strong></a>(self, x, y, z)</dt><dd><tt>Set&nbsp;the&nbsp;x,&nbsp;y,&nbsp;and&nbsp;z&nbsp;components&nbsp;of&nbsp;this&nbsp;<a href="#Vec3">Vec3</a>.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__credits__</strong> = 'Nophead &lt;http://forums.reprap.org/profile.php?12,28&gt;<font color="#c040c0">\n</font>Art of Illusion &lt;http://www.artofillusion.org/&gt;'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Credits</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Nophead&nbsp;&lt;<a href="http://forums.reprap.org/profile.php?12,28">http://forums.reprap.org/profile.php?12,28</a>&gt;<br>
Art&nbsp;of&nbsp;Illusion&nbsp;&lt;<a href="http://www.artofillusion.org/">http://www.artofillusion.org/</a>&gt;</td></tr></table>
</body></html>

View File

@@ -0,0 +1,171 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.skeinforge_utilities.vector3</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.skeinforge_utilities.html"><font color="#ffffff">skeinforge_utilities</font></a>.vector3</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/skeinforge_utilities/vector3.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/skeinforge_utilities/vector3.py</a></font></td></tr></table>
<p><tt>Vec3&nbsp;is&nbsp;a&nbsp;three&nbsp;dimensional&nbsp;vector&nbsp;class.<br>
&nbsp;<br>
Below&nbsp;are&nbsp;examples&nbsp;of&nbsp;<a href="#Vector3">Vector3</a>&nbsp;use.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;from&nbsp;vector3&nbsp;import&nbsp;<a href="#Vector3">Vector3</a><br>
&gt;&gt;&gt;&nbsp;origin&nbsp;=&nbsp;<a href="#Vector3">Vector3</a>()<br>
&gt;&gt;&gt;&nbsp;origin<br>
0.0,&nbsp;0.0,&nbsp;0.0<br>
&gt;&gt;&gt;&nbsp;pythagoras&nbsp;=&nbsp;<a href="#Vector3">Vector3</a>(&nbsp;3,&nbsp;4,&nbsp;0&nbsp;)<br>
&gt;&gt;&gt;&nbsp;pythagoras<br>
3.0,&nbsp;4.0,&nbsp;0.0<br>
&gt;&gt;&gt;&nbsp;pythagoras.magnitude()<br>
5.0<br>
&gt;&gt;&gt;&nbsp;pythagoras.magnitudeSquared()<br>
25<br>
&gt;&gt;&gt;&nbsp;triplePythagoras&nbsp;=&nbsp;pythagoras&nbsp;*&nbsp;3.0<br>
&gt;&gt;&gt;&nbsp;triplePythagoras<br>
9.0,&nbsp;12.0,&nbsp;0.0<br>
&gt;&gt;&gt;&nbsp;plane&nbsp;=&nbsp;pythagoras.dropAxis(&nbsp;2&nbsp;)<br>
&gt;&gt;&gt;&nbsp;plane<br>
(3+4j)</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
</td><td width="25%" valign=top><a href="math.html">math</a><br>
</td><td width="25%" valign=top><a href="operator.html">operator</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.vector3.html#Vector3">Vector3</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="Vector3">class <strong>Vector3</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;three&nbsp;dimensional&nbsp;vector&nbsp;class.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Vector3-__abs__"><strong>__abs__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;magnitude&nbsp;of&nbsp;the&nbsp;<a href="#Vector3">Vector3</a>.</tt></dd></dl>
<dl><dt><a name="Vector3-__add__"><strong>__add__</strong></a>(self, other)</dt><dd><tt>Get&nbsp;the&nbsp;sum&nbsp;of&nbsp;this&nbsp;<a href="#Vector3">Vector3</a>&nbsp;and&nbsp;other&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vector3-__copy__"><strong>__copy__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;copy&nbsp;of&nbsp;this&nbsp;<a href="#Vector3">Vector3</a>.</tt></dd></dl>
<dl><dt><a name="Vector3-__div__"><strong>__div__</strong></a>(self, other)</dt><dd><tt>Get&nbsp;a&nbsp;new&nbsp;<a href="#Vector3">Vector3</a>&nbsp;by&nbsp;dividing&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vector3-__eq__"><strong>__eq__</strong></a>(self, other)</dt><dd><tt>Determine&nbsp;whether&nbsp;this&nbsp;vector&nbsp;is&nbsp;identical&nbsp;to&nbsp;other&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vector3-__floordiv__"><strong>__floordiv__</strong></a>(self, other)</dt><dd><tt>Get&nbsp;a&nbsp;new&nbsp;<a href="#Vector3">Vector3</a>&nbsp;by&nbsp;floor&nbsp;dividing&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vector3-__hash__"><strong>__hash__</strong></a>(self)</dt><dd><tt>Determine&nbsp;whether&nbsp;this&nbsp;vector&nbsp;is&nbsp;identical&nbsp;to&nbsp;other&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vector3-__iadd__"><strong>__iadd__</strong></a>(self, other)</dt><dd><tt>Add&nbsp;other&nbsp;<a href="#Vector3">Vector3</a>&nbsp;to&nbsp;this&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vector3-__idiv__"><strong>__idiv__</strong></a>(self, other)</dt><dd><tt>Divide&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;<a href="#Vector3">Vector3</a>.</tt></dd></dl>
<dl><dt><a name="Vector3-__ifloordiv__"><strong>__ifloordiv__</strong></a>(self, other)</dt><dd><tt>Floor&nbsp;divide&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;<a href="#Vector3">Vector3</a>.</tt></dd></dl>
<dl><dt><a name="Vector3-__imul__"><strong>__imul__</strong></a>(self, other)</dt><dd><tt>Multiply&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;<a href="#Vector3">Vector3</a>.</tt></dd></dl>
<dl><dt><a name="Vector3-__init__"><strong>__init__</strong></a>(self, x<font color="#909090">=0.0</font>, y<font color="#909090">=0.0</font>, z<font color="#909090">=0.0</font>)</dt></dl>
<dl><dt><a name="Vector3-__isub__"><strong>__isub__</strong></a>(self, other)</dt><dd><tt>Subtract&nbsp;other&nbsp;<a href="#Vector3">Vector3</a>&nbsp;from&nbsp;this&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vector3-__itruediv__"><strong>__itruediv__</strong></a>(self, other)</dt><dd><tt>True&nbsp;divide&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;<a href="#Vector3">Vector3</a>.</tt></dd></dl>
<dl><dt><a name="Vector3-__mul__"><strong>__mul__</strong></a>(self, other)</dt><dd><tt>Get&nbsp;a&nbsp;new&nbsp;<a href="#Vector3">Vector3</a>&nbsp;by&nbsp;multiplying&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vector3-__ne__"><strong>__ne__</strong></a>(self, other)</dt><dd><tt>Determine&nbsp;whether&nbsp;this&nbsp;vector&nbsp;is&nbsp;not&nbsp;identical&nbsp;to&nbsp;other&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vector3-__neg__"><strong>__neg__</strong></a>(self)</dt></dl>
<dl><dt><a name="Vector3-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt></dl>
<dl><dt><a name="Vector3-__pos__"><strong>__pos__</strong></a> = <a href="#Vector3-__copy__">__copy__</a>(self)</dt></dl>
<dl><dt><a name="Vector3-__rdiv__"><strong>__rdiv__</strong></a>(self, other)</dt><dd><tt>Get&nbsp;a&nbsp;new&nbsp;<a href="#Vector3">Vector3</a>&nbsp;by&nbsp;dividing&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vector3-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;<a href="#Vector3">Vector3</a>.</tt></dd></dl>
<dl><dt><a name="Vector3-__rfloordiv__"><strong>__rfloordiv__</strong></a>(self, other)</dt><dd><tt>Get&nbsp;a&nbsp;new&nbsp;<a href="#Vector3">Vector3</a>&nbsp;by&nbsp;floor&nbsp;dividing&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vector3-__rmul__"><strong>__rmul__</strong></a>(self, other)</dt><dd><tt>Get&nbsp;a&nbsp;new&nbsp;<a href="#Vector3">Vector3</a>&nbsp;by&nbsp;multiplying&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vector3-__rtruediv__"><strong>__rtruediv__</strong></a>(self, other)</dt><dd><tt>Get&nbsp;a&nbsp;new&nbsp;<a href="#Vector3">Vector3</a>&nbsp;by&nbsp;true&nbsp;dividing&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vector3-__sub__"><strong>__sub__</strong></a>(self, other)</dt><dd><tt>Get&nbsp;the&nbsp;difference&nbsp;between&nbsp;the&nbsp;<a href="#Vector3">Vector3</a>&nbsp;and&nbsp;other&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vector3-__truediv__"><strong>__truediv__</strong></a>(self, other)</dt><dd><tt>Get&nbsp;a&nbsp;new&nbsp;<a href="#Vector3">Vector3</a>&nbsp;by&nbsp;true&nbsp;dividing&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vector3-copy"><strong>copy</strong></a> = <a href="#Vector3-__copy__">__copy__</a>(self)</dt></dl>
<dl><dt><a name="Vector3-cross"><strong>cross</strong></a>(self, other)</dt><dd><tt>Calculate&nbsp;the&nbsp;cross&nbsp;product&nbsp;of&nbsp;this&nbsp;vector&nbsp;with&nbsp;other&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vector3-distance"><strong>distance</strong></a>(self, other)</dt><dd><tt>Get&nbsp;the&nbsp;Euclidean&nbsp;distance&nbsp;between&nbsp;this&nbsp;vector&nbsp;and&nbsp;other&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vector3-distanceSquared"><strong>distanceSquared</strong></a>(self, other)</dt><dd><tt>Get&nbsp;the&nbsp;square&nbsp;of&nbsp;the&nbsp;Euclidean&nbsp;distance&nbsp;between&nbsp;this&nbsp;vector&nbsp;and&nbsp;other&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vector3-dot"><strong>dot</strong></a>(self, other)</dt><dd><tt>Calculate&nbsp;the&nbsp;dot&nbsp;product&nbsp;of&nbsp;this&nbsp;vector&nbsp;with&nbsp;other&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vector3-dropAxis"><strong>dropAxis</strong></a>(self, which)</dt><dd><tt>Get&nbsp;a&nbsp;complex&nbsp;by&nbsp;removing&nbsp;one&nbsp;axis&nbsp;of&nbsp;this&nbsp;one.<br>
&nbsp;<br>
Keyword&nbsp;arguments:<br>
which&nbsp;--&nbsp;the&nbsp;axis&nbsp;to&nbsp;drop&nbsp;(0=X,&nbsp;1=Y,&nbsp;2=Z)</tt></dd></dl>
<dl><dt><a name="Vector3-getNormalized"><strong>getNormalized</strong></a>(self, other)</dt><dd><tt>Get&nbsp;the&nbsp;normalized&nbsp;<a href="#Vector3">Vector3</a>.</tt></dd></dl>
<dl><dt><a name="Vector3-magnitude"><strong>magnitude</strong></a> = <a href="#Vector3-__abs__">__abs__</a>(self)</dt></dl>
<dl><dt><a name="Vector3-magnitudeSquared"><strong>magnitudeSquared</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;square&nbsp;of&nbsp;the&nbsp;magnitude&nbsp;of&nbsp;the&nbsp;<a href="#Vector3">Vector3</a>.</tt></dd></dl>
<dl><dt><a name="Vector3-normalize"><strong>normalize</strong></a>(self)</dt><dd><tt>Scale&nbsp;each&nbsp;component&nbsp;of&nbsp;this&nbsp;<a href="#Vector3">Vector3</a>&nbsp;so&nbsp;that&nbsp;it&nbsp;has&nbsp;a&nbsp;magnitude&nbsp;of&nbsp;1.&nbsp;If&nbsp;this&nbsp;<a href="#Vector3">Vector3</a>&nbsp;has&nbsp;a&nbsp;magnitude&nbsp;of&nbsp;0,&nbsp;this&nbsp;method&nbsp;has&nbsp;no&nbsp;effect.</tt></dd></dl>
<dl><dt><a name="Vector3-reflect"><strong>reflect</strong></a>(self, normal)</dt><dd><tt>Reflect&nbsp;the&nbsp;<a href="#Vector3">Vector3</a>&nbsp;across&nbsp;the&nbsp;normal,&nbsp;which&nbsp;is&nbsp;assumed&nbsp;to&nbsp;be&nbsp;normalized.</tt></dd></dl>
<dl><dt><a name="Vector3-setToVec3"><strong>setToVec3</strong></a>(self, other)</dt><dd><tt>Set&nbsp;this&nbsp;<a href="#Vector3">Vector3</a>&nbsp;to&nbsp;be&nbsp;identical&nbsp;to&nbsp;other&nbsp;one.</tt></dd></dl>
<dl><dt><a name="Vector3-setToXYZ"><strong>setToXYZ</strong></a>(self, x, y, z)</dt><dd><tt>Set&nbsp;the&nbsp;x,&nbsp;y,&nbsp;and&nbsp;z&nbsp;components&nbsp;of&nbsp;this&nbsp;<a href="#Vector3">Vector3</a>.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__credits__</strong> = 'Nophead &lt;http://forums.reprap.org/profile.php?12,28&gt;<font color="#c040c0">\n</font>Art of Illusion &lt;http://www.artofillusion.org/&gt;'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Credits</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Nophead&nbsp;&lt;<a href="http://forums.reprap.org/profile.php?12,28">http://forums.reprap.org/profile.php?12,28</a>&gt;<br>
Art&nbsp;of&nbsp;Illusion&nbsp;&lt;<a href="http://www.artofillusion.org/">http://www.artofillusion.org/</a>&gt;</td></tr></table>
</body></html>

View File

@@ -0,0 +1,124 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.skeinforge_utilities.xml_parser</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.skeinforge_utilities.html"><font color="#ffffff">skeinforge_utilities</font></a>.xml_parser</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/skeinforge_utilities/xml_parser.pyc">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/skeinforge_utilities/xml_parser.pyc</a></font></td></tr></table>
<p><tt>The&nbsp;svg.py&nbsp;script&nbsp;is&nbsp;an&nbsp;import&nbsp;translator&nbsp;plugin&nbsp;to&nbsp;get&nbsp;a&nbsp;carving&nbsp;from&nbsp;an&nbsp;svg&nbsp;file.<br>
&nbsp;<br>
An&nbsp;import&nbsp;plugin&nbsp;is&nbsp;a&nbsp;script&nbsp;in&nbsp;the&nbsp;import_plugins&nbsp;folder&nbsp;which&nbsp;has&nbsp;the&nbsp;function&nbsp;getCarving.&nbsp;&nbsp;It&nbsp;is&nbsp;meant&nbsp;to&nbsp;be&nbsp;run&nbsp;from&nbsp;the<br>
interpret&nbsp;tool.&nbsp;&nbsp;To&nbsp;ensure&nbsp;that&nbsp;the&nbsp;plugin&nbsp;works&nbsp;on&nbsp;platforms&nbsp;which&nbsp;do&nbsp;not&nbsp;handle&nbsp;file&nbsp;capitalization&nbsp;properly,&nbsp;give&nbsp;the&nbsp;plugin<br>
a&nbsp;lower&nbsp;case&nbsp;name.<br>
&nbsp;<br>
The&nbsp;getCarving&nbsp;function&nbsp;takes&nbsp;the&nbsp;file&nbsp;name&nbsp;of&nbsp;an&nbsp;svg&nbsp;file&nbsp;and&nbsp;returns&nbsp;the&nbsp;carving.<br>
&nbsp;<br>
This&nbsp;example&nbsp;gets&nbsp;a&nbsp;carving&nbsp;for&nbsp;the&nbsp;svg&nbsp;file&nbsp;Screw&nbsp;Holder&nbsp;Bottom.svg.&nbsp;&nbsp;This&nbsp;example&nbsp;is&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the&nbsp;folder&nbsp;which<br>
contains&nbsp;Screw&nbsp;Holder&nbsp;Bottom.svg&nbsp;and&nbsp;svg.py.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;svg<br>
&gt;&gt;&gt;&nbsp;svg.getCarving()<br>
0.20000000298,&nbsp;999999999.0,&nbsp;-999999999.0,&nbsp;[8.72782748851e-17,&nbsp;None<br>
..<br>
many&nbsp;more&nbsp;lines&nbsp;of&nbsp;the&nbsp;carving<br>
..</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.xml_parser.html#XMLElement">XMLElement</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.xml_parser.html#XMLParser">XMLParser</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="XMLElement">class <strong>XMLElement</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>An&nbsp;xml&nbsp;element.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="XMLElement-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Add&nbsp;empty&nbsp;lists.</tt></dd></dl>
<dl><dt><a name="XMLElement-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;XML&nbsp;element.</tt></dd></dl>
<dl><dt><a name="XMLElement-addAttribute"><strong>addAttribute</strong></a>(self, word)</dt><dd><tt>Set&nbsp;the&nbsp;attribute&nbsp;table&nbsp;to&nbsp;the&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="XMLElement-getChildrenWithClassName"><strong>getChildrenWithClassName</strong></a>(self, className)</dt><dd><tt>Get&nbsp;the&nbsp;children&nbsp;which&nbsp;have&nbsp;the&nbsp;given&nbsp;class&nbsp;name.</tt></dd></dl>
<dl><dt><a name="XMLElement-getFirstChildWithClassName"><strong>getFirstChildWithClassName</strong></a>(self, className)</dt><dd><tt>Get&nbsp;the&nbsp;first&nbsp;child&nbsp;which&nbsp;has&nbsp;the&nbsp;given&nbsp;class&nbsp;name.</tt></dd></dl>
<dl><dt><a name="XMLElement-getSubChildWithID"><strong>getSubChildWithID</strong></a>(self, idReference)</dt><dd><tt>Get&nbsp;the&nbsp;child&nbsp;which&nbsp;has&nbsp;the&nbsp;idReference.</tt></dd></dl>
<dl><dt><a name="XMLElement-parseReplacedLine"><strong>parseReplacedLine</strong></a>(self, line, parents)</dt><dd><tt>Parse&nbsp;replaced&nbsp;line.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="XMLParser">class <strong>XMLParser</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>An&nbsp;xml&nbsp;parser.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="XMLParser-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Add&nbsp;empty&nbsp;lists.</tt></dd></dl>
<dl><dt><a name="XMLParser-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;parser.</tt></dd></dl>
<dl><dt><a name="XMLParser-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;inset&nbsp;skein.</tt></dd></dl>
<dl><dt><a name="XMLParser-parseXMLText"><strong>parseXMLText</strong></a>(self, xmlText)</dt><dd><tt>Parse&nbsp;XML&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;layers.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__credits__</strong> = 'Nophead &lt;http://hydraraptor.blogspot.com/&gt;<font color="#c040c0">\n</font>Art of Illusion &lt;http://www.artofillusion.org/&gt;'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Credits</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Nophead&nbsp;&lt;<a href="http://hydraraptor.blogspot.com/">http://hydraraptor.blogspot.com/</a>&gt;<br>
Art&nbsp;of&nbsp;Illusion&nbsp;&lt;<a href="http://www.artofillusion.org/">http://www.artofillusion.org/</a>&gt;</td></tr></table>
</body></html>

View File

@@ -0,0 +1,124 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.skeinforge_utilities.xml_simple_parser</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.<a href="skeinforge_tools.skeinforge_utilities.html"><font color="#ffffff">skeinforge_utilities</font></a>.xml_simple_parser</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/skeinforge_utilities/xml_simple_parser.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/skeinforge_utilities/xml_simple_parser.py</a></font></td></tr></table>
<p><tt>The&nbsp;svg.py&nbsp;script&nbsp;is&nbsp;an&nbsp;import&nbsp;translator&nbsp;plugin&nbsp;to&nbsp;get&nbsp;a&nbsp;carving&nbsp;from&nbsp;an&nbsp;svg&nbsp;file.<br>
&nbsp;<br>
An&nbsp;import&nbsp;plugin&nbsp;is&nbsp;a&nbsp;script&nbsp;in&nbsp;the&nbsp;import_plugins&nbsp;folder&nbsp;which&nbsp;has&nbsp;the&nbsp;function&nbsp;getCarving.&nbsp;&nbsp;It&nbsp;is&nbsp;meant&nbsp;to&nbsp;be&nbsp;run&nbsp;from&nbsp;the<br>
interpret&nbsp;tool.&nbsp;&nbsp;To&nbsp;ensure&nbsp;that&nbsp;the&nbsp;plugin&nbsp;works&nbsp;on&nbsp;platforms&nbsp;which&nbsp;do&nbsp;not&nbsp;handle&nbsp;file&nbsp;capitalization&nbsp;properly,&nbsp;give&nbsp;the&nbsp;plugin<br>
a&nbsp;lower&nbsp;case&nbsp;name.<br>
&nbsp;<br>
The&nbsp;getCarving&nbsp;function&nbsp;takes&nbsp;the&nbsp;file&nbsp;name&nbsp;of&nbsp;an&nbsp;svg&nbsp;file&nbsp;and&nbsp;returns&nbsp;the&nbsp;carving.<br>
&nbsp;<br>
This&nbsp;example&nbsp;gets&nbsp;a&nbsp;carving&nbsp;for&nbsp;the&nbsp;svg&nbsp;file&nbsp;Screw&nbsp;Holder&nbsp;Bottom.svg.&nbsp;&nbsp;This&nbsp;example&nbsp;is&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the&nbsp;folder&nbsp;which<br>
contains&nbsp;Screw&nbsp;Holder&nbsp;Bottom.svg&nbsp;and&nbsp;svg.py.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;svg<br>
&gt;&gt;&gt;&nbsp;svg.getCarving()<br>
0.20000000298,&nbsp;999999999.0,&nbsp;-999999999.0,&nbsp;[8.72782748851e-17,&nbsp;None<br>
..<br>
many&nbsp;more&nbsp;lines&nbsp;of&nbsp;the&nbsp;carving<br>
..</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.xml_simple_parser.html#XMLElement">XMLElement</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.skeinforge_utilities.xml_simple_parser.html#XMLSimpleParser">XMLSimpleParser</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="XMLElement">class <strong>XMLElement</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>An&nbsp;xml&nbsp;element.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="XMLElement-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Add&nbsp;empty&nbsp;lists.</tt></dd></dl>
<dl><dt><a name="XMLElement-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;XML&nbsp;element.</tt></dd></dl>
<dl><dt><a name="XMLElement-addAttribute"><strong>addAttribute</strong></a>(self, word)</dt><dd><tt>Set&nbsp;the&nbsp;attribute&nbsp;table&nbsp;to&nbsp;the&nbsp;split&nbsp;line.</tt></dd></dl>
<dl><dt><a name="XMLElement-getChildrenWithClassName"><strong>getChildrenWithClassName</strong></a>(self, className)</dt><dd><tt>Get&nbsp;the&nbsp;children&nbsp;which&nbsp;have&nbsp;the&nbsp;given&nbsp;class&nbsp;name.</tt></dd></dl>
<dl><dt><a name="XMLElement-getFirstChildWithClassName"><strong>getFirstChildWithClassName</strong></a>(self, className)</dt><dd><tt>Get&nbsp;the&nbsp;first&nbsp;child&nbsp;which&nbsp;has&nbsp;the&nbsp;given&nbsp;class&nbsp;name.</tt></dd></dl>
<dl><dt><a name="XMLElement-getSubChildWithID"><strong>getSubChildWithID</strong></a>(self, idReference)</dt><dd><tt>Get&nbsp;the&nbsp;child&nbsp;which&nbsp;has&nbsp;the&nbsp;idReference.</tt></dd></dl>
<dl><dt><a name="XMLElement-parseReplacedLine"><strong>parseReplacedLine</strong></a>(self, line, parents)</dt><dd><tt>Parse&nbsp;replaced&nbsp;line.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="XMLSimpleParser">class <strong>XMLSimpleParser</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;simple&nbsp;xml&nbsp;parser.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="XMLSimpleParser-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Add&nbsp;empty&nbsp;lists.</tt></dd></dl>
<dl><dt><a name="XMLSimpleParser-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;parser.</tt></dd></dl>
<dl><dt><a name="XMLSimpleParser-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;inset&nbsp;skein.</tt></dd></dl>
<dl><dt><a name="XMLSimpleParser-parseXMLText"><strong>parseXMLText</strong></a>(self, xmlText)</dt><dd><tt>Parse&nbsp;XML&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;layers.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__credits__</strong> = 'Nophead &lt;http://hydraraptor.blogspot.com/&gt;<font color="#c040c0">\n</font>Art of Illusion &lt;http://www.artofillusion.org/&gt;'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Credits</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Nophead&nbsp;&lt;<a href="http://hydraraptor.blogspot.com/">http://hydraraptor.blogspot.com/</a>&gt;<br>
Art&nbsp;of&nbsp;Illusion&nbsp;&lt;<a href="http://www.artofillusion.org/">http://www.artofillusion.org/</a>&gt;</td></tr></table>
</body></html>

View File

@@ -0,0 +1,196 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.speed</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.speed</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/speed.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/speed.py</a></font></td></tr></table>
<p><tt>Speed&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;set&nbsp;the&nbsp;feedrate,&nbsp;and&nbsp;flowrate.<br>
&nbsp;<br>
The&nbsp;default&nbsp;'Activate&nbsp;Speed'&nbsp;checkbox&nbsp;is&nbsp;on.&nbsp;&nbsp;When&nbsp;it&nbsp;is&nbsp;on,&nbsp;the&nbsp;functions&nbsp;described&nbsp;below&nbsp;will&nbsp;work,&nbsp;when&nbsp;it&nbsp;is&nbsp;off,&nbsp;the<br>
functions&nbsp;will&nbsp;not&nbsp;be&nbsp;called.&nbsp;&nbsp;The&nbsp;speed&nbsp;script&nbsp;sets&nbsp;the&nbsp;feedrate,&nbsp;and&nbsp;flowrate.&nbsp;&nbsp;To&nbsp;run&nbsp;speed,&nbsp;in&nbsp;a&nbsp;shell&nbsp;type:<br>
&gt;&nbsp;python&nbsp;speed.py<br>
&nbsp;<br>
The&nbsp;'Extrusion&nbsp;Diameter&nbsp;over&nbsp;Thickness&nbsp;is&nbsp;the&nbsp;ratio&nbsp;of&nbsp;the&nbsp;extrusion&nbsp;diameter&nbsp;over&nbsp;the&nbsp;layer&nbsp;thickness,&nbsp;the&nbsp;default&nbsp;is&nbsp;1.25.&nbsp;&nbsp;The<br>
extrusion&nbsp;fill&nbsp;density&nbsp;ratio&nbsp;that&nbsp;is&nbsp;printed&nbsp;to&nbsp;the&nbsp;console,&nbsp;(&nbsp;it&nbsp;is&nbsp;derived&nbsp;quantity&nbsp;not&nbsp;a&nbsp;parameter&nbsp;)&nbsp;is&nbsp;the&nbsp;area&nbsp;of&nbsp;the&nbsp;extrusion<br>
diameter&nbsp;over&nbsp;the&nbsp;extrusion&nbsp;width&nbsp;over&nbsp;the&nbsp;layer&nbsp;thickness.&nbsp;&nbsp;Assuming&nbsp;the&nbsp;extrusion&nbsp;diameter&nbsp;is&nbsp;correct,&nbsp;a&nbsp;high&nbsp;value&nbsp;means&nbsp;the<br>
filament&nbsp;will&nbsp;be&nbsp;packed&nbsp;tightly,&nbsp;and&nbsp;the&nbsp;object&nbsp;will&nbsp;be&nbsp;almost&nbsp;as&nbsp;dense&nbsp;as&nbsp;the&nbsp;filament.&nbsp;&nbsp;If&nbsp;the&nbsp;value&nbsp;is&nbsp;too&nbsp;high,&nbsp;there&nbsp;could&nbsp;be&nbsp;too<br>
little&nbsp;room&nbsp;for&nbsp;the&nbsp;filament,&nbsp;and&nbsp;the&nbsp;extruder&nbsp;will&nbsp;end&nbsp;up&nbsp;plowing&nbsp;through&nbsp;the&nbsp;extra&nbsp;filament.&nbsp;&nbsp;A&nbsp;low&nbsp;value&nbsp;means&nbsp;the&nbsp;filaments&nbsp;will<br>
be&nbsp;far&nbsp;away&nbsp;from&nbsp;each&nbsp;other,&nbsp;the&nbsp;object&nbsp;will&nbsp;be&nbsp;leaky&nbsp;and&nbsp;light.&nbsp;&nbsp;The&nbsp;value&nbsp;with&nbsp;the&nbsp;default&nbsp;extrusion&nbsp;preferences&nbsp;is&nbsp;around&nbsp;0.82.<br>
&nbsp;<br>
The&nbsp;feedrate&nbsp;for&nbsp;the&nbsp;shape&nbsp;will&nbsp;be&nbsp;set&nbsp;to&nbsp;the&nbsp;'Feedrate"&nbsp;preference.&nbsp;&nbsp;The&nbsp;speed&nbsp;of&nbsp;the&nbsp;orbit&nbsp;compared&nbsp;to&nbsp;the&nbsp;operating&nbsp;extruder<br>
speed&nbsp;will&nbsp;be&nbsp;set&nbsp;to&nbsp;the&nbsp;"Orbital&nbsp;Feedrate&nbsp;over&nbsp;Operating&nbsp;Feedrate"&nbsp;preference.&nbsp;&nbsp;If&nbsp;you&nbsp;want&nbsp;the&nbsp;orbit&nbsp;to&nbsp;be&nbsp;very&nbsp;short,&nbsp;set&nbsp;the<br>
"Orbital&nbsp;Feedrate&nbsp;over&nbsp;Operating&nbsp;Feedrate"&nbsp;preference&nbsp;to&nbsp;a&nbsp;low&nbsp;value&nbsp;like&nbsp;0.1.<br>
&nbsp;<br>
In&nbsp;the&nbsp;"Flowrate&nbsp;Choice"&nbsp;radio&nbsp;button&nbsp;group,&nbsp;if&nbsp;"Do&nbsp;Not&nbsp;Add&nbsp;Flowrate"&nbsp;is&nbsp;selected&nbsp;then&nbsp;speed&nbsp;will&nbsp;not&nbsp;add&nbsp;a&nbsp;flowrate&nbsp;to&nbsp;the&nbsp;gcode<br>
output.&nbsp;&nbsp;If&nbsp;"Metric"&nbsp;is&nbsp;selected,&nbsp;the&nbsp;flowrate&nbsp;in&nbsp;cubic&nbsp;millimeters&nbsp;per&nbsp;second&nbsp;will&nbsp;be&nbsp;added&nbsp;to&nbsp;the&nbsp;output.&nbsp;&nbsp;If&nbsp;"PWM&nbsp;Setting"&nbsp;is<br>
selected,&nbsp;the&nbsp;value&nbsp;in&nbsp;the&nbsp;"Flowrate&nbsp;PWM&nbsp;Setting"&nbsp;field&nbsp;will&nbsp;be&nbsp;added&nbsp;to&nbsp;the&nbsp;output.<br>
&nbsp;<br>
The&nbsp;'Perimeter&nbsp;Feedrate&nbsp;over&nbsp;Operating&nbsp;Feedrate'&nbsp;is&nbsp;the&nbsp;ratio&nbsp;of&nbsp;the&nbsp;feedrate&nbsp;of&nbsp;the&nbsp;perimeter&nbsp;over&nbsp;the&nbsp;feedrate&nbsp;of&nbsp;the&nbsp;infill.&nbsp;&nbsp;With<br>
the&nbsp;default&nbsp;of&nbsp;1.0,&nbsp;the&nbsp;perimeter&nbsp;feedrate&nbsp;will&nbsp;be&nbsp;the&nbsp;same&nbsp;as&nbsp;the&nbsp;infill&nbsp;feedrate.&nbsp;&nbsp;The&nbsp;'Perimeter&nbsp;Flowrate&nbsp;over&nbsp;Operating&nbsp;Flowrate'<br>
is&nbsp;the&nbsp;ratio&nbsp;of&nbsp;the&nbsp;flowrate&nbsp;of&nbsp;the&nbsp;perimeter&nbsp;over&nbsp;the&nbsp;flowrate&nbsp;of&nbsp;the&nbsp;infill.&nbsp;&nbsp;With&nbsp;the&nbsp;default&nbsp;of&nbsp;1.0,&nbsp;the&nbsp;perimeter&nbsp;flow&nbsp;rate&nbsp;will&nbsp;be<br>
the&nbsp;same&nbsp;as&nbsp;the&nbsp;infill&nbsp;flow&nbsp;rate.&nbsp;&nbsp;To&nbsp;have&nbsp;higher&nbsp;build&nbsp;quality&nbsp;on&nbsp;the&nbsp;outside&nbsp;at&nbsp;the&nbsp;expense&nbsp;of&nbsp;slower&nbsp;build&nbsp;speed,&nbsp;a&nbsp;typical<br>
setting&nbsp;for&nbsp;the&nbsp;'Perimeter&nbsp;Feedrate&nbsp;over&nbsp;Operating&nbsp;Feedrate'&nbsp;would&nbsp;be&nbsp;0.5.&nbsp;&nbsp;To&nbsp;go&nbsp;along&nbsp;with&nbsp;that,&nbsp;if&nbsp;you&nbsp;are&nbsp;using&nbsp;a&nbsp;speed<br>
controlled&nbsp;extruder,&nbsp;the&nbsp;'Perimeter&nbsp;Flowrate&nbsp;over&nbsp;Operating&nbsp;Flowrate'&nbsp;should&nbsp;also&nbsp;be&nbsp;0.5.&nbsp;&nbsp;If&nbsp;you&nbsp;are&nbsp;using&nbsp;Pulse&nbsp;Width&nbsp;Modulation<br>
to&nbsp;control&nbsp;the&nbsp;speed,&nbsp;then&nbsp;you'll&nbsp;probably&nbsp;need&nbsp;a&nbsp;slightly&nbsp;higher&nbsp;ratio&nbsp;because&nbsp;there&nbsp;is&nbsp;a&nbsp;minimum&nbsp;voltage&nbsp;'Flowrate&nbsp;PWM&nbsp;Setting'<br>
required&nbsp;for&nbsp;the&nbsp;extruder&nbsp;motor&nbsp;to&nbsp;turn.&nbsp;&nbsp;The&nbsp;flow&nbsp;rate&nbsp;PWM&nbsp;ratio&nbsp;would&nbsp;be&nbsp;determined&nbsp;by&nbsp;trial&nbsp;and&nbsp;error,&nbsp;with&nbsp;the&nbsp;first&nbsp;trial&nbsp;being:<br>
Perimeter&nbsp;Flowrate&nbsp;over&nbsp;Operating&nbsp;Flowrate&nbsp;~<br>
Perimeter&nbsp;Feedrate&nbsp;over&nbsp;Operating&nbsp;Feedrate&nbsp;*&nbsp;(&nbsp;Flowrate&nbsp;PWM&nbsp;Setting&nbsp;-&nbsp;Minimum&nbsp;Flowrate&nbsp;PWM&nbsp;Setting&nbsp;)<br>
+&nbsp;Minimum&nbsp;Flowrate&nbsp;PWM&nbsp;Setting<br>
&nbsp;<br>
The&nbsp;following&nbsp;examples&nbsp;speed&nbsp;the&nbsp;files&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode&nbsp;&amp;&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl.&nbsp;&nbsp;The&nbsp;examples&nbsp;are&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the<br>
folder&nbsp;which&nbsp;contains&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode,&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;and&nbsp;speed.py.&nbsp;&nbsp;The&nbsp;speed&nbsp;function&nbsp;will&nbsp;speed&nbsp;if&nbsp;"Activate<br>
Speed"&nbsp;is&nbsp;true,&nbsp;which&nbsp;can&nbsp;be&nbsp;set&nbsp;in&nbsp;the&nbsp;dialog&nbsp;or&nbsp;by&nbsp;changing&nbsp;the&nbsp;preferences&nbsp;file&nbsp;'speed.csv'&nbsp;with&nbsp;a&nbsp;text&nbsp;editor&nbsp;or&nbsp;a&nbsp;spreadsheet<br>
program&nbsp;set&nbsp;to&nbsp;separate&nbsp;tabs.&nbsp;&nbsp;The&nbsp;functions&nbsp;writeOutput&nbsp;and&nbsp;getSpeedChainGcode&nbsp;check&nbsp;to&nbsp;see&nbsp;if&nbsp;the&nbsp;text&nbsp;has&nbsp;been&nbsp;speeded,<br>
if&nbsp;not&nbsp;they&nbsp;call&nbsp;getMultiplyChainGcode&nbsp;in&nbsp;multiply.py&nbsp;to&nbsp;get&nbsp;multiplied&nbsp;gcode;&nbsp;once&nbsp;they&nbsp;have&nbsp;the&nbsp;multiplied&nbsp;text,&nbsp;then&nbsp;they<br>
speed.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;speed.py<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;dialog,&nbsp;after&nbsp;clicking&nbsp;'Speed',&nbsp;the&nbsp;following&nbsp;is&nbsp;printed:<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;speeded.<br>
The&nbsp;speeded&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_speed.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;speed<br>
&gt;&gt;&gt;&nbsp;speed.<a href="#-main">main</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;speed&nbsp;dialog.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;speed.<a href="#-writeOutput">writeOutput</a>()<br>
Screw&nbsp;Holder&nbsp;Bottom.stl<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;speeded.<br>
The&nbsp;speeded&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_speed.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;speed.<a href="#-getSpeedGcode">getSpeedGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;speed.<a href="#-getSpeedChainGcode">getSpeedChainGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="skeinforge_tools.analyze.html">skeinforge_tools.analyze</a><br>
<a href="cStringIO.html">cStringIO</a><br>
<a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="skeinforge_tools.skeinforge_utilities.intercircle.html">skeinforge_tools.skeinforge_utilities.intercircle</a><br>
<a href="skeinforge_tools.skeinforge_utilities.interpret.html">skeinforge_tools.skeinforge_utilities.interpret</a><br>
<a href="skeinforge_tools.material.html">skeinforge_tools.material</a><br>
</td><td width="25%" valign=top><a href="math.html">math</a><br>
<a href="skeinforge_tools.multiply.html">skeinforge_tools.multiply</a><br>
<a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
<a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
</td><td width="25%" valign=top><a href="sys.html">sys</a><br>
<a href="time.html">time</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.speed.html#SpeedPreferences">SpeedPreferences</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.speed.html#SpeedSkein">SpeedSkein</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="SpeedPreferences">class <strong>SpeedPreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;speed&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="SpeedPreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="SpeedPreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Speed&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="SpeedSkein">class <strong>SpeedSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;speed&nbsp;a&nbsp;skein&nbsp;of&nbsp;extrusions.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="SpeedSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="SpeedSkein-addFlowrateLine"><strong>addFlowrateLine</strong></a>(self, flowrateString)</dt><dd><tt>Add&nbsp;flowrate&nbsp;line.</tt></dd></dl>
<dl><dt><a name="SpeedSkein-addLine"><strong>addLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;of&nbsp;text&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="SpeedSkein-getFlowrateString"><strong>getFlowrateString</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;flowrate&nbsp;string.</tt></dd></dl>
<dl><dt><a name="SpeedSkein-getGcodeFromFeedrateMovement"><strong>getGcodeFromFeedrateMovement</strong></a>(self, feedrateMinute, point)</dt><dd><tt>Get&nbsp;a&nbsp;gcode&nbsp;movement.</tt></dd></dl>
<dl><dt><a name="SpeedSkein-getRounded"><strong>getRounded</strong></a>(self, number)</dt><dd><tt>Get&nbsp;number&nbsp;rounded&nbsp;to&nbsp;the&nbsp;number&nbsp;of&nbsp;carried&nbsp;decimal&nbsp;places&nbsp;as&nbsp;a&nbsp;string.</tt></dd></dl>
<dl><dt><a name="SpeedSkein-getSpeededLine"><strong>getSpeededLine</strong></a>(self, splitLine)</dt><dd><tt>Get&nbsp;elevated&nbsp;gcode&nbsp;line&nbsp;with&nbsp;operating&nbsp;feedrate.</tt></dd></dl>
<dl><dt><a name="SpeedSkein-parseGcode"><strong>parseGcode</strong></a>(self, gcodeText, speedPreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;speed&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="SpeedSkein-parseInitialization"><strong>parseInitialization</strong></a>(self)</dt><dd><tt>Parse&nbsp;gcode&nbsp;initialization&nbsp;and&nbsp;store&nbsp;the&nbsp;parameters.</tt></dd></dl>
<dl><dt><a name="SpeedSkein-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;speed&nbsp;skein.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getSpeedChainGcode"><strong>getSpeedChainGcode</strong></a>(fileName, gcodeText, speedPreferences<font color="#909090">=None</font>)</dt><dd><tt>Speed&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.&nbsp;&nbsp;Chain&nbsp;speed&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;speeded.</tt></dd></dl>
<dl><dt><a name="-getSpeedGcode"><strong>getSpeedGcode</strong></a>(gcodeText, speedPreferences<font color="#909090">=None</font>)</dt><dd><tt>Speed&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>()</dt><dd><tt>Display&nbsp;the&nbsp;speed&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Speed&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;file.&nbsp;&nbsp;Chain&nbsp;speed&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;speeded.<br>
If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;speed&nbsp;the&nbsp;first&nbsp;unmodified&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,224 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.stretch</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.stretch</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/stretch.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/stretch.py</a></font></td></tr></table>
<p><tt>Stretch&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;stretch&nbsp;the&nbsp;threads&nbsp;to&nbsp;partially&nbsp;compensate&nbsp;for&nbsp;filament&nbsp;shrinkage&nbsp;when&nbsp;extruded.<br>
&nbsp;<br>
The&nbsp;default&nbsp;'Activate&nbsp;Stretch'&nbsp;checkbox&nbsp;is&nbsp;on.&nbsp;&nbsp;When&nbsp;it&nbsp;is&nbsp;on,&nbsp;the&nbsp;functions&nbsp;described&nbsp;below&nbsp;will&nbsp;work,&nbsp;when&nbsp;it&nbsp;is&nbsp;off,&nbsp;the&nbsp;functions<br>
will&nbsp;not&nbsp;be&nbsp;called.<br>
&nbsp;<br>
The&nbsp;important&nbsp;value&nbsp;for&nbsp;the&nbsp;stretch&nbsp;preferences&nbsp;is&nbsp;"Perimeter&nbsp;Maximum&nbsp;Stretch&nbsp;Over&nbsp;Extrusion&nbsp;Width&nbsp;(ratio)"&nbsp;which&nbsp;is&nbsp;the&nbsp;ratio&nbsp;of<br>
the&nbsp;maximum&nbsp;amount&nbsp;the&nbsp;perimeter&nbsp;thread&nbsp;will&nbsp;be&nbsp;stretched&nbsp;compared&nbsp;to&nbsp;the&nbsp;extrusion&nbsp;width,&nbsp;the&nbsp;default&nbsp;is&nbsp;0.2.&nbsp;&nbsp;The&nbsp;higher&nbsp;the<br>
value&nbsp;the&nbsp;more&nbsp;it&nbsp;will&nbsp;stretch&nbsp;the&nbsp;perimeter&nbsp;and&nbsp;the&nbsp;wider&nbsp;holes&nbsp;will&nbsp;be.&nbsp;&nbsp;If&nbsp;the&nbsp;value&nbsp;is&nbsp;too&nbsp;small,&nbsp;the&nbsp;holes&nbsp;will&nbsp;have&nbsp;to&nbsp;be<br>
drilled&nbsp;out&nbsp;after&nbsp;fabrication,&nbsp;if&nbsp;the&nbsp;value&nbsp;is&nbsp;too&nbsp;high,&nbsp;the&nbsp;holes&nbsp;will&nbsp;be&nbsp;too&nbsp;wide&nbsp;and&nbsp;the&nbsp;part&nbsp;will&nbsp;have&nbsp;to&nbsp;junked,&nbsp;so&nbsp;the&nbsp;default&nbsp;is<br>
low.&nbsp;&nbsp;The&nbsp;'Maximum&nbsp;Stretch&nbsp;Over&nbsp;Extrusion&nbsp;Width'&nbsp;is&nbsp;the&nbsp;ratio&nbsp;of&nbsp;the&nbsp;maximum&nbsp;amount&nbsp;the&nbsp;infill&nbsp;threads&nbsp;will&nbsp;be&nbsp;stretched<br>
compared&nbsp;to&nbsp;the&nbsp;extrusion&nbsp;width,&nbsp;in&nbsp;general&nbsp;this&nbsp;value&nbsp;should&nbsp;be&nbsp;around&nbsp;half&nbsp;the&nbsp;Perimeter&nbsp;Maximum&nbsp;Stretch&nbsp;preference.<br>
&nbsp;<br>
In&nbsp;general,&nbsp;stretch&nbsp;will&nbsp;widen&nbsp;holes&nbsp;and&nbsp;push&nbsp;corners&nbsp;out.&nbsp;&nbsp;The&nbsp;algorithm&nbsp;works&nbsp;by&nbsp;checking&nbsp;at&nbsp;each&nbsp;turning&nbsp;point&nbsp;on&nbsp;the<br>
extrusion&nbsp;path&nbsp;what&nbsp;the&nbsp;direction&nbsp;of&nbsp;the&nbsp;thread&nbsp;is&nbsp;at&nbsp;a&nbsp;distance&nbsp;of&nbsp;"Stretch&nbsp;from&nbsp;Distance&nbsp;over&nbsp;Extrusion&nbsp;Width&nbsp;(ratio)"&nbsp;times&nbsp;the<br>
extrusion&nbsp;width,&nbsp;on&nbsp;both&nbsp;sides,&nbsp;and&nbsp;moves&nbsp;the&nbsp;thread&nbsp;in&nbsp;the&nbsp;opposite&nbsp;direction.&nbsp;&nbsp;The&nbsp;magnitude&nbsp;of&nbsp;the&nbsp;stretch&nbsp;increases&nbsp;with&nbsp;the<br>
amount&nbsp;that&nbsp;the&nbsp;direction&nbsp;of&nbsp;the&nbsp;two&nbsp;threads&nbsp;is&nbsp;similar&nbsp;and&nbsp;by&nbsp;the&nbsp;Stretch&nbsp;Over&nbsp;Extrusion&nbsp;Width&nbsp;ratio.&nbsp;&nbsp;The&nbsp;script&nbsp;then&nbsp;also<br>
stretches&nbsp;the&nbsp;thread&nbsp;at&nbsp;two&nbsp;locations&nbsp;on&nbsp;the&nbsp;path&nbsp;on&nbsp;close&nbsp;to&nbsp;the&nbsp;turning&nbsp;points.&nbsp;&nbsp;In&nbsp;practice&nbsp;the&nbsp;filament&nbsp;contraction&nbsp;will&nbsp;be<br>
similar&nbsp;but&nbsp;different&nbsp;from&nbsp;the&nbsp;algorithm,&nbsp;so&nbsp;even&nbsp;once&nbsp;the&nbsp;optimal&nbsp;parameters&nbsp;are&nbsp;determined,&nbsp;the&nbsp;stretch&nbsp;script&nbsp;will&nbsp;not&nbsp;be&nbsp;able<br>
to&nbsp;eliminate&nbsp;the&nbsp;inaccuracies&nbsp;caused&nbsp;by&nbsp;contraction,&nbsp;but&nbsp;it&nbsp;should&nbsp;reduce&nbsp;them.&nbsp;&nbsp;To&nbsp;run&nbsp;stretch,&nbsp;in&nbsp;a&nbsp;shell&nbsp;type:<br>
&gt;&nbsp;python&nbsp;stretch.py<br>
&nbsp;<br>
The&nbsp;following&nbsp;examples&nbsp;stretch&nbsp;the&nbsp;files&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode&nbsp;&amp;&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl.&nbsp;&nbsp;The&nbsp;examples&nbsp;are&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the<br>
folder&nbsp;which&nbsp;contains&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode,&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;and&nbsp;stretch.py.&nbsp;&nbsp;The&nbsp;functions&nbsp;writeOutput&nbsp;and<br>
getStretchChainGcode&nbsp;check&nbsp;to&nbsp;see&nbsp;if&nbsp;the&nbsp;text&nbsp;has&nbsp;been&nbsp;stretched,&nbsp;if&nbsp;not&nbsp;they&nbsp;call&nbsp;the&nbsp;getCoolChainGcode&nbsp;in&nbsp;cool.py&nbsp;to&nbsp;cool&nbsp;the<br>
text;&nbsp;once&nbsp;they&nbsp;have&nbsp;the&nbsp;cooled&nbsp;text,&nbsp;then&nbsp;they&nbsp;stretch.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;stretch.py&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;stretched.<br>
The&nbsp;stretched&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_stretch.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;stretch.py<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;dialog,&nbsp;after&nbsp;clicking&nbsp;'Stretch',&nbsp;the&nbsp;following&nbsp;is&nbsp;printed:<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;stretched.<br>
The&nbsp;stretched&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_stretch.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;stretch<br>
&gt;&gt;&gt;&nbsp;stretch.<a href="#-main">main</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;stretch&nbsp;dialog.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;stretch.<a href="#-writeOutput">writeOutput</a>()<br>
Screw&nbsp;Holder&nbsp;Bottom.stl<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;stretched.<br>
The&nbsp;stretched&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_stretch.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;stretch.<a href="#-getStretchGcode">getStretchGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;stretch.<a href="#-getStretchChainGcode">getStretchChainGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="skeinforge_tools.analyze.html">skeinforge_tools.analyze</a><br>
<a href="cStringIO.html">cStringIO</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.cool.html">skeinforge_tools.cool</a><br>
<a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
<a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.intercircle.html">skeinforge_tools.skeinforge_utilities.intercircle</a><br>
<a href="skeinforge_tools.skeinforge_utilities.interpret.html">skeinforge_tools.skeinforge_utilities.interpret</a><br>
<a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
<a href="sys.html">sys</a><br>
<a href="time.html">time</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.stretch.html#LineIteratorBackward">LineIteratorBackward</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.stretch.html#LineIteratorForward">LineIteratorForward</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.stretch.html#StretchPreferences">StretchPreferences</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.stretch.html#StretchSkein">StretchSkein</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="LineIteratorBackward">class <strong>LineIteratorBackward</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Backward&nbsp;line&nbsp;iterator&nbsp;class.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="LineIteratorBackward-__init__"><strong>__init__</strong></a>(self, isLoop, lineIndex, lines)</dt></dl>
<dl><dt><a name="LineIteratorBackward-getIndexBeforeNextDeactivate"><strong>getIndexBeforeNextDeactivate</strong></a>(self)</dt><dd><tt>Get&nbsp;index&nbsp;two&nbsp;lines&nbsp;before&nbsp;the&nbsp;deactivate&nbsp;command.</tt></dd></dl>
<dl><dt><a name="LineIteratorBackward-getNext"><strong>getNext</strong></a>(self)</dt><dd><tt>Get&nbsp;next&nbsp;line&nbsp;going&nbsp;backward&nbsp;or&nbsp;raise&nbsp;exception.</tt></dd></dl>
<dl><dt><a name="LineIteratorBackward-isBeforeExtrusion"><strong>isBeforeExtrusion</strong></a>(self)</dt><dd><tt>Determine&nbsp;if&nbsp;index&nbsp;is&nbsp;two&nbsp;or&nbsp;more&nbsp;before&nbsp;activate&nbsp;command.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="LineIteratorForward">class <strong>LineIteratorForward</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Forward&nbsp;line&nbsp;iterator&nbsp;class.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="LineIteratorForward-__init__"><strong>__init__</strong></a>(self, isLoop, lineIndex, lines)</dt></dl>
<dl><dt><a name="LineIteratorForward-getIndexJustAfterActivate"><strong>getIndexJustAfterActivate</strong></a>(self)</dt><dd><tt>Get&nbsp;index&nbsp;just&nbsp;after&nbsp;the&nbsp;activate&nbsp;command.</tt></dd></dl>
<dl><dt><a name="LineIteratorForward-getNext"><strong>getNext</strong></a>(self)</dt><dd><tt>Get&nbsp;next&nbsp;line&nbsp;or&nbsp;raise&nbsp;exception.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="StretchPreferences">class <strong>StretchPreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;stretch&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="StretchPreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="StretchPreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Stretch&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="StretchSkein">class <strong>StretchSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;stretch&nbsp;a&nbsp;skein&nbsp;of&nbsp;extrusions.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="StretchSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="StretchSkein-addAlongWayLine"><strong>addAlongWayLine</strong></a>(self, alongWay, location)</dt><dd><tt>Add&nbsp;stretched&nbsp;gcode&nbsp;line,&nbsp;along&nbsp;the&nbsp;way&nbsp;from&nbsp;the&nbsp;location&nbsp;to&nbsp;the&nbsp;old&nbsp;location.</tt></dd></dl>
<dl><dt><a name="StretchSkein-addLine"><strong>addLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;of&nbsp;text&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="StretchSkein-addStretchesBeforePoint"><strong>addStretchesBeforePoint</strong></a>(self, location)</dt><dd><tt>Get&nbsp;stretched&nbsp;gcode&nbsp;line.</tt></dd></dl>
<dl><dt><a name="StretchSkein-getRelativeStretch"><strong>getRelativeStretch</strong></a>(self, location, lineIndexRange)</dt><dd><tt>Get&nbsp;relative&nbsp;stretch&nbsp;for&nbsp;a&nbsp;location&nbsp;minus&nbsp;a&nbsp;point.</tt></dd></dl>
<dl><dt><a name="StretchSkein-getRounded"><strong>getRounded</strong></a>(self, number)</dt><dd><tt>Get&nbsp;number&nbsp;rounded&nbsp;to&nbsp;the&nbsp;number&nbsp;of&nbsp;carried&nbsp;decimal&nbsp;places&nbsp;as&nbsp;a&nbsp;string.</tt></dd></dl>
<dl><dt><a name="StretchSkein-getStretchedLine"><strong>getStretchedLine</strong></a>(self, splitLine)</dt><dd><tt>Get&nbsp;stretched&nbsp;gcode&nbsp;line.</tt></dd></dl>
<dl><dt><a name="StretchSkein-getStretchedLineFromIndexLocation"><strong>getStretchedLineFromIndexLocation</strong></a>(self, indexPreviousStart, indexNextStart, location)</dt><dd><tt>Get&nbsp;stretched&nbsp;gcode&nbsp;line&nbsp;from&nbsp;line&nbsp;index&nbsp;and&nbsp;location.</tt></dd></dl>
<dl><dt><a name="StretchSkein-isJustBeforeExtrusion"><strong>isJustBeforeExtrusion</strong></a>(self)</dt><dd><tt>Determine&nbsp;if&nbsp;activate&nbsp;command&nbsp;is&nbsp;before&nbsp;linear&nbsp;move&nbsp;command.</tt></dd></dl>
<dl><dt><a name="StretchSkein-parseGcode"><strong>parseGcode</strong></a>(self, gcodeText, stretchPreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;stretch&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="StretchSkein-parseInitialization"><strong>parseInitialization</strong></a>(self)</dt><dd><tt>Parse&nbsp;gcode&nbsp;initialization&nbsp;and&nbsp;store&nbsp;the&nbsp;parameters.</tt></dd></dl>
<dl><dt><a name="StretchSkein-parseStretch"><strong>parseStretch</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;stretch&nbsp;skein.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getStretchChainGcode"><strong>getStretchChainGcode</strong></a>(fileName, gcodeText, stretchPreferences<font color="#909090">=None</font>)</dt><dd><tt>Stretch&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.&nbsp;&nbsp;Chain&nbsp;stretch&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;stretched.</tt></dd></dl>
<dl><dt><a name="-getStretchGcode"><strong>getStretchGcode</strong></a>(gcodeText, stretchPreferences<font color="#909090">=None</font>)</dt><dd><tt>Stretch&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>(hashtable<font color="#909090">=None</font>)</dt><dd><tt>Display&nbsp;the&nbsp;stretch&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Stretch&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;file.&nbsp;&nbsp;Chain&nbsp;stretch&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;stretched.&nbsp;&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;stretch&nbsp;the&nbsp;first&nbsp;unmodified&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,223 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.tower</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.tower</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/tower.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/tower.py</a></font></td></tr></table>
<p><tt>Tower&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;extrude&nbsp;a&nbsp;few&nbsp;layers&nbsp;up,&nbsp;then&nbsp;go&nbsp;across&nbsp;to&nbsp;other&nbsp;regions.<br>
&nbsp;<br>
The&nbsp;default&nbsp;'Activate&nbsp;Tower'&nbsp;checkbox&nbsp;is&nbsp;off.&nbsp;&nbsp;The&nbsp;default&nbsp;is&nbsp;off&nbsp;because&nbsp;tower&nbsp;could&nbsp;result&nbsp;in&nbsp;the&nbsp;extruder&nbsp;collidiing&nbsp;with&nbsp;an<br>
already&nbsp;extruded&nbsp;part&nbsp;of&nbsp;the&nbsp;shape&nbsp;and&nbsp;because&nbsp;extruding&nbsp;in&nbsp;one&nbsp;region&nbsp;for&nbsp;more&nbsp;than&nbsp;one&nbsp;layer&nbsp;could&nbsp;result&nbsp;in&nbsp;the&nbsp;shape<br>
melting.&nbsp;&nbsp;When&nbsp;it&nbsp;is&nbsp;on,&nbsp;the&nbsp;functions&nbsp;described&nbsp;below&nbsp;will&nbsp;work,&nbsp;when&nbsp;it&nbsp;is&nbsp;off,&nbsp;the&nbsp;functions&nbsp;will&nbsp;not&nbsp;be&nbsp;called.<br>
&nbsp;<br>
This&nbsp;script&nbsp;commands&nbsp;the&nbsp;fabricator&nbsp;to&nbsp;extrude&nbsp;a&nbsp;disconnected&nbsp;region&nbsp;for&nbsp;a&nbsp;few&nbsp;layers,&nbsp;then&nbsp;go&nbsp;to&nbsp;another&nbsp;disconnected&nbsp;region<br>
and&nbsp;extrude&nbsp;there.&nbsp;&nbsp;Its&nbsp;purpose&nbsp;is&nbsp;to&nbsp;reduce&nbsp;the&nbsp;number&nbsp;of&nbsp;stringers&nbsp;between&nbsp;a&nbsp;shape&nbsp;and&nbsp;reduce&nbsp;extruder&nbsp;travel.&nbsp;&nbsp;The&nbsp;important<br>
value&nbsp;for&nbsp;the&nbsp;tower&nbsp;preferences&nbsp;is&nbsp;"Maximum&nbsp;Tower&nbsp;Height&nbsp;(layers)"&nbsp;which&nbsp;is&nbsp;the&nbsp;maximum&nbsp;number&nbsp;of&nbsp;layers&nbsp;that&nbsp;the&nbsp;extruder<br>
will&nbsp;extrude&nbsp;in&nbsp;one&nbsp;region&nbsp;before&nbsp;going&nbsp;to&nbsp;another.<br>
&nbsp;<br>
Tower&nbsp;works&nbsp;by&nbsp;looking&nbsp;for&nbsp;islands&nbsp;in&nbsp;each&nbsp;layer&nbsp;and&nbsp;if&nbsp;it&nbsp;finds&nbsp;another&nbsp;island&nbsp;in&nbsp;the&nbsp;layer&nbsp;above,&nbsp;it&nbsp;goes&nbsp;to&nbsp;the&nbsp;next&nbsp;layer&nbsp;above<br>
instead&nbsp;of&nbsp;going&nbsp;across&nbsp;to&nbsp;other&nbsp;regions&nbsp;on&nbsp;the&nbsp;original&nbsp;layer.&nbsp;&nbsp;It&nbsp;checks&nbsp;for&nbsp;collision&nbsp;with&nbsp;shapes&nbsp;already&nbsp;extruded&nbsp;within&nbsp;a&nbsp;cone<br>
from&nbsp;the&nbsp;nozzle&nbsp;tip.&nbsp;&nbsp;The&nbsp;"Extruder&nbsp;Possible&nbsp;Collision&nbsp;Cone&nbsp;Angle&nbsp;(degrees)"&nbsp;preference&nbsp;is&nbsp;the&nbsp;angle&nbsp;of&nbsp;that&nbsp;cone.&nbsp;&nbsp;Realistic<br>
values&nbsp;for&nbsp;the&nbsp;cone&nbsp;angle&nbsp;range&nbsp;between&nbsp;zero&nbsp;and&nbsp;ninety.&nbsp;&nbsp;The&nbsp;higher&nbsp;the&nbsp;angle,&nbsp;the&nbsp;less&nbsp;likely&nbsp;a&nbsp;collision&nbsp;with&nbsp;the&nbsp;rest&nbsp;of&nbsp;the<br>
shape&nbsp;is,&nbsp;generally&nbsp;the&nbsp;extruder&nbsp;will&nbsp;stay&nbsp;in&nbsp;the&nbsp;region&nbsp;for&nbsp;only&nbsp;a&nbsp;few&nbsp;layers&nbsp;before&nbsp;a&nbsp;collision&nbsp;is&nbsp;detected&nbsp;with&nbsp;the&nbsp;wide&nbsp;cone.<br>
The&nbsp;default&nbsp;angle&nbsp;is&nbsp;sixty&nbsp;degrees.<br>
&nbsp;<br>
The&nbsp;"Tower&nbsp;Start&nbsp;Layer"&nbsp;is&nbsp;the&nbsp;layer&nbsp;which&nbsp;the&nbsp;script&nbsp;starts&nbsp;extruding&nbsp;towers,&nbsp;after&nbsp;the&nbsp;last&nbsp;raft&nbsp;layer&nbsp;which&nbsp;does&nbsp;not&nbsp;have<br>
support&nbsp;material.&nbsp;&nbsp;It&nbsp;is&nbsp;best&nbsp;to&nbsp;not&nbsp;tower&nbsp;at&nbsp;least&nbsp;the&nbsp;first&nbsp;layer&nbsp;because&nbsp;the&nbsp;temperature&nbsp;of&nbsp;the&nbsp;first&nbsp;layer&nbsp;should&nbsp;sometimes&nbsp;be<br>
different&nbsp;than&nbsp;that&nbsp;of&nbsp;the&nbsp;other&nbsp;layers.&nbsp;&nbsp;The&nbsp;default&nbsp;preference&nbsp;is&nbsp;one.&nbsp;&nbsp;To&nbsp;run&nbsp;tower,&nbsp;in&nbsp;a&nbsp;shell&nbsp;type:<br>
&gt;&nbsp;python&nbsp;tower.py<br>
&nbsp;<br>
The&nbsp;following&nbsp;examples&nbsp;tower&nbsp;the&nbsp;files&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode&nbsp;&amp;&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl.&nbsp;&nbsp;The&nbsp;examples&nbsp;are&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the&nbsp;folder<br>
which&nbsp;contains&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode,&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;and&nbsp;tower.py.&nbsp;&nbsp;The&nbsp;tower&nbsp;function&nbsp;will&nbsp;tower&nbsp;if&nbsp;'Maximum&nbsp;Tower&nbsp;Layers'&nbsp;is<br>
greater&nbsp;than&nbsp;zero,&nbsp;which&nbsp;can&nbsp;be&nbsp;set&nbsp;in&nbsp;the&nbsp;dialog&nbsp;or&nbsp;by&nbsp;changing&nbsp;the&nbsp;preferences&nbsp;file&nbsp;'tower.csv'&nbsp;with&nbsp;a&nbsp;text&nbsp;editor&nbsp;or&nbsp;a&nbsp;spreadsheet<br>
program&nbsp;set&nbsp;to&nbsp;separate&nbsp;tabs.&nbsp;&nbsp;The&nbsp;functions&nbsp;writeOutput&nbsp;and&nbsp;getTowerChainGcode&nbsp;check&nbsp;to&nbsp;see&nbsp;if&nbsp;the&nbsp;text&nbsp;has&nbsp;been&nbsp;towered,<br>
if&nbsp;not&nbsp;they&nbsp;call&nbsp;the&nbsp;getRaftChainGcode&nbsp;in&nbsp;raft.py&nbsp;to&nbsp;raft&nbsp;the&nbsp;text;&nbsp;once&nbsp;they&nbsp;have&nbsp;the&nbsp;rafted&nbsp;text,&nbsp;then&nbsp;they&nbsp;tower.&nbsp;&nbsp;Pictures&nbsp;of<br>
towering&nbsp;in&nbsp;action&nbsp;are&nbsp;available&nbsp;from&nbsp;the&nbsp;Metalab&nbsp;blog&nbsp;at:<br>
<a href="http://reprap.soup.io/?search=towering">http://reprap.soup.io/?search=towering</a><br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;tower.py<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;dialog,&nbsp;after&nbsp;clicking&nbsp;'Tower',&nbsp;the&nbsp;following&nbsp;is&nbsp;printed:<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;towered.<br>
The&nbsp;towered&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_tower.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;tower<br>
&gt;&gt;&gt;&nbsp;tower.<a href="#-main">main</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;tower&nbsp;dialog.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;tower.<a href="#-writeOutput">writeOutput</a>()<br>
Screw&nbsp;Holder&nbsp;Bottom.stl<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;towered.<br>
The&nbsp;towered&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_tower.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;tower.<a href="#-getTowerGcode">getTowerGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;tower.<a href="#-getTowerChainGcode">getTowerChainGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="skeinforge_tools.analyze.html">skeinforge_tools.analyze</a><br>
<a href="cStringIO.html">cStringIO</a><br>
<a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="skeinforge_tools.skeinforge_utilities.intercircle.html">skeinforge_tools.skeinforge_utilities.intercircle</a><br>
<a href="skeinforge_tools.skeinforge_utilities.interpret.html">skeinforge_tools.skeinforge_utilities.interpret</a><br>
<a href="math.html">math</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
<a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
<a href="skeinforge_tools.raft.html">skeinforge_tools.raft</a><br>
<a href="sys.html">sys</a><br>
</td><td width="25%" valign=top><a href="time.html">time</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.tower.html#ThreadLayer">ThreadLayer</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.tower.html#TowerPreferences">TowerPreferences</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.tower.html#TowerSkein">TowerSkein</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="ThreadLayer">class <strong>ThreadLayer</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;layer&nbsp;of&nbsp;loops&nbsp;and&nbsp;paths.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="ThreadLayer-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Thread&nbsp;layer&nbsp;constructor.</tt></dd></dl>
<dl><dt><a name="ThreadLayer-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;thread&nbsp;layer.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="TowerPreferences">class <strong>TowerPreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;tower&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="TowerPreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="TowerPreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Tower&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="TowerSkein">class <strong>TowerSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;tower&nbsp;a&nbsp;skein&nbsp;of&nbsp;extrusions.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="TowerSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="TowerSkein-addEntireLayer"><strong>addEntireLayer</strong></a>(self, layerIndex)</dt><dd><tt>Add&nbsp;entire&nbsp;thread&nbsp;layer.</tt></dd></dl>
<dl><dt><a name="TowerSkein-addGcodeFromThreadZ"><strong>addGcodeFromThreadZ</strong></a>(self, thread, z)</dt><dd><tt>Add&nbsp;a&nbsp;gcode&nbsp;thread&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="TowerSkein-addGcodeMovementZ"><strong>addGcodeMovementZ</strong></a>(self, point, z)</dt><dd><tt>Add&nbsp;a&nbsp;movement&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="TowerSkein-addIfTravel"><strong>addIfTravel</strong></a>(self, splitLine)</dt><dd><tt>Add&nbsp;travel&nbsp;move&nbsp;around&nbsp;loops&nbsp;if&nbsp;this&nbsp;the&nbsp;extruder&nbsp;is&nbsp;off.</tt></dd></dl>
<dl><dt><a name="TowerSkein-addIslandLayer"><strong>addIslandLayer</strong></a>(self, threadLayer)</dt><dd><tt>Add&nbsp;a&nbsp;layer&nbsp;of&nbsp;surrounding&nbsp;islands.</tt></dd></dl>
<dl><dt><a name="TowerSkein-addLayerLinesIfDifferent"><strong>addLayerLinesIfDifferent</strong></a>(self, layerIndex)</dt><dd><tt>Add&nbsp;gcode&nbsp;lines&nbsp;for&nbsp;the&nbsp;layer&nbsp;if&nbsp;it&nbsp;is&nbsp;different&nbsp;than&nbsp;the&nbsp;old&nbsp;bottom&nbsp;layer&nbsp;index.</tt></dd></dl>
<dl><dt><a name="TowerSkein-addLine"><strong>addLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;of&nbsp;text&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="TowerSkein-addShutdownToOutput"><strong>addShutdownToOutput</strong></a>(self)</dt><dd><tt>Add&nbsp;shutdown&nbsp;gcode&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="TowerSkein-addToExtrusion"><strong>addToExtrusion</strong></a>(self, location)</dt><dd><tt>Add&nbsp;a&nbsp;location&nbsp;to&nbsp;the&nbsp;thread.</tt></dd></dl>
<dl><dt><a name="TowerSkein-addTowers"><strong>addTowers</strong></a>(self)</dt><dd><tt>Add&nbsp;towers.</tt></dd></dl>
<dl><dt><a name="TowerSkein-climbTower"><strong>climbTower</strong></a>(self, removedIsland)</dt><dd><tt>Climb&nbsp;up&nbsp;the&nbsp;island&nbsp;to&nbsp;any&nbsp;islands&nbsp;directly&nbsp;above.</tt></dd></dl>
<dl><dt><a name="TowerSkein-getBottomLayerIndex"><strong>getBottomLayerIndex</strong></a>(self)</dt><dd><tt>Get&nbsp;the&nbsp;index&nbsp;of&nbsp;the&nbsp;first&nbsp;island&nbsp;layer&nbsp;which&nbsp;has&nbsp;islands.</tt></dd></dl>
<dl><dt><a name="TowerSkein-getRounded"><strong>getRounded</strong></a>(self, number)</dt><dd><tt>Get&nbsp;number&nbsp;rounded&nbsp;to&nbsp;the&nbsp;number&nbsp;of&nbsp;carried&nbsp;decimal&nbsp;places&nbsp;as&nbsp;a&nbsp;string.</tt></dd></dl>
<dl><dt><a name="TowerSkein-isInsideRemovedOutsideCone"><strong>isInsideRemovedOutsideCone</strong></a>(self, island, removedBoundingLoop, untilLayerIndex)</dt><dd><tt>Determine&nbsp;if&nbsp;the&nbsp;island&nbsp;is&nbsp;entirely&nbsp;inside&nbsp;the&nbsp;removed&nbsp;bounding&nbsp;loop&nbsp;and&nbsp;outside&nbsp;the&nbsp;collision&nbsp;cone&nbsp;of&nbsp;the&nbsp;remaining&nbsp;islands.</tt></dd></dl>
<dl><dt><a name="TowerSkein-linearMove"><strong>linearMove</strong></a>(self, splitLine)</dt><dd><tt>Add&nbsp;a&nbsp;linear&nbsp;move&nbsp;to&nbsp;the&nbsp;loop.</tt></dd></dl>
<dl><dt><a name="TowerSkein-parseGcode"><strong>parseGcode</strong></a>(self, gcodeText, towerPreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;tower&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="TowerSkein-parseInitialization"><strong>parseInitialization</strong></a>(self)</dt><dd><tt>Parse&nbsp;gcode&nbsp;initialization&nbsp;and&nbsp;store&nbsp;the&nbsp;parameters.</tt></dd></dl>
<dl><dt><a name="TowerSkein-parseLine"><strong>parseLine</strong></a>(self, lineIndex)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line.</tt></dd></dl>
<dl><dt><a name="TowerSkein-parseUntilOperatingLayer"><strong>parseUntilOperatingLayer</strong></a>(self)</dt><dd><tt>Parse&nbsp;gcode&nbsp;until&nbsp;the&nbsp;operating&nbsp;layer&nbsp;if&nbsp;there&nbsp;is&nbsp;one.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getTowerChainGcode"><strong>getTowerChainGcode</strong></a>(fileName, gcodeText, towerPreferences<font color="#909090">=None</font>)</dt><dd><tt>Tower&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.&nbsp;&nbsp;Chain&nbsp;tower&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;towered.</tt></dd></dl>
<dl><dt><a name="-getTowerGcode"><strong>getTowerGcode</strong></a>(gcodeText, towerPreferences<font color="#909090">=None</font>)</dt><dd><tt>Tower&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>(hashtable<font color="#909090">=None</font>)</dt><dd><tt>Display&nbsp;the&nbsp;tower&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-transferFillLoops"><strong>transferFillLoops</strong></a>(fillLoops, surroundingLoop)</dt><dd><tt>Transfer&nbsp;fill&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-transferFillLoopsToSurroundingLoops"><strong>transferFillLoopsToSurroundingLoops</strong></a>(fillLoops, surroundingLoops)</dt><dd><tt>Transfer&nbsp;fill&nbsp;loops&nbsp;to&nbsp;surrounding&nbsp;loops.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Tower&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;file.&nbsp;&nbsp;Chain&nbsp;tower&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;towered.<br>
If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;tower&nbsp;the&nbsp;first&nbsp;unmodified&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,158 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.unpause</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.unpause</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/unpause.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/unpause.py</a></font></td></tr></table>
<p><tt>Unpause&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;speed&nbsp;up&nbsp;a&nbsp;line&nbsp;segment&nbsp;to&nbsp;compensate&nbsp;for&nbsp;the&nbsp;delay&nbsp;of&nbsp;the&nbsp;microprocessor.<br>
&nbsp;<br>
The&nbsp;default&nbsp;'Activate&nbsp;Unpause'&nbsp;checkbox&nbsp;is&nbsp;on.&nbsp;&nbsp;When&nbsp;it&nbsp;is&nbsp;on,&nbsp;the&nbsp;functions&nbsp;described&nbsp;below&nbsp;will&nbsp;work,&nbsp;when&nbsp;it&nbsp;is&nbsp;off,&nbsp;the&nbsp;functions<br>
will&nbsp;not&nbsp;be&nbsp;called.<br>
&nbsp;<br>
The&nbsp;unpause&nbsp;script&nbsp;is&nbsp;based&nbsp;on&nbsp;the&nbsp;Shane&nbsp;Hathaway's&nbsp;patch&nbsp;to&nbsp;speed&nbsp;up&nbsp;a&nbsp;line&nbsp;segment&nbsp;to&nbsp;compensate&nbsp;for&nbsp;the&nbsp;delay&nbsp;of&nbsp;the<br>
microprocessor.&nbsp;&nbsp;The&nbsp;description&nbsp;is&nbsp;at:<br>
<a href="http://shane.willowrise.com/archives/delay-compensation-in-firmware/">http://shane.willowrise.com/archives/delay-compensation-in-firmware/</a><br>
&nbsp;<br>
The&nbsp;"Delay&nbsp;(milliseconds)"&nbsp;preference&nbsp;is&nbsp;the&nbsp;delay&nbsp;on&nbsp;the&nbsp;microprocessor&nbsp;that&nbsp;will&nbsp;be&nbsp;at&nbsp;least&nbsp;partially&nbsp;compensated&nbsp;for.&nbsp;&nbsp;The<br>
default&nbsp;is&nbsp;28&nbsp;milliseconds,&nbsp;which&nbsp;Shane&nbsp;found&nbsp;for&nbsp;the&nbsp;Arduino.&nbsp;&nbsp;The&nbsp;"Maximum&nbsp;Speed"&nbsp;ratio&nbsp;is&nbsp;the&nbsp;maximum&nbsp;amount&nbsp;that&nbsp;the<br>
feedrate&nbsp;will&nbsp;be&nbsp;sped&nbsp;up&nbsp;to,&nbsp;compared&nbsp;to&nbsp;the&nbsp;original&nbsp;feedrate,&nbsp;the&nbsp;default&nbsp;is&nbsp;1.5.<br>
&nbsp;<br>
To&nbsp;run&nbsp;unpause,&nbsp;in&nbsp;a&nbsp;shell&nbsp;type:<br>
&gt;&nbsp;python&nbsp;unpause.py<br>
&nbsp;<br>
The&nbsp;following&nbsp;examples&nbsp;unpause&nbsp;the&nbsp;files&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl.&nbsp;&nbsp;The&nbsp;examples&nbsp;are&nbsp;run&nbsp;in&nbsp;a&nbsp;terminal&nbsp;in&nbsp;the&nbsp;folder&nbsp;which&nbsp;contains<br>
Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;&amp;&nbsp;unpause.py.&nbsp;&nbsp;The&nbsp;function&nbsp;writeOutput&nbsp;checks&nbsp;to&nbsp;see&nbsp;if&nbsp;the&nbsp;text&nbsp;has&nbsp;been&nbsp;unpaused,&nbsp;if&nbsp;not&nbsp;they&nbsp;call<br>
getFilletChainGcode&nbsp;in&nbsp;fillet.py&nbsp;to&nbsp;fillet&nbsp;the&nbsp;text;&nbsp;once&nbsp;they&nbsp;have&nbsp;the&nbsp;filleted&nbsp;text,&nbsp;then&nbsp;it&nbsp;unpauses.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;unpause.py<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;dialog,&nbsp;after&nbsp;clicking&nbsp;'Unpause',&nbsp;the&nbsp;following&nbsp;is&nbsp;printed:<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;unpaused.<br>
The&nbsp;unpaused&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_unpause.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;unpause<br>
&gt;&gt;&gt;&nbsp;unpause.<a href="#-main">main</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;unpause&nbsp;dialog.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;unpause.<a href="#-writeOutput">writeOutput</a>()<br>
Screw&nbsp;Holder&nbsp;Bottom.stl<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;unpaused.<br>
The&nbsp;unpaused&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_unpause.gcode<br>
&nbsp;<br>
The&nbsp;equation&nbsp;to&nbsp;set&nbsp;the&nbsp;feedrate&nbsp;is&nbsp;from&nbsp;Shane&nbsp;Hathaway's&nbsp;description&nbsp;at:<br>
<a href="http://shane.willowrise.com/archives/delay-compensation-in-firmware/">http://shane.willowrise.com/archives/delay-compensation-in-firmware/</a></tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="skeinforge_tools.analyze.html">skeinforge_tools.analyze</a><br>
<a href="cStringIO.html">cStringIO</a><br>
<a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.fillet.html">skeinforge_tools.fillet</a><br>
<a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="skeinforge_tools.skeinforge_utilities.intercircle.html">skeinforge_tools.skeinforge_utilities.intercircle</a><br>
<a href="skeinforge_tools.skeinforge_utilities.interpret.html">skeinforge_tools.skeinforge_utilities.interpret</a><br>
</td><td width="25%" valign=top><a href="os.html">os</a><br>
<a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
<a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
<a href="sys.html">sys</a><br>
</td><td width="25%" valign=top><a href="time.html">time</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.unpause.html#UnpausePreferences">UnpausePreferences</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.unpause.html#UnpauseSkein">UnpauseSkein</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="UnpausePreferences">class <strong>UnpausePreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;unpause&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="UnpausePreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="UnpausePreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Unpause&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="UnpauseSkein">class <strong>UnpauseSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;unpause&nbsp;a&nbsp;skein&nbsp;of&nbsp;extrusions.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="UnpauseSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="UnpauseSkein-addLine"><strong>addLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;of&nbsp;text&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="UnpauseSkein-getLinearMoveWithFeedrate"><strong>getLinearMoveWithFeedrate</strong></a>(self, feedrate, location)</dt><dd><tt>Get&nbsp;a&nbsp;linear&nbsp;move&nbsp;line&nbsp;with&nbsp;the&nbsp;feedrate.</tt></dd></dl>
<dl><dt><a name="UnpauseSkein-getRounded"><strong>getRounded</strong></a>(self, number)</dt><dd><tt>Get&nbsp;number&nbsp;rounded&nbsp;to&nbsp;the&nbsp;number&nbsp;of&nbsp;carried&nbsp;decimal&nbsp;places&nbsp;as&nbsp;a&nbsp;string.</tt></dd></dl>
<dl><dt><a name="UnpauseSkein-getUnpausedFeedrateMinute"><strong>getUnpausedFeedrateMinute</strong></a>(self, location, splitLine)</dt><dd><tt>Get&nbsp;the&nbsp;feedrate&nbsp;which&nbsp;will&nbsp;compensate&nbsp;for&nbsp;the&nbsp;pause.</tt></dd></dl>
<dl><dt><a name="UnpauseSkein-getUnpausedLine"><strong>getUnpausedLine</strong></a>(self, splitLine)</dt><dd><tt>Bevel&nbsp;a&nbsp;linear&nbsp;move.</tt></dd></dl>
<dl><dt><a name="UnpauseSkein-parseGcode"><strong>parseGcode</strong></a>(self, unpausePreferences, gcodeText)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;unpause&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="UnpauseSkein-parseInitialization"><strong>parseInitialization</strong></a>(self)</dt><dd><tt>Parse&nbsp;gcode&nbsp;initialization&nbsp;and&nbsp;store&nbsp;the&nbsp;parameters.</tt></dd></dl>
<dl><dt><a name="UnpauseSkein-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getSelectedPlugin"><strong>getSelectedPlugin</strong></a>(unpausePreferences)</dt><dd><tt>Get&nbsp;the&nbsp;selected&nbsp;plugin.</tt></dd></dl>
<dl><dt><a name="-getUnpauseChainGcode"><strong>getUnpauseChainGcode</strong></a>(fileName, gcodeText, unpausePreferences<font color="#909090">=None</font>)</dt><dd><tt>Unpause&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.&nbsp;&nbsp;Chain&nbsp;unpause&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;unpaused.</tt></dd></dl>
<dl><dt><a name="-getUnpauseGcode"><strong>getUnpauseGcode</strong></a>(gcodeText, unpausePreferences<font color="#909090">=None</font>)</dt><dd><tt>Unpause&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>(hashtable<font color="#909090">=None</font>)</dt><dd><tt>Display&nbsp;the&nbsp;unpause&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Unpause&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;file.&nbsp;&nbsp;Chain&nbsp;unpause&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;unpaused.&nbsp;&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;unpause&nbsp;the&nbsp;first&nbsp;unmodified&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,181 @@
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module skeinforge_tools.wipe</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="skeinforge_tools.html"><font color="#ffffff">skeinforge_tools</font></a>.wipe</strong></big></big> ($Date: 2008/21/04 $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/wipe.py">/home/enrique/Desktop/backup/babbleold/script/reprap/pyRepRap/skeinforge_tools/wipe.py</a></font></td></tr></table>
<p><tt>Wipe&nbsp;is&nbsp;a&nbsp;script&nbsp;to&nbsp;wipe&nbsp;the&nbsp;nozzle.<br>
&nbsp;<br>
At&nbsp;the&nbsp;beginning&nbsp;of&nbsp;a&nbsp;layer,&nbsp;depending&nbsp;on&nbsp;the&nbsp;preferences,&nbsp;wipe&nbsp;will&nbsp;move&nbsp;the&nbsp;nozzle&nbsp;with&nbsp;the&nbsp;extruder&nbsp;off&nbsp;to&nbsp;the&nbsp;arrival&nbsp;point,<br>
then&nbsp;to&nbsp;the&nbsp;wipe&nbsp;point,&nbsp;then&nbsp;to&nbsp;the&nbsp;departure&nbsp;point,&nbsp;then&nbsp;back&nbsp;to&nbsp;the&nbsp;layer.<br>
&nbsp;<br>
The&nbsp;default&nbsp;'Activate&nbsp;Wipe'&nbsp;checkbox&nbsp;is&nbsp;on.&nbsp;&nbsp;When&nbsp;it&nbsp;is&nbsp;on,&nbsp;the&nbsp;functions&nbsp;described&nbsp;below&nbsp;will&nbsp;work,&nbsp;when&nbsp;it&nbsp;is&nbsp;off,&nbsp;the&nbsp;functions<br>
will&nbsp;not&nbsp;be&nbsp;called.<br>
&nbsp;<br>
The&nbsp;"Location&nbsp;Arrival&nbsp;X"&nbsp;preference,&nbsp;is&nbsp;the&nbsp;x&nbsp;coordinate&nbsp;of&nbsp;the&nbsp;arrival&nbsp;location.&nbsp;&nbsp;The&nbsp;"Location&nbsp;Arrival&nbsp;Y"&nbsp;and&nbsp;"Location&nbsp;Arrival&nbsp;Z"<br>
preferences&nbsp;are&nbsp;the&nbsp;y&nbsp;&amp;&nbsp;z&nbsp;coordinates&nbsp;of&nbsp;the&nbsp;location.&nbsp;&nbsp;The&nbsp;equivalent&nbsp;"Location&nbsp;Wipe.."&nbsp;and&nbsp;"Location&nbsp;Departure.."&nbsp;preferences<br>
are&nbsp;for&nbsp;the&nbsp;wipe&nbsp;and&nbsp;departure&nbsp;locations.<br>
&nbsp;<br>
The&nbsp;"Wipe&nbsp;Period&nbsp;(layers)"&nbsp;preference&nbsp;is&nbsp;the&nbsp;number&nbsp;of&nbsp;layers&nbsp;between&nbsp;wipes.&nbsp;&nbsp;Wipe&nbsp;will&nbsp;always&nbsp;wipe&nbsp;just&nbsp;before&nbsp;the&nbsp;first&nbsp;layer,<br>
afterwards&nbsp;it&nbsp;will&nbsp;wipe&nbsp;every&nbsp;"Wipe&nbsp;Period"&nbsp;layers.&nbsp;&nbsp;With&nbsp;the&nbsp;default&nbsp;of&nbsp;three,&nbsp;wipe&nbsp;will&nbsp;wipe&nbsp;just&nbsp;before&nbsp;the&nbsp;zeroth&nbsp;layer,&nbsp;the<br>
third&nbsp;layer,&nbsp;sixth&nbsp;layer&nbsp;and&nbsp;so&nbsp;on.<br>
&nbsp;<br>
To&nbsp;run&nbsp;wipe,&nbsp;in&nbsp;a&nbsp;shell&nbsp;which&nbsp;wipe&nbsp;is&nbsp;in&nbsp;type:<br>
&gt;&nbsp;python&nbsp;wipe.py<br>
&nbsp;<br>
The&nbsp;following&nbsp;examples&nbsp;wipes&nbsp;the&nbsp;files&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode&nbsp;&amp;&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl.&nbsp;&nbsp;The&nbsp;examples&nbsp;are&nbsp;run&nbsp;in&nbsp;a<br>
terminal&nbsp;in&nbsp;the&nbsp;folder&nbsp;which&nbsp;contains&nbsp;Screw&nbsp;Holder&nbsp;Bottom.gcode,&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;and&nbsp;wipe.py.&nbsp;&nbsp;The&nbsp;wipe&nbsp;function<br>
will&nbsp;wipe&nbsp;if&nbsp;the&nbsp;'Activate&nbsp;Wipe'&nbsp;checkbox&nbsp;is&nbsp;on.&nbsp;&nbsp;The&nbsp;functions&nbsp;writeOutput&nbsp;and&nbsp;getWipeChainGcode&nbsp;check&nbsp;to&nbsp;see&nbsp;if&nbsp;the&nbsp;text<br>
has&nbsp;been&nbsp;wiped,&nbsp;if&nbsp;not&nbsp;they&nbsp;call&nbsp;the&nbsp;getHopChainGcode&nbsp;in&nbsp;hop.py&nbsp;to&nbsp;hop&nbsp;the&nbsp;text;&nbsp;once&nbsp;they&nbsp;have&nbsp;the&nbsp;hopped&nbsp;text,&nbsp;then&nbsp;they<br>
wipe.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;wipe.py<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;dialog,&nbsp;after&nbsp;clicking&nbsp;'Wipe',&nbsp;the&nbsp;following&nbsp;is&nbsp;printed:<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;wiped.<br>
The&nbsp;wiped&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_wipe.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python&nbsp;wipe.py&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;wiped.<br>
The&nbsp;wiped&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_wipe.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&nbsp;python<br>
Python&nbsp;2.5.1&nbsp;(r251:54863,&nbsp;Sep&nbsp;22&nbsp;2007,&nbsp;01:43:31)<br>
[GCC&nbsp;4.2.1&nbsp;(SUSE&nbsp;Linux)]&nbsp;on&nbsp;linux2<br>
Type&nbsp;"help",&nbsp;"copyright",&nbsp;"credits"&nbsp;or&nbsp;"license"&nbsp;for&nbsp;more&nbsp;information.<br>
&gt;&gt;&gt;&nbsp;import&nbsp;wipe<br>
&gt;&gt;&gt;&nbsp;wipe.<a href="#-main">main</a>()<br>
This&nbsp;brings&nbsp;up&nbsp;the&nbsp;wipe&nbsp;dialog.<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;wipe.<a href="#-writeOutput">writeOutput</a>()<br>
File&nbsp;Screw&nbsp;Holder&nbsp;Bottom.stl&nbsp;is&nbsp;being&nbsp;chain&nbsp;wiped.<br>
The&nbsp;wiped&nbsp;file&nbsp;is&nbsp;saved&nbsp;as&nbsp;Screw&nbsp;Holder&nbsp;Bottom_wipe.gcode<br>
&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;wipe.<a href="#-getWipeGcode">getWipeGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")<br>
Many&nbsp;line&nbsp;of&nbsp;wiped&nbsp;gcode.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;wipe.<a href="#-getWipeChainGcode">getWipeChainGcode</a>("<br>
(&nbsp;GCode&nbsp;generated&nbsp;by&nbsp;May&nbsp;8,&nbsp;2008&nbsp;carve.py&nbsp;)<br>
(&nbsp;Extruder&nbsp;Initialization&nbsp;)<br>
..<br>
many&nbsp;lines&nbsp;of&nbsp;gcode<br>
..<br>
")<br>
Many&nbsp;line&nbsp;of&nbsp;wiped&nbsp;gcode.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br>
<a href="skeinforge_tools.analyze.html">skeinforge_tools.analyze</a><br>
<a href="cStringIO.html">cStringIO</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.euclidean.html">skeinforge_tools.skeinforge_utilities.euclidean</a><br>
<a href="skeinforge_tools.skeinforge_utilities.gcodec.html">skeinforge_tools.skeinforge_utilities.gcodec</a><br>
<a href="skeinforge_tools.hop.html">skeinforge_tools.hop</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.interpret.html">skeinforge_tools.skeinforge_utilities.interpret</a><br>
<a href="math.html">math</a><br>
<a href="skeinforge_tools.polyfile.html">skeinforge_tools.polyfile</a><br>
</td><td width="25%" valign=top><a href="skeinforge_tools.skeinforge_utilities.preferences.html">skeinforge_tools.skeinforge_utilities.preferences</a><br>
<a href="sys.html">sys</a><br>
<a href="time.html">time</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="skeinforge_tools.wipe.html#WipePreferences">WipePreferences</a>
</font></dt><dt><font face="helvetica, arial"><a href="skeinforge_tools.wipe.html#WipeSkein">WipeSkein</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="WipePreferences">class <strong>WipePreferences</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;handle&nbsp;the&nbsp;wipe&nbsp;preferences.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="WipePreferences-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Set&nbsp;the&nbsp;default&nbsp;preferences,&nbsp;execute&nbsp;title&nbsp;&amp;&nbsp;preferences&nbsp;fileName.</tt></dd></dl>
<dl><dt><a name="WipePreferences-execute"><strong>execute</strong></a>(self)</dt><dd><tt>Wipe&nbsp;button&nbsp;has&nbsp;been&nbsp;clicked.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="WipeSkein">class <strong>WipeSkein</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;to&nbsp;wipe&nbsp;a&nbsp;skein&nbsp;of&nbsp;extrusions.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="WipeSkein-__init__"><strong>__init__</strong></a>(self)</dt></dl>
<dl><dt><a name="WipeSkein-addHop"><strong>addHop</strong></a>(self, begin, end)</dt><dd><tt>Add&nbsp;hop&nbsp;to&nbsp;highest&nbsp;point.</tt></dd></dl>
<dl><dt><a name="WipeSkein-addLine"><strong>addLine</strong></a>(self, line)</dt><dd><tt>Add&nbsp;a&nbsp;line&nbsp;of&nbsp;text&nbsp;and&nbsp;a&nbsp;newline&nbsp;to&nbsp;the&nbsp;output.</tt></dd></dl>
<dl><dt><a name="WipeSkein-addWipeTravel"><strong>addWipeTravel</strong></a>(self, splitLine)</dt><dd><tt>Add&nbsp;the&nbsp;wipe&nbsp;travel&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="WipeSkein-getLinearMoveWithFeedrate"><strong>getLinearMoveWithFeedrate</strong></a>(self, feedrate, location)</dt><dd><tt>Get&nbsp;a&nbsp;linear&nbsp;move&nbsp;line&nbsp;with&nbsp;the&nbsp;feedrate.</tt></dd></dl>
<dl><dt><a name="WipeSkein-getRounded"><strong>getRounded</strong></a>(self, number)</dt><dd><tt>Get&nbsp;number&nbsp;rounded&nbsp;to&nbsp;the&nbsp;number&nbsp;of&nbsp;carried&nbsp;decimal&nbsp;places&nbsp;as&nbsp;a&nbsp;string.</tt></dd></dl>
<dl><dt><a name="WipeSkein-parseGcode"><strong>parseGcode</strong></a>(self, gcodeText, wipePreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;text&nbsp;and&nbsp;store&nbsp;the&nbsp;wipe&nbsp;gcode.</tt></dd></dl>
<dl><dt><a name="WipeSkein-parseInitialization"><strong>parseInitialization</strong></a>(self, wipePreferences)</dt><dd><tt>Parse&nbsp;gcode&nbsp;initialization&nbsp;and&nbsp;store&nbsp;the&nbsp;parameters.</tt></dd></dl>
<dl><dt><a name="WipeSkein-parseLine"><strong>parseLine</strong></a>(self, line)</dt><dd><tt>Parse&nbsp;a&nbsp;gcode&nbsp;line&nbsp;and&nbsp;add&nbsp;it&nbsp;to&nbsp;the&nbsp;bevel&nbsp;gcode.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-getWipeChainGcode"><strong>getWipeChainGcode</strong></a>(fileName, gcodeText, wipePreferences<font color="#909090">=None</font>)</dt><dd><tt>Wipe&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.&nbsp;&nbsp;Chain&nbsp;wipe&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;wiped.</tt></dd></dl>
<dl><dt><a name="-getWipeGcode"><strong>getWipeGcode</strong></a>(gcodeText, wipePreferences<font color="#909090">=None</font>)</dt><dd><tt>Wipe&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;text.</tt></dd></dl>
<dl><dt><a name="-main"><strong>main</strong></a>(hashtable<font color="#909090">=None</font>)</dt><dd><tt>Display&nbsp;the&nbsp;wipe&nbsp;dialog.</tt></dd></dl>
<dl><dt><a name="-writeOutput"><strong>writeOutput</strong></a>(fileName<font color="#909090">=''</font>)</dt><dd><tt>Wipe&nbsp;a&nbsp;gcode&nbsp;linear&nbsp;move&nbsp;file.&nbsp;&nbsp;Chain&nbsp;wipe&nbsp;the&nbsp;gcode&nbsp;if&nbsp;it&nbsp;is&nbsp;not&nbsp;already&nbsp;wiped.&nbsp;If&nbsp;no&nbsp;fileName&nbsp;is&nbsp;specified,&nbsp;wipe&nbsp;the&nbsp;first&nbsp;unmodified&nbsp;gcode&nbsp;file&nbsp;in&nbsp;this&nbsp;folder.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br>
<strong>__date__</strong> = '$Date: 2008/21/04 $'<br>
<strong>__license__</strong> = 'GPL 3.0'<br>
<strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Enrique&nbsp;Perez&nbsp;(perez_enrique@yahoo.com)</td></tr></table>
</body></html>

View File

@@ -0,0 +1,3 @@
Format is tab separated preferences.
Open File to be Analyzed
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Open File to be Analyzed
3 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,32 @@
Format is tab separated preferences.
Activate Behold False
Band Height (layers): 5
Bottom Band Brightness (ratio): 0.7
Bottom Layer Brightness (ratio): 1.0
From the Bottom False
From the Top True
Draw Arrows True
Open File to Behold
Go Around Extruder Off Travel False
Layers From (index): 0
Layers To (index): 999999
Number of Fill Bottom Layers (integer): 1
Number of Fill Top Layers (integer): 1
Pixels over Extrusion Width (ratio): 10.0
Screen Horizontal Inset (pixels): 100
Screen Vertical Inset (pixels): 50
Viewpoint Latitude (degrees): 45.0
Viewpoint Longitude (degrees): 210.0
Width of Extrusion Thread (pixels): 1
Width of Fill Bottom Thread (pixels): 3
Width of Fill Top Thread (pixels): 3
Width of Loop Thread (pixels): 3
Width of Perimeter Inside Thread (pixels): 4
Width of Perimeter Outside Thread (pixels): 4
Width of Raft Thread (pixels): 1
Width of Travel Thread (pixels): 0
Width of X Axis (pixels): 5
Width of Y Axis (pixels): 5
Width of Z Axis (pixels): 5
windowPositionBehold Dynamic Preferences 0+0
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Activate Behold False
3 Band Height (layers): 5
4 Bottom Band Brightness (ratio): 0.7
5 Bottom Layer Brightness (ratio): 1.0
6 From the Bottom False
7 From the Top True
8 Draw Arrows True
9 Open File to Behold
10 Go Around Extruder Off Travel False
11 Layers From (index): 0
12 Layers To (index): 999999
13 Number of Fill Bottom Layers (integer): 1
14 Number of Fill Top Layers (integer): 1
15 Pixels over Extrusion Width (ratio): 10.0
16 Screen Horizontal Inset (pixels): 100
17 Screen Vertical Inset (pixels): 50
18 Viewpoint Latitude (degrees): 45.0
19 Viewpoint Longitude (degrees): 210.0
20 Width of Extrusion Thread (pixels): 1
21 Width of Fill Bottom Thread (pixels): 3
22 Width of Fill Top Thread (pixels): 3
23 Width of Loop Thread (pixels): 3
24 Width of Perimeter Inside Thread (pixels): 4
25 Width of Perimeter Outside Thread (pixels): 4
26 Width of Raft Thread (pixels): 1
27 Width of Travel Thread (pixels): 0
28 Width of X Axis (pixels): 5
29 Width of Y Axis (pixels): 5
30 Width of Z Axis (pixels): 5
31 windowPositionBehold Dynamic Preferences 0+0
32 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,12 @@
Format is tab separated preferences.
Extrusion Width over Thickness (ratio): 1.45
Open File to be Carved
Import Coarseness (ratio): 1.0
Correct Mesh True
Unproven Mesh False
Infill Bridge Thickness over Layer Thickness (ratio): 1.0
Infill Bridge Width over Extrusion Width (ratio): 1.0
Infill in Direction of Bridges True
Layer Thickness (mm): 0.36
Layer Thickness over Precision (ratio): 10.0
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Extrusion Width over Thickness (ratio): 1.45
3 Open File to be Carved
4 Import Coarseness (ratio): 1.0
5 Correct Mesh True
6 Unproven Mesh False
7 Infill Bridge Thickness over Layer Thickness (ratio): 1.0
8 Infill Bridge Width over Extrusion Width (ratio): 1.0
9 Infill in Direction of Bridges True
10 Layer Thickness (mm): 0.36
11 Layer Thickness over Precision (ratio): 10.0
12 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,5 @@
Format is tab separated preferences.
Activate Clip True
Clip Over Extrusion Width (ratio): 0.18
Open File to be Clipped
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Activate Clip True
3 Clip Over Extrusion Width (ratio): 0.18
4 Open File to be Clipped
5 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,7 @@
Format is tab separated preferences.
Activate Comb True
Arrival Inset Follow Distance over Extrusion Width (ratio): 3.0
Jitter Over Extrusion Width (ratio): 10.0
Minimum Perimeter Departure Distance over Extrusion Width (ratio): 5.0
Open File to be Combed
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Activate Comb True
3 Arrival Inset Follow Distance over Extrusion Width (ratio): 3.0
4 Jitter Over Extrusion Width (ratio): 10.0
5 Minimum Perimeter Departure Distance over Extrusion Width (ratio): 5.0
6 Open File to be Combed
7 windowPositionBehold Preferences 0+0

View File

@@ -0,0 +1,4 @@
Format is tab separated preferences.
Activate Comment False
Open File to Write Comments for
windowPositionBehold Preferences 0+0
1 Format is tab separated preferences.
2 Activate Comment False
3 Open File to Write Comments for
4 windowPositionBehold Preferences 0+0

Some files were not shown because too many files have changed in this diff Show More