Not really classes, but names are almost as good. Every body has a name. So you can (in next version) say:
if toucher.name=="smallTurret"
#within range of 100?
if (position-toucher.position).length<100
#do something.
end
end
Not really classes, but names are almost as good. Every body has a name. So you can (in next version) say:
if toucher.name=="smallTurret"
#within range of 100?
if (position-toucher.position).length<100
#do something.
end
end
I think it was a design decision. To favor numerical stability and speed over accuracy.
You are right, in the real world the arm would bend. But in this case the arm cannot bend so the joint has to or the forces head to infinity and then the simulation blows up.
But I took a look and it may be that the joints are not as stiff as they could be. I assumed the default stiffness was 1.0 and its really 0.9. The rational is here:
http://www.newtondynamics.com/wiki/index.php5?title=NewtonJointSetStiffness
I'll see if I can expose it.
The raycast in Newton 1.5 (SP3 uses 1.5) is bugged. So I wont be able to add it until SPIV. In the short term you could probably use the Sketchup "raytest" function.
http://download.sketchup.com/OnlineDoc/gsu6_ruby/Docs/ruby-model.html#raytest
Yes, in next version you can find the name of the object that touched and respond accordingly.
That doesnt look too bad. I dont think the problem is rubber hinges its more the amount of force the returning arm generates. I think if you built this in real life it might have the same problem.
The relationship between joint strength and size is something that is in the physics engine.
I have had good luck with Firebug lite.
I havent changed anything to make joints stronger. In fact I have been spending a bunch of time trying to figure out how to make a weaker kind of joint. 
The strength of a joint is related to the size of the bodies. You can increase the strength by increasing the size and mass of the connected bodies. There are various ways of doing that depending on the application. If you can post a model of what you are working on I can give specific advice.
Your question is very ambiguous. Does this have anything to do with SketchyPhysics.
I dont know... Maybe. It would be a big task.
That doesnt sound like something you would want to do at runtime. Only when you actually move the nodes.
I think your node system will be easier with the new scripting system.
face=Sketchup.active_model.entities.add_face([[slider('X')*10,slider('Y')*10,0],[10,0,0],[10,10,0]])
face.back_material=[255,45,90]
face.erase!
Maybe instead only create the face once and then move the points rather than recreating the face.
You mean to delete a body? Its actually called "destroy". curEvalGroup will not be used in the new scripted field, its implied. Currently bodies have the following:
magnetic/solid/static/frozen
position/transformation
getVelocity/setVelocity
getTorque/setTorque
teleport
push
copy
destroy
connect/attach
split
setEvent
Body events are
onStart/onEnd
onTick
onKey,onButton,onMouse
onTouch,onTouching,onUnTouch
Loops could potentially hang Sketchup. What are you trying to do exactly?
@unknownuser said:
What is the script for the teleporter like?
setEvent("ontouch"){|toucher,speed,pos|
if(toucher.name=="ball")
toucher.teleport(toucher.position+[-500,0,0])
end
}
When the object is touched by something named ball, teleport that object -500 in the X direction.
I can't say it would be "easy" but it should be possible. Let me ponder....
Maybe it would be better to have your system follow a series of connected edges instead of nodes?
Thats a good rundown Wacov! I have been updating this thread with details:
Ok. We finally have a clue about this. But I still cant figure out the problem. When I load the simitar model and look in the outliner I cant find a group that doesnt have anything in it. Did you fix the model?
I need a model that fails so I can find out why it doesnt fail for everyone. Then I will be able to sleep nights.
Mass and friction are coming in the next major version. Some force type stuff is coming in the next minor version. I dont know anything about FEA solvers but I will look it up. 
I should point out that my first goal with this version was a game type simulation and not something scientifically accurate. It probably could be but that hasn't been the focus.
Thanks Phy!! Could you do me one favor. Break out the changes you made so I can update the code. My version has changed so much I am not sure I see all your changes.
Thanks Again!
Chris
grp=Sketchup.active_model.entities.add_group
grp.entities.add_face([[0,0,0],[10,0,0],[10,10,0],[0,10,0]])
Here is how you can make a cube.
grp=Sketchup.active_model.entities.add_group
face=grp.entities.add_face([[0,0,0],[10,0,0],[10,10,0],[0,10,0]])
face.pushpull(-10)