検索 - User list
Full Version: PolyExtrude along curve not working
Root » Houdini Indie and Apprentice » PolyExtrude along curve not working
mmwizard
Hi,

I'm trying to extrude along a curve but it does not follow the curve. it seems that the front stays on the same plane.
Can someone tel me what i do wrong?
Mike_A
It is currently confusing. I believe there are notable improvements to the Poly Extrude SOP in the upcoming version 21 release, so let's hope this operation is one of them.

What you need to do is:
1. Set extrusion distance to zero.
2. Set Spline shape to: Curve from second input
3. Set divisions high enough to follow your curve.
4. Enable 'Transform extruded front'
5. With point snapping enabled drag the front transform gizmo to snap to the end of your curve.
mmwizard
Hi Mike,

This is not the answer i hoped for. But thank you very much for you're reply.
for now I will make a workaround then. Since i need this to be procedural.

kind regards
Mike_A
Hopefully improved in version 21 in a few weeks time - fingers crossed.

It might be worth looking at the 'Path Deform' SOP. Could that be an alternative approach for you?
toonafish
Sweep SOP instead of polyextrude ?

https://youtu.be/GUGMPUcfxHM [youtu.be]
mmwizard
Hello,

Thank you for the help.
For now i have made a position attribute of the last point and use it to translate the front of my extrusion.


kind regards
Mike_A
Sadly, no improvement to this in H21.
I thought I'd just post the following expressions for future reference. They do pretty much what you've done, but using HScript. You can paste them directly into the Front transform > Translate parameters - X, Y and Z. They are based on the first point of the curve being on the extruded poly, and they take into account the location of that first point, so the curve doesn't have to start at the origin.

Paste into Translate X : point(opinputpath(".",1), "`npoints(1)-1`", "P", 0) - point(opinputpath(".",1), 0, "P", 0)
Paste into Translate Y : point(opinputpath(".",1), "`npoints(1)-1`", "P", 1) - point(opinputpath(".",1), 0, "P", 1)
Paste into Translate Z : point(opinputpath(".",1), "`npoints(1)-1`", "P", 2) - point(opinputpath(".",1), 0, "P", 2)
mmwizard
Heej Mike,

Yes i know. It was the first thing I've tried in the new release.
But thank you very much. I will try it asap.

kind regards
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB