Jump to content
Sign in to follow this  
AlanW

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

Share this post


Link to post
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. :)

Share this post


Link to post

Hi,

What I am after is this by Marionette.

Edited by Alan Woodwell

Share this post


Link to post
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

Share this post


Link to post

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

Share this post


Link to post

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

Share this post


Link to post

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

Share this post


Link to post

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

Share this post


Link to post

Thankyou, thankyou, Thankyou.

Another Node to add to your node collection in my library.

I really need to learn Python.

Thanks for help from Patrick and Dom.

:)

Edited by Alan Woodwell

Share this post


Link to post

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

Share this post


Link to post

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

Share this post


Link to post

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.

Thanks in advance.

Share this post


Link to post

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)

Share this post


Link to post

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 :-)

Share this post


Link to post

Explanation PtArrayStartEnd - Node

https://www.youtube.com/watch?v=5Hewxf69NSc

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

Share this post


Link to post

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.

Share this post


Link to post

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.

Sign in to follow this  

 

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.

×
×
  • Create New...