SketchUp / sketchup-stl

A SketchUp Ruby Extension that adds STL (STereoLithography) file format import and export.
http://extensions.sketchup.com/content/sketchup-stl
MIT License
248 stars 68 forks source link

White box in export STL dialog ander Wine #150

Closed DeeKey closed 9 years ago

DeeKey commented 9 years ago

I am running SketchUp 2013 in wine 1.6.2 under Ubuntu 14.04. Was able to import .stl successfully. But import does not work. When I press "Export STL" button a blank white dialogue window appear. There are no controls in this dialog. The only thing I can do is to close the dialog. The following error messages appear in Wine:

fixme:ieframe:PersistStreamInit_InitNew (0x777c560) fixme:ieframe:navigate_url Unsupported args (Flags 0x33cc68:3; TargetFrameName 0x33cc78:8) fixme:urlmon:URLMoniker_BindToObject use running object table fixme:ieframe:BrowserService_GetTravelLog 0x777ca10 0x33a718 fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 84 of CGID_ShellDocView fixme:ieframe:ClOleCommandTarget_QueryStatus (0x777c614)->((null) 1 0x33a710 (nil)) fixme:ieframe:ClOleCommandTarget_QueryStatus command_0: 27, 0x0 fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 25 fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 26 fixme:mshtml:OleControl_OnAmbientPropertyChange not supported AMBIENT_USERAGENT fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 37 of CGID_ShellDocView fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 84 of CGID_ShellDocView fixme:ieframe:ClientSite_GetContainer (0x777c614)->(0x33a6fc) fixme:mshtml:nsChannel_GetContentDisposition (0x7a05900)->(0x339e3c) fixme:mshtml:nsChannel_GetContentDispositionHeader (0x7a05900)->(0x339664) fixme:ieframe:ClientSite_GetContainer (0x777c614)->(0x33b76c) fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 25 fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 26 fixme:ieframe:DocHostUIHandler_GetDropTarget (0x777c614) fixme:jscript:JScriptProperty_SetProperty Unimplemented property 70000001 fixme:jscript:JScriptProperty_SetProperty Unimplemented property 70000002 fixme:mshtml:HTMLScriptElement_get_readyState (0x7c24638)->(0x33c950) fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 69 of CGID_Explorer fixme:ieframe:PropertyNotifySink_OnChanged unimplemented dispid 1005 fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 69 of CGID_Explorer fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 26 fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 103 of CGID_ShellDocView fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 2315 of group {de4ba900-59ca-11cf-9592-444553540000} fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 35 fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 28 wine-stl

DeeKey commented 9 years ago

Also tested under Wine 1.7.33 with Sketchup 2015. Unfortunately with the same result. Following messages in terminal:

fixme:ieframe:PersistStreamInit_InitNew (0xe395ae0) fixme:ieframe:navigate_url Unsupported args (Flags 0x23d230 {VT_I4: 4}; TargetFrameName 0x23d270 {VT_BSTR: (null)}) fixme:wtsapi:WTSRegisterSessionNotification Stub 0x3015c 0x00000000 fixme:wtsapi:WTSRegisterSessionNotification Stub 0x30158 0x00000000 fixme:ieframe:BrowserService_GetTravelLog 0xe67b780 0x23a270 fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 84 of CGID_ShellDocView fixme:ieframe:ClOleCommandTarget_QueryStatus (0xe395c08)->((null) 1 0x23a240 (nil)) fixme:ieframe:ClOleCommandTarget_QueryStatus command_0: 27, 0x0 fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 25 fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 26 fixme:mshtml:OleControl_OnAmbientPropertyChange not supported AMBIENT_USERAGENT fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 37 of CGID_ShellDocView fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 84 of CGID_ShellDocView fixme:ieframe:ClientSite_GetContainer (0xe395c08)->(0x23a2c8) fixme:mshtml:nsChannel_GetContentDisposition (0xe37dbc0)->(0x23962c) fixme:mshtml:nsChannel_GetContentDispositionHeader (0xe37dbc0)->(0x238a80) fixme:wtsapi:WTSRegisterSessionNotification Stub 0x4015e 0x00000000 fixme:ieframe:ClientSite_GetContainer (0xe395c08)->(0x23b878) fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 25 fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 26 fixme:ieframe:DocHostUIHandler_GetDropTarget (0xe395c08) fixme:jscript:JScriptProperty_SetProperty Unimplemented property 70000001 fixme:jscript:JScriptProperty_SetProperty Unimplemented property 70000002 fixme:mshtml:ScriptBSC_stop_binding binding failed 800c0005 fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 69 of CGID_Explorer fixme:ieframe:PropertyNotifySink_OnChanged unimplemented dispid 1005 fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 69 of CGID_Explorer fixme:wtsapi:WTSUnRegisterSessionNotification Stub 0x30158 fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 26 fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 103 of CGID_ShellDocView fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 2315 of group {de4ba900-59ca-11cf-9592-444553540000} fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 35 fixme:ieframe:ClOleCommandTarget_Exec Unimplemented cmdid 28 fixme:mshtml:HTMLElement4_put_onfocusin (0xe8bbca0)->(0x23af10 {VT_BSTR: L"t"})

DeeKey commented 9 years ago

The problem is that the dialogue uses InternetExplorer. If the dialog window could use something else, then the problem would be fixed!

thomthom commented 9 years ago

SketchUp makes use of the native operating system's browser engine which under Windows is IE and under OSX is WebKit. Extensions cannot exchange the engine used.

(I thought Wine used a wrapped around an embedded Mozilla control to simulate embedded IE?)

thomthom commented 9 years ago

@Aerilius - don't you use SketchUp under Wine? Thought I saw a screenshot of you using Wine with webdialogs in use...

Aerilius commented 9 years ago

@DeeKey, please refer to the guides at https://sites.google.com/site/sketchupsage/problems/linux To use SketchUp in Wine, you need to install a version of Microsoft's IE (IE8) is unfortunately the "latest" version supported by Wine). The embedded winegecko does not bring all the goodness of Mozilla's Gecko, there are still some not working JavaScript functions in Wine's layer to emulate IE.

When posting bug reports to SketchUp or plugins, if possible, check first whether a bug in Wine is plausible, you can also ask in the SketchUp forum.

DeeKey commented 9 years ago

I was able to solve the problem! Installed 32bit Sketchup2014, installed IE8. Was not able to solve the problem with SketchUp 2015 as it requires Windows7 which has no IE8 support.

DeeKey commented 9 years ago

BTW, the guide above is outdated! Better follow instructions here in comments: https://appdb.winehq.org/objectManager.php?sClass=version&iId=30063

Aerilius commented 9 years ago

Yes, the target is always moving, someone needs to update the guide.

It is still recommended to install Microsoft's IE over Wine's wrapped Gecko (although it is very far advanced it just interrupts script execution when it encounters an uninmplemented function, this can lead to issues just similar like this). Windows 7 comes with IE8 by default (unfortunately). Wine's Windows 7 mode can run MS IE8 (only no newer IE9+).