A couple of hours ago I got my SN. Connected it to my PowerBook (MacOS 10.4.10), installed the drivers (1.4.0), restarted and, oh joy, it worked in GE (4.2.0180.1134). Loved it. Unfortunately my luck didn't last. I picked up Sketchup 6 (6.0.1145), the program itself seemed to work fine, but there was no way I could get it to recognize the SN. Several hours and some weird experimentation later (including altering hard coded paths in 3DxSketchUp.bundle with a hex editor) the culprit seems to be Google.
My system partition is formated with a HFS+ case sensitive (journaled) file system. The standard installation for MacOS X is still case insensitive, and there are a number of applications assuming this default. One of them seems to be Sketchup.
The trouble started with the installation of the plug-in. Sketchup creates a directory 'plugins' in '/Library/Application Support/Google SketchUp 6/SketchUp/' where plug-ins are supposed to go. 3dxwaremacPE-v1_4_0 expects this to be called 'Plugins' instead. While on a case insensitive file system writing to 'Plugins' is the same as writing to 'plugins', on a case sensitive system an additional directory called 'Plugins' will be created where the SN plug-in gets installed and Sketchup does not find it. At that time (some hours and reinstall cycles already gone) I suspected some developer at 3Dconnexion had screwed up, especially due to their strange idea where to place the options for the device. Reinstalling the drivers from system preferences, hidden in an obscure drop down menu?
Renaming 'plugins' to 'Plugins' made Sketchup puke, moving the files from 'Plugins' to 'plugins' caused error messages, in the end a symbolic link did (part of) the trick. Unfortunately the 'plugins' folder was just one of many cases of case problems. The SN plug-in uses a lot of ruby code calling modules like 'GettingStarted.rb', all of which were stored like 'gettingstarted.rb'. Again, this would be ignored on a case insensitive file system. So I 'grep'ed through the files and created a number of symbolic links [a symbolic link is the unix version of an alias, allowing to call a file by another name] and finally got the SN to work in Sketchup.
I'm not sure about ruby naming conventions, lower case module names seemed to be okay, maybe someone who actually does program in ruby can comment on that. Since I found case sensitive references in ruby code by Google itself, I currently suspect that the installer is faulty and has only been tested on regular HFS+ partitions. Anyway, below you'll find what I did to get it to run. Since I only 'fixed' files I found in 'require' statements or error messages, I'm pretty sure more problems will show up. So hopefully either someone enlightens me about the flaw in my logic or Google fixes the installer. If not, I will have to find a way to rename/link to all the necessary files with the proper case.
In Terminal.app:
Code: Select all
cd /Library/Application\ Support/Google\ SketchUp\ 6/SketchUp/
ln -s plugins/ Plugins
Code: Select all
ln -s tools/ Tools
cd tools/
ln -s gettingstarted.rb GettingStarted.rb
ln -s langhandler.rb LangHandler.rb
cd Sandbox/
ln -s detailtool.rbs DetailTool.rbs
ln -s drapetool2.rbs DrapeTool2.rbs
ln -s flipedgetool.rbs FlipEdgeTool.rbs
ln -s fromscratch.rbs FromScratch.rbs
ln -s geometryhelpers.rbs GeometryHelpers.rbs
ln -s smoovetool.rbs SmooveTool.rbs
ln -s stamptool.rbs StampTool.rbs
ln -s sandboxmenus.rb SandboxMenus.rb
cd ../../Resources/
Code: Select all
cd en-US
ln -s selfpacedtutorials/ SelfPacedTutorials
cd ..