Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

UserDevtec/Revit-RFA-File-Extractor

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Revit-RFA-File-Extractor

Extracts and decodes metadata from Revit .rfa files, including the BasicFileInfo.bin content.

Thanks to: PeterHirn - phi-ag/rvt-app

Sample output:

File: racbasicsamplefamily\BasicFileInfo.bin
Size: 2305 bytes

=== UTF-16 BE decoded (ASCII-ish) ===
$ 00000000-0000-0000-0000-000000000000 ENU Autodesk Revit
 orksharing: Not enabled
Username:
Central Model Path:
Format: 2020
Build: 20190207_1515(x64)
Last Save Path: C:\Users\hansonje\OneDrive - autodesk\FY-2020 Projects\Revit - 142304 Update Files for 2020\2019 Files\rac_basic_sample_family.rfa
Open Workset Default: 3
Project Spark File: 0
Central Model Identity: 00000000-0000-0000-0000-000000000000
Locale when saved: ENU
All Local Changes Saved To Central: 0
Central model's version number corresponding to the last reload latest: 64
Central model's episode GUID corresponding to the last reload latest: c749ca88-5442-46eb-a706-04db158b688e
Unique Document GUID: c749ca88-5442-46eb-a706-04db158b688e
Unique Document Increments: 64
Model Identity: 00000000-0000-0000-0000-000000000000
IsSingleUserCloudModel: F
Author: Autodesk Revit

=== UTF-16 LE decoded (ASCII-ish) ===
2020 20190207_1515(x64) C:\Users\hansonje\OneDrive - autodesk\FY-2020 Projects\Revit - 142304 Update Files for 2020\2019 Files\rac_basic_sample_family.rfa @ $ c749ca88-5442-46eb-a706-04db158b688e$ c749ca88-5442-46eb-a706-04db158b688e 64$ 00000000-0000-0000-0000-000000000000

=== Parsed Key/Value fields ===
  all_local_changes_saved_to_central: 0
  author: Autodesk Revit
  build: 20190207_1515(x64)
  central_model_identity: 00000000-0000-0000-0000-000000000000
  central_model_path:
  central_model_s_episode_guid_corresponding_to_the_last_reload_latest: c749ca88-5442-46eb-a706-04db158b688e
  central_model_s_version_number_corresponding_to_the_last_reload_latest: 64
  format: 2020
  issingleusercloudmodel: F
  last_save_path: C:\Users\hansonje\OneDrive - autodesk\FY-2020 Projects\Revit - 142304 Update Files for 2020\2019 Files\rac_basic_sample_family.rfa
  locale_when_saved: ENU
  model_identity: 00000000-0000-0000-0000-000000000000
  open_workset_default: 3
  project_spark_file: 0
  unique_document_guid: c749ca88-5442-46eb-a706-04db158b688e
  unique_document_increments: 64
  username:
  worksharing: Not enabled

=== Remaining 'garbage' / unparsed lines ===
  $ 00000000-0000-0000-0000-000000000000 ENU Autodesk Revit
File: racbasicsamplefamily\Contents.bin
Size: 291 bytes

=== Header hexdump (first 0x40 bytes) ===
0000  62 19 22 05 1A 00 00 00 01 00 00 00 02 00 00 00   b.".............
0010  69 64 02 00 00 00 08 00 00 00 01 00 01 00 01 00   id..............
0020  01 00 02 00 02 00 04 00 04 00 04 00 04 00 04 00   ................
0030  04 00 08 00 08 00 08 00 08 00 0A 00 00 00 00 00   ................

=== Header as 32-bit little endian integers ===
  offset 0x0000: 86120802
  offset 0x0004: 26
  offset 0x0008: 1
  offset 0x000C: 2
  offset 0x0010: 156777
  offset 0x0014: 524288
  offset 0x0018: 65536
  offset 0x001C: 65537
  offset 0x0020: 131073
  offset 0x0024: 262146
  offset 0x0028: 262148
  offset 0x002C: 262148
  offset 0x0030: 524292
  offset 0x0034: 524296
  offset 0x0038: 655368
  offset 0x003C: 0

=== Gzip segment found ===
  start offset:      92 (0x005C)
  end offset:        243 (0x00F3)
  compressed size:   151 bytes
  decompressed size: 252 bytes

Decompressed data saved as: racbasicsamplefamily\Contents_decompressed.bin

=== Decompressed hex (first 0x80 bytes) ===
0000  6E 04 01 00 00 00 0C 00 00 00 44 00 61 00 76 00   n.........D.a.v.
0010  69 00 64 00 20 00 43 00 6F 00 6E 00 61 00 6E 00   i.d. .C.o.n.a.n.
0020  74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   t...............
0030  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0040  00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00   ................
0050  00 00 2D 34 29 35 1E E5 D4 11 92 D8 00 00 86 3F   ..-4)5.........?
0060  27 AD 00 00 00 00 00 00 00 12 00 00 00 32 00 30   '............2.0
0070  00 31 00 39 00 30 00 32 00 30 00 37 00 5F 00 31   .1.9.0.2.0.7._.1

=== UTF-16-LE strings (all alignments) ===
  David Conant
  20190207_1515(x64)

=== ASCII strings from decompressed bytes ===
  -4)5

=== Decoded metadata from Contents ===
  author_candidate: David Conant
  build_candidate:  20190207_1515(x64)
File: racbasicsamplefamily\Formats_Latest.bin
Size: 142865 bytes

Header hexdump (first 128 bytes):
00000000: 1F 8B 08 00 00 00 00 00 00 0B 8C BA 05 50 55 FD  .............PU.
00000010: 16 3E 0C 4A 0B 88 92 82 B4 4A 0A 48 87 C8 E9 3E  .>.J.....J.H...>
00000020: 1C BA BB 4B 3A 04 E9 EE EE EE EE EE 94 12 91 06  ...K:...........
00000030: E9 10 44 11 09 05 51 24 3E BD EF 7D EF 7D BF FB  ..D...Q$>..}.}..
00000040: CD FF 9B FF 9E D9 33 67 AF 78 D6 F3 5B EB 59 7B  ......3g.x..[.Y{
00000050: E6 9C 39 78 78 14 78 40 11 05 43 47 67 77 20 F2  ..9xx.x@..CGgw .
00000060: B9 A1 B9 29 85 2F DE 7F 4D 38 23 2B 53 63 67 BC  ...)./..M8#+Scg.
00000070: FF 9F EB F6 DF A1 CA 50 F0 5F F9 FF 13 40 F9 8F  .......P._...@..

Decompressed size: 440627 bytes

Decompressed hexdump (first 128 bytes):
00000000: 00 00 0D 00 41 33 50 61 72 74 79 41 49 6D 61 67  ....A3PartyAImag
00000010: 65 0D 80 00 00 0D 00 41 33 50 61 72 74 79 4F 62  e......A3PartyOb
00000020: 6A 65 63 74 00 00 00 00 00 00 00 00 00 00 00 00  ject............
00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000040: 0F 00 41 33 50 61 72 74 79 53 45 43 49 6D 61 67  ..A3PartySECImag
00000050: 65 0D 00 00 00 00 00 00 00 00 00 00 00 00 00 00  e...............
00000060: 00 0E 00 41 33 50 61 72 74 79 53 45 43 4A 70 65  ...A3PartySECJpe
00000070: 67 0D 00 00 00 00 00 00 00 00 00 00 00 00 00 00  g...............

Length-prefixed ASCII (u16 length) with offsets:
  0x000002: A3PartyAImage
  0x000015: A3PartyObject
  0x000040: A3PartySECImage
  0x000061: A3PartySECJpeg
  0x000081: ACDPtrWrapper
  0x0000AE: ADTGridImportVocabulary
  0x0000CB: ImportVocabulary
  0x000101: std::pair< ElementId, int >
  0x000139: ElementId
  0x00015E: Identifier
  0x0001B4: std::pair< ElementId, double >
  0x000219: std::pair< ElementId, AString >
  0x00027F: std::pair< ElementId, ElementId >
  0x00030F: ADTGridTextLocation
  0x00035C: ADocWarnings
  0x00036E: AppInfo
  0x0003B8: ADocument
  0x000510: DevBranchInfo
  0x0005BA: GUIDvalue
  0x000601: AStringWrapper
  0x004A2B: APIAppInfo
  0x004A59: std::pair< AddInId, AString >
  0x004A93: AddInId
  0x004AD3: APIEventHandlerStatus
  0x004B30: APIVSTAMacroElem
  0x004B46: Element
File: racbasicsamplefamily\Global_ContentDocuments.bin
Size: 82 bytes

=== Header hexdump (first 0x50 bytes) ===
0000  01 00 00 00 00 00 00 00 1F 8B 08 00 00 00 00 00   ................
0010  00 0B E2 66 66 00 82 FF 40 00 A2 01 00 00 00 FF   ...ff...@.......
0020  FF 02 08 30 00 72 0E 94 B9 0E 00 00 00 00 00 00   ...0.r..........
0030  4C B2 30 63 66 06 20 00 30 D4 42 98 01 90 73 50   L.0cf. .0.B...sP
0040  33 9B 02 B8 9A 39 67 A0 C6 74 8E 79 33 33 00 C1   3....9g..t.y33..

=== Header as 32-bit little endian integers ===
  offset 0x0000: 1
  offset 0x0004: 0
  offset 0x0008: 559903
  offset 0x000C: 0
  offset 0x0010: 1726089984
  offset 0x0014: 4286709862
  offset 0x0018: 27394112
  offset 0x001C: 4278190080
  offset 0x0020: 805831423
  offset 0x0024: 2483974656
  offset 0x0028: 3769
  offset 0x002C: 0
  offset 0x0030: 1664135756
  offset 0x0034: 2098790
  offset 0x0038: 2554516528
  offset 0x003C: 1349750785

=== Header as 16-bit little endian integers ===
  offset 0x0000: 1
  offset 0x0002: 0
  offset 0x0004: 0
  offset 0x0006: 0
  offset 0x0008: 35615
  offset 0x000A: 8
  offset 0x000C: 0
  offset 0x000E: 0
  offset 0x0010: 2816
  offset 0x0012: 26338
  offset 0x0014: 102
  offset 0x0016: 65410
  offset 0x0018: 64
  offset 0x001A: 418
  offset 0x001C: 0
  offset 0x001E: 65280
  offset 0x0020: 767
  offset 0x0022: 12296
  offset 0x0024: 29184
  offset 0x0026: 37902
  offset 0x0028: 3769
  offset 0x002A: 0
  offset 0x002C: 0
  offset 0x002E: 0
  offset 0x0030: 45644
  offset 0x0032: 25392
  offset 0x0034: 1638
  offset 0x0036: 32
  offset 0x0038: 54320
  offset 0x003A: 38978
  offset 0x003C: 36865
  offset 0x003E: 20595

=== Gzip segment found ===
  start offset:      8 (0x0008)
  end offset:        48 (0x0030)
  compressed size:   40 bytes
  decompressed size: 14 bytes
File: racbasicsamplefamily\Global_DocumentIncrementTable.bin
Size: 1650 bytes

=== Header hexdump (first 0x80 bytes) ===
0000  01 00 00 00 00 00 00 00 1F 8B 08 00 00 00 00 00   ................
0010  00 0B EC 99 5D 4C 5C 45 14 C7 67 61 77 F9 5C 28   ....]L\\E..gaw.\\(
0020  6D A1 5A 48 40 B4 82 45 6D A1 D4 96 42 71 F9 92   m.ZH@..Em...Bq..
0030  6E B0 A9 95 6A 11 2B DF 74 97 76 81 16 16 04 6A   n...j.+.t.v....j
0040  B7 C5 DA 36 FA 60 8D 26 3E A9 89 C6 8F C4 F8 52   ...6.`.&>......R
0050  35 7D D1 F4 C1 9A F6 09 BF 52 4D 8A B1 26 FA A0   5}.......RM..&..
0060  89 DA D6 37 13 35 78 CE EC CC DE 73 A7 7B 81 C2   ...7.5x....s.{..
0070  EE 4D 4C 66 C8 7F 99 D9 73 F6 FC 66 EE 9D 3B 3B   .MLf....s..f..;;

=== Header as 32-bit little endian integers ===
  offset 0x0000: 1
  offset 0x0004: 0
  offset 0x0008: 559903
  offset 0x000C: 0
  offset 0x0010: 2582383360
  offset 0x0014: 1163676765
  offset 0x0018: 1634191124
  offset 0x001C: 677181815
  offset 0x0020: 1213899117
  offset 0x0024: 1166193728
  offset 0x0028: 2530517357
  offset 0x002C: 2465820994
  offset 0x0030: 2510925934
  offset 0x0034: 3744141674
  offset 0x0038: 2172032884
  offset 0x003C: 1778652694

=== Header as 16-bit little endian integers ===
  offset 0x0000: 1
  offset 0x0002: 0
  offset 0x0004: 0
  offset 0x0006: 0
  offset 0x0008: 35615
  offset 0x000A: 8
  offset 0x000C: 0
  offset 0x000E: 0
  offset 0x0010: 2816
  offset 0x0012: 39404
  offset 0x0014: 19549
  offset 0x0016: 17756
  offset 0x0018: 50964
  offset 0x001A: 24935
  offset 0x001C: 63863
  offset 0x001E: 10332
  offset 0x0020: 41325
  offset 0x0022: 18522
  offset 0x0024: 46144
  offset 0x0026: 17794
  offset 0x0028: 41325
  offset 0x002A: 38612
  offset 0x002C: 28994
  offset 0x002E: 37625
  offset 0x0030: 45166
  offset 0x0032: 38313
  offset 0x0034: 4458
  offset 0x0036: 57131
  offset 0x0038: 38772
  offset 0x003A: 33142
  offset 0x003C: 5654
  offset 0x003E: 27140

=== Gzip segment found ===
  start offset:      8 (0x0008)
  end offset:        1575 (0x0627)
  compressed size:   1567 bytes
  decompressed size: 14498 bytes

Decompressed data saved as: racbasicsamplefamily\Global_DocumentIncrementTable_decompressed.bin

=== Decompressed hex (first 0x80 bytes) ===
0000  6C 04 40 00 00 00 01 00 00 00 22 00 00 00 00 00   l.@.......".....
0010  00 00 00 00 00 00 00 00 00 00 28 00 00 00 00 00   ..........(.....
0020  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0030  00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ................
0040  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ................
0050  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ................
0060  FF FF 00 01 00 00 00 22 00 00 00 00 00 00 00 0C   ......."........
0070  00 00 00 44 00 61 00 76 00 69 00 64 00 20 00 43   ...D.a.v.i.d. .C

=== Decompressed as 32-bit little endian integers (first 16) ===
  offset 0x0000: 4195436
  offset 0x0004: 65536
  offset 0x0008: 2228224
  offset 0x000C: 0
  offset 0x0010: 0
  offset 0x0014: 0
  offset 0x0018: 2621440
  offset 0x001C: 0
  offset 0x0020: 0
  offset 0x0024: 0
  offset 0x0028: 0
  offset 0x002C: 0
  offset 0x0030: 4294901760
  offset 0x0034: 4294967295
  offset 0x0038: 4294967295
  offset 0x003C: 4294967295

=== Decompressed as (uint32, uint32) pairs (first 16) ===
  offset 0x0000: (4195436, 65536)
  offset 0x0008: (2228224, 0)
  offset 0x0010: (0, 0)
  offset 0x0018: (2621440, 0)
  offset 0x0020: (0, 0)
  offset 0x0028: (0, 0)
  offset 0x0030: (4294901760, 4294967295)
  offset 0x0038: (4294967295, 4294967295)
  offset 0x0040: (4294967295, 4294967295)
  offset 0x0048: (4294967295, 4294967295)
  offset 0x0050: (4294967295, 4294967295)
  offset 0x0058: (4294967295, 4294967295)
  offset 0x0060: (16842751, 570425344)
  offset 0x0068: (0, 201326592)
  offset 0x0070: (1140850688, 1979736320)
  offset 0x0078: (1677748480, 1124081664)

=== UTF-16-LE strings (all alignments) ===
  Sacha Silva
  Steven Campbell
  Erik Egbertson
  campbes
  demchag
  conantd
  Steve Crotty
  lannent
  tpartner
  heka
  guanq
  hansonje
  suju
  youyi
  loboarch
  David Conant
  crottys
  smithl
  dobriai
  lixi
  duboism
  wangmin
  t_zhoum
File: racbasicsamplefamily\Global_ElemTable.bin
Size: 7224 bytes

File hexdump (first 256 bytes):
00000000: 00 00 00 00 00 00 00 00 1F 8B 08 00 00 00 00 00  ................
00000010: 00 0B 74 DD 05 94 6D 55 FD C0 F1 79 74 CE 9C C7  ..t...mU...yt...
00000020: 8D B3 CF D9 9B EE EE 6E 10 10 30 08 11 0C 14 29  .......n..0....)
00000030: 11 41 29 A5 3B ED C2 96 06 09 09 69 09 03 4C 14  .A).;......i..L.
00000040: 30 68 A4 BB 5B 40 40 F8 BF FD FF EE 59 33 1E BF  0h..[@@.....Y3..
00000050: DC B5 3E EB AD B7 BF BF 7D CE BD 73 EF DC A9 77  ..>.....}..s...w
00000060: E7 DD 33 C3 ED 33 8D BC EB 65 EA 34 53 8A 75 27  ..3..3...e.4S.u'
00000070: 19 BF 4C 5F 58 9B A1 B0 63 CE 58 58 9B A9 B0 36  ..L_X...c.XX...6
00000080: 73 61 6D 96 C2 DA AC 85 B5 D9 0A 6B B3 17 D6 E6  sam........k....
00000090: 28 BA B7 3D CF 8F 16 B6 6F AC E8 EE 1B 2D 7D 6A  (..=....o....-}j
000000A0: F9 FB B1 45 BE BC 33 ED 32 D7 B4 3F E7 7A 97 63  ...E..3.2..?.z.c
000000B0: F6 8A EE 31 F3 FC A0 C8 97 A3 A6 D9 64 D2 BE 61  ...1........d..a
000000C0: 91 2F 87 4D 6A F5 24 B6 2F 14 DD 4B 9E 6F 8A CD  ./.Mj.$./..K.o..
000000D0: 26 19 29 F3 6D D1 3D 5F 9C C4 CE 97 8A EE 25 CF  &.).m.=_......%.
000000E0: CF 5D 74 CF 97 E7 E7 29 C6 CF 37 7E 99 77 12 3B  .]t....)..7~.w.;
000000F0: DF 7C 45 F7 92 E7 E7 2F BA E7 CB F3 0B 14 DD F3  .|E..../........

Prefix u32[0]: 0
Prefix u32[1]: 0

GZip offset: 8

GZip header:
  cm: 8
  flg: 0x00
  mtime: 0
  xfl: 0
  os: 11

Decompressed size: 49457 bytes
GZip trailer crc32: 0x8BDF261A
GZip trailer isize: 49457
Computed crc32: 0x8BDF261A

Decompressed hexdump (first 256 bytes):
00000000: DC 04 D6 06 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00  ................
00000020: 00 00 01 00 00 00 01 00 00 00 3F 00 00 00 3F 00  ..........?...?.
00000030: 00 00 3F 00 00 00 00 00 00 00 00 00 00 00 03 00  ..?.............
00000040: 00 00 03 00 00 00 3F 00 00 00 3F 00 00 00 3F 00  ......?...?...?.
00000050: 00 00 00 00 00 00 00 00 00 00 04 00 00 00 04 00  ................
00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000070: 00 00 11 00 00 00 05 00 00 00 05 00 00 00 00 00  ................
00000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00  ................
00000090: 00 00 06 00 00 00 06 00 00 00 00 00 00 00 00 00  ................
000000A0: 00 00 00 00 00 00 00 00 00 00 11 00 00 00 07 00  ................
000000B0: 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000000C0: 00 00 00 00 00 00 11 00 00 00 08 00 00 00 08 00  ................
000000D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000000E0: 00 00 11 00 00 00 09 00 00 00 09 00 00 00 00 00  ................
000000F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00  ................
PNG preview saved as: racbasicsamplefamily\RevitPreview4.0.png
Size: 1133 bytes

About

Revit RFA File Extractor is a simple Python tool for reading metadata from Autodesk Revit .rfa family files. It extracts details like author, version, and file info directly from the file structure, without needing Revit installed.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.