WxWindows for SketchUp Dialogs
-
It's too bad that the SketchUp team didn't follow through on the UI support within the Ruby API. It's not bad, but it's could be a heck of a lot better.
I'm a bit concerned about wxSU because it seems just another potentially poorly supported or unsupported package. At least Javascript and HTML have well known, supported standards. They won't go away anytime soon.
-
@david. said:
It's too bad that the SketchUp team didn't follow through on the UI support within the Ruby API. It's not bad, but it's could be a heck of a lot better.
This is a good point. On one hand, you could argue that WebDialogs are the answer to complex UI inside SU, but in practice I think it's hard to find developers who are experts at ruby AND html AND javascript, which is largely what's needed to create solid UI inside a webdialog.
If people have seen any UI APIs that are worth looking at as a potential model for how we could extend Ruby UI support, please let me know.
-
@unknownuser said:
This is a good point. On one hand, you could argue that WebDialogs are the answer to complex UI inside SU, but in practice I think it's hard to find developers who are experts at ruby AND html AND javascript, which is largely what's needed to create solid UI inside a webdialog.
If people have seen any UI APIs that are worth looking at as a potential model for how we could extend Ruby UI support, please let me know.
I think you guys started by using a hammer when you could have developed a scalpel. Archicad for example has a standardized built-in GUI, It does not need to be created each time someone wants to develop GDL scripts, to interact with the main program. Neither do I have to quit the main program just to restart the script to see if it works. I can run any script and see the results in its own window in 3d, and the error checking routine will point to any error in the script. In addition GDL is written in Basic, while not as code-dejour as Ruby its robust enough to develop complex 3d objects for ArchiCad.
Now that your down the road with the hammer your finding its to clumsy, so you try to fix it with adding more and more STUFF. Which means you will alienate guys like me, which are already less that .1% of SU users, that are already struggling with Ruby, and really don't care to learn 2 more languages just so I can make a simple script look good in a GUI.Its to bad those learning programming today, are not taught the principle "less is more"
-
I may well get flamed but....
Multiple programming languages are the bain of my life! I'm a user and part time programmer so I want to be able to do something easily.
To illustrate, my problems started with web pages, where I needed an understanding of HTML. But some things HTML couldn't do so then I needed an understanding of JavaScript. But some code I didn't want exposed so I needed an understanding of Perl for CGI scripting. Then PHP became available so I needed an understanding of that (although I could drop Perl).
I had a CAD program with a straightforward macro programming language. But it had no GUI, but you could use VB to create one and interact with the program and macro so there was another program.
SketchUp came and I needed to have an understanding of Ruby.
I needed to automate Word, whose macro language was VBA. Still having now used VB I had a head start.
The main CAD software where I work is ACAD and Inventor, those macro languages are VBA. Oh, that's handy, worked with that before.
Finally, I had to create an on-line configurator for some machine selection as a Java Applet, so now I needed to have an understanding of Java.
MY BRAIN HURTS DOCTOR!!!!!!
-
Nice point Peter, I feel your pain. I've gone through many languages, too. I like Ruby, but I already knew Perl, among others. And, this next point is not unique to Ruby, but it has had a number of recent security flaws. How do the fixes get patched into the SketchUp Ruby API? Seems like they will only come when a new version of SketchUp is released. Personally, I don't think this is good practice. But, the genie is out of the bottle, now.
I think people are trying to build a better mouse trap. And, programming languages are like "opinions"... everyone seems to have one.
-
@unknownuser said:
This is a good point. On one hand, you could argue that WebDialogs are the answer to complex UI inside SU, but in practice I think it's hard to find developers who are experts at ruby AND html AND javascript, which is largely what's needed to create solid UI inside a webdialog.
If people have seen any UI APIs that are worth looking at as a potential model for how we could extend Ruby UI support, please let me know.
I don't know whether you have looked at this topic http://www.sketchucation.com/forums/scf/viewtopic.php?f=80&t=12770. I am not expert at html and javascript, and the only ruby coding I have learnt from SFC experts like Jim and you (both web dialog video and blog). But I have learnt enough to design namesets to connect up quite different disciplines in a single endeavour ( e.g. the completion of a building project), with Sketchup components a key element.
One member, Andrew Dwight (aadBuild), advised me in a PM that however good the concept, people still needed to see the detail of what it can do; I have been working on more video clips and commentary for that and hope to add a new post to the nameset intro videos topic this weekend.
I hope you find this interesting.
Chris
New post done - please use link in original post.
-
I can see this thread is about to die!
If anyone would like another example, of how other 3d software programs
have integrated languages into their main program, have a look at Modo.
http://www.luxology.com/whatismodo/
with special reference to
http://www.vertexmonkey.com/scripts_modeling_create.php
Here is a community which provides scripts written in Perl and Python
which integrate seamlessly into Modo. Modo provides the Dialog interface.And while I see some forum members going GAGA over a commercial Profiler for SU.
Its no big deal for Modo, someone has provided one since the release of Modo 201.
Modo 201 come out about 2 years ago. -
@unknownuser said:
Then why are you 'going GAGA' over Modo?
I'm not going "GAGA over ArchiCad nor Modo", I'm simply mentioning these programs have had more success in how to integrate addon language components into their main program. Its my hope that SU will improve, and perhaps someone on their staff will look at those examples. ....That's ALL!
I'm quite sure anyone that has ever written a Ruby program, would love to see a standardized Ruby GUI interface, becoming part of the next major release of SU.
-
@jim said:
The controls example does work for me under XP. But it also does crash frequently.
Jim, you probably have Ruby installed, have you? I don't have. Will see if it helps.
I hope this solution will be developed, as I hate playing with HTML and JavaS (I have already tied and have some 'success'). I would love to use Wx without bugsplats.
Tomasz
-
I've just posted version 0.2 of the wxSU plugin.
You can download it here: http://wxsu.sourceforge.net/
The new release fixes several bugs, updates to wxRuby 1.9.9, and has a few other improvements.
-
Welcome to the forums Peter; thanks for the update.
-
Peter, thank you!
-
Peter, Thank you! Now it works! I hope I will soon make use of your gift.
Tomasz
-
Just reviving this thread briefly to let everyone know I've just posted version 0.3.0 of the wxSU plugin.
You can download it here: http://sourceforge.net/project/showfiles.php?group_id=240585&package_id=292646
Version 0.3.0 Release Notes
-
Update of wxRuby engine and documentation to version 2.0.0.
-
Bug fix to prevent the creation of multiple instances of the wxSU::App class. Multiple instances can cause crashes and conflicts.
-
Bug fix for conflict with V-Ray plugin that prevented SketchUp from shutting down completely after exiting.
-
Better error message and checking for the DLL libraries "msvcp71.dll" and "msvcr71.dll" required by wxRuby on Windows with SketchUp 7.
-
Required DLL libraries ("gdiplus.dll", "msvcp71.dll", and "msvcr71.dll") are now installed automatically if missing.
-
-
Thanks Peter for the update. I give it a try. Is this extension also free to use in commercial scripts?
Tomasz
-
@unknownuser said:
Is this extension also free to use in commercial scripts?
Yes, wxSU has always been distributed under the BSD License which allows you to package wxSU with either free/open source or commercial works. The wxSU part of the package must still include the source code (unencrypted) and the original copyright notices, but you can handle the rest of your package however you want. See the full license (License.txt) for more details.
-
I would just like to thank Peter for his work with WxSU. Personally, I would much rather use WxSU than Webdialogs, much more flexible and entirely in Ruby and cross platform. With auto sizing, any dialog will even change to match screen resolution. You can also set a minimum dialog size for resizing.
To give some idea of the rich capabilities, find enclosed a flash video of a set of dialogs (WIP) I have been working on and a jpeg showing the main dialog.
-
Is it stable? If so, it's a go.
-
I have done some progress using WxSU. Thank you Peter!
Is there a way to hide a WxSU Frame when SU program is minimized?
I cannot achieve it (Vista). I thought it should work when SU frame is specified as a parent window (WxSU.app.sketchup_frame).I have checked that even all examples always stay visible when SU is being minimized.
Tomasz
-
@billw said:
... Personally, I would much rather use WxSU than Webdialogs, much more flexible and entirely in Ruby and cross platform.
Have you used the WxFormBuilder? It would be nice to have a straight output compatible with WxSU! There is a beta which works with Python.
Tomasz
Advertisement