strange trim behavior / how best to align points on curve?

Next
 From:  yophie
7816.1 
Hi Michael,

While trying to divide up a curved surface, I came across an odd behavior from the trim tool.

I used Array>Curve with "align to surface," then used the edge of my object to trim the newly created curves. In two directions I had no problem. When I tried to replicate this in a third direction, the trim command created a pattern of trim points that did not follow the trimming curve.



The only way I found to remedy this was to extrude a plane from the trimming curve, then manually move the ends of the trimmed lines onto my original curve. The problem with this is that it's totally free-hand.

My questions are:

1) Why did this trimming glitch happened only in the third direction of an equilateral object?

2) Is there a tool I can use to align the points to a curve, or does this have to be done manually?

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
7816.2 In reply to 7816.1 
Hi yophie - it's because the curves you are trying to trim with each other do not actually touch each other, there seems to be a pretty significant gap between them, about 0.25 units or so:



It looks like the curves in the upper third area did touch the edge, that's why those ones worked.

When they don't touch each other the regular Trim function is not going to be able to find an intersection between them. It is possible to do an "apparent intersection" trim, if you switch to the Front view, and make sure the checkbox for "Project intersections" in the Trim options is turned on and then you can cut them to the 2D projection of the edge curve but there will still be a gap between them since they don't touch each other in 3D space.

re: align points - there is a script that will place a point object at the start point of a curve, it might help - it's available here: http://moi3d.com/forum/display.php?webtag=MOI&msg=2888.11 it it's the opposite point you end up needing (the end point of the curve rather than the start point), you can edit that script in a text editor and change the part that says .getStartPt() to instead say .getEndPt() and save it off as a new script which will create an end point instead of a start point.

Hope this helps!

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  Michael Gibson
7816.3 In reply to 7816.1 
Hi yophie, and maybe your array curve did not do what you thought - when you do an Array curve to replicate an object along a path, the object is duplicated along points calculated along the path curve. If you use the "Align to surface" option, it will also look at the surface normal at each point and make sure that there is an additional rotation done to keep something that was starting out coming off perpendicular from the surface to stay perpendicular to the surface at each copied location. But that option is for making copies of something that sticks up vertically along the surface normal like a little spike or cylinder or something like that. If you're copying a curve instead like you're doing it does not guarantee that the copied curves are on the surface at every spot along the curve. In general ArrayCurve can't guarantee that for curves it is copying because it only does a move and rotation of the base object, it does not try to morph or warp the curve to make it stick down to the surface at all points along the curve.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All