WhoCanDo Posted June 22, 2015 Share Posted June 22, 2015 How do you calculate the Vertex points for a fillet in a Nurbs Curve? On the attached I have drawn a 1000 x 1000 @ 20° angle using the 3D Polygon Tool. I then filleted the angle @ R140 using VW Fillet Tool. When you double click the result you see 6 vertex points. The tangent (Adj = 794) is easy to find but how does VW locate the two vertices at 589 ? I am planing to calculate and AddVertex3D but unless someone can come up with a better idea then I need to find these other two points to finish the fillet. Quote Link to comment
JBenghiat Posted June 23, 2015 Share Posted June 23, 2015 Your easiest approach would be to start with a 2D poly and convert to NURBS. With Add2DVertex, you add the vertex coordinates as though the fillet is not there and specify a radius. -Josh Quote Link to comment
WhoCanDo Posted June 24, 2015 Author Share Posted June 24, 2015 Thanks Josh, I've tried that but even though my example is top view, it could just as easily have a twist (z) factor. If it has a z value then ConvertToPolyline vertically flattens the shape which changes the angle between the lines. I have nearly finished this macro but I just need to add the vertices to make a proper radius fillet. Someone wrote the fillet tool in the first place so someone should know the answer to this question. Quote Link to comment
WhoCanDo Posted June 24, 2015 Author Share Posted June 24, 2015 After seeing this - https://en.wikipedia.org/wiki/Non-uniform_rational_B-spline I think it's all too hard for me. I think this should be on the wish list since VW has already created the Fillet Tool which works on nurbs curves, all we need them to do is create a procedure or function we can use. Something like h1 := FilletPath (h, 140, var error); which fillets any type of line in 2D or 3D and returns an error code if it can't do it or one of the fillets is less than the required radius. Anyone else want to comment before I wish it? Quote Link to comment
JBenghiat Posted June 24, 2015 Share Posted June 24, 2015 You don't really fillet an object, you fillet between two line segments. To fillet a NURBS curve, you have to specify a non-endpoint vertex (as a way to ensure the selection of two segments) and assume that those two segments are straight. What are you ultimately trying to model? Does the radius need to be precise, or are you just trying to round off transitions? -Josh Quote Link to comment
WhoCanDo Posted June 26, 2015 Author Share Posted June 26, 2015 (edited) Here's what I am trying to do (attached). If I draw "1" then I want the macro to fillet the corners, create a profile and extrude along path. As you can see, if I fillet the corners with the fillet tool and I use a macro that I have already written then I get what I want. But why should I fillet the corners when VW can do it. If I change this 3D Polygon to a ConvertToPolyline then I can SetPolylineVertex but when VW ConvertToPolyline it flattens the polygon to 2D. The only solution is to CreateNurbsCurve to which I have to AddVertex3D and that's why I wanted to understand the fillet mathmatics. The only other option I have is to call the fillet tool during the macro so the operator can fillet the corners and then the macro will continue to extrude a pipe. Can you suggest any alternatives? :-) Edited June 26, 2015 by WhoCanDo 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.