open3DEConsole print3DEConsole "\nExif ref. frame importer V1.0\n" set filename [post3DEFileRequester "Import Exif Reference Frame..." "*"] if {$filename!=""}\ { # get exif information... exec /usr/local/bin/exif $filename >/tmp/3de_exif_import.txt # parse exif output... set file [open /tmp/3de_exif_import.txt r+]; while {![eof $file]}\ { set line [gets $file ]; # skip lines begining with "-"... set c [string index $line 0] if { $c == "-" } continue set tag [string range $line 0 20] set data [string range $line 21 [string length $line]] switch $tag {\ "Model |" {\ set model $data } "Focal Length |" {\ scan $data "%f" focal } "PixelXDimension |" {\ set width $data } "PixelYDimension |" {\ set height $data } "Focal Plane x-Resolu|" {\ set fbw $data } "Focal Plane y-Resolu|" {\ set fbh $data } } } close $file file delete /tmp/3de_exif_import.txt # print out some infos... print3DEConsole "\nCamera Model: $model \n" print3DEConsole "Focal Length: $focal mm\n" set filmbackw [expr (1.0/$fbw)*$width*2.54] set filmbackh [expr (1.0/$fbh)*$height*2.54] print3DEConsole "Filmback Width: $filmbackw cm\n" print3DEConsole "Filmback Height: $filmbackh cm\n\n" # create camera... set camera [createCamera] set name [string trim $model] set name "$name - $focal mm" setCameraName $camera $name setCameraFBackWidth $camera $filmbackw setCameraFBackHeight $camera $filmbackh setCameraFocalLength $camera [expr $focal/10.0] # create ref. frame... set fobj [createFobj REF_FRAME] setFobjName $fobj [string trimleft $filename 20] setFobjPath $fobj $filename setFobjCamera $fobj $camera setFobjImageWidth $fobj $width setFobjImageHeight $fobj $height }