Jump to content
Developer Wiki and Function Reference Links Read more... ×
Palle

Vortex box

Recommended Posts

Hi all,

 

I'm trying to generate an object to be produced IRL, inspired by the object in the reference image. But I want only a specified number of steps of framed boxes, until the inner box, which is a solid, as seen in the other image. I want to be able to tweak the parameters, so I can find the right scaling factor and rotation. 

 

The parameters I want to control are:

> Dimensions of biggest box

> Total number of box repetitions.

> End angle of the solid (smallest) box

> The initial size of the profile for the frame boxes (which is also scaled down for each box in the ref image - but could be a fixed value in stead)

 

So far, I've built a script that makes solid cubes, scales and rotates them.

 

Two questions: 

> I need a way to generate the frame boxes in stead of solid cubes. So I can actually see the framed boxes with the chosen profile size. This is my biggest struggle.. 

> And for versatility, a better way to generate the list of scaling values for the boxes. As is, I have to populate the list myself.

 

Any suggestions for other ways to better build a script like this is great.  Appreciate any help..!

Palle

 

Skærmbillede 2018-11-28 kl. 20.49.39.png

Skærmbillede 2018-11-28 kl. 20.48.57.png

Marionette Kais object.vwx

  • Like 1

Share this post


Link to post
10 hours ago, Palle said:

Hi all,

 

I'm trying to generate an object to be produced IRL, inspired by the object in the reference image. But I want only a specified number of steps of framed boxes, until the inner box, which is a solid, as seen in the other image. I want to be able to tweak the parameters, so I can find the right scaling factor and rotation. 

 

The parameters I want to control are:

> Dimensions of biggest box

> Total number of box repetitions.

> End angle of the solid (smallest) box

> The initial size of the profile for the frame boxes (which is also scaled down for each box in the ref image - but could be a fixed value in stead)

 

So far, I've built a script that makes solid cubes, scales and rotates them.

 

Two questions: 

> I need a way to generate the frame boxes in stead of solid cubes. So I can actually see the framed boxes with the chosen profile size. This is my biggest struggle.. 

> And for versatility, a better way to generate the list of scaling values for the boxes. As is, I have to populate the list myself.

 

Any suggestions for other ways to better build a script like this is great.  Appreciate any help..!

Palle

 

Skærmbillede 2018-11-28 kl. 20.49.39.png

Skærmbillede 2018-11-28 kl. 20.48.57.png

Marionette Kais object.vwx

Cool!

Share this post


Link to post

Since it is symmetrical you could start with just a path-extrude of a square and mirror/rotate that six times.

afbeelding.thumb.png.11a2c3aaa1518d0997dadb7d948c689c.png

Share this post


Link to post
23 minutes ago, STERNontwerp said:

Since it is symmetrical you could start with just a path-extrude of a square and mirror/rotate that six times.

 

Gotcha. But which node would you use for mirroring them? 

Share this post


Link to post

When you input something else then 9 into 'Number of Boxes', then it goes wrong. The squares are out of line and there are still 9. There are 9 outputs of the ordered list when you input 3 into Number of Boxes.

Maybe there is a solution without the ordered list with the [mul list] node (basic math), [Repeat], and [Sequence]?

Share this post


Link to post
34 minutes ago, STERNontwerp said:

There's a Mirror node in 'Operations'

But only for 2D objects, right? So, mirror all paths before extrusion? 

 

And yes, I know the problem - and that's what I also want to solve. The ordered-list-node I use for generating the list of sizes does not relate to the input for number of boxes, so right now after changing the input, I would have to also make new nodes and connecting to make the sequence. Repeat and sequence. Will try that.. 

 

Share this post


Link to post

It works with 3D objects, but I don't think it works with groups. You could use [Ungroup] & [Solid Boolean] (Objects/Solid) To make 1 object from the path-extruded squares.

(But actually you don't have to mirror, move and rotate should be enough)

Share this post


Link to post

@Stephan Moenninghoff Thanks for the  code. However, I am looking for an expression that gives me size increments that are NOT constant. The have to gradually become less and less, never reaching zero. Therefore, I apply the scaling factor to each step. 

 

The question is really, how do I express that in Marionette? 

INPUTS:

- Start value

- Number of steps

- Scaling factor (i.e. 92% of previous list item)

OUTPUT:

Decreasing or increasing list of values

Share this post


Link to post

Solved it, thanks! You pointed in the right direction: [the scaling factor] to the power of [a list of values from 0-max] gives the perfect list.

Skærmbillede 2018-12-03 kl. 16.46.56.png

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

 

7150 Riverwood Drive, Columbia, Maryland 21046, USA   |   Contact Us:   410-290-5114

 

© 2018 Vectorworks, Inc. All Rights Reserved. Vectorworks, Inc. is part of the Nemetschek Group.

×