That is great Dan, thanks so much. That is very helpful, and is finally all starting to soak in and make sense. I don't entirely understand where I would use some of this, but I'm sure at some point I'll come across good reasons for things like module methods and mix-ins. I'm just not there yet in my programming needs.
But a big big thank you for taking the time to write this out. Its very helpful,
Chris
@chris fullmer said:
Could we just re-write the sunposition plugin and send him an updated copy? It does not re-write that much. I started doing it yesterday, but in the end got in a little bit over my head. Anyone wanna give it a go?
Chris
Chris,
I did it actually. See this post, which contains the modified version
May be we should publish it in a place which is more accessible
Fredo
I found a very easy way to auto split crossing edges. Create all edges inside a group when all edges are added to the group, explode the group. Sketchup will automatic split all crossing edges.
@jim said:
How's the project coming along?
Unfortunately, it's not coming along very much at all. just been too busy to code (which is my hobby, not my job). The initial goal was to make a server-base sketchup environment so that multiple people could work on a model at the same time. However, my eyes got bigger than my abilities and I started dreaming of a completely new way to collaborate, document, and communicate 3-dimensional information. I got a little overwhelmed when I starting looking into webGL and thought that it would be amazing if there would be a way to put sketchup modelings into a browser webGL viewer similar to google's body browser:http://bodybrowser.googlelabs.com/body.html#. Since then I am cooling the programming jets to write a white paper on the future of architectural documentation and what the technology required for an all-digital design/build environment might look like.
Thanks for the advice on my previous post. I will be getting this project going again hopefully very soon.
-Mike
Thanks TIG as usual you were right on the problem and I found the error earlier in the code and it resulted in dir_y did not exist and program did not actually reach the point I thought was the problem.
Keith
@unknownuser said:
Of course you can use any API tools within ANY entities context.
Thats even better.
I learned a lot from this, thanks all!
Have to analyze this info and make me understand it fully. Local and Global coordinate system can be a little daunting to dig into for a newbie, but you explained it very well.
This really is a very basic concept about face orientation...
Most exported and 3rd party renderers assume that the part of the face you want to render is the front of that face, with its applied mamterial [if any].
IF you have a sloppily made model where some faces are the wrong way round - so the back of the face is visible [when most sane people would expect to see the front face] - then it might well look OK in the SKP - Sketchup is quite forgiving... BUT most 3rd party tools will ignore that face's back material completely and simply give it a default material like all of the other back faces which are [usually] unseen [often white/black depending on the app]... and then render the face's front with whatever material it might have [which is then 'unseen'!!!]
You need to give your SKP and other app's a chance and model appropriately - not sloppily!!!
You should never need to consider a face's back_material IF your model has been made properly. If you have a thin object - like a glazed-window-pane - then it should have two skins [faces], each of which should face out so you never have to see or consider the 'back_material'...
nope, it's an imvu user made exporter. there's an improved version in beta, but i haven't installed it yet. http://www.imvu.com/groups/group/SketchUp%2BMeshing/ there's, in the version i'm using, a uvmap, mesh and skeleton... and if this site would let me upload them, you'd see them...
nope, it don't like xmf's, i'll zip em.
thingy.zip
@pdonner said:
I cannot find the corresponding Win32API and win32ole documentation among these neatly structured pages.
Those are part of the standard extended libraries. The Core libraries (modules) are loaded when the Ruby interpreter is loaded.
Any non-core library module must be loaded afterward using require().
http://www.ruby-doc.org/stdlib-1.8.6/
@neino said:
EDIT: After install Ruby in C:\Programs\Ruby192 the error is still the same. What Should I change/do to use sockets library under Sketchup?
Sketchup cannot use Ruby in the 1.9.x trunk.
You should install a branch of Ruby in the 1.8.x trunk, and recommend the same version and patch level that matches the interpreter DLL distro'd with Sketchup 8:
****Ruby Binary Installer(s):
Ruby (v1.8.6-p287) Windows One-Click Installer
Other posts on the sockets issue:
Interest in a Networking Sockets Workaround
Clients <--> Server Communication (Sockets?)
Requiring Socket on Mac crashes SU
Dan Rathbun
Thank you so much for instruction.
I am now studying "Design Patterns in Ruby"
And just learned about Singlton Pattern.
Does every one use Design Pattern making sketchup plugin?
Or maybe use UML?
What i need is a quick check if the sectionplane cuts the solid. Because the .intersect_with is a very slow function i want first to check if solid wil be sectioned by the sectionplane to speed up the script. And the check with the bounding box works good except for nested solids. Anybody a tip for solving my problem?
@honoluludesktop said:
Thanks Dan, will follow up here with progress.
Hi all. I'm the user in question. So, I literally just discovered that the crashing seems occur only when I push the escape key to dismiss the splash screen. I have not had any problems in the past few minutes, so this may not be an issue at all with the plugin. It seems to happen even if I don't have the plugin installed. The reason I wasn't getting this after reinstalling is that SU required me to pick a template, so the escape key didn't work. How about that?
Awhile back, I noticed some quirky behaviour when trying to use innerHTML (on PC with IE7.)
I think I switched to using innerText instead and that worked. If you are not actually inserting any HTML tags within the target element, I would say use innerText instead.
I have not tested this yet since I upgraded to IE8, (and forget now even what it was I was working on, when I had the problems.)
Anyway... FYI, just a note on innerText vs innerHTML.
Those characters are both Ruby operators and instance method names.
Use the String concate method + to add those chars (which must be quoted.)
my_string = 'Some special string' + ' > ' + 'the last part of the string.'
or you can use replacement within double-quoted string:
my_string = "The value: #{biggernum.to_s} > #{smallernum.to_s}"
where biggernum and smallernum are numeric references.
The 3rd way is to use the Integer instance method chr if you know the character's ordinal within the UTF-8 set.
Since decimal 60 is the ordinal for "less than" ...
60.chr returns the single char string "<"
I changed two linkes to get the os x 10.6 bundled ruby 1.8.7 (patchlevel 174)
Also for me everything seems to work.
cd /Applications/Google SketchUp 8/SketchUp.app/Contents/Frameworks/Ruby.framework/Versions/A
mv Resources Resources.back
mv Ruby Ruby.back
ln -s /System/Library/Frameworks/Ruby.framework/Versions/Current/Resources Resources
ln -s /System/Library/Frameworks/Ruby.framework/Versions/Current/Ruby Ruby
to change back:
cd /Applications/Google SketchUp 8/SketchUp.app/Contents/Frameworks/Ruby.framework/Versions/A
rm Resources
rm Ruby
mv Resources.back Resources
mv Ruby.back Ruby