# Extrude perpendicular to nurbs

## Recommended Posts

I can divide a NURBS curve up and I get points. What I want to do is to draw a shape that is perpendicular to a point on the line then extrude out perpendicular to the point on the NURBS curve.

Will keep experimenting.

Thanks

Edited by Alan Woodwell

I can divide a NURBS curve up and I get points. What I want to do is to draw a shape that is perpendicular to a point on the line then extrude out perpendicular to the point on the NURBS curve.

Will keep experimenting.

Thanks

If you can't get it to work with the EAP, you can also look at using a loft surface instead. It's more work as you will need to provide the shape at evenly spots spread out on the curve, matching the direction of each point along the curve.

I ended up using quaternations, gave me some headache but the endresult is great.

Hippocode,

did you create that with Marionette?

Actual I'm working on something similar, but I'm struggling with the math (vector angle calculation).

Hi,

What I am after is this by Marionette.

Edited by Alan Woodwell

Hippocode,

did you create that with Marionette?

Actual I'm working on something similar, but I'm struggling with the math (vector angle calculation).

I used the SDK.

Rotations on 3 axis are hard to work with, but there are libraries available that can help you with that.

I ended up using the openGL library which is included in the Vectorworks SDK library. You should be able to do something similar with python.

Depending on what you end up doing in 3D rotations, quaternions can help finding out the rotation required between 2 different directions in 3D.

Hi,

What I am after is this by Marionette.

I never could get some of the available NURBS functions to work to find the direction of any point on the curve.

Instead, I chopped it up in a lot of points and used the next - previous point to determine the direction of a point. Then you just need to rotate your object to match it.

Edited by Hippocode

Patrick.

By the way this was done in VW by creating a Sweep shape and using the Repetitive Unit from the Detailing OIP.

Would be pretty easy to do this in Marionette by using the points on line and using a lofted shape to follow the dots.

Well I think it would be easy , will try.

Edited by Alan Woodwell

Patrick,

This is the corrugated pipe, BUT I need to figure out how to orientate along the path.

If I figure this out it will probable resolve my earlier question.

Help gratefully accepted

Hi Alan - I did this in 2D with a polygon instead of a curbs curve. Does this help?

Hi

Why searching so far.

Remember the "Point Array Start-End Node". This is something else that powerfull "Dom-Node" :grin: can do.

It calculates 3D Angle angle between two points. That is the hardest job in that example. After That, your sweep, can be placed by the "PutByRefPoint"-Node.

Try to make this with "native" Nodes, is hard. But I think it is just a question of time, more powerful and complex node will be "native".

Thankyou, thankyou, Thankyou.

I really need to learn Python.

Thanks for help from Patrick and Dom.

Edited by Alan Woodwell

Alan, I really love the way you are playing with marionette.

Sarah thanks,

Will study the networks you posted and let you know how I go.

Am trying to do something and I may have all the pieces now from yours and Doms networks to get where I want.

Will see what happens.

Thanks

Hi,

So ongoing now we have got this far, the question is how to get Marionette to swap the tread when you are inside the curve and not outside?

Over to you for the day.

PS I know the tread needs some work to relate to the radius so lots to do still but I submit it to the Brains trust for advice.

Edited by Alan Woodwell

You can calculate the sense (clockwise or anti clock wise direction). the dot product will help you with that.

Mmmmmm,

\mathbf{A}\cdot \mathbf{B} = \sum_{i=1}^n A_iB_i = A_1B_1 + A_2B_2 + \cdots + A_nB_n

I sort of get lost after \math....

Maths wasn't my strong point at school.

But seriously how would you do this with marionette.

Try using this node:

It checks triangle polygons of the pointlist if they are cw or ccw. It not finish your example but I think with this node, you can finish your stair example. It it gifs you a list of 0 and 1. 0=False (ccw) 1=True(cw) from every input point list (2D/3D)

You can finish your stair example as follows:

1. Check if points are part of a cw polygon or not (is cw node)

2. Add 180° degrees to the rotation angle for all cw objects

Making stair-step fit to radius, will be the further exercise :-)

Explanation PtArrayStartEnd - Node

And a further example-usecase which can be easy made by that node. The nodes calculates the 3D Vector between two points. The requirement of a 3D direction happens in many possible examples. Thats why I use this node (or a pre-version of it), in many of my examples.

Edited by DomC

Thanks for all the assist, I need to sit and digest this so I fully understand it.

With fitting to the curve I was looking at using the tread node which gave a centre point which generated the inside and outside chord dimensions based on the angle of the segment.

If its a perfect arc or circle this shouldn't be a problem but if inconsistent curve I just need to feed in the radius at that point in the curve and it will generate the correct tapered tread.

Thanks again

Will watch video.

## 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.

×   Pasted as rich text.   Restore formatting

Only 75 emoji are allowed.

×   Your previous content has been restored.   Clear editor

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

×