Jump to content

Poly Extrude or Sweep with Curve Help


Recommended Posts

Hello, 

I am struggling  to find a way to accomodate the poly extrude "curve from input" (second input) into my modeling workflow.   Please bear with me while I go through some things and try to explain my file. 

I have a piece of geometry, and a set of polygons along a ring around the circle.  They are in a group.  The goal is to extrude the polygroup, and apply not only a series of twists and tapers, but also curve the extrusions using info from a line.  These polygons are not located at the origin, though the object's center is.  

 

I have tried using both the polyextrusion and sweep sop methods, and both give me incomplete solutions.  

here are the three attemps (from left to right in the file)-- a switch node at the end toggles between the node trees.   

1) The first attempt was just a polyextrude with no line input at all.  It gives me stable results with a great deal of control for remarkably little effort. Great, but not entirely what Im looking for- i want to be able to bend the entire extrusion-- much like a twist or bend sop would do.   

2) Issues start when I add a line input.  It is a problem I always have with the polyextrude.  The line extrusion is not applied the same way as the sweep sop does (see pic 3).  There is no one to one correlation between the line and the new shape, and as you can see from the pic the extrusion itself is not only ugly, but interpenetrating itself, which is a huge problem.    Im sure with some finagling I could get it to work, but its just not very precise,  and instead of focusing on that I tried something I use much more frequently, the sweep sop. 

 

3)  I pretty much abuse the sweep sop, using it along with scale, p scale, and costumizable controls for ramps and the like to get me the shapes I want procedurally.  It usually works beautifully!   The problem here (it seems) is the fact that I am trying to sweep one curve along a series of primitive, in a ring, NOT one primitive at the origin.       

 

 My original approach was this.  Take my ring of primitives, generate a for loop. In one node branch, delete the primitive (using a convert to circle) and leave only a point at the center.  I then copy the line  I want to use as the base taper for my extrusion to that point.  The line is now right in the center of the polygon I wish to extrude.  That line has, as is atypical, the up vector, normal vector, p scale,  rotation information, etc.  

 

Well, it didnt work lol.  It was disastrous.  For whatever reason I cannot use my normals or vector info when the sweep sop is not at the origin???  I have half a work around, but its pretty much a fail.  I generate the sweep from the line, just stuck at the origin (not moved flush with the polygon), but with literally no normal info, and with no control over twist at all.  In addition, without any normal info, and line that curves past 180 degrees causes crossing in the primitive chain.  Noooo! lol...

ya.

So in one scenario I can control the bending and the taper, in the other I can control everything but.  

 

Im a bit confused, and sure I could be missing something.  I was debating moving each primitive to the origin itself in the for loop, then performing the sweeping, and then moving it back out, but I dont have a way to do that yet (never worked that way).  Its late, Im...out of ideas and will tackle it again in the morning, but figured id ask this forum for suggestions (it has been so helpful so far as I teach myself Houdini!).  

 

Any help would be awesome

Thanks!

JK

 

 

 

 

 

 

 

 

 

 

1_group.PNG

2_polyextrude.PNG

3_polyextrude_curve from input.PNG

3_sweep.PNG

Modeling_Practice_v001_upl.hipnc

Edited by JKeil
Link to comment
Share on other sites

Hey all! 

 Figured id respond here, because I have made some progress on my own.  

So basically there are two things that need to happen to get the sweep sop to work correctly.  Abandon the poly extrude if you can.  The sweep sop is still better (imo), and once you set up your own controls you have all the same functionality, plus more.  

 

So, here are two key things to note about the sweep sop.  

1)  You do need to operate from the origin!   This is not all that problematic, it just requires a bit of code.    I used some vex from master Wagner in this post.

Once your primitive is at the origin apply the sweep and perform all your costumizations.   You can send it back to its original location using the same matrix afterwards, with ONE SMALL CAVIAT (seee below.  

2)  Sweep alignment is PARALLEL not PERPENDICULAR.   Minor but confusing detail.  For the sweep node, the backbone object needs to be aligned along the line you are sweeping along.  It should be parallel to it not, NOT as you would think set perpendicular to it.  A simple transform sop prior to sweeping solves this problem, and does not cause any issues on the back end.  

 

 

SO there that!

 

Unfortunately there are a few more things that need to worked out, namely how to orient the extrusion consistently throughout the loop.  Each bend node needs to rotated so that it "points" to the target primitive location procedurally.  (See first pic).  Figured Id at least let people know my progress up to this point.  

Once I solve this last bit, I will post the final file cleaned up and ready for QC

Best

JK

 

2nd day.PNG

2nd day  2.PNG

2nd day 3.PNG

2nd day 4.PNG

2nd day 5.PNG

Edited by JKeil
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...