Asked — Edited
Resolved Resolved by DJ Sures!

3Ds Max

Hey there, I just got my ez-robot developers kit today and would to like starting on my project which involves building a robot in a 3d application, printing it and transferring the robots movement out for the 3d application directly!

So my question would be if there is anyone out here in the forum who ever did this, or someone having used max script and could help me to send rotation values in the right form out of 3ds max to the ARC s http server!

It would be supercool if there is someone knowing how to do this, I am kind of lost when it comes to scripting!

XXXSwann


ARC Pro

Upgrade to ARC Pro

ARC Pro will give you immediate updates and new features needed to unleash your robot's potential!

PRO
Synthiam
#2  

Have you used google to find tutorials on how to use 3d studio max? It might also be useful to see if there are night courses offered at your local college or university. Generally, people will use the Auto Position control in ARC to make robot animations.

If i were to take this path, i would start by learning how to use 3d studio max.

In the meantime, the Auto Position will be much easier for you - as 3d studio max will take weeks of effort. The good news about 3d studio max, is that all the ez-robot STL files can be imported into it. And you can make your robot model. I did that in blender with a Six - it took about 1 week to build the robot model, although i couldn't get the animations correct. I had a hard time understanding how to assign joints and relations between the parts. I find 3d modeling for animation pretty difficult.

#3  

Hey guys, Thank you so much for the quick reply, this is very supportive!

The post that WBS00001 pointed out seems to be more like something where the workflow goes from positioning the robot to recording, while what I would want to do is the opposite thing!

I would have a 3D model where you could use all the 3ds max animation tools like IK, different curves or keyframe methods and would transfer those on my real life model!

I already know 3ds max to the core so this is not my issue! I just dont know how to make a script that would send the data to the custom http server or to a COM port to talk to the EZ-B!

I researched a lot already, and also found a member here in the community accomplishing this task...any info on how this was done would be super helpfull!

:)

#4  

Hey, actually it would also help just to let me know how to send EZ-Script commands directly through a web or HTTP interface, so I can have another app driving the servos of my robot!

In the help section of the ARC it says, the url can be formatted as: http://<ip address>/Exec?password=<password>&script=<uri encoded script>. An example that will return two servo positions with a comma seperating the values is http://192.168.0.1/Exec?password=admin&script=Print("GetServo(D5), GetServo(D6)").

But since I have no clue on scripting I would need some help how this is accomplished....am I asking this question right?

#6  

OK, I guess this will sort of answer my question...now I will need to check if this works with max script right? I am so bad at scripting, but I will try to figure this out tonight and see how far it will take me!:D

PRO
Synthiam
#7  

:) haha, scripting can be a pain for sure to learn!

Here's what you need to know... The command that i sent above will move the servo into position 20, however that means 20 degrees. The servo positions are in degrees, so that hopefully will help as well.

I did find this with a google search... it's a way to send http data via Max Script. Now, you will want to send the data throughout the animation, so i'm not sure how to do that - given that i have never seen 3d max before ether :P

Here's the script that i found online


---------------------------------------------------------------------------------------------------------
/*
# This script will ping scriptspot and get the
# raw data from the server.
*/

/* Http socket open */
rollout httpSock &quot;httpSock&quot; width:0 height:0
(
activeXControl port &quot;Microsoft.XMLHTTP&quot; setupEvents:false releaseOnClose:false
);
createDialog httpSock pos:[-100,-100];
destroyDialog httpSock;

/* HTTP socket connect */
httpSock.port.open &quot;GET&quot; &quot;http://192.168.0.1/Exec?password=admin&amp;script=Servo(D6, 20)&quot; false;

httpSock.port.setrequestheader &quot;If-Modified-Since&quot; &quot;Sat, 1 Jan 1900 00:00:00 GMT&quot;;
httpSock.port.send();

/* HTTP socket return */
print (httpSock.port.responsetext); // &lt;- don't care about this
---------------------------------------------------------------------------------------------------------

And here's teh post that it came from http://www.scriptspot.com/3ds-max/tutorials/how-to-create-a-self-updating-max-script-or-macro-script

So what you really care about is the top portion. I added a comment to the last command which isn't useful to what you're doing. There is no need to print the result

Also, keep in mind that i noticed the ip address is 192.168.0.1. That may be misunderstood, but it is the ip address of the ARC Computer, not the EZ-B.

If you wish to send data to the EZ-B directly, and by pass ARC, then i can help you with that as well. It isn't an HTTP command, but it can be done with TCP. Not sure what 3d Max has for a TCP client.

#8  

Thank you so much for the help! I tried the script and it works perfect. What would be the benefit of sending it directly to the EZ-B?

My plan is to make a 3d model of my robot in 3ds max and export the animation to the real robot controlled by the EZ-B...

I found some stuff on max script and DotNet too, but since I have no idea about how this works I am not sure if it is helpfull!

http://techarttiki.blogspot.de/2009/12/maxscript-dotnet-sockets-with-python.html

http://forums.cgsociety.org/archive/index.php?t-1015202.html