Previewing Solidworks files from Linux
You can add very superficial viewing capability in Linux for Solidworks files.
Firstly, add a mime type, by creating a file $HOME/.local/share/mime/packages/x-solidworks.xml:
<?xml version="1.0" encoding="utf-8"?> <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> <mime-type type="application/x-solidworks"> <glob pattern="*.sldprt"/> <glob pattern="*.sldasm"/> <glob pattern="*.slddrw"/> </mime-type> </mime-info>
Next, run update-mime-database $HOME/.local/share/mime
Check that your mime type is working with some solidworks file you have:
mimetype partfile.SLDPRT
and you should see application/x-solidworks in the output.
Next, add a thumbnailer for this type. First create the following script file and save it in /usr/local/bin/solidworks-thumbnailer:
Invalid language.
You need to specify a language like this: <source lang="html">...</source>
Supported languages for syntax highlighting:
a4c, abap, abc, abnf, actionscript, ada, agda, alan, algol, ampl, amtrix, applescript, arc, arm, as400cl, ascend, asciidoc, asp, aspect, assembler, ats, autohotkey, autoit, avenue, awk, ballerina, bat, bbcode, bcpl, bibtex, biferno, bison, blitzbasic, bms, bnf, boo, c, carbon, ceylon, charmm, chill, chpl, clean, clearbasic, clipper, clojure, clp, cmake, cobol, coffeescript, coldfusion, conf, cpp2, critic, crk, crystal, cs_block_regex, csharp, css, d, dart, delphi, diff, dockerfile, dts, dylan, ebnf, ebnf2, eiffel, elixir, elm, email, erb, erlang, euphoria, exapunks, excel, express, factor, fame, fasm, felix, fish, fortran77, fortran90, frink, fsharp, fstab, fx, gambas, gdb, gdscript, go, graphviz, haml, hare, haskell, haxe, hcl, html, httpd, hugo, icon, idl, idlang, inc_luatex, informix, ini, innosetup, interlis, io, jam, jasmin, java, javascript, js_regex, json, jsp, jsx, julia, kotlin, ldif, less, lhs, lilypond, limbo, lindenscript, lisp, logtalk, lotos, lotus, lua, luban, makefile, maple, markdown, matlab, maya, mercury, meson, miranda, mod2, mod3, modelica, moon, ms, msl, mssql, mxml, n3, nasal, nbc, nemerle, netrexx, nginx, nice, nim, nix, nsis, nxc, oberon, objc, ocaml, octave, oorexx, org, os, oz, paradox, pas, pdf, perl, php, pike, pl1, plperl, plpython, pltcl, po, polygen, pony, pov, powershell, pro, progress, ps, psl, pure, purebasic, purescript, pyrex, python, q, qmake, qml, qu, r, rebol, rego, rexx, rnc, rpg, rpl, rst, ruby, rust, s, sam, sas, scad, scala, scilab, scss, shellscript, slim, small, smalltalk, sml, snmp, snobol, solidity, spec, spn, sql, squirrel, styl, svg, swift, sybase, tcl, tcsh, terraform, tex, toml, tsql, tsx, ttcn3, txt, typescript, upc, vala, vb, verilog, vhd, vimscript, vue, wat, whiley, wren, xml, xpp, yaiff, yaml, yaml_ansible, yang, zig, znn
Set the file executable:
chmod +x /usr/local/bin/solidworks-thumbnailer
Now associate this thumbnailer with the mime type, by creating a file $HOME/.local/share/thumbnailers/solidworks.thumbnailer:
[Thumbnailer Entry] TryExec=/usr/local/bin/solidworks-thumbnailer Exec=/usr/local/bin/solidworks-thumbnailer %i %o %s MimeType=application/x-solidworks;
You need to restart Nautilus using nautilus -q. After that, you should be seeing little thumbnails for all your solidworks files, similar to below:
This tiny thumbnail is lower than the resolution embedded in the solidworks file. To see the preview image at full available resolution, see here. For some notes on possibly getting more information from these files, see here.