Ejemplo n.º 1
0
Archivo: dxf.py Proyecto: itrevex/adds
 def addDimEntity(self, dim):
     '''
     add dimesion
     '''
     if SHOW_DIMENSIONS:
         layer = self.getLayer(dim.layer)
         Messages.d("dxf.py", dim.points, dim.starting_point, dim.angle)
         dimline = LinearDimension(dim.starting_point,
                                   dim.points,
                                   dim.angle,
                                   layer=layer)
         dimline.render(self.msp)
Ejemplo n.º 2
0
    def getBeams(self):
        beams = {}
        i = 0
        while i < len(self.app_data):
            store = False
            if re.search("^BEAMS", self.app_data[i], re.IGNORECASE):
                self.app_data.pop(i)
                store = True
                beam_name = None
                beam_depth = None
                spans = {}
                supports = {}
                grid_labels = {}
                span_index = 0
                while store:
                    if re.search("^\\bEND BEAMS\\b", self.app_data[i],
                                 re.IGNORECASE):
                        self.app_data.pop(i)
                        store = False  #break out of inner loop
                        return beams
                    elif re.search("^END BEAM", self.app_data[i],
                                   re.IGNORECASE):
                        #store data and reset parameters

                        if beam_name in beams.keys():
                            error_msg = MessageCodes.ERROR_UNIQUE_PARAM_NAME
                            error_msg.setMsg(
                                error_msg.msg %
                                ("BEAM-%s" % beam_name,
                                 "BEAMS \n\n%s" % self.app_data[i]))
                            Messages.showError(error_msg)

                        beams[beam_name] = Beam(beam_depth, spans, supports,
                                                grid_labels, beam_name)
                        #reset data at the end of each beam
                        beam_name = None
                        beam_depth = None
                        spans = {}
                        supports = {}
                        grid_labels = {}
                        span_index = 0
                        self.app_data.pop(i)
                    elif re.search("^\\bBEAM\\b", self.app_data[i],
                                   re.IGNORECASE):
                        #store beams first
                        beam = list(filter(None, self.app_data[i].split(" ")))
                        beam_name = beam[1]
                        beam_depth = beam[2]
                        self.app_data.pop(i)
                    elif re.search("^\\bSPAN\\b", self.app_data[i],
                                   re.IGNORECASE):
                        span = list(filter(None, self.app_data[i].split(" ")))
                        span_name = span[1]

                        if span_name in spans.keys():
                            error_msg = MessageCodes.ERROR_UNIQUE_PARAM_NAME
                            error_msg.setMsg(error_msg.msg %
                                             ("SPAN-%s" % span_name,
                                              "BEAM-%s SPANS \n\n%s" %
                                              (beam_name, self.app_data[i])))
                            Messages.showError(error_msg)

                        spans[span_name] = Span(span_name, span, beam_name,
                                                span_index)
                        span_index += 1
                        self.app_data.pop(i)
                    elif re.search("^\\bSUPPORT\\b", self.app_data[i],
                                   re.IGNORECASE):
                        support = list(
                            filter(None, self.app_data[i].split(" ")))
                        support_name = support[1]

                        if support_name in supports.keys():
                            error_msg = MessageCodes.ERROR_UNIQUE_PARAM_NAME
                            error_msg.setMsg(error_msg.msg %
                                             ("SUPPORT-%s" % support_name,
                                              "BEAM-%s SUPPORTS \n\n%s" %
                                              (beam_name, self.app_data[i])))
                            Messages.showError(error_msg)

                        supports[support_name] = support[2]
                        try:
                            grid_labels[support_name] = support[3]
                        except IndexError:
                            grid_labels[support_name] = ""
                        self.app_data.pop(i)
                    else:
                        self.app_data.pop(i)
            i += 1
        Messages.d("Total Beams", len(beams))
        return beams
Ejemplo n.º 3
0
 def test_d(self):
     with mock.patch('builtins.print') as fake_print, \
         mock.patch.object(Messages, 'showLineNumber') as fake_showLineNumer:
         Messages.d()
         assert fake_print.call_count == 2
         fake_showLineNumer.assert_called()