mmwizard
2025年8月15日 17:38:40
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
2025年8月15日 19:25:05
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
2025年8月16日 08:06:39
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
2025年8月16日 11:15:28
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
2025年8月19日 18:13:10
Sweep SOP instead of polyextrude ?
https://youtu.be/GUGMPUcfxHM [
youtu.be]
mmwizard
2025年8月21日 16:49:07
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
2025年9月1日 16:24:23
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
2025年9月1日 17:00:34
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