AlanW Posted February 3, 2016 Share Posted February 3, 2016 (edited) 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 February 3, 2016 by Alan Woodwell Quote Link to comment
Hippocode Posted February 4, 2016 Share Posted February 4, 2016 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. Quote Link to comment
Patrick Winkler Posted February 4, 2016 Share Posted February 4, 2016 Hippocode, did you create that with Marionette? Actual I'm working on something similar, but I'm struggling with the math (vector angle calculation). Quote Link to comment
AlanW Posted February 4, 2016 Author Share Posted February 4, 2016 (edited) Hi, What I am after is this by Marionette. Edited February 4, 2016 by Alan Woodwell Quote Link to comment
Hippocode Posted February 4, 2016 Share Posted February 4, 2016 (edited) 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 February 4, 2016 by Hippocode Quote Link to comment
AlanW Posted February 4, 2016 Author Share Posted February 4, 2016 (edited) 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 February 4, 2016 by Alan Woodwell Quote Link to comment
AlanW Posted February 4, 2016 Author Share Posted February 4, 2016 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 Quote Link to comment
Vectorworks, Inc Employee SBarrettWalker Posted February 4, 2016 Vectorworks, Inc Employee Share Posted February 4, 2016 Hi Alan - I did this in 2D with a polygon instead of a curbs curve. Does this help? Quote Link to comment
DomC Posted February 4, 2016 Share Posted February 4, 2016 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". Quote Link to comment
AlanW Posted February 4, 2016 Author Share Posted February 4, 2016 (edited) 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 February 4, 2016 by Alan Woodwell Quote Link to comment
DomC Posted February 4, 2016 Share Posted February 4, 2016 Alan, I really love the way you are playing with marionette. Quote Link to comment
AlanW Posted February 5, 2016 Author Share Posted February 5, 2016 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 Quote Link to comment
AlanW Posted February 5, 2016 Author Share Posted February 5, 2016 (edited) 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 February 5, 2016 by Alan Woodwell Quote Link to comment
Hippocode Posted February 6, 2016 Share Posted February 6, 2016 You can calculate the sense (clockwise or anti clock wise direction). the dot product will help you with that. Quote Link to comment
AlanW Posted February 6, 2016 Author Share Posted February 6, 2016 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. Quote Link to comment
DomC Posted February 7, 2016 Share Posted February 7, 2016 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) Quote Link to comment
DomC Posted February 7, 2016 Share Posted February 7, 2016 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 :-) Quote Link to comment
DomC Posted February 7, 2016 Share Posted February 7, 2016 (edited) 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 February 7, 2016 by DomC Quote Link to comment
AlanW Posted February 8, 2016 Author Share Posted February 8, 2016 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. Quote Link to comment
Recommended Posts
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.