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))
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
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
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