jlrvfx 0 Posted December 18, 2021 (edited) I would like to copy two sets of primitives to a grid. One set of primitives I want to copy to each point on a grid. The second set I would like to copy to the edges that join the points together. Ideally, these connections would scale with the length of the connections. Carving the grid will result in two copies of the tube in the interior where there were originally two shared edges: If I clean the result of the carve to remove the duplicates it causes issues with the orientation. Assuming it is averaging the normals: The result I am looking for is like this: I feel like there must be a simple way to do this that I am overlooking. gridCopy.hiplc Edited December 18, 2021 by jlrvfx Share this post Link to post Share on other sites
zeyneptopalll 4 Posted December 18, 2021 (edited) you want those curves to look like pipe ? gridCopy.hiplc Edited December 18, 2021 by zeyneptopalll Share this post Link to post Share on other sites
konstantin magnus 1,190 Posted December 18, 2021 The sweep node does pipes. pipes.hiplc Share this post Link to post Share on other sites
jlrvfx 0 Posted December 18, 2021 Thanks, both. I have used a pipe in the above example to simplify things, but in the end, I would like it to take geo metry modeled elsewhere and be able to place that between the connections so hoping to avoid sweeping. So trying to achieve something like this with the red geo copied to the points and the green bridging the connections. I think zeynes version with the foreach loop might be the key to this so looking into making that work now. Share this post Link to post Share on other sites
konstantin magnus 1,190 Posted December 18, 2021 Hi James, you can copy and scale meshes on converted lines by adding points to their center. float radius = chf('radius'); int pt_prim = primpoint(0, i@primnum, 0); vector pos_pt = point(0, 'P', pt_prim); vector nml_pt = point(0, 'N', pt_prim); vector dir = normalize(pos_pt - v@P); float scale = f@restlength - radius; int pt_add = addpoint(0, v@P); setpointattrib(0, 'up', pt_add, nml_pt, 'set'); setpointattrib(0, 'N', pt_add, dir, 'set'); setpointattrib(0, 'pscale', pt_add, scale, 'set'); removeprim(0, i@primnum, 1); copy_to_lines.hiplc 2 1 Share this post Link to post Share on other sites
jlrvfx 0 Posted December 18, 2021 That is exactly what I was looking for thank you so much, Konstantin. Share this post Link to post Share on other sites
Thoi 3 Posted December 29, 2021 On 12/18/2021 at 6:03 PM, konstantin magnus said: Hi James, you can copy and scale meshes on converted lines by adding points to their center. float radius = chf('radius'); int pt_prim = primpoint(0, i@primnum, 0); vector pos_pt = point(0, 'P', pt_prim); vector nml_pt = point(0, 'N', pt_prim); vector dir = normalize(pos_pt - v@P); float scale = f@restlength - radius; int pt_add = addpoint(0, v@P); setpointattrib(0, 'up', pt_add, nml_pt, 'set'); setpointattrib(0, 'N', pt_add, dir, 'set'); setpointattrib(0, 'pscale', pt_add, scale, 'set'); removeprim(0, i@primnum, 1); copy_to_lines.hiplc This is so cool! Is there a way to use this method to make the object (the lobster) connecting around a mesh like the bodies around the bust in this example @konstantin magnus ? Share this post Link to post Share on other sites
konstantin magnus 1,190 Posted January 1 Hi @Thoi, you could try to either stick soft bodies to the other mesh surface using Vellum or possibly project curves that deform the squabs using KineFX or a combination of both. 1 Share this post Link to post Share on other sites
Keshaw singh 4 Posted May 23 wow now i have another tool for mograph thanks guys Share this post Link to post Share on other sites