View Full Version : remove poly crease edges after "delete history"?
02 February 2008, 06:07 AM
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:
Return true if the attribute must be set through setCachedValue
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.
02 February 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 cv cv;
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-?
02 February 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.
02 February 2008, 09:05 AM
wow.. Ive been trying this creasing information removing my self too.. but no luck
what about you guys?
04 April 2008, 09:26 AM
Pushing this topic up.
No one has a way to remove creases?
04 April 2008, 03: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
04 April 2008, 01: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.
04 April 2008, 03: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.
04 April 2008, 04:09 PM
It should work if you want to delete all your creases, but what if you want to delete only part of them?
04 April 2008, 08: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-
04 April 2008, 05: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.
04 April 2008, 06: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 : )
04 April 2008, 01: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 :)
04 April 2008, 12:55 PM
I wrote this script.
It actually deletes all creases from the selected object(s).
Save MDL_removeCrease.mel in your script directory.
Select the object(s) you want to delete crease from.
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 email@example.com (http://firstname.lastname@example.org)
04 April 2008, 12: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.