コード例 #1
0
    def test_coord_xform_b(self):
        origin = array([0., 0., 0.])
        zaxis = array([0., 0., 1.])
        xzplane = array([1., 0., 0.])
        cid0 = CORD2R(cid=0, rid=0, origin=origin, zaxis=zaxis, xzplane=xzplane)

        Lx = 2.
        Ly = 3.
        Lz = 5.
        Fy = 1.5
        origin = array([-Lx, -Ly, -Lz])
        z_axis = origin + array([0., 0., 1.])
        xz_plane = origin + array([1., 0., 1.])
        rid = 0
        data = [1, rid] + list(origin) + list(z_axis) + list(xz_plane)

        fxyz = [0., -Fy, 0.]
        mxyz = [0., 0., 0.]
        cid_new = CORD2R.add_op2_data(data=data)
        model = None

        fxyz_local, mxyz_local = TransformLoadWRT(fxyz, mxyz, cid0, cid_new,
                                                  model)
        r = array([Lx, Ly, Lz])
        F = array([0., -Fy, 0.])
        M = cross(r, F)
        self.assertTrue(array_equal(fxyz_local, F), 'expected=%s actual=%s' % (F, fxyz_local))
        self.assertTrue(array_equal(mxyz_local, M), 'expected=%s actual=%s' % (M, mxyz_local))
コード例 #2
0
ファイル: geom1.py プロジェクト: watkinrt/pyNastran
 def _read_cord2r(self, data, n):
     """
     (2101,21,8) - the marker for Record 5
     """
     nentries = (len(data) - n) // 52
     for i in range(nentries):
         edata = data[n:n + 52]  # 13*4
         (cid, one, two, rid, a1, a2, a3, b1, b2, b3, c1,
          c2, c3) = unpack(b(self._endian + '4i9f'), edata)
         assert one == 1, one
         assert two == 2, two
         data_in = [cid, rid, a1, a2, a3, b1, b2, b3, c1, c2, c3]
         #print("cid=%s rid=%s a1=%s a2=%s a3=%s b1=%s b2=%s b3=%s c1=%s c2=%s c3=%s" %(cid,rid,a1,a2,a3,b1,b2,b3,c1,c2,c3))
         if self.is_debug_file:
             self.binary_debug.write('  CORD2R=%s\n' % data_in)
         coord = CORD2R.add_op2_data(data_in)
         self.add_coord(coord, allow_overwrites=True)
         n += 52
     self._increase_card_count('CORD2R', nentries)
     return n
コード例 #3
0
ファイル: geom1.py プロジェクト: charlyDevor/pyNastran
 def _read_cord2r(self, data, n):
     """
     (2101,21,8) - the marker for Record 5
     """
     nentries = (len(data) - n) // 52
     for i in range(nentries):
         edata = data[n:n + 52]  # 13*4
         (cid, one, two, rid, a1, a2, a3, b1, b2, b3, c1, c2,
          c3) = unpack(b(self._endian + '4i9f'), edata)
         assert one == 1, one
         assert two == 2, two
         data_in = [cid, rid, a1, a2, a3, b1, b2, b3, c1, c2, c3]
         #print("cid=%s rid=%s a1=%s a2=%s a3=%s b1=%s b2=%s b3=%s c1=%s c2=%s c3=%s" %
         #(cid, rid, a1, a2, a3, b1, b2, b3, c1, c2, c3))
         if self.is_debug_file:
             self.binary_debug.write('  CORD2R=%s\n' % data_in)
         coord = CORD2R.add_op2_data(data_in)
         self._add_coord_object(coord, allow_overwrites=True)
         n += 52
     self._increase_card_count('CORD2R', nentries)
     return n
コード例 #4
0
 def _read_cord2r(self, data, n):
     """
     (2101,21,8) - the marker for Record 5
     """
     ntotal = 52 * self.factor # 13*4
     s = Struct(mapfmt(self._endian + b'4i9f', self.size))
     nentries = (len(data) - n) // ntotal
     for unused_i in range(nentries):
         edata = data[n:n + ntotal]
         (cid, one, two, rid, a1, a2, a3, b1, b2, b3, c1,
          c2, c3) = s.unpack(edata)
         assert one == 1, one
         assert two == 2, two
         data_in = [cid, rid, a1, a2, a3, b1, b2, b3, c1, c2, c3]
         #print("cid=%s rid=%s a1=%s a2=%s a3=%s b1=%s b2=%s b3=%s c1=%s c2=%s c3=%s" %
               #(cid, rid, a1, a2, a3, b1, b2, b3, c1, c2, c3))
         if self.is_debug_file:
             self.binary_debug.write('  CORD2R=%s\n' % data_in)
         coord = CORD2R.add_op2_data(data_in)
         self._add_coord_object(coord, allow_overwrites=False)
         n += ntotal
     self.increase_card_count('CORD2R', nentries)
     return n