1b6cee71dSXin LI 2b6cee71dSXin LI#------------------------------------------------------------------------------ 3*898496eeSXin LI# $File: cad,v 1.31 2022/12/09 15:36:23 christos Exp $ 4b6cee71dSXin LI# autocad: file(1) magic for cad files 5b6cee71dSXin LI# 6b6cee71dSXin LI 7b6cee71dSXin LI# Microstation DGN/CIT Files (www.bentley.com) 8b6cee71dSXin LI# Last updated July 29, 2005 by Lester Hightower 9b6cee71dSXin LI# DGN is the default file extension of Microstation/Intergraph CAD files. 10b6cee71dSXin LI# CIT is the proprietary raster format (similar to TIFF) used to attach 11b6cee71dSXin LI# raster underlays to Microstation DGN (vector) drawings. 12b6cee71dSXin LI# 13b6cee71dSXin LI# http://www.wotsit.org/search.asp 1448c779cdSXin LI# https://filext.com/detaillist.php?extdetail=DGN 1548c779cdSXin LI# https://filext.com/detaillist.php?extdetail=CIT 16b6cee71dSXin LI# 1748c779cdSXin LI# https://www.bentley.com/products/default.cfm?objectid=97F351F5-9C35-4E5E-89C2 18b6cee71dSXin LI# 3F86C928&method=display&p_objectid=97F351F5-9C35-4E5E-89C280A93F86C928 1948c779cdSXin LI# https://www.bentley.com/products/default.cfm?objectid=A5C2FD43-3AC9-4C71-B682 20b6cee71dSXin LI# 721C479F&method=display&p_objectid=A5C2FD43-3AC9-4C71-B682C7BE721C479F 21d38c30c0SXin LI# 22d38c30c0SXin LI# URL: https://en.wikipedia.org/wiki/MicroStation 23d38c30c0SXin LI# reference: http://dgnlib.maptools.org/dgn.html 24d38c30c0SXin LI# http://dgnlib.maptools.org/dl/ref18.pdf 25d38c30c0SXin LI# Update: Joerg Jenderek 26d38c30c0SXin LI# Note: verfied by command like `dgndump seed2d_b.dgn` 27d38c30c0SXin LI# test for level 8 and type 5 or 9 28d38c30c0SXin LI0 beshort&0x3F73 0x0801 29d38c30c0SXin LI# level of element like 8 30d38c30c0SXin LI#>0 ubyte&0x3F x \b, level %u 31d38c30c0SXin LI#>0 ubyte &0x80 \b, complex 32d38c30c0SXin LI#>0 ubyte &0x40 \b, reserved 33d38c30c0SXin LI# type of element 9~TCB 8~Digitizer setup 5~Group Data Elements 34d38c30c0SXin LI#>1 ubyte&0x7F x \b, type %u 3543a5ec4eSXin LI# words to follow in element: 17H~CEL library 2FEh~DGN 9FEh,DFEh~CIT 3643a5ec4eSXin LI#>2 uleshort x \b, words %#4.4x to follow 37d38c30c0SXin LI# test for 3 reserved 0 bytes in CIT or "conversion" in ViewInfo structure (DGN CEL) 38d38c30c0SXin LI#>508 ubelong x \b, RESERVED %8.8x 39d38c30c0SXin LI>508 ubelong&0xFFffFF00 =0 40d38c30c0SXin LI# test for level 8 and type 9 for INGR raster image 41d38c30c0SXin LI>>0 beshort 0x0809 42d38c30c0SXin LI# test for length of 1st element is multiple of blocks a 512 bytes 43d38c30c0SXin LI>>>2 ubyte 0xfe 44d38c30c0SXin LI>>>>0 use ingr-image 45d38c30c0SXin LI# test for DGN or CEL by jump words (uleshort) forward to next element 46d38c30c0SXin LI>(2.s*2) ulong x 47d38c30c0SXin LI# 2nd element type: 8~Digitizer~DesiGNfile 1~library cell header other~CIT 48d38c30c0SXin LI#>>&1 ubyte&0x7F x \b, 2nd type %u 49d38c30c0SXin LI# DGN 50d38c30c0SXin LI>>&1 ubyte&0x7F 8 51d38c30c0SXin LI>>>2 uleshort =0x02FE Bentley/Intergraph Microstation CAD drawing 52d38c30c0SXin LI!:mime application/x-bentley-dgn 53d38c30c0SXin LI!:ext dgn 54d38c30c0SXin LI# The 0x40 bit of this byte is 1 if the file is 3D, otherwise 0 55d38c30c0SXin LI>>>>1214 ubyte &0x40 3D 56d38c30c0SXin LI>>>>1214 ubyte ^0x40 2D 57d38c30c0SXin LI# 2 chars for name of subunits like ft FT in IN mu m mm '\0 '\040 58d38c30c0SXin LI>>>>1120 string x \b, units %-.2s 59d38c30c0SXin LI# 2 chars for name of master unit like IN in ML SU tn th TH HU mm "\0 "\040 \0\0 60d38c30c0SXin LI>>>>1122 string >\0 %-.2s 6143a5ec4eSXin LI#>>>>1120 ubelong x \b, units %#8.8x 62d38c30c0SXin LI# element range low,high x y z like xlow=0 08010000h 01080000h 63d38c30c0SXin LI#>>>>4 ubelong !0 \b, xlow %8.8x 64d38c30c0SXin LI#>>>>8 ubelong !0 \b, ylow %8.8x 65d38c30c0SXin LI#>>>>12 ubelong !0 \b, zlow %8.8x 66d38c30c0SXin LI#>>>>16 ubelong !0 \b, xhigh %8.8x 67d38c30c0SXin LI#>>>>20 ubelong !0 \b, yhigh %8.8x 68d38c30c0SXin LI#>>>>24 ubelong !0 \b, zhigh %8.8x 69d38c30c0SXin LI# graphic group number; all other elements in that group have same non-0 number 7043a5ec4eSXin LI#>>>>28 leshort x \b, grphgrp %#4.4x 71d38c30c0SXin LI# words to optional attribute linkage 72d38c30c0SXin LI#>>>>30 ubyte x \b, attindx \%o 73d38c30c0SXin LI#>>>>31 ubyte x \b\%o 74d38c30c0SXin LI# >>30 string \026\105 DGNFile 75d38c30c0SXin LI# >>30 string \034\105 DGNFile 76d38c30c0SXin LI# >>30 string \073\107 DGNFile 77d38c30c0SXin LI# >>30 string \073\110 DGNFile 78d38c30c0SXin LI# >>30 string \106\107 DGNFile 79d38c30c0SXin LI# >>30 string \110\103 DGNFile 80d38c30c0SXin LI# >>30 string \120\104 DGNFile 81d38c30c0SXin LI# >>30 string \172\104 DGNFile 82d38c30c0SXin LI# >>30 string \172\105 DGNFile 83d38c30c0SXin LI# >>30 string \172\106 DGNFile 84d38c30c0SXin LI# >>30 string \234\106 DGNFile 85d38c30c0SXin LI# >>30 string \273\105 DGNFile 86d38c30c0SXin LI# >>30 string \306\106 DGNFile 87d38c30c0SXin LI# >>30 string \310\104 DGNFile 88d38c30c0SXin LI# >>30 string \341\104 DGNFile 89d38c30c0SXin LI# >>30 string \372\103 DGNFile 90d38c30c0SXin LI# >>30 string \372\104 DGNFile 91d38c30c0SXin LI# >>30 string \372\106 DGNFile 92d38c30c0SXin LI# >>30 string \376\103 DGNFile 93d38c30c0SXin LI# elements properties indicator 9443a5ec4eSXin LI#>>>>32 uleshort !0 \b, properties %#4.4x 95d38c30c0SXin LI# class 0~Primary 9643a5ec4eSXin LI#>>>>>32 uleshort&0x000F !0 \b, class %#4.4x 97d38c30c0SXin LI# Symbology 9843a5ec4eSXin LI#>>>>>34 uleshort x \b, Symbology %#4.4x 99d38c30c0SXin LI# test for 2nd element type 1~library cell header 100d38c30c0SXin LI>>&1 ubyte&0x7F 1 101d38c30c0SXin LI# test for 1st element with level 8 and type 5 for cell library 102d38c30c0SXin LI>>>0 beshort 0x0805 Bentley/Intergraph Microstation CAD cell library 103d38c30c0SXin LI!:mime application/x-bentley-cel 104d38c30c0SXin LI!:ext cel 105d38c30c0SXin LI# 106d38c30c0SXin LI# URL: http://fileformats.archiveteam.org/wiki/Intergraph_Raster 107d38c30c0SXin LI# reference: https://web.archive.org/web/20140903185431/ 108d38c30c0SXin LI# http://oreilly.com/www/centers/gff/formats/ingr/index.htm 109d38c30c0SXin LI# note: verfied by command like `nconvert -fullinfo LONGLAT.CIT` 110d38c30c0SXin LI# display information for intergraph raster bitmap 111d38c30c0SXin LI0 name ingr-image 112d38c30c0SXin LI# in 5.37 "Microstation CITFile" "Bentley/Intergraph MicroStation CIT raster CAD" 113d38c30c0SXin LI# DataTypeCode indicates format, depth of the pixel data and used compression 114d38c30c0SXin LI>4 uleshort x Intergraph raster image 115d38c30c0SXin LI>>4 uleshort 0x0009 \b, Run-Length Encoded 1-bit 116d38c30c0SXin LI!:mime image/x-intergraph-rle 117d38c30c0SXin LI!:ext rel 118d38c30c0SXin LI>>4 uleshort 0x0018 \b, CCITT Group 4 1-bit 119d38c30c0SXin LI!:mime image/x-intergraph-cit 120d38c30c0SXin LI!:ext cit 121d38c30c0SXin LI>>4 uleshort 27 \b, Adaptive RLE RGB 122d38c30c0SXin LI!:mime image/x-intergraph-rgb 123d38c30c0SXin LI!:ext rgb 124d38c30c0SXin LI>>4 default x 125d38c30c0SXin LI>>>4 uleshort x \b, Type %u 126d38c30c0SXin LI!:mime image/x-intergraph 127d38c30c0SXin LI# TODO: 128d38c30c0SXin LI#>4 uleshort 0 \b, no data 129d38c30c0SXin LI# ... 130d38c30c0SXin LI#>4 uleshort 0x0045 \b, Continuous Tone CMKY (Uncompressed) 131d38c30c0SXin LI# ApplicationType: 0~generic raster image 3~drawing, scanning 132d38c30c0SXin LI# 8~I/IMAGE and MicroStation Imager 9~ModelView 133d38c30c0SXin LI>6 uleshort !0 \b, ApplicationType %u 134d38c30c0SXin LI#>6 uleshort x \b, ApplicationType %u 135d38c30c0SXin LI# XViewOrigin; Raster grid data X origin 136d38c30c0SXin LI#>8 ulequad !0 \b, XViewOrigin %llx 137d38c30c0SXin LI# PixelsPerLine is the number of pixels in a scan line of bitmapp 138d38c30c0SXin LI>184 ulelong x \b, %u x 139d38c30c0SXin LI# NumberOfLines is height of the raster data in scanlines 140d38c30c0SXin LI>188 ulelong x %u 141d38c30c0SXin LI# DeviceResolution; resolution of scanning device 142d38c30c0SXin LI# positive indicates number of micros between lines; negative indicates DPI 143d38c30c0SXin LI#>192 leshort x \b, DeviceResolution %d 144d38c30c0SXin LI# ScanlineOrient indicates the origin and the orientation of the scan lines 145d38c30c0SXin LI#>194 ubyte x \b, ScanlineOrient %x 146d38c30c0SXin LI>194 ubyte x \b, orientation 147d38c30c0SXin LI>194 ubyte &0x01 right 148d38c30c0SXin LI>194 ubyte ^0x01 left 149d38c30c0SXin LI>194 ubyte &0x02 down 150d38c30c0SXin LI>194 ubyte ^0x02 top 151d38c30c0SXin LI>194 ubyte &0x04 horizontal 152d38c30c0SXin LI>194 ubyte ^0x04 vertical 153d38c30c0SXin LI# ScannableFlag; Scanline indexing method used 15443a5ec4eSXin LI#>195 ubyte !0 \b, ScannableFlag %#x 155d38c30c0SXin LI# RotationAngle; Rotation angle of raster data 15643a5ec4eSXin LI#>196 ubequad !0 \b, RotationAngle %#llx 157d38c30c0SXin LI# SkewAngle; Skew angle of raster data 158d38c30c0SXin LI#>204 ubequad !0 \b, SkewAngle %llx 159d38c30c0SXin LI# DataTypeModifier; Additional raster data format info 16043a5ec4eSXin LI#>212 uleshort !0 \b, DataTypeModifier %#4.4x 161d38c30c0SXin LI# DesignFile[66]; Name of the design file 162d38c30c0SXin LI>214 string >\0 \b, DesignFile %-.66s 163d38c30c0SXin LI# DatabaseFile[66]; Name of the database file 164d38c30c0SXin LI>280 string >\0 \b, DatabaseFile %-.66s 165d38c30c0SXin LI# ParentGridFile[66]; Name of parent grid file 166d38c30c0SXin LI>346 string >\0 \b, ParentGridFile %-.66s 167d38c30c0SXin LI# FileDescription[80]; Text description of file and contents 168d38c30c0SXin LI>412 string >\0 \b, FileDescription %-.80s 169d38c30c0SXin LI# MinValue 17043a5ec4eSXin LI#>492 ubequad !0 \b, MinValue %#llx 171d38c30c0SXin LI# MaxValue 17243a5ec4eSXin LI#>500 ubequad !0 \b, MaxValue %#llx 173d38c30c0SXin LI# Reserved[3]; Unused (always 0) 174d38c30c0SXin LI#>508 ubelong&0xFFffFF00 x \b, RESERVED %8.8x 175d38c30c0SXin LI# GridFileVersion; Grid File Version like 2 3 176d38c30c0SXin LI#>511 ubyte x \b, GridFileVersion %x 177b6cee71dSXin LI 178b6cee71dSXin LI# AutoCAD 17948c779cdSXin LI# Merge of the different contributions and updates from https://en.wikipedia.org/wiki/Dwg 18048c779cdSXin LI# and https://www.iana.org/assignments/media-types/image/vnd.dwg 181b6cee71dSXin LI0 string MC0.0 DWG AutoDesk AutoCAD Release 1.0 182b6cee71dSXin LI!:mime image/vnd.dwg 183b6cee71dSXin LI0 string AC1.2 DWG AutoDesk AutoCAD Release 1.2 184b6cee71dSXin LI!:mime image/vnd.dwg 185b6cee71dSXin LI0 string AC1.3 DWG AutoDesk AutoCAD Release 1.3 186b6cee71dSXin LI!:mime image/vnd.dwg 187b6cee71dSXin LI0 string AC1.40 DWG AutoDesk AutoCAD Release 1.40 188b6cee71dSXin LI!:mime image/vnd.dwg 189b6cee71dSXin LI0 string AC1.50 DWG AutoDesk AutoCAD Release 2.05 190b6cee71dSXin LI!:mime image/vnd.dwg 191b6cee71dSXin LI0 string AC2.10 DWG AutoDesk AutoCAD Release 2.10 192b6cee71dSXin LI!:mime image/vnd.dwg 193b6cee71dSXin LI0 string AC2.21 DWG AutoDesk AutoCAD Release 2.21 194b6cee71dSXin LI!:mime image/vnd.dwg 195b6cee71dSXin LI0 string AC2.22 DWG AutoDesk AutoCAD Release 2.22 196b6cee71dSXin LI!:mime image/vnd.dwg 197b6cee71dSXin LI0 string AC1001 DWG AutoDesk AutoCAD Release 2.22 198b6cee71dSXin LI!:mime image/vnd.dwg 199b6cee71dSXin LI0 string AC1002 DWG AutoDesk AutoCAD Release 2.50 200b6cee71dSXin LI!:mime image/vnd.dwg 201b6cee71dSXin LI0 string AC1003 DWG AutoDesk AutoCAD Release 2.60 202b6cee71dSXin LI!:mime image/vnd.dwg 203b6cee71dSXin LI0 string AC1004 DWG AutoDesk AutoCAD Release 9 204b6cee71dSXin LI!:mime image/vnd.dwg 205b6cee71dSXin LI0 string AC1006 DWG AutoDesk AutoCAD Release 10 206b6cee71dSXin LI!:mime image/vnd.dwg 207b6cee71dSXin LI0 string AC1009 DWG AutoDesk AutoCAD Release 11/12 208b6cee71dSXin LI!:mime image/vnd.dwg 209b6cee71dSXin LI# AutoCAD DWG versions R13/R14 (www.autodesk.com) 210b6cee71dSXin LI# Written December 01, 2003 by Lester Hightower 211b6cee71dSXin LI# Based on the DWG File Format Specifications at http://www.opendwg.org/ 212b6cee71dSXin LI# AutoCad, from Nahuel Greco 213b6cee71dSXin LI# AutoCAD DWG versions R12/R13/R14 (www.autodesk.com) 214b6cee71dSXin LI0 string AC1012 DWG AutoDesk AutoCAD Release 13 215b6cee71dSXin LI!:mime image/vnd.dwg 21643a5ec4eSXin LI0 string AC1013 DWG AutoDesk AutoCAD Release 13c3 21743a5ec4eSXin LI!:mime image/vnd.dwg 218b6cee71dSXin LI0 string AC1014 DWG AutoDesk AutoCAD Release 14 219b6cee71dSXin LI!:mime image/vnd.dwg 22043a5ec4eSXin LI0 string AC1015 DWG AutoDesk AutoCAD 2000 221b6cee71dSXin LI!:mime image/vnd.dwg 222b6cee71dSXin LI 223b6cee71dSXin LI# A new version of AutoCAD DWG 224b6cee71dSXin LI# Sergey Zaykov (mail_of_sergey@mail.ru, sergey_zaikov@rambler.ru, 225b6cee71dSXin LI# ICQ 358572321) 226b6cee71dSXin LI# From various sources like: 22748c779cdSXin LI# https://autodesk.blogs.com/between_the_lines/autocad-release-history.html 228b6cee71dSXin LI0 string AC1018 DWG AutoDesk AutoCAD 2004/2005/2006 229b6cee71dSXin LI!:mime image/vnd.dwg 230b6cee71dSXin LI0 string AC1021 DWG AutoDesk AutoCAD 2007/2008/2009 231b6cee71dSXin LI!:mime image/vnd.dwg 232b6cee71dSXin LI0 string AC1024 DWG AutoDesk AutoCAD 2010/2011/2012 233b6cee71dSXin LI!:mime image/vnd.dwg 2342726a701SXin LI0 string AC1027 DWG AutoDesk AutoCAD 2013-2017 2352726a701SXin LI!:mime image/vnd.dwg 2362726a701SXin LI 2372726a701SXin LI# From GNU LibreDWG 23843a5ec4eSXin LI0 string AC1032 DWG AutoDesk AutoCAD 2018/2019/2020 23943a5ec4eSXin LI!:mime image/vnd.dwg 24043a5ec4eSXin LI0 string AC1035 DWG AutoDesk AutoCAD 2021 241b6cee71dSXin LI!:mime image/vnd.dwg 242b6cee71dSXin LI 243b6cee71dSXin LI# KOMPAS 2D drawing from ASCON 244b6cee71dSXin LI# This is KOMPAS 2D drawing or fragment of drawing but is not detailed nor 245b6cee71dSXin LI# gathered nor specification 24648c779cdSXin LI# ASCON https://ascon.net/main/ in English, 24748c779cdSXin LI# https://ascon.ru/ main site in Russian 248b6cee71dSXin LI# Extension is CDW for drawing and FRW for fragment of drawing 249b6cee71dSXin LI# Sergey Zaykov (mail_of_sergey@mail.ru, sergey_zaikov@rambler.ru, 25048c779cdSXin LI# ICQ 358572321, https://vkontakte.ru/id16076543) 251b6cee71dSXin LI# From: 25248c779cdSXin LI# https://sd.ascon.ru/otrs/customer.pl?Action=CustomerFAQ&CategoryID=4&ItemID=292 253b6cee71dSXin LI# (in russian) and my experiments 254b6cee71dSXin LI0 string KF 255b6cee71dSXin LI>2 belong 0x4E00000C Kompas drawing 12.0 SP1 256b6cee71dSXin LI>2 belong 0x4D00000C Kompas drawing 12.0 257b6cee71dSXin LI>2 belong 0x3200000B Kompas drawing 11.0 SP1 258b6cee71dSXin LI>2 belong 0x3100000B Kompas drawing 11.0 259b6cee71dSXin LI>2 belong 0x2310000A Kompas drawing 10.0 SP1 260b6cee71dSXin LI>2 belong 0x2110000A Kompas drawing 10.0 261b6cee71dSXin LI>2 belong 0x08000009 Kompas drawing 9.0 SP1 262b6cee71dSXin LI>2 belong 0x05000009 Kompas drawing 9.0 263b6cee71dSXin LI>2 belong 0x33010008 Kompas drawing 8+ 264b6cee71dSXin LI>2 belong 0x1A000008 Kompas drawing 8.0 265b6cee71dSXin LI>2 belong 0x2C010107 Kompas drawing 7+ 266b6cee71dSXin LI>2 belong 0x05000007 Kompas drawing 7.0 267b6cee71dSXin LI>2 belong 0x32000006 Kompas drawing 6+ 268b6cee71dSXin LI>2 belong 0x09000006 Kompas drawing 6.0 269b6cee71dSXin LI>2 belong 0x5C009005 Kompas drawing 5.11R03 270b6cee71dSXin LI>2 belong 0x54009005 Kompas drawing 5.11R02 271b6cee71dSXin LI>2 belong 0x51009005 Kompas drawing 5.11R01 272b6cee71dSXin LI>2 belong 0x22009005 Kompas drawing 5.10R03 273b6cee71dSXin LI>2 belong 0x22009005 Kompas drawing 5.10R02 mar 274b6cee71dSXin LI>2 belong 0x21009005 Kompas drawing 5.10R02 febr 275b6cee71dSXin LI>2 belong 0x19009005 Kompas drawing 5.10R01 276b6cee71dSXin LI>2 belong 0xF4008005 Kompas drawing 5.9R01.003 277b6cee71dSXin LI>2 belong 0x1C008005 Kompas drawing 5.9R01.002 278b6cee71dSXin LI>2 belong 0x11008005 Kompas drawing 5.8R01.003 279b6cee71dSXin LI 280b6cee71dSXin LI# CAD: file(1) magic for computer aided design files 281b6cee71dSXin LI# Phillip Griffith <phillip dot griffith at gmail dot com> 282b6cee71dSXin LI# AutoCAD magic taken from the Open Design Alliance's OpenDWG specifications. 283b6cee71dSXin LI# 284b6cee71dSXin LI 28540427ccaSGordon Tetlow# 3DS (3d Studio files) 28640427ccaSGordon Tetlow0 leshort 0x4d4d 28740427ccaSGordon Tetlow>6 leshort 0x2 28840427ccaSGordon Tetlow>>8 lelong 0xa 28940427ccaSGordon Tetlow>>>16 leshort 0x3d3d 3D Studio model 290a4d6d3b8SXin LI# Beat sgi MMV 291a4d6d3b8SXin LI!:strength +20 29240427ccaSGordon Tetlow!:mime image/x-3ds 2932dc4dbb9SEitan Adler!:ext 3ds 294b6cee71dSXin LI 295b6cee71dSXin LI# MegaCAD 2D/3D drawing (.prt) 29648c779cdSXin LI# https://megacad.de/ 297b6cee71dSXin LI# From: Markus Heidelberg <markus.heidelberg@web.de> 298b6cee71dSXin LI0 string MegaCad23\0 MegaCAD 2D/3D drawing 2992dc4dbb9SEitan Adler 3002dc4dbb9SEitan Adler# Hoops CAD files 3012dc4dbb9SEitan Adler# https://docs.techsoft3d.com/visualize/3df/latest/build/general/hsf/\ 3022dc4dbb9SEitan Adler# HSF_architecture.html 3032dc4dbb9SEitan Adler# Stephane Charette <stephane.charette@gmail.com> 304*898496eeSXin LI0 string ;;\040HSF\040V OpenHSF (Hoops Stream Format) 305*898496eeSXin LI>7 regex/9 V[.0-9]{4,5}\040 %s 3062dc4dbb9SEitan Adler!:ext hsf 30748c779cdSXin LI 30848c779cdSXin LI# AutoCAD Drawing Exchange Format 309*898496eeSXin LI# Update: Joerg Jenderek 310*898496eeSXin LI# URL: http://fileformats.archiveteam.org/wiki/DXF 311*898496eeSXin LI# https://en.wikipedia.org/wiki/AutoCAD_DXF 312*898496eeSXin LI# Reference: http://mark0.net/download/triddefs_xml.7z/defs/d/ 313*898496eeSXin LI# dxf-var0.trid.xml dxf-var0u.trid.xml dxf-var2.trid.xml dxf-var2u.trid.xml 314*898496eeSXin LI# Note: called "AutoCAD Drawing eXchange Format" by TrID and 315*898496eeSXin LI# "Drawing Interchange File Format (ASCII)" by DROID 316*898496eeSXin LI# GRR: some samples does not match 1st test like: abydos.dxf 31748c779cdSXin LI0 regex \^[\ \t]*0\r?\000$ 31848c779cdSXin LI>1 regex \^[\ \t]*SECTION\r?$ 31948c779cdSXin LI>>2 regex \^[\ \t]*2\r?$ 320*898496eeSXin LI# GRR: some samples without HEADER section like: airplan2.dxf 32148c779cdSXin LI>>>3 regex \^[\ \t]*HEADER\r?$ AutoCAD Drawing Exchange Format 322*898496eeSXin LI#!:mime application/x-dxf 323*898496eeSXin LI!:mime image/vnd.dxf 32448c779cdSXin LI!:ext dxf 325*898496eeSXin LI# DROID PUID fmt/64 fmt-64-signature-id-99.dxf 326*898496eeSXin LI>>>>&1 search/8192 MC0.0 \b, 1.0 327*898496eeSXin LI# DROID PUID fmt/65 fmt-65-signature-id-100.dxf 328*898496eeSXin LI>>>>&1 search/8192 AC1.2 \b, 1.2 329*898496eeSXin LI# DROID PUID fmt/66 fmt-66-signature-id-101.dxf 330*898496eeSXin LI>>>>&1 search/8192 AC1.3 \b, 1.3 331*898496eeSXin LI# DROID PUID fmt/67 fmt-67-signature-id-102.dxf 332*898496eeSXin LI>>>>&1 search/8192 AC1.40 \b, 1.4 333*898496eeSXin LI# DROID PUID fmt/68 fmt-68-signature-id-103.dxf 334*898496eeSXin LI>>>>&1 search/8192 AC1.50 \b, 2.0 335*898496eeSXin LI# DROID PUID fmt/69 fmt-69-signature-id-104.dxf 336*898496eeSXin LI>>>>&1 search/8192 AC2.10 \b, 2.1 337*898496eeSXin LI# DROID PUID fmt/70 fmt-70-signature-id-105.dxf 338*898496eeSXin LI>>>>&1 search/8192 AC2.21 \b, 2.2 339*898496eeSXin LI# DROID PUID fmt/71 fmt-71-signature-id-106.dxf 340*898496eeSXin LI>>>>&1 search/8192 AC1002 \b, 2.5 341*898496eeSXin LI# DROID PUID fmt/72 fmt-72-signature-id-107.dxf 342*898496eeSXin LI>>>>&1 search/8192 AC1003 \b, 2.6 343*898496eeSXin LI# DROID PUID fmt/73 fmt-73-signature-id-108.dxf 344*898496eeSXin LI>>>>&1 search/8192 AC1004 \b, R9 34548c779cdSXin LI>>>>&1 search/8192 AC1006 \b, R10 346*898496eeSXin LI# http://cd.textfiles.com/amigaenv/DXF/OBJEKTE/LASTMINUTE/apple.dxf 347*898496eeSXin LI#>>>>&1 search/8192 AC1008 \b, Rfoo 34848c779cdSXin LI>>>>&1 search/8192 AC1009 \b, R11/R12 34948c779cdSXin LI>>>>&1 search/8192 AC1012 \b, R13 35043a5ec4eSXin LI>>>>&1 search/8192 AC1013 \b, R13c3 35148c779cdSXin LI>>>>&1 search/8192 AC1014 \b, R14 35248c779cdSXin LI>>>>&1 search/8192 AC1015 \b, version 2000 35348c779cdSXin LI>>>>&1 search/8192 AC1018 \b, version 2004 35448c779cdSXin LI>>>>&1 search/8192 AC1021 \b, version 2007 35548c779cdSXin LI>>>>&1 search/8192 AC1024 \b, version 2010 35643a5ec4eSXin LI>>>>&1 search/8192 AC1027 \b, version 2013 35743a5ec4eSXin LI>>>>&1 search/8192 AC1032 \b, version 2018 35843a5ec4eSXin LI>>>>&1 search/8192 AC1035 \b, version 2021 35948c779cdSXin LI 36048c779cdSXin LI# The Sketchup 3D model format https://www.sketchup.com/ 36148c779cdSXin LI0 string \xff\xfe\xff\x0e\x53\x00\x6b\x00\x65\x00\x74\x00\x63\x00\x68\x00\x55\x00\x70\x00\x20\x00\x4d\x00\x6f\x00\x64\x00\x65\x00\x6c\x00 SketchUp Model 36248c779cdSXin LI!:mime application/vnd.sketchup.skp 36348c779cdSXin LI!:ext skp 3642726a701SXin LI 3652726a701SXin LI4 regex/b P[0-9][0-9]\\.[0-9][0-9][0-9][0-9]\\.[0-9][0-9][0-9][0-9]\\.[0-9] NAXOS CAD System file from version %s 3662726a701SXin LI!:strength +40 36743a5ec4eSXin LI 36843a5ec4eSXin LI# glTF (GL Transmission Format) - by the Khronos Group 36943a5ec4eSXin LI# Reference: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#glb-file-format-specification 37043a5ec4eSXin LI0 string glTF glTF binary model 37143a5ec4eSXin LI>4 ulelong x \b, version %d 37243a5ec4eSXin LI>8 ulelong x \b, length %d bytes 37343a5ec4eSXin LI!:mime model/gltf-binary 37443a5ec4eSXin LI!:ext glb 37543a5ec4eSXin LI 37643a5ec4eSXin LI# FBX (FilmBoX) - by Kaydara/Autodesk 37743a5ec4eSXin LI# Reference: https://code.blender.org/2013/08/fbx-binary-file-format-specification 37843a5ec4eSXin LI0 string Kaydara\ FBX\ Binary\ \ \0 Kaydara FBX model, 37943a5ec4eSXin LI>&2 ulelong x version %d 38043a5ec4eSXin LI!:ext fbx 38143a5ec4eSXin LI 38243a5ec4eSXin LI# PLY (Polygon File Format/Stanford Triangle Format) - by Greg Turk 38343a5ec4eSXin LI# Reference: https://web.archive.org/web/20161204152348/http://www.dcs.ed.ac.uk/teaching/cs4/www/graphics/Web/ply.html 38443a5ec4eSXin LI0 string ply\n PLY model, 38543a5ec4eSXin LI!:ext ply 38643a5ec4eSXin LI>4 string format\ ascii\ ASCII, 38743a5ec4eSXin LI>>&0 regex/6 [0-9.]+ version %s 38843a5ec4eSXin LI>4 string format\ binary binary, 38943a5ec4eSXin LI>>&0 string _little_endian\ little endian, 39043a5ec4eSXin LI>>>&0 regex/6 [0-9.]+ version %s 39143a5ec4eSXin LI>>&0 string _big_endian\ big endian, 39243a5ec4eSXin LI>>>&0 regex/6 [0-9.]+ version %s 39343a5ec4eSXin LI 39443a5ec4eSXin LI# VRML (Virtual Reality Modeling Language) - by the Web3D Consortium 39543a5ec4eSXin LI# From: Michel Briand <michelbriand@free.fr> 39643a5ec4eSXin LI# Reference: https://www.web3d.org/standards 39743a5ec4eSXin LI0 string/w #VRML\ V1.0\ ascii VRML 1 file 39843a5ec4eSXin LI!:mime model/vrml 39943a5ec4eSXin LI!:ext wrl 40043a5ec4eSXin LI0 string/w #VRML\ V2.0\ utf8 ISO/IEC 14772 VRML 97 file 40143a5ec4eSXin LI!:mime model/vrml 40243a5ec4eSXin LI!:ext wrl 40343a5ec4eSXin LI# X3D, VRML encoded 40443a5ec4eSXin LI0 string #X3D X3D (Extensible 3D) model, VRML format 40543a5ec4eSXin LI>4 string V 40643a5ec4eSXin LI>>5 regex/6 [0-9.]+ \b, version %s 40743a5ec4eSXin LI!:mime model/x3d+vrml 40843a5ec4eSXin LI!:ext x3dv 40943a5ec4eSXin LI 41043a5ec4eSXin LI## XML-based 3D CAD Formats 41143a5ec4eSXin LI# From: Michel Briand <michelbriand@free.fr>, Oliver Galvin <odg@riseup.net> 41243a5ec4eSXin LI0 string/w \<?xml\ version= 41343a5ec4eSXin LI!:strength + 5 41443a5ec4eSXin LI# X3D (Extensible 3D) 41543a5ec4eSXin LI# Schema: https://www.web3d.org/specifications/x3d-3.2.dtd 41643a5ec4eSXin LI# MIME Type: https://www.iana.org/assignments/media-types/model/x3d+xml 41743a5ec4eSXin LI# Example: https://www.web3d.org/x3d/content/examples/Basic/course/CreateX3DFromStringRandomSpheres.x3d 41843a5ec4eSXin LI>20 search/1000/w \<!DOCTYPE\ X3D X3D (Extensible 3D) model, XML document 41943a5ec4eSXin LI!:mime model/x3d+xml 42043a5ec4eSXin LI!:ext x3d 42143a5ec4eSXin LI# COLLADA (COLLAborative Design Activity) - by the Khronos Group 42243a5ec4eSXin LI# Schema: http://www.collada.org/2005/11/COLLADASchema 42343a5ec4eSXin LI# Reference: https://www.khronos.org/collada 42443a5ec4eSXin LI>20 search/1000/w \<COLLADA COLLADA model, XML document 42543a5ec4eSXin LI!:mime model/vnd.collada+xml 42643a5ec4eSXin LI!:ext dae 42743a5ec4eSXin LI# 3MF (3D Manufacturing Format) - by the 3MF Consortium 42843a5ec4eSXin LI# Schema: http://schemas.microsoft.com/3dmanufacturing/core/2015/02 42943a5ec4eSXin LI# Reference: https://3mf.io/specification 43043a5ec4eSXin LI>20 search/1000/w xmlns="http://schemas.microsoft.com/3dmanufacturing 3MF (3D Manufacturing Format) model, XML document 43143a5ec4eSXin LI!:mime model/3mf 43243a5ec4eSXin LI!:ext 3mf 43343a5ec4eSXin LI# AMF (Additive Manufacturing File) 43443a5ec4eSXin LI# Reference: https://www.astm.org/Standards/ISOASTM52915.htm 43543a5ec4eSXin LI>20 search/1000/w \<amf AMF (Additive Manufacturing Format) model, XML document 43643a5ec4eSXin LI!:mime application/x-amf 43743a5ec4eSXin LI!:ext amf 438