python读取i3dm数据(Python reads i3dm data)

path = r'D:\data\1.i3dm'f = open(path, 'rb')f.seek(4)print('version:%d' % struct.unpack('I', f.read(4)))print('byteLength:%d' % struct.unpack('I', f.read(4)))print('featureTableJsonByteLength:%d' % struct.unpack('I', f.read(4)))print('featureTableBinaryByteLength:%d' % struct.unpack('I', f.read(4)))print('batchTableJsonByteLength:%d' % struct.unpack('I', f.read(4)))print('batchTableBinaryByteLength:%d' % struct.unpack('I', f.read(4)))print('gltfFormat:%d' % struct.unpack('I', f.read(4)))f.seek(32)print(f.read(104).decode(encoding = "utf-8"))print('pos x:%f' % struct.unpack('f', f.read(4)))print('pos y:%f' % struct.unpack('f', f.read(4)))print('pos z:%f' % struct.unpack('f', f.read(4)))print('scale:%f' % struct.unpack('f', f.read(4))) f.close()
————————
path = r'D:\data\1.i3dm'f = open(path, 'rb')f.seek(4)print('version:%d' % struct.unpack('I', f.read(4)))print('byteLength:%d' % struct.unpack('I', f.read(4)))print('featureTableJsonByteLength:%d' % struct.unpack('I', f.read(4)))print('featureTableBinaryByteLength:%d' % struct.unpack('I', f.read(4)))print('batchTableJsonByteLength:%d' % struct.unpack('I', f.read(4)))print('batchTableBinaryByteLength:%d' % struct.unpack('I', f.read(4)))print('gltfFormat:%d' % struct.unpack('I', f.read(4)))f.seek(32)print(f.read(104).decode(encoding = "utf-8"))print('pos x:%f' % struct.unpack('f', f.read(4)))print('pos y:%f' % struct.unpack('f', f.read(4)))print('pos z:%f' % struct.unpack('f', f.read(4)))print('scale:%f' % struct.unpack('f', f.read(4))) f.close()