Hi!
I’m working on a simple thing trying to make arc shape dimples using some attractor scaled circles on a surface. Once I create the revolved dimples using the normals at the points on surface, most of them are slightly skewed in different directions, so they aren’t aligned with their trim holes when all is complete. The normal at each point doesn’t seem to be calculating accurately. You can see the initial circle in black vs its greyed out projection curve onto the surface using the same normal. And the lines I’ve created coming from the normal seem to wander (you can see along that middle row). The surface is a 5x5 degree single span selected from Alias, so the surface normals shouldn’t wander like that.
Could it be somehow using a less accurate tesselated version of the surface to approximate the normals? Any other ideas?
Images attached. Not sure if you’ll be able to zoom in HQ on the full nodes, so I’ll paste the area of the normal creation separately. Thank you!!
Yeah, sorry, looks like the big node image is useless.
Zoom in so you can clearly read the node, and use the export workspace as image feature (file or edit menu, I forget which).
The display accuracy may actually be what’s off here, based on the Tessellation I am seeing on the projected circles. I’d you return the revolves to alias for things align?
One thing to note here, the normals don’t appear to be wondering, as you may not have a flat surface.
Draw a sphere in Dynamo, explode it, get the normal and point at any parameter, and then draw a circle and a revolve like you had before and the issue may become clear.
Working on building the cut shape from the projected curves is likely your best bet for a more complex shape. If you’re just after divots you could draw spheres using 3 or 4 points built by UV parameters, split the sphere with the original surface and the original surface with the sphere, before gathering the surfaces you want to keep and returning to alias.
When I return the dimples to Alias the mismatch is exactly the same as what you see in the dynamo image, where the edge of domes is following those input circles, but is not even close to aligning with the projected trimmed holes.
This is what I get back in Alias (squished view). You can see the mismatch, and the normals that are creating these domes do seem to be wandering, in my eyes. (If you look closely at the sticks in my previous image, the nature of their angle change isn’t even across the surface, if that makes sense. That center row shows a couple of them shooting in weird ways). Yes, the surface is curved, but it is fairly consistent in its crown nature (I could see this happening in bumpy mesh, for example, but not here). If they were truly made normal, I would think they should be at least closer to the orientation of the trim holes (albeit a tiny bit of mismatch because the circle would be flat as opposed to a complex crowned circle like on the surface.) You can see the very top left dimple is way off what normal should be.
So to your second point, I did try this too, using the projected circles as the sweep path, but the start and end of those circles seems to rotate differently for each circle, so I would need to recalculate how my profile curve is situated (I get error because they don’t line up, leading to self intersection). Need to get that rotated coordinate system differently for each circle. With my other circles, the S and E points are all in the same direction.
I can look into the sphere thing too, I suppose I could link the elevation and size of the spheres to my scaling algorithm get the intersection circle size I want. More work to be done there!
I’ll try this exercise on a sphere and see if I get a similar issue, too.
Thanks!
Serialized the surface to a string (Geometey.ToSolidDef node) and write it out to a text file (search the library for write text) and post the resulting file for review.
So I was able to do this, but no need actually, I’ve got it!
I had the normal plugged into my points too early in the tree before I cut some rows out, so the normal was calculating at the wrong points. Really really silly, so thank you for helping as much as you did! A lesson in check your work!!
Now I do still think I need to figure out building these with the complex projected curves or sphere intersection instead of the flat circles, as I’m still getting a 0.01 mm gap, but at least it’s consistent now!
Thanks again!
2 Likes
Definitely progress! We’ve all be there before, so don’t let the misdirection get you down. Reducing visibility sets often helps. Also using CoordinateSystemAtParameter is a good way to back check (the Z axis should always be normal to the surface).
Projecting the curves onto the surface, or shifting the method of creation for the solids is a good step. Personally I like the idea of using a sphere by best for through points method, where the points are defined via parameter sets used to pull points at a set of UV values. Feels like you’d get a more consistent feel on severely deformed surfaces that way.
1 Like
Thanks! Yeah I got it, at least what I wanted to do this exercise for. Did the sphere method, using the attractor to elevate them and scale them proportionally, then intersected with the main surface. Trimming took a bit to figure out, but I used SubtractFrom for the surface side (using Solid.ByUnion to make the spheres into one item, that was crucial) and Geo.Trim for the sphere side, and dropped the items that were not dimples. Thanks for the help!
1 Like