1327e51cbSPeter Avalos 2327e51cbSPeter Avalos#------------------------------------------------------------------------------ 3*3b9cdfa3SAntonio Huete Jimenez# $File: cad,v 1.29 2021/12/06 19:33:27 christos Exp $ 4327e51cbSPeter Avalos# autocad: file(1) magic for cad files 5327e51cbSPeter Avalos# 6327e51cbSPeter Avalos 7327e51cbSPeter Avalos# Microstation DGN/CIT Files (www.bentley.com) 8327e51cbSPeter Avalos# Last updated July 29, 2005 by Lester Hightower 9327e51cbSPeter Avalos# DGN is the default file extension of Microstation/Intergraph CAD files. 10327e51cbSPeter Avalos# CIT is the proprietary raster format (similar to TIFF) used to attach 11327e51cbSPeter Avalos# raster underlays to Microstation DGN (vector) drawings. 12327e51cbSPeter Avalos# 13327e51cbSPeter Avalos# http://www.wotsit.org/search.asp 146fca56fbSSascha Wildner# https://filext.com/detaillist.php?extdetail=DGN 156fca56fbSSascha Wildner# https://filext.com/detaillist.php?extdetail=CIT 16327e51cbSPeter Avalos# 176fca56fbSSascha Wildner# https://www.bentley.com/products/default.cfm?objectid=97F351F5-9C35-4E5E-89C2 18327e51cbSPeter Avalos# 3F86C928&method=display&p_objectid=97F351F5-9C35-4E5E-89C280A93F86C928 196fca56fbSSascha Wildner# https://www.bentley.com/products/default.cfm?objectid=A5C2FD43-3AC9-4C71-B682 20327e51cbSPeter Avalos# 721C479F&method=display&p_objectid=A5C2FD43-3AC9-4C71-B682C7BE721C479F 216fca56fbSSascha Wildner# 226fca56fbSSascha Wildner# URL: https://en.wikipedia.org/wiki/MicroStation 236fca56fbSSascha Wildner# reference: http://dgnlib.maptools.org/dgn.html 246fca56fbSSascha Wildner# http://dgnlib.maptools.org/dl/ref18.pdf 256fca56fbSSascha Wildner# Update: Joerg Jenderek 266fca56fbSSascha Wildner# Note: verfied by command like `dgndump seed2d_b.dgn` 276fca56fbSSascha Wildner# test for level 8 and type 5 or 9 286fca56fbSSascha Wildner0 beshort&0x3F73 0x0801 296fca56fbSSascha Wildner# level of element like 8 306fca56fbSSascha Wildner#>0 ubyte&0x3F x \b, level %u 316fca56fbSSascha Wildner#>0 ubyte &0x80 \b, complex 326fca56fbSSascha Wildner#>0 ubyte &0x40 \b, reserved 336fca56fbSSascha Wildner# type of element 9~TCB 8~Digitizer setup 5~Group Data Elements 346fca56fbSSascha Wildner#>1 ubyte&0x7F x \b, type %u 35970935fdSSascha Wildner# words to follow in element: 17H~CEL library 2FEh~DGN 9FEh,DFEh~CIT 36614728caSSascha Wildner#>2 uleshort x \b, words %#4.4x to follow 376fca56fbSSascha Wildner# test for 3 reserved 0 bytes in CIT or "conversion" in ViewInfo structure (DGN CEL) 386fca56fbSSascha Wildner#>508 ubelong x \b, RESERVED %8.8x 396fca56fbSSascha Wildner>508 ubelong&0xFFffFF00 =0 406fca56fbSSascha Wildner# test for level 8 and type 9 for INGR raster image 416fca56fbSSascha Wildner>>0 beshort 0x0809 426fca56fbSSascha Wildner# test for length of 1st element is multiple of blocks a 512 bytes 436fca56fbSSascha Wildner>>>2 ubyte 0xfe 446fca56fbSSascha Wildner>>>>0 use ingr-image 456fca56fbSSascha Wildner# test for DGN or CEL by jump words (uleshort) forward to next element 466fca56fbSSascha Wildner>(2.s*2) ulong x 476fca56fbSSascha Wildner# 2nd element type: 8~Digitizer~DesiGNfile 1~library cell header other~CIT 486fca56fbSSascha Wildner#>>&1 ubyte&0x7F x \b, 2nd type %u 496fca56fbSSascha Wildner# DGN 506fca56fbSSascha Wildner>>&1 ubyte&0x7F 8 516fca56fbSSascha Wildner>>>2 uleshort =0x02FE Bentley/Intergraph Microstation CAD drawing 526fca56fbSSascha Wildner!:mime application/x-bentley-dgn 536fca56fbSSascha Wildner!:ext dgn 546fca56fbSSascha Wildner# The 0x40 bit of this byte is 1 if the file is 3D, otherwise 0 556fca56fbSSascha Wildner>>>>1214 ubyte &0x40 3D 566fca56fbSSascha Wildner>>>>1214 ubyte ^0x40 2D 576fca56fbSSascha Wildner# 2 chars for name of subunits like ft FT in IN mu m mm '\0 '\040 586fca56fbSSascha Wildner>>>>1120 string x \b, units %-.2s 596fca56fbSSascha Wildner# 2 chars for name of master unit like IN in ML SU tn th TH HU mm "\0 "\040 \0\0 606fca56fbSSascha Wildner>>>>1122 string >\0 %-.2s 61614728caSSascha Wildner#>>>>1120 ubelong x \b, units %#8.8x 626fca56fbSSascha Wildner# element range low,high x y z like xlow=0 08010000h 01080000h 636fca56fbSSascha Wildner#>>>>4 ubelong !0 \b, xlow %8.8x 646fca56fbSSascha Wildner#>>>>8 ubelong !0 \b, ylow %8.8x 656fca56fbSSascha Wildner#>>>>12 ubelong !0 \b, zlow %8.8x 666fca56fbSSascha Wildner#>>>>16 ubelong !0 \b, xhigh %8.8x 676fca56fbSSascha Wildner#>>>>20 ubelong !0 \b, yhigh %8.8x 686fca56fbSSascha Wildner#>>>>24 ubelong !0 \b, zhigh %8.8x 696fca56fbSSascha Wildner# graphic group number; all other elements in that group have same non-0 number 70614728caSSascha Wildner#>>>>28 leshort x \b, grphgrp %#4.4x 716fca56fbSSascha Wildner# words to optional attribute linkage 726fca56fbSSascha Wildner#>>>>30 ubyte x \b, attindx \%o 736fca56fbSSascha Wildner#>>>>31 ubyte x \b\%o 746fca56fbSSascha Wildner# >>30 string \026\105 DGNFile 756fca56fbSSascha Wildner# >>30 string \034\105 DGNFile 766fca56fbSSascha Wildner# >>30 string \073\107 DGNFile 776fca56fbSSascha Wildner# >>30 string \073\110 DGNFile 786fca56fbSSascha Wildner# >>30 string \106\107 DGNFile 796fca56fbSSascha Wildner# >>30 string \110\103 DGNFile 806fca56fbSSascha Wildner# >>30 string \120\104 DGNFile 816fca56fbSSascha Wildner# >>30 string \172\104 DGNFile 826fca56fbSSascha Wildner# >>30 string \172\105 DGNFile 836fca56fbSSascha Wildner# >>30 string \172\106 DGNFile 846fca56fbSSascha Wildner# >>30 string \234\106 DGNFile 856fca56fbSSascha Wildner# >>30 string \273\105 DGNFile 866fca56fbSSascha Wildner# >>30 string \306\106 DGNFile 876fca56fbSSascha Wildner# >>30 string \310\104 DGNFile 886fca56fbSSascha Wildner# >>30 string \341\104 DGNFile 896fca56fbSSascha Wildner# >>30 string \372\103 DGNFile 906fca56fbSSascha Wildner# >>30 string \372\104 DGNFile 916fca56fbSSascha Wildner# >>30 string \372\106 DGNFile 926fca56fbSSascha Wildner# >>30 string \376\103 DGNFile 936fca56fbSSascha Wildner# elements properties indicator 94614728caSSascha Wildner#>>>>32 uleshort !0 \b, properties %#4.4x 956fca56fbSSascha Wildner# class 0~Primary 96614728caSSascha Wildner#>>>>>32 uleshort&0x000F !0 \b, class %#4.4x 976fca56fbSSascha Wildner# Symbology 98614728caSSascha Wildner#>>>>>34 uleshort x \b, Symbology %#4.4x 996fca56fbSSascha Wildner# test for 2nd element type 1~library cell header 1006fca56fbSSascha Wildner>>&1 ubyte&0x7F 1 1016fca56fbSSascha Wildner# test for 1st element with level 8 and type 5 for cell library 1026fca56fbSSascha Wildner>>>0 beshort 0x0805 Bentley/Intergraph Microstation CAD cell library 1036fca56fbSSascha Wildner!:mime application/x-bentley-cel 1046fca56fbSSascha Wildner!:ext cel 1056fca56fbSSascha Wildner# 1066fca56fbSSascha Wildner# URL: http://fileformats.archiveteam.org/wiki/Intergraph_Raster 1076fca56fbSSascha Wildner# reference: https://web.archive.org/web/20140903185431/ 1086fca56fbSSascha Wildner# http://oreilly.com/www/centers/gff/formats/ingr/index.htm 1096fca56fbSSascha Wildner# note: verfied by command like `nconvert -fullinfo LONGLAT.CIT` 1106fca56fbSSascha Wildner# display information for intergraph raster bitmap 1116fca56fbSSascha Wildner0 name ingr-image 1126fca56fbSSascha Wildner# in 5.37 "Microstation CITFile" "Bentley/Intergraph MicroStation CIT raster CAD" 1136fca56fbSSascha Wildner# DataTypeCode indicates format, depth of the pixel data and used compression 1146fca56fbSSascha Wildner>4 uleshort x Intergraph raster image 1156fca56fbSSascha Wildner>>4 uleshort 0x0009 \b, Run-Length Encoded 1-bit 1166fca56fbSSascha Wildner!:mime image/x-intergraph-rle 1176fca56fbSSascha Wildner!:ext rel 1186fca56fbSSascha Wildner>>4 uleshort 0x0018 \b, CCITT Group 4 1-bit 1196fca56fbSSascha Wildner!:mime image/x-intergraph-cit 1206fca56fbSSascha Wildner!:ext cit 1216fca56fbSSascha Wildner>>4 uleshort 27 \b, Adaptive RLE RGB 1226fca56fbSSascha Wildner!:mime image/x-intergraph-rgb 1236fca56fbSSascha Wildner!:ext rgb 1246fca56fbSSascha Wildner>>4 default x 1256fca56fbSSascha Wildner>>>4 uleshort x \b, Type %u 1266fca56fbSSascha Wildner!:mime image/x-intergraph 1276fca56fbSSascha Wildner# TODO: 1286fca56fbSSascha Wildner#>4 uleshort 0 \b, no data 1296fca56fbSSascha Wildner# ... 1306fca56fbSSascha Wildner#>4 uleshort 0x0045 \b, Continuous Tone CMKY (Uncompressed) 1316fca56fbSSascha Wildner# ApplicationType: 0~generic raster image 3~drawing, scanning 1326fca56fbSSascha Wildner# 8~I/IMAGE and MicroStation Imager 9~ModelView 1336fca56fbSSascha Wildner>6 uleshort !0 \b, ApplicationType %u 1346fca56fbSSascha Wildner#>6 uleshort x \b, ApplicationType %u 1356fca56fbSSascha Wildner# XViewOrigin; Raster grid data X origin 1366fca56fbSSascha Wildner#>8 ulequad !0 \b, XViewOrigin %llx 1376fca56fbSSascha Wildner# PixelsPerLine is the number of pixels in a scan line of bitmapp 1386fca56fbSSascha Wildner>184 ulelong x \b, %u x 1396fca56fbSSascha Wildner# NumberOfLines is height of the raster data in scanlines 1406fca56fbSSascha Wildner>188 ulelong x %u 1416fca56fbSSascha Wildner# DeviceResolution; resolution of scanning device 1426fca56fbSSascha Wildner# positive indicates number of micros between lines; negative indicates DPI 1436fca56fbSSascha Wildner#>192 leshort x \b, DeviceResolution %d 1446fca56fbSSascha Wildner# ScanlineOrient indicates the origin and the orientation of the scan lines 1456fca56fbSSascha Wildner#>194 ubyte x \b, ScanlineOrient %x 1466fca56fbSSascha Wildner>194 ubyte x \b, orientation 1476fca56fbSSascha Wildner>194 ubyte &0x01 right 1486fca56fbSSascha Wildner>194 ubyte ^0x01 left 1496fca56fbSSascha Wildner>194 ubyte &0x02 down 1506fca56fbSSascha Wildner>194 ubyte ^0x02 top 1516fca56fbSSascha Wildner>194 ubyte &0x04 horizontal 1526fca56fbSSascha Wildner>194 ubyte ^0x04 vertical 1536fca56fbSSascha Wildner# ScannableFlag; Scanline indexing method used 154614728caSSascha Wildner#>195 ubyte !0 \b, ScannableFlag %#x 1556fca56fbSSascha Wildner# RotationAngle; Rotation angle of raster data 156614728caSSascha Wildner#>196 ubequad !0 \b, RotationAngle %#llx 1576fca56fbSSascha Wildner# SkewAngle; Skew angle of raster data 1586fca56fbSSascha Wildner#>204 ubequad !0 \b, SkewAngle %llx 1596fca56fbSSascha Wildner# DataTypeModifier; Additional raster data format info 160614728caSSascha Wildner#>212 uleshort !0 \b, DataTypeModifier %#4.4x 1616fca56fbSSascha Wildner# DesignFile[66]; Name of the design file 1626fca56fbSSascha Wildner>214 string >\0 \b, DesignFile %-.66s 1636fca56fbSSascha Wildner# DatabaseFile[66]; Name of the database file 1646fca56fbSSascha Wildner>280 string >\0 \b, DatabaseFile %-.66s 1656fca56fbSSascha Wildner# ParentGridFile[66]; Name of parent grid file 1666fca56fbSSascha Wildner>346 string >\0 \b, ParentGridFile %-.66s 1676fca56fbSSascha Wildner# FileDescription[80]; Text description of file and contents 1686fca56fbSSascha Wildner>412 string >\0 \b, FileDescription %-.80s 1696fca56fbSSascha Wildner# MinValue 170614728caSSascha Wildner#>492 ubequad !0 \b, MinValue %#llx 1716fca56fbSSascha Wildner# MaxValue 172614728caSSascha Wildner#>500 ubequad !0 \b, MaxValue %#llx 1736fca56fbSSascha Wildner# Reserved[3]; Unused (always 0) 1746fca56fbSSascha Wildner#>508 ubelong&0xFFffFF00 x \b, RESERVED %8.8x 1756fca56fbSSascha Wildner# GridFileVersion; Grid File Version like 2 3 1766fca56fbSSascha Wildner#>511 ubyte x \b, GridFileVersion %x 177327e51cbSPeter Avalos 178e8af9738SPeter Avalos# AutoCAD 1796fca56fbSSascha Wildner# Merge of the different contributions and updates from https://en.wikipedia.org/wiki/Dwg 1806fca56fbSSascha Wildner# and https://www.iana.org/assignments/media-types/image/vnd.dwg 181e8af9738SPeter Avalos0 string MC0.0 DWG AutoDesk AutoCAD Release 1.0 182e8af9738SPeter Avalos!:mime image/vnd.dwg 183e8af9738SPeter Avalos0 string AC1.2 DWG AutoDesk AutoCAD Release 1.2 184e8af9738SPeter Avalos!:mime image/vnd.dwg 185e8af9738SPeter Avalos0 string AC1.3 DWG AutoDesk AutoCAD Release 1.3 186e8af9738SPeter Avalos!:mime image/vnd.dwg 187e8af9738SPeter Avalos0 string AC1.40 DWG AutoDesk AutoCAD Release 1.40 188e8af9738SPeter Avalos!:mime image/vnd.dwg 189e8af9738SPeter Avalos0 string AC1.50 DWG AutoDesk AutoCAD Release 2.05 190e8af9738SPeter Avalos!:mime image/vnd.dwg 191e8af9738SPeter Avalos0 string AC2.10 DWG AutoDesk AutoCAD Release 2.10 192e8af9738SPeter Avalos!:mime image/vnd.dwg 193e8af9738SPeter Avalos0 string AC2.21 DWG AutoDesk AutoCAD Release 2.21 194e8af9738SPeter Avalos!:mime image/vnd.dwg 195e8af9738SPeter Avalos0 string AC2.22 DWG AutoDesk AutoCAD Release 2.22 196e8af9738SPeter Avalos!:mime image/vnd.dwg 197e8af9738SPeter Avalos0 string AC1001 DWG AutoDesk AutoCAD Release 2.22 198e8af9738SPeter Avalos!:mime image/vnd.dwg 199e8af9738SPeter Avalos0 string AC1002 DWG AutoDesk AutoCAD Release 2.50 200e8af9738SPeter Avalos!:mime image/vnd.dwg 201e8af9738SPeter Avalos0 string AC1003 DWG AutoDesk AutoCAD Release 2.60 202e8af9738SPeter Avalos!:mime image/vnd.dwg 203e8af9738SPeter Avalos0 string AC1004 DWG AutoDesk AutoCAD Release 9 204e8af9738SPeter Avalos!:mime image/vnd.dwg 205e8af9738SPeter Avalos0 string AC1006 DWG AutoDesk AutoCAD Release 10 206e8af9738SPeter Avalos!:mime image/vnd.dwg 207e8af9738SPeter Avalos0 string AC1009 DWG AutoDesk AutoCAD Release 11/12 208e8af9738SPeter Avalos!:mime image/vnd.dwg 209e8af9738SPeter Avalos# AutoCAD DWG versions R13/R14 (www.autodesk.com) 210e8af9738SPeter Avalos# Written December 01, 2003 by Lester Hightower 211e8af9738SPeter Avalos# Based on the DWG File Format Specifications at http://www.opendwg.org/ 212327e51cbSPeter Avalos# AutoCad, from Nahuel Greco 213327e51cbSPeter Avalos# AutoCAD DWG versions R12/R13/R14 (www.autodesk.com) 214e8af9738SPeter Avalos0 string AC1012 DWG AutoDesk AutoCAD Release 13 215e8af9738SPeter Avalos!:mime image/vnd.dwg 216970935fdSSascha Wildner0 string AC1013 DWG AutoDesk AutoCAD Release 13c3 217970935fdSSascha Wildner!:mime image/vnd.dwg 218e8af9738SPeter Avalos0 string AC1014 DWG AutoDesk AutoCAD Release 14 219e8af9738SPeter Avalos!:mime image/vnd.dwg 220970935fdSSascha Wildner0 string AC1015 DWG AutoDesk AutoCAD 2000 221e8af9738SPeter Avalos!:mime image/vnd.dwg 222e8af9738SPeter Avalos 223e4d4ce0cSPeter Avalos# A new version of AutoCAD DWG 224e4d4ce0cSPeter Avalos# Sergey Zaykov (mail_of_sergey@mail.ru, sergey_zaikov@rambler.ru, 225e4d4ce0cSPeter Avalos# ICQ 358572321) 226e4d4ce0cSPeter Avalos# From various sources like: 2276fca56fbSSascha Wildner# https://autodesk.blogs.com/between_the_lines/autocad-release-history.html 228e4d4ce0cSPeter Avalos0 string AC1018 DWG AutoDesk AutoCAD 2004/2005/2006 229e8af9738SPeter Avalos!:mime image/vnd.dwg 230e4d4ce0cSPeter Avalos0 string AC1021 DWG AutoDesk AutoCAD 2007/2008/2009 231e8af9738SPeter Avalos!:mime image/vnd.dwg 232e8af9738SPeter Avalos0 string AC1024 DWG AutoDesk AutoCAD 2010/2011/2012 233e8af9738SPeter Avalos!:mime image/vnd.dwg 234c990e5baSDaniel Fojt0 string AC1027 DWG AutoDesk AutoCAD 2013-2017 235c990e5baSDaniel Fojt!:mime image/vnd.dwg 236c990e5baSDaniel Fojt 237c990e5baSDaniel Fojt# From GNU LibreDWG 238970935fdSSascha Wildner0 string AC1032 DWG AutoDesk AutoCAD 2018/2019/2020 239970935fdSSascha Wildner!:mime image/vnd.dwg 240970935fdSSascha Wildner0 string AC1035 DWG AutoDesk AutoCAD 2021 241e8af9738SPeter Avalos!:mime image/vnd.dwg 242e4d4ce0cSPeter Avalos 243e4d4ce0cSPeter Avalos# KOMPAS 2D drawing from ASCON 244e4d4ce0cSPeter Avalos# This is KOMPAS 2D drawing or fragment of drawing but is not detailed nor 245e4d4ce0cSPeter Avalos# gathered nor specification 2466fca56fbSSascha Wildner# ASCON https://ascon.net/main/ in English, 2476fca56fbSSascha Wildner# https://ascon.ru/ main site in Russian 248e4d4ce0cSPeter Avalos# Extension is CDW for drawing and FRW for fragment of drawing 249e4d4ce0cSPeter Avalos# Sergey Zaykov (mail_of_sergey@mail.ru, sergey_zaikov@rambler.ru, 2506fca56fbSSascha Wildner# ICQ 358572321, https://vkontakte.ru/id16076543) 251e4d4ce0cSPeter Avalos# From: 2526fca56fbSSascha Wildner# https://sd.ascon.ru/otrs/customer.pl?Action=CustomerFAQ&CategoryID=4&ItemID=292 253e4d4ce0cSPeter Avalos# (in russian) and my experiments 254e4d4ce0cSPeter Avalos0 string KF 255e4d4ce0cSPeter Avalos>2 belong 0x4E00000C Kompas drawing 12.0 SP1 256e4d4ce0cSPeter Avalos>2 belong 0x4D00000C Kompas drawing 12.0 257e4d4ce0cSPeter Avalos>2 belong 0x3200000B Kompas drawing 11.0 SP1 258e4d4ce0cSPeter Avalos>2 belong 0x3100000B Kompas drawing 11.0 259e4d4ce0cSPeter Avalos>2 belong 0x2310000A Kompas drawing 10.0 SP1 260e4d4ce0cSPeter Avalos>2 belong 0x2110000A Kompas drawing 10.0 261e4d4ce0cSPeter Avalos>2 belong 0x08000009 Kompas drawing 9.0 SP1 262e4d4ce0cSPeter Avalos>2 belong 0x05000009 Kompas drawing 9.0 263e4d4ce0cSPeter Avalos>2 belong 0x33010008 Kompas drawing 8+ 264e4d4ce0cSPeter Avalos>2 belong 0x1A000008 Kompas drawing 8.0 265e4d4ce0cSPeter Avalos>2 belong 0x2C010107 Kompas drawing 7+ 266e4d4ce0cSPeter Avalos>2 belong 0x05000007 Kompas drawing 7.0 267e4d4ce0cSPeter Avalos>2 belong 0x32000006 Kompas drawing 6+ 268e4d4ce0cSPeter Avalos>2 belong 0x09000006 Kompas drawing 6.0 269e4d4ce0cSPeter Avalos>2 belong 0x5C009005 Kompas drawing 5.11R03 270e4d4ce0cSPeter Avalos>2 belong 0x54009005 Kompas drawing 5.11R02 271e4d4ce0cSPeter Avalos>2 belong 0x51009005 Kompas drawing 5.11R01 272e4d4ce0cSPeter Avalos>2 belong 0x22009005 Kompas drawing 5.10R03 273e4d4ce0cSPeter Avalos>2 belong 0x22009005 Kompas drawing 5.10R02 mar 274e4d4ce0cSPeter Avalos>2 belong 0x21009005 Kompas drawing 5.10R02 febr 275e4d4ce0cSPeter Avalos>2 belong 0x19009005 Kompas drawing 5.10R01 276e4d4ce0cSPeter Avalos>2 belong 0xF4008005 Kompas drawing 5.9R01.003 277e4d4ce0cSPeter Avalos>2 belong 0x1C008005 Kompas drawing 5.9R01.002 278e4d4ce0cSPeter Avalos>2 belong 0x11008005 Kompas drawing 5.8R01.003 279327e51cbSPeter Avalos 280327e51cbSPeter Avalos# CAD: file(1) magic for computer aided design files 281327e51cbSPeter Avalos# Phillip Griffith <phillip dot griffith at gmail dot com> 282327e51cbSPeter Avalos# AutoCAD magic taken from the Open Design Alliance's OpenDWG specifications. 283327e51cbSPeter Avalos# 2849f86ab30SPeter Avalos 285c30bd091SSascha Wildner# 3DS (3d Studio files) 286c30bd091SSascha Wildner0 leshort 0x4d4d 287c30bd091SSascha Wildner>6 leshort 0x2 288c30bd091SSascha Wildner>>8 lelong 0xa 289c30bd091SSascha Wildner>>>16 leshort 0x3d3d 3D Studio model 290*3b9cdfa3SAntonio Huete Jimenez# Beat sgi MMV 291*3b9cdfa3SAntonio Huete Jimenez!:strength +20 292c30bd091SSascha Wildner!:mime image/x-3ds 2936fca56fbSSascha Wildner!:ext 3ds 294e8af9738SPeter Avalos 295e8af9738SPeter Avalos# MegaCAD 2D/3D drawing (.prt) 2966fca56fbSSascha Wildner# https://megacad.de/ 297e8af9738SPeter Avalos# From: Markus Heidelberg <markus.heidelberg@web.de> 298e8af9738SPeter Avalos0 string MegaCad23\0 MegaCAD 2D/3D drawing 2996fca56fbSSascha Wildner 3006fca56fbSSascha Wildner# Hoops CAD files 3016fca56fbSSascha Wildner# https://docs.techsoft3d.com/visualize/3df/latest/build/general/hsf/\ 3026fca56fbSSascha Wildner# HSF_architecture.html 3036fca56fbSSascha Wildner# Stephane Charette <stephane.charette@gmail.com> 3046fca56fbSSascha Wildner0 string ;;\020HSF\020V OpenHSF (Hoops Stream Format) 3056fca56fbSSascha Wildner>7 regex/9 V[.0-9]{4,5}\020 %s 3066fca56fbSSascha Wildner!:ext hsf 3076fca56fbSSascha Wildner 3086fca56fbSSascha Wildner# AutoCAD Drawing Exchange Format 3096fca56fbSSascha Wildner0 regex \^[\ \t]*0\r?\000$ 3106fca56fbSSascha Wildner>1 regex \^[\ \t]*SECTION\r?$ 3116fca56fbSSascha Wildner>>2 regex \^[\ \t]*2\r?$ 3126fca56fbSSascha Wildner>>>3 regex \^[\ \t]*HEADER\r?$ AutoCAD Drawing Exchange Format 3136fca56fbSSascha Wildner!:mime application/x-dxf 3146fca56fbSSascha Wildner!:ext dxf 3156fca56fbSSascha Wildner>>>>&1 search/8192 AC1006 \b, R10 3166fca56fbSSascha Wildner>>>>&1 search/8192 AC1009 \b, R11/R12 3176fca56fbSSascha Wildner>>>>&1 search/8192 AC1012 \b, R13 318970935fdSSascha Wildner>>>>&1 search/8192 AC1013 \b, R13c3 3196fca56fbSSascha Wildner>>>>&1 search/8192 AC1014 \b, R14 3206fca56fbSSascha Wildner>>>>&1 search/8192 AC1015 \b, version 2000 3216fca56fbSSascha Wildner>>>>&1 search/8192 AC1018 \b, version 2004 3226fca56fbSSascha Wildner>>>>&1 search/8192 AC1021 \b, version 2007 3236fca56fbSSascha Wildner>>>>&1 search/8192 AC1024 \b, version 2010 324970935fdSSascha Wildner>>>>&1 search/8192 AC1027 \b, version 2013 325970935fdSSascha Wildner>>>>&1 search/8192 AC1032 \b, version 2018 326970935fdSSascha Wildner>>>>&1 search/8192 AC1035 \b, version 2021 3276fca56fbSSascha Wildner 3286fca56fbSSascha Wildner# The Sketchup 3D model format https://www.sketchup.com/ 3296fca56fbSSascha Wildner0 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 3306fca56fbSSascha Wildner!:mime application/vnd.sketchup.skp 3316fca56fbSSascha Wildner!:ext skp 332c990e5baSDaniel Fojt 333c990e5baSDaniel Fojt4 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 334c990e5baSDaniel Fojt!:strength +40 335614728caSSascha Wildner 336614728caSSascha Wildner# glTF (GL Transmission Format) - by the Khronos Group 337614728caSSascha Wildner# Reference: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#glb-file-format-specification 338614728caSSascha Wildner0 string glTF glTF binary model 339614728caSSascha Wildner>4 ulelong x \b, version %d 340614728caSSascha Wildner>8 ulelong x \b, length %d bytes 341614728caSSascha Wildner!:mime model/gltf-binary 342614728caSSascha Wildner!:ext glb 343614728caSSascha Wildner 344614728caSSascha Wildner# FBX (FilmBoX) - by Kaydara/Autodesk 345614728caSSascha Wildner# Reference: https://code.blender.org/2013/08/fbx-binary-file-format-specification 346614728caSSascha Wildner0 string Kaydara\ FBX\ Binary\ \ \0 Kaydara FBX model, 347614728caSSascha Wildner>&2 ulelong x version %d 348614728caSSascha Wildner!:ext fbx 349614728caSSascha Wildner 350614728caSSascha Wildner# PLY (Polygon File Format/Stanford Triangle Format) - by Greg Turk 351614728caSSascha Wildner# Reference: https://web.archive.org/web/20161204152348/http://www.dcs.ed.ac.uk/teaching/cs4/www/graphics/Web/ply.html 352614728caSSascha Wildner0 string ply\n PLY model, 353614728caSSascha Wildner!:ext ply 354614728caSSascha Wildner>4 string format\ ascii\ ASCII, 355614728caSSascha Wildner>>&0 regex/6 [0-9.]+ version %s 356614728caSSascha Wildner>4 string format\ binary binary, 357614728caSSascha Wildner>>&0 string _little_endian\ little endian, 358614728caSSascha Wildner>>>&0 regex/6 [0-9.]+ version %s 359614728caSSascha Wildner>>&0 string _big_endian\ big endian, 360614728caSSascha Wildner>>>&0 regex/6 [0-9.]+ version %s 361614728caSSascha Wildner 362614728caSSascha Wildner# VRML (Virtual Reality Modeling Language) - by the Web3D Consortium 363614728caSSascha Wildner# From: Michel Briand <michelbriand@free.fr> 364614728caSSascha Wildner# Reference: https://www.web3d.org/standards 365614728caSSascha Wildner0 string/w #VRML\ V1.0\ ascii VRML 1 file 366614728caSSascha Wildner!:mime model/vrml 367614728caSSascha Wildner!:ext wrl 368614728caSSascha Wildner0 string/w #VRML\ V2.0\ utf8 ISO/IEC 14772 VRML 97 file 369614728caSSascha Wildner!:mime model/vrml 370614728caSSascha Wildner!:ext wrl 371614728caSSascha Wildner# X3D, VRML encoded 372614728caSSascha Wildner0 string #X3D X3D (Extensible 3D) model, VRML format 373614728caSSascha Wildner>4 string V 374614728caSSascha Wildner>>5 regex/6 [0-9.]+ \b, version %s 375614728caSSascha Wildner!:mime model/x3d+vrml 376614728caSSascha Wildner!:ext x3dv 377614728caSSascha Wildner 378614728caSSascha Wildner## XML-based 3D CAD Formats 379614728caSSascha Wildner# From: Michel Briand <michelbriand@free.fr>, Oliver Galvin <odg@riseup.net> 380614728caSSascha Wildner0 string/w \<?xml\ version= 381614728caSSascha Wildner!:strength + 5 382614728caSSascha Wildner# X3D (Extensible 3D) 383614728caSSascha Wildner# Schema: https://www.web3d.org/specifications/x3d-3.2.dtd 384614728caSSascha Wildner# MIME Type: https://www.iana.org/assignments/media-types/model/x3d+xml 385614728caSSascha Wildner# Example: https://www.web3d.org/x3d/content/examples/Basic/course/CreateX3DFromStringRandomSpheres.x3d 386614728caSSascha Wildner>20 search/1000/w \<!DOCTYPE\ X3D X3D (Extensible 3D) model, XML document 387614728caSSascha Wildner!:mime model/x3d+xml 388614728caSSascha Wildner!:ext x3d 389614728caSSascha Wildner# COLLADA (COLLAborative Design Activity) - by the Khronos Group 390614728caSSascha Wildner# Schema: http://www.collada.org/2005/11/COLLADASchema 391614728caSSascha Wildner# Reference: https://www.khronos.org/collada 392614728caSSascha Wildner>20 search/1000/w \<COLLADA COLLADA model, XML document 393614728caSSascha Wildner!:mime model/vnd.collada+xml 394614728caSSascha Wildner!:ext dae 395614728caSSascha Wildner# 3MF (3D Manufacturing Format) - by the 3MF Consortium 396614728caSSascha Wildner# Schema: http://schemas.microsoft.com/3dmanufacturing/core/2015/02 397614728caSSascha Wildner# Reference: https://3mf.io/specification 398614728caSSascha Wildner>20 search/1000/w xmlns="http://schemas.microsoft.com/3dmanufacturing 3MF (3D Manufacturing Format) model, XML document 399614728caSSascha Wildner!:mime model/3mf 400614728caSSascha Wildner!:ext 3mf 401614728caSSascha Wildner# AMF (Additive Manufacturing File) 402614728caSSascha Wildner# Reference: https://www.astm.org/Standards/ISOASTM52915.htm 403614728caSSascha Wildner>20 search/1000/w \<amf AMF (Additive Manufacturing Format) model, XML document 404614728caSSascha Wildner!:mime application/x-amf 405614728caSSascha Wildner!:ext amf 406