WorldViz User Forum

WorldViz User Forum (https://forum.worldviz.com/index.php)
-   Vizard (https://forum.worldviz.com/forumdisplay.php?f=17)
-   -   Connect on the fly shapes (https://forum.worldviz.com/showthread.php?t=3424)

Albert Russel 02-08-2011 07:49 AM

Connect on the fly shapes
 
I would like to build complex shapes out of cubes and then make them behave as one solid body. The add command does not work for vizshapes:

AttributeError: 'VizPrimitive' object has no attribute 'split'

Is there another way to get the same result for vizshapes as in the carousel example?

Greetings, Albert


import vizshape

viz.go()
viz.move(0,0,-10)


cube1 = vizshape.addCube()
cube2 = vizshape.addCube()

cube1.add(cube2)

spinForever = vizact.spin(0,1,0, 90, viz.FOREVER)
cube1.addAction(spinForever)

Jeff 02-08-2011 09:34 AM

You can set up parent/child relationships between vizshape objects:
Code:

import viz
import vizact
import vizshape

viz.go()

viz.move(0,0,-10)

cube1 = vizshape.addCube()
cube2 = vizshape.addCube()

cube2.parent(cube1)
cube2.setPosition([0,2,0])

spinForever = vizact.spin(0,1,0, 90, viz.FOREVER)
cube1.addAction(spinForever)

You could also make all your vizshape objects children of a group node and move the group node around:
Code:

import viz
import vizact
import vizshape

viz.go()

group = viz.addGroup()
group.setPosition([0,1.5,10])

positions = [[0,0,1],[0,0,-1],[-1,0,0],[1,0,0]]

for position in positions:
        cube = vizshape.addCube(size=0.5)
        cube.parent(group)
        cube.setPosition(position)

spinForever = vizact.spin(0,1,0, 90, viz.FOREVER)
group.addAction(spinForever)



All times are GMT -7. The time now is 01:30 AM.

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