summaryrefslogtreecommitdiffstats
path: root/share/extensions
diff options
context:
space:
mode:
authorSebastian Wüst <sebi@timewaster.de>2013-11-17 19:12:57 +0000
committerSebastian Wüst <sebi@timewaster.de>2013-11-17 19:12:57 +0000
commite958fe298a23189c77a57146e7c22179d826efe8 (patch)
tree18d7ecd358e0f40d12921d430b3453ac325dea45 /share/extensions
parentfix typo in rev 12797 (diff)
downloadinkscape-e958fe298a23189c77a57146e7c22179d826efe8.tar.gz
inkscape-e958fe298a23189c77a57146e7c22179d826efe8.zip
changed unit calculation to regard doc unit
(bzr r12817)
Diffstat (limited to 'share/extensions')
-rw-r--r--share/extensions/hpgl_encoder.py20
1 files changed, 11 insertions, 9 deletions
diff --git a/share/extensions/hpgl_encoder.py b/share/extensions/hpgl_encoder.py
index b4191e7c0..e053751b9 100644
--- a/share/extensions/hpgl_encoder.py
+++ b/share/extensions/hpgl_encoder.py
@@ -62,13 +62,15 @@ class hpglEncoder:
self.sizeY = 'False'
self.dryRun = True
self.lastPoint = [0, 0, 0]
- self.scaleX = self.options.resolutionX / 90 # inch to pixels
- self.scaleY = self.options.resolutionY / 90 # inch to pixels
- self.options.offsetX = self.options.offsetX * 3.5433070866 * self.scaleX # mm to dots (plotter coordinate system)
- self.options.offsetY = self.options.offsetY * 3.5433070866 * self.scaleY # mm to dots
- self.options.overcut = self.options.overcut * 3.5433070866 * ((self.scaleX + self.scaleY) / 2) # mm to dots
- self.options.toolOffset = self.options.toolOffset * 3.5433070866 * ((self.scaleX + self.scaleY) / 2) # mm to dots
- self.options.flat = ((self.options.resolutionX + self.options.resolutionY) / 2) * self.options.flat / 1000 # scale flatness to resolution
+ self.scaleX = self.options.resolutionX / effect.uuconv['in'] * effect.uuconv[effect.getDocumentUnit()] # inch to document unit
+ self.scaleY = self.options.resolutionY / effect.uuconv['in'] * effect.uuconv[effect.getDocumentUnit()] # inch to document unit
+ mmToDocUnit = effect.uuconv['mm'] / effect.uuconv[effect.getDocumentUnit()]
+ self.options.offsetX = self.options.offsetX * mmToDocUnit * self.scaleX # mm to dots (plotter coordinate system)
+ self.options.offsetY = self.options.offsetY * mmToDocUnit * self.scaleY # mm to dots
+ scaleXY = (self.scaleX + self.scaleY) / 2
+ self.options.overcut = self.options.overcut * mmToDocUnit * scaleXY # mm to dots
+ self.options.toolOffset = self.options.toolOffset * mmToDocUnit * scaleXY # mm to dots
+ self.options.flat = self.options.flat / (1016 / ((self.options.resolutionX + self.options.resolutionY) / 2)) # scale flatness to resolution
self.toolOffsetFlat = self.options.flat / self.options.toolOffset * 4.5 # scale flatness to offset
self.mirrorX = 1.0
if self.options.mirrorX:
@@ -83,8 +85,8 @@ class hpglEncoder:
if viewBox:
viewBox = string.split(viewBox, ' ')
if viewBox[2] and viewBox[3]:
- self.viewBoxTransformX = float(effect.unittouu(self.doc.get('width'))) / float(viewBox[2])
- self.viewBoxTransformY = float(effect.unittouu(self.doc.get('height'))) / float(viewBox[3])
+ self.viewBoxTransformX = effect.unittouu(self.doc.get('width')) / effect.unittouu(viewBox[2])
+ self.viewBoxTransformY = effect.unittouu(self.doc.get('height')) / effect.unittouu(viewBox[3])
def getHpgl(self):
# dryRun to find edges