Jump to content
Developer Wiki and Function Reference Links ×

Fence Issue


AlanW

Recommended Posts

HI,

In the network trying to create a fence.

Issues are the palings wont rotate at right angles to the fence. The correct angle is coming out of the node and it will.

Also the palings don't seem to distribute within the section of fence correctly.

Any Ideas??

Thanks

So sorted the paling angle but now the distribution of the palings evenly in each section of the fence.

Later , unless anyone has a solution.

Thanks

Edited by Alan Woodwell
Link to comment

Here's a version that is a little better. There are still some challenges. You were definitely on the right track. Here are the things I changed -

- You didn't have enough angle data to go with the number of extrudes you were creating so only the second one was rotating (there was enough data for the first 3). I caused it to repeat based on the number of divisions.

- I ended up using the Transform2 node. I think there is a coding issue with the Rotate node. It gets confused with 3d point data. I had this problem with the coordinate marker I made before. The Transform2 only tries to rotate around Z and seems to overcome these issues. If you switch back to the Rotate node you'll see things fall apart. I think Marissa or Sarah should spend some time debugging the Rotate node if they haven't already rebuilt it for VW2017.

- I used the centre of the extrudes for the rotation centre.

- I used the lines you were using to find the angles as the item to divide. This is probably not ideal.

- There's a duplicate set of extrudes on the last segment. I'm not sure how to get rid of it.

It makes me wish there was a Decompose node that broke a NURBS curve into its segments.....

Kevin

Link to comment

One more version. I learned quite a bit with this.

I thing we should be using Series nodes not Sequence nodes. It took some reading to understand the subtle differences. Now everything generates the same number of pieces and all the extra geometry is gone.

There must be some way to use the original polygon as the NURBS curve but when I do the sequencing falls apart. You should give it a try though and see if you know what the solution is.

Kevin

Link to comment

Hi, I like this, its nice and tidy and you have simplified it nicely.

The new Rectangle node is a real asset.

The series node is simple also, I started with the Sequence node because it was the same one used in the House model, thinking that it was going to generate the Index 1 & 2 the same way but your solution is simpler.

Networks like this are great for learning as they use a lot of interesting logic and really helps understand ways to use Marionette.

That's why I do these small exercises you are challenged and learn so much and then one day it all comes together in something like the house or office building from a poly.

I added rails and intermediate post.

Needs tiding up. The EAP rails caused problems. Could not duplicate and offset them as I would normally do, not sure why.

Challenge now is to make it follow a site model or make it slope.

Edited by Alan Woodwell
Link to comment

Looks great Alan!

I noticed a node in the library that might be helpful - Get Point on Poly. In addition to returning a point, it also returns a tangent vector. If this was used to place the vertical boards, it would make sure each one was oriented correctly and do away with some of the extra steps. If I have a chance I might play with it a little.

Kevin

[img:left][/img] ubbthreads.php?ubb=download&Number=16254&filename=Screen%20Shot%202016-08-14%20at%209.11.14%20AM.png

Edited by Kevin McAllister
Link to comment

Nice, will have a look also.

You know the best part of playing with these exercises is they become useful for may things.

Woke up this morning and thought Louvre Screens (its a worry).

And voila.

So horizontal or vertical., have a series of symbols that you can flick in and out, change the angle etc etc.

This network needs work to set it up correctly to be able to operate through the OIP but that shouldn't be hard.

So another useful thing that Marionette can do.

Who needs all these additional plugins????

Just create your own to suite your needs.

Edited by Alan Woodwell
Link to comment
  • Marionette Maven

- I ended up using the Transform2 node. I think there is a coding issue with the Rotate node. It gets confused with 3d point data. I had this problem with the coordinate marker I made before. The Transform2 only tries to rotate around Z and seems to overcome these issues. If you switch back to the Rotate node you'll see things fall apart. I think Marissa or Sarah should spend some time debugging the Rotate node if they haven't already rebuilt it for VW2017.

Kevin, can you tell me what you're seeing that makes the rotate node incorrect? I haven't had any issues using it, and I tested it this morning to make sure I wasn't crazy.

Link to comment

Hi Marissa,

I've attached a specific example that shows it not working. I've also gotten lots of errors with it. I think part of the issue is its not bullet proof enough nor intuitive enough to deal with mixed situations. If its going to be the primary go-to node for rotation it should be suited for all situations and do its own error checking.

- it gets confused when fed a mix of 2d and 3d objects, especially in hybrid objects.

- its trying to match 3d object input with 3d coordinates with a 3d point for angle information even in 2d rotation situations.

You should be able to -

- rotate a 3d object by inputing a rotation angle only (i.e.. it should assume rotation around the Z axis when a rotation angle is given as input). In this case it also shouldn't matter if its a 2d point or 3d point for centre of rotation.

- you should be able to mix 3d object, 2d point, 3d rotation and it should default to rotating around z.

Because the Transform2 is only trying to rotate around Z it seems to work in all situations and is therefore more reliable. I've spent way too much time trying to debug around the Rotate node. Visual scripting should be for everyone, not just programmers.

Thanks,

Kevin

Edited by Kevin McAllister
Link to comment
  • Marionette Maven

I can see where this is failing and I can look into ways to resolve this, however I want to clarify some things in general about visual scripting.

Visual scripting IS programming. It does require the mindset of someone who can follow logic.

Although it does appear that some logic is failing in the Rotate node, it does behave as described in most situations. The requirement for angle is defined as the following: "It could be a 2D/3D rotation vector or Point2/Point3 in the Input category. Angles are in degrees"

Therefor, it is not expected that a singular angle will rotate the value around Z.

You're finding an issue with your symbol because the symbol isn't being considered a 2D object, because of this it's using the command to rotate in 3 dimensions, which in standard cases works as intended and defined. I'm looking into why it's not rotating around Z for your symbol, but I haven't quite tracked down why it's failing.

In any regard, I would ask that you try to reconsider your argument that visual scripting should be for everyone "out of the box" because that is not realistic. There will always be a learning curve and a necessity of understanding what's going on behind the scenes. We're just trying to alleviate the requirement of learning syntax.

I appreciate you bringing this to my attention and it will be looked into.

Thanks,

Marissa

Link to comment
  • Marionette Maven

Hey Alan!

That first error message is because the Rotate node expects a list of x, y, and z rotations.

An easy way to remedy this would be to take a "Point 3D" node from the Points category, wire your angle to the "Z" input port, and attach that to the "ang" port on the rotate node.

Doing so will tell the network that you want to rotate about the Z axis of the object (i.e. the axis you would see it rotate about in Top/Plan)

I'm not sure why you're encountering the second error at the moment, I didn't see it when I played around.

Essentially, it's saying that somewhere in your network a node is expecting a 3D object, but there isn't one being supplied to the appropriate port. It's possible that you had a node still wired somewhere (even if it wasn't intended to be used), and it's just kicking back at you as a failsafe.

ubbthreads.php?ubb=download&Number=16285&filename=RotateInput.JPG

Edited by MarissaF
Link to comment

Yes of course, trying to ram a number into the node when its expecting a 2D/3Dvector or Point2/Point3 its obviously going to get upset.

The 3d part will have to follow through. Strange its only at the home computer.

The Good thing about this type of network list so flexible, the attached one you can change from rectangular to circular posts and rails. You could create a myriad of fence types with just one network.

You may get one error at each change.

Edited by Alan Woodwell
Link to comment
  • Marionette Maven

Kevin,

Although you're correct that it's creating a hybrid object, I'm very hesitant to believe that's where the error is coming from. I still haven't tracked it down. The 2D objects that are drawn are unrelated to the rest of the network, they're kind of just hanging out.

However, the reason this is creating that 'hybrid' object is because when Alan uses the If node to determine which shape to take on for the extrudes, he's using the same shape that he decides to delete.

Since the 2D objects don't need to be retained in this case, the easiest thing to do would be to wire both the circle and rectangle nodes to the delete, it isn't really necessary to wire the "If" node to delete.

The Delete node is special, in a way. The logic behind it knows to leave all objects alone until after the script has entirely run. Since this object doesn't require any 2D entities, you can pretty much wire every single one to it, if you wanted. The other great thing about Delete is that you really only need one in the network, you can wire every single thing you want to delete to one single Delete node, and nothing will happen until the end. It just creates a list to delete later while it's running. This prevents users from accidentally deleting a handle to an object that they intend to use later, or that the network may depend on at a later instance (such as Extrude Along Paths, which aren't generated until the very end.)

ubbthreads.php?ubb=download&Number=16293&filename=IfDelete.JPG

Edited by MarissaF
Link to comment

Marissa thanks for the explanation. Every little titbit of information we receive adds to our understanding of marionette and makes it easier to move forward.

So I see you don't need the delete node on the IF node as it decides which one is true or false and sends the one through you have chosen to meets the criteria.

So the main reason is to clean up all the geometry you don't need as part of the end result.

:)

This error message for this file when I change things (not 3D handle) only happen on my computer at home. arghhh.

Work computer is ok and possible no one else is getting error message.

Maybe I have to delete a preference file in my cache?? any ideas around the traps??

Edited by Alan Woodwell
Link to comment

Fixed Error.

Suspected it may be a cache or preferences file so i went in and renamed this file and program always recreated the file if missing.

Restarted VW and no error, even tried Kevin's Example, the boom XY locator and no error.

:)

Something for the engineers to consider.

Edited by Alan Woodwell
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...