コード例 #1
0
 def to_inch(self):
     if self._units == 'metric':
         self._units = 'inch'
         self.pitch = inch(self.pitch)
         self.error_range = inch(self.error_range)
         for statement in self.statements:
             statement.to_inch()
         for path in self.paths:
             path.to_inch()
コード例 #2
0
 def to_inch(self):
     if self._units == 'metric':
         self._units = 'inch'
         self.pitch = inch(self.pitch)
         self.width = inch(self.width)
         self.error_range = inch(self.error_range)
         for path in self.open_paths:
             path.to_inch()
         for path in self.close_paths:
             path.to_inch()
コード例 #3
0
 def __init__(self, statements, units, dcode=10, draw_mode=None):
     if draw_mode == None:
         draw_mode = DxfFile.DM_LINE
     self._units = units
     self.dcode = dcode
     self.draw_mode = draw_mode
     self.pitch = inch(1) if self._units == 'inch' else 1
     self.width = 0
     self.error_range = inch(
         ACCEPTABLE_ERROR) if self._units == 'inch' else ACCEPTABLE_ERROR
     self.statements = statements
     self.paths = generate_closed_paths(self.statements, self.error_range)
コード例 #4
0
 def to_inch(self):
     for node in self.nodes:
         node.position = tuple(map(inch, node.position))
         node.radius = inch(
             node.radius) if node.radius is not None else None
         if node.center_offset is not None:
             node.center_offset = tuple(map(inch, node.center_offset))
コード例 #5
0
 def to_inch(self):
     if self.units == 'metric':
         self.header.to_inch()
         self.aperture.to_inch()
         self.statements.to_inch()
         self.pitch = inch(self.pitch)
         self.units = 'inch'
コード例 #6
0
 def test_to_inch(self):
     o = self.c1_exp.to_inch().optimize()
     self.assertEqual(o.value, inch(self.c1))
     o = self.v1_exp.to_inch().optimize()
     self.assertTrue(isinstance(o, AMOperatorExpression))
     self.assertEqual(o.op, Op.DIV)
     o = self.op_exp.to_inch().optimize()
     self.assertTrue(isinstance(o, AMOperatorExpression))
     self.assertEqual(o.op, Op.DIV)
コード例 #7
0
 def to_inch(self):
     if self.units == 'inch':
         return
     self.units = 'inch'
     if self.shape in self.GEOMETRIES:
         indices = self.GEOMETRIES[self.shape]
         self.modifiers = [tuple([
             inch(self.modifiers[0][i]) if i in indices else self.modifiers[0][i] \
                 for i in range(len(self.modifiers[0]))
         ])]
コード例 #8
0
 def __init__(self, statements, units, dcode=10, draw_mode=None, fill_mode=None):
     if draw_mode is None:
         draw_mode = DxfFile.DM_LINE
     if fill_mode is None:
         fill_mode = DxfFile.FM_TURN_OVER
     self._units = units
     self.dcode = dcode
     self.draw_mode = draw_mode
     self.fill_mode = fill_mode
     self.pitch = inch(1) if self._units == 'inch' else 1
     self.width = 0
     self.error_range = inch(ACCEPTABLE_ERROR) if self._units == 'inch' else ACCEPTABLE_ERROR
     self.statements = list(filter(
         lambda i: not (isinstance(i, DxfLineStatement) and \
                       is_equal_point(i.start, i.end, self.error_range)),
         statements
     ))
     self.close_paths, self.open_paths = generate_paths(self.statements, self.error_range)
     self.sorted_close_paths = []
     self.polarity = True # True means dark, False means clear
コード例 #9
0
 def to_inch(self):
     self.error_range = inch(self.error_range)
コード例 #10
0
 def to_inch(self):
     self.start = (inch(self.start[0]), inch(self.start[1]))
     self.end = (inch(self.end[0]), inch(self.end[1]))
コード例 #11
0
 def to_inch(self):
     self.start = (inch(self.start[0]), inch(self.start[1]))
     self.end = (inch(self.end[0]), inch(self.end[1]))
     for idx in range(0, len(self.entity.points)):
         self.entity.points[idx] = (inch(self.entity.points[idx][0]),
                                    inch(self.entity.points[idx][1]))
コード例 #12
0
 def to_inch(self):
     self.radius = inch(self.radius)
     self.center = (inch(self.center[0]), inch(self.center[1]))
     self.start = (inch(self.start[0]), inch(self.start[1]))
     self.end = (inch(self.end[0]), inch(self.end[1]))
コード例 #13
0
 def to_inch(self):
     self.radius = inch(self.radius)
     self.center = (inch(self.center[0]), inch(self.center[1]))
コード例 #14
0
 def test_rectangle_inch(self):
     outfile = os.path.join(
         self.OUTDIR, self.OUTPREFIX + 'rectangle_inch.gtl')
     dxf = gerberex.DxfFile.rectangle(width=inch(10), height=inch(10), units='inch')
     dxf.write(outfile)
     self._checkResult(outfile)
コード例 #15
0
 def to_inch(self):
     self.error_range = inch(self.error_range)
     for statement in self.statements:
         statement.to_inch()
コード例 #16
0
 def to_inch(self):
     if self.units == 'metric':
         super(ExcellonFileEx, self).to_inch()
         for hit in self.hits:
             hit.position = (inch(hit.position[0]), inch(hit.position[1]))