Groups double transform and history stack nodes for extrude along a curve


been here before

but still need a 3dsmax type solution.

curve path ,profile snap to curve end, freeze transforms, extrude poly surf along path.
all fine.

then group, curve , profile, option leave poly surf out of group, (but lots of loose ungrouped geo in outliner, very bad)
, or poly surf in group inherit transform off…can move group around ok no double transform

if i instance the group all is well still functions, didnt check convert instance to object might disappear.

from here on duplicating the group, with history connections under all maya options
fails to keep any history.

i know onouris and oglu have convoluted options but in terms of keeping stuff clean in the outliner
mayas groups method actually stops you from making and moving objects with history.
especially when it comes to duplicating that object keeping history and moving it around
ie changing paths,profiles, to make different new objects in position.
freeze transform in effect stops a lot of this ability.

what are you supposed to have lots of geo outside groups to get a workable system
this is messy, groups also act as containers just to cleanup selection folders to simplify outliner.

in the node graph a group is some container not linked to anything.
might give an inkling as to what is going on under mayas wierd node editor

hoping a 3dsmax/houdini/cinema4d/blender user who has worked out a similar workflow for maya
i actually need it to work like these programs.
please see:


man move on, Maya is not for you.
You are hurting yourself, you keep repeating 3dsma x/ houdini / cinema4d / blender are working better; why don’t you simply pick one of them rather than Maya?


Im wondering the same. Why are you trying to replicate other tools workflows in maya. That does not work and is frustrating. Do it the maya way or use an other tool.

The maya way is often clumsy and outdated but it works. Doing it by hand brute force is often faster than searching for fancy solutions.


hi o and o, the “o” boys
but you are the tech kids, the node surfer dudes
, the outhotarians

and i like a bit of s an m ,

sado and maya

just have to know where your boundaries lie:
maya poly boolean bevel intersection with history problem v1


ahh cad yet another program, all can do it

maya wip nodes, see the pain it does on your polys.
i laugh at the pain, give me more maya.

sss no no that but stockholm syndrome alive and well.


Im not a TD at all. Im just an old Artist doing everything needed to get the job done.



Before going into further explanations i want to add that usually your posts are unecessarly way too long with a lots of off topics mixing politics and weird things, and overall hard to read.
Man on one of your last post you have edited 64 times your 5km unreadable text!!!

So make it concise and precise with a good phrasing if you are looking for help.
Eventually attach a test scene, and display your screenshots directly on your post rather than links.
That way we can see at a glance what you are talking about and will be more inclined to help.


You keep talking about CAD software, why the heck don’t you use a CAD software ?
It’s like driving a car and crossing a lake and wondering why the car is not floating and sinking into the water, while keep complaining again and again about why you can’t cross the lake with your car.

CAD softs and polygonal softs are just not the same, that’s it period. You can’t expect applying a 1 to 1 methodology, they are both fundamentally different.
Polygonal modeling is topology dependant and you need to get that if you want to have some kind of a CAD feeling with boolean etc. And this is for all the others poly DCCs.

What you are doing in MAX is also failing because of that, and what you are doing is removing the chamfer moving your boolean and after that reapplying the chamfer to specific edges.
That’s not true procéduralisme but it’s a way of doing things, you could do the same in maya, deleting the bevels moving you boolean and reapplying the bevels based on hard edges. You have some scripts to make the procedure faster and easier.

Now you have true proceduralism, things based on rules like bevels based on angles, or based on bounding boxes or whatever you want.
For that you will need to get your head around the SOUP plugin, but if you don’t get the fundamentals of how maya works and how the data is flowing you can forget about it.

Here is an example, a boolean with a procedural bevel based on the angle that gets updated on the go no matter what the topology is because it’s based on a rule (angles).
The yellow lines are showing where the bevel is happening based on my rules, which are absed on angles but also on a limited area specified to only bevel the inner part.
I can change the resolution of the plane or the even the other object without screwing the boolean.

Now regarding the double transform thing, i will repeat again this is not something specific to Maya, so asking to remove it it’s completely ridiculous.
Sure some app will not showing you what’s happening under the hood like let’s say C4D, but it comes with the price of much less control and flexibility. If you are ok with that, and don’t need to go deeper and have a better control over things just use C4D.

And yes you can see transforms as “container” and the outliner is showing you that, you create an object it will always come with it’s transform.
-Now you can parent it to another transform if needed.
-You want a visual representation in the node editor, you could always create a “message” connection between both. (there is no data traveling here so no consequences).
-You want to duplicate a group with all the underlying nodes and connections, ctrl+D is not enough it will simply duplicate the nodes but not the connections. You have a command for that and you can assign it to a shortcut.
-As i already told you will need to keep an eye on world/local space connections, also the “inherit transforms” checkbox on the transform node.
here is an example of the message connection

Are all these things easy, probably not and if you want to go further with maya and be able to do whatever you want with it, you simply need to get your head around these concepts, and always keep an eye in the node editor to dissect what is happening.

Or just use Fusion360 end of the story


hi onouris, thanks
i presume the example boolean move is really all "soup"plugin
cant seem to find
“procedural bevel based on the angle in default maya.”

(3dsmax has chamfer angle based but probably same history errors as before)

would be good to have in mayas node editor a selection set “brand new node” running
from say boolean with options, intersection boolean edges, all, and or selection set
or angle based selection set option that then goes to bevel or what ever node.

i see their are plenty of paid for plugins that do same hardmesh,prosets and soup.

trying to get autodesk to implement same workflow in standalone maya.

maybe autodesk need a nodes experimental area where people submit single type nodes
that users can test at their peril.

regards double transform, to not get it

found its best
to put freeze transforms before extrude along curve,
put all build curves path and profile in a group called build curves_a.

do the poly extrusion, put that in its own group called extrude surfaces_a.
if you need to move ,move the build group called build curves_a only.

if you need a copy not instanced,
select the extrude surf not its group. do a duplicate input graph
put that new extruded surf in your group called extrude surfaces_rename_a_b.

put the newly created profile and path in its own new group called build curves_b

please see names a bit different in example, but basic idea:


this works for pipes on a single basis , but not sure for pipes say in a room, where the path
was based on a surface edge in that room.
see below:

maya instancing and duplicate input graph, for geo with realtionships
and moving that geo and build curves to new spots: awork in progress

moving a profile revolve,with edges, poly convert edges to curve
used as a path for curvewarp deform geo 5 times

to group and move, revolve poly surface geo inherit transform set to on default is off
profile curve inherit on.

in node editor “world” is default connected to input curve of revolve switch to local.

poly to curves all set inherit transform off,curvewap deformed geo all set inherit on.

to instance select only geo in group,instance then create new group to move.

to duplicate input graph,select only geo in start group, do it will create
new geo and curves, select these and create new group to move.

( BUT it does seem to create extra geo sometimes in the previous
instance so delete that, not sure why)
see pic


actually the proof of standalone maya sits before you,

get another pay for plugin to do mayas work for it


Actually you spamming this forum with comparisons of programs you have very little or no knowledge.


its the way i learn how maya actually works,
i follow the suggestions and come back with test results

agree i have little knowledge…all my posts end up interlinked
to remind me i have tried different avenues
for different, problems,

my posts have increased because if i dont understand maya
quickly, i have to use another program, because i have reached major roadblocks
with maya that seem unsolvable.

this week making renewed push to learn it. comes back to how many weeks you can afford to.

my latest: revolve tests…essentially the same issue as with extrude…

use ep curve set1 profile
must use quads general say u number 1 v number 11not cvs as… geo doesnt fit cvs needed xxxxxx
def double transform set world to local group …geo def inherit transform off to on
cannot use duplicate input graph on geo multiple curves created in odd group spots
cannot use geo_duplicate_connection_FAILED_broken


for extrude on path…group move and 3dsmax type copy with history
tube…all profile and path ep 1
closest endpoint of path
use profile normal
fixed path
tess poly quads cvs


generally_duplicate_input_connections seemed to fail

assign unique names important

for revolve…group move and 3dsmax type copy with history
revolve…profile ep1
tess quads general u num 1 v num 9 for 8 divs


generally duplicate_connections seemed to fail

assign unique names important

then go extreme group both the revolve and extrude groups above, repeat the 3dsmax style copy
and used_group_only_duplicate_graph_PARTIAL SUCCESS not really curves names start to breakdown,
even with assign unique names on

Nested groups are hard, but for fully parametric essential

where we are at

a nested group seems to have problems
maya_grouped both apoly_revolve_and an extrude_3dsmax copy_a_SUCCESS_
with duplicate input graph ok till use instance problem if assign unique off names instance ok
but convert

instance to object leaves SAME NAME ERROR
does convert instance to object need assign unique names option box

for duplicate object want on, but grouped instances want off…not sure…

these were groups:








please see


3dsmax style copy with history
1: build curves,polys,set pivot… freeze transforms

2: group elements, mesh result, inherit transform group will turn off, turn back on
3: build curves all inherit transform on as per fault
4: moving group…default will give double transform…
change all input curves from world to local space

5; this will instance PARTIALLY SUCCESS,
but child build curves and mesh will not be assigned unique names NOT SURE IF BAD

6: to do a3dsmax style copy with history use duplicate special
with copy duplicate input graph assign unique names on. SUCCESS.

7:this will instance PARTIALLY SUCCESS,
but child build curves will not be assigned unique names NOT SURE IF BAD

8: converting this instance to object will PARTIALLY SUCCESS
all child build and mesh elements will still
have same name as instance but they are not instances

do not use duplicate connections as this is an instance
that you can make changes on top of history of the instance,
without affecting the instance


and bear in mind this is not a nested group good luck with that one

over to dr d and dr o,
i am sure they will be switching to houdini soon

please see



do you understand what is an instance actually ?


instance is an exact, copy wherever you want it

(only used an instance after to test wether the group
would move without double transform and wether it would instance) in previous post.

the final aim is do not want an exact copy, want a copy with full history like 3dsmax not an instance

so selected the top of the group( contains build curves and mesh)
of the start object which was not an instance and then

used the duplicate special copy with the option used being duplicate object graph with assign unique
names on

this gives a copy with full history like 3dsmax, renames all parts of group
you can then instance this copy not the start group, with assign unique names

but this does not seem to give the group contents a unique name, only the group itself, so
when you convert object to instance maybe at end it doesnt have a unique name.

then tested the convert mesh object it has no history, can move its vertices, to prove its not instanced ,
other versions no verts move, but it has if fact the same name as previous instances

i thought instances had the same name but different end number
so expected curve profile 1 or 2 or 3 …actually got…seem all to be curve profile 1
so expected curve path 1 or 2 or 3…actually got…seem all to be curve path 1
so expected curve mesh 1 or 2 or 3…actually got…so curve mesh 1
in the group 1 or 2 or 3…actually got…in groups 1 and 2 and 3


So why after duplicating the nodes you make an instance and after that trying to convert again to object.
Why all the hassle ?

For the naming thing,
when you create an instance, Maya simply creating a new Transform but the shape itself the data is the same, that’s why you have the same name for the shape.

Imagine you have a box_A (transform) and inside a toy (mesh shape)
you create an instance, so Maya will create a new box_B and inside that box you will just have a picture of the toy from the first box, a representation of what is inside.


the final aim is do not want an exact copy, want a copy with full history like 3dsmax not an instance

So why after duplicating the nodes you make an instance and after that trying to convert again to object.
Why all the hassle ?

this exercise is about getting a workflow, and seeing how durable mayas history system is,
you would have a version of an object, create completely different versions some instance some converted.
for example it in this case created extra ffds i didnt want , they would have to be tracked down and removed.

seperately i am still not understanding when you convert a grouped (had the curves and mesh) instance to object,
its doesnt give the members of the group a new suffix, only the group has a different suffix
from when it was instanced (that bit half understand)
to avoid a clash with the old instances.


just forget about instances for the moment cause looks like it’s not what you are looking for.
The very first main advantage of instances is saving memory like with a field for trees things like that.

  • 1 ) you want to duplicate un object with the history, so you would use the duplicate with connection.
    Now you have the same 2 objects but each with its own history.

  • 2 ) Here i’m creating a new mesh Shape node in the node graph, it will come with its own transform so you are free to move it where you want.
    I’m kind doing a fork by connecting the output of the extrude to this new meshShape.
    So the end result i have 2 meshShapes connected to the extrude node.

  • 3 ) Doing almost the same as before, but hooking the first meshShape to the other one. So it will control the other meshShape node, that way you can move the vertices of the first shape and the other one will follow.
    And if you want to “freeze” the last shape just break the connection.


thanks onouris
whole new way of working,
also noticed mash can take a grouped object with history as well.

the attached is a 3dsmax users workflow to see what aiming for regards nested groups,
and build elements all in final position. copying with full history, note
in 3dsmax groups are called controllers is that different from maya?
very fast, except uvs probably slower, lofts fast uvs
by the time maya has connected one, 3dsmax probably done all combinations.

regards your example a try out on this cant seem to get it working.

try on real world case below:

create an ep curve profile at 000
revolve poly surf gen u1 v9 ,8 sections,
sel all edges harden edge
create an ffd ffd ( setwith local ? so bendy and all settings) and splay bottom ffd verts out
set world to local for revolve input
leave ffd on world
inherit transform on all

presumably to move all of this at once i need to group it( i just selected all components and grouped)
above settings give no double transform moving around

can either use duplicate input graph with assign unique names on top of group
this gives 3dsmax working copy,

if i select just the revolve mesh shape it wont duplicate rest of the group

in this case duplicate input connections seems to break relationships with revolve curves.

is your system suitable only for a mesh, and no build curves,no ffd, will definatelt need
hard edges to simplify to 1 in mesh connection and is it a mesh outside a group.

the point is to take a working history copy of the revolve curve and ffd to the new position


Here is a curve revolve + ffd under a group, i even added a “choice” node to switch between 2 different curves (you could also just swap the connections).

And as you can see i can move rotate the whole thing without a problem and keep edit it.

And like the other gif if you select the top level group, and duplicate with the history you will have the exact same copy with all the nodes and connections.


onouris,well tried to follow your last post

overall using duplicate input connections found get no history
using duplicate input graph, works for one group, but errors when instancing that , and converting
those instances to object
creating ffds in other groups.

found a making a group sometimes switches off inherit transform, though not on a consistent, basis, always have to switch on, poly surfaces normals usually flipped by default.

not sure how you did the ffd and how you connected it, before or after group, and how you scaled it.

grouping a revolve,grouping an extrude, then grouping both, doing duplicate input graph, instances of
and converting to geo…
created all sorts of chaos

please see attached: