WorldViz User Forum

WorldViz User Forum (https://forum.worldviz.com/index.php)
-   Vizard (https://forum.worldviz.com/forumdisplay.php?f=17)
-   -   graduation project need help (https://forum.worldviz.com/showthread.php?t=2034)

minawageh 05-15-2009 05:12 AM

graduation project need help
 
in my project i wanna assemble a pump manually so
i wanna use snaping tool to help in assembling it as if you pick an object and get close enough to onther object and with suitable position and rotation it will be oriented so i can slide it along onther part axis (mainly x-axis) so i wanna calculate to differance between there position taking in considration orientation differance
so if it can be done any way i wanna know very soon
and i was trying use matrix to calculate it but till now i can't so i need help as soon as possiable
THX
MinA

Gladsomebeast 05-15-2009 11:44 AM

The vizmat module has the functions you need:

Code:

if vizmat.AngleBetweenVector(partForwardVector, fittingForwardVector) < 5
and
if vizmat.Distance(partPos, fittingPos) < .1:
snappySnap()


minawageh 06-08-2009 04:21 AM

Quote:

Originally Posted by Gladsomebeast (Post 7933)
The vizmat module has the functions you need:

Code:

if vizmat.AngleBetweenVector(partForwardVector, fittingForwardVector) < 5
and
if vizmat.Distance(partPos, fittingPos) < .1:
snappySnap()


thx very much for help but i can't understand this command could u plz explane what are the parameters and how can i atach the vectors to my objects
and i have onther problem with collision i have a complex shaps so i tried to use collidMesh but it didn't work as if i pick object it collide with others could you explane hoe to use it and if there any way to make collide shape for hollow cylinder
thx again

Gladsomebeast 06-08-2009 12:02 PM

You can get the forward vectors of the parts and fittings from their transform matrices.
Code:

partForwardVector = part.getMatrix().getForward()
The physics system does not support dynamic forces, like gravity, on collideMesh shapes. Complex shapes need to be made up of multiple simple shapes like boxes and spheres.

What you'll want to do is name some sub-nodes of your hollow cylinder and call collideBox(node="subobject1") on them. The docs have an example on this with the table.wrl object:

Code:

table = viz.add('table.wrl',pos=[0,3,6.5],euler=[90,45,90]) # Add table
table.collideBox(node='Leg1') # Define
table.collideBox(node='Leg2') # collision
table.collideBox(node='Leg3') # area
table.collideBox(node='Leg4') # for
table.collideBox(node='Top')  # parts


minawageh 06-30-2009 03:11 AM

Quote:

Originally Posted by Gladsomebeast (Post 8084)
You can get the forward vectors of the parts and fittings from their transform matrices.
Code:

partForwardVector = part.getMatrix().getForward()
The physics system does not support dynamic forces, like gravity, on collideMesh shapes. Complex shapes need to be made up of multiple simple shapes like boxes and spheres.

What you'll want to do is name some sub-nodes of your hollow cylinder and call collideBox(node="subobject1") on them. The docs have an example on this with the table.wrl object:

Code:

table = viz.add('table.wrl',pos=[0,3,6.5],euler=[90,45,90]) # Add table
table.collideBox(node='Leg1') # Define
table.collideBox(node='Leg2') # collision
table.collideBox(node='Leg3') # area
table.collideBox(node='Leg4') # for
table.collideBox(node='Top')  # parts





thx very much for your help but i don't know how to make sub-nodes and i don't know if i can do it in vizard or i must make it in athor programes like 3d max
and i don't know what to do with
partForwardVector = part.getMatrix().getForward()
and how to use it


All times are GMT -7. The time now is 03:00 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright 2002-2023 WorldViz LLC