PDA

View Full Version : remove poly crease edges after "delete history"?


r4inm4ker
02-20-2008, 06:07 AM
Hi,
I can't find a way to remove crease edges from an object after the histories are deleted.
Searching through the documentation it seems that the crease data are stored in the attribute in mesh node called creaseData(cd), and the type is polyComponent. Using attributeQuery I found that this attribute has internalSet and internalGet flag turned on. And the docs state these:
-internalSet(-is)
Return true if the attribute must be set through setCachedValue
-internalGet(-ig)
Return true if the attribute come from getCachedValue

But i can't find setCachedValue & getCachedValue anywhere in the docs,so i'm stuck now.
Any help would be very appreciated.

greatPumpkin
02-21-2008, 05:04 PM
have you tried setting all the contained values in .cd to 0 using something like this?

setAttr node.componentListAttr -type componentList 3 cv[1] cv[12] cv[3];

or generally using setAttr to clear the values?

alternatively you could create a new polySurface and connect the outMesh of your source object to get rid of previously cached data?

If that doesn't work or isn't suitable, you might want to try exporting a single offending obejct as an ascii file and see how the data is being initially assigned in mel for some extra clues-?

r4inm4ker
02-24-2008, 03:26 AM
greatPumpkin: thx, i have tried all the options, but nothing seems to work:sad:. I'll give it a try again next week and post here if there's any positive result.

kojala
02-29-2008, 09:05 AM
wow.. Ive been trying this creasing information removing my self too.. but no luck
what about you guys?

Madpear
04-14-2008, 10:26 AM
Pushing this topic up.
No one has a way to remove creases?

greatPumpkin
04-14-2008, 04:46 PM
can someone post an example scene or how to create a cube with the crease info on it? Never used subds in production before so don't know how to add the crease data- tried deleting history on a subd but seems like the crease data is stored on an attribute called .edgeCrease as opposed to .cd

r4inm4ker
04-15-2008, 02:12 AM
Here's a simple way to create crease data (.cd) :
1. create a poly cube.
2. select some edges, then Proxy->Crease Proxy Edge Tool.
3. MMB drag right to add crease values.
4. delete history and save.

In the .ma file you will see this :
setAttr ".cd" -type "dataPolyComponent" Index_Data Edge ...

Until now i'm still unable to remove the thick edges from display, no matter using MEL or API. Even if i set the value to 0 or -1, they still existed.

greatPumpkin
04-15-2008, 04:56 PM
Hey, I think I figured out a workaround:

-convert the mesh to a subd
-set it to proxy mode
-delete the subd shape node
-reassign shaders to the cage

that should all be doable as a relatively quick mel script- looks like it maintains uvs and vertex ordering, but not soft/hard edges- I couldn't get any setAttr type command to remove them.

Madpear
04-15-2008, 05:09 PM
It should work if you want to delete all your creases, but what if you want to delete only part of them?

greatPumpkin
04-16-2008, 09:41 AM
It's a bit gross, but you could always intercept selected edges, record their crease values, clear all using the method described above, and then reapply- polyCrease -q would give you the right crease information per edge- pretty disappointing there doesn't seem to be a more standard way to remove the data-

goleafsgo
04-16-2008, 06:55 PM
You could save it as an .ma file and then delete the entries for crease data. You could search for "dataPolyComponent" and you should find attributes like .cd and .cvd which are the edge and vertex crease data. Deleting those lines and then reopening the file will clear it.

Buexe
04-16-2008, 07:14 PM
please, please, please make this removing thing an interactice feature of the crease process. Or at least have Maya "clean" the array elements that are zero ( doesn`t it do that automagically when saving anyway? ). This way when opening the file the creases with zero creasing would be gone == happy modeller : )
Thanks

r4inm4ker
04-17-2008, 02:23 AM
yeah, without interactive removal, this crease feature has very limited use. Even if you set the value to 0 or -1, it's still a thick line, so we can't differentiate which edge is creased and which is not. At least give me a MEL or API function to remove these thick edges and i'll be a happy guy :)

Madpear
04-29-2008, 01:55 PM
I wrote this script.
It actually deletes all creases from the selected object(s).


Usage:

Save MDL_removeCrease.mel in your script directory.
Select the object(s) you want to delete crease from.
Run MDL_removeCrease;

Notes:

Your objects must have unique name to allow the script to work.
Be aware that the script deletes your object(s) history.
Any feedback, improvements, complaints etc. welcome by e-mail frederic@nwavedigital.com (http://forums.cgsociety.org/frederic@nwavedigital.com)

Enjoy

CGTalk Moderation
04-29-2008, 01:55 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.