Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 23/03/2012 at 04:04, xxxxxxxx wrote:
Put this in a generator turn off cache
drop in poly object
results in spline
but you then can't render in viewport?
import c4d from c4d import utils def main() : output = None obj = op.GetDown() if not obj: return None if obj: if not obj.CheckType(c4d.Opolygon) : return None if obj[c4d.ID_BASEOBJECT_VISIBILITY_EDITOR] != 1: obj.Edit() doc.SetMode(c4d.Medges) source = obj.GetClone() obj[c4d.ID_BASEOBJECT_VISIBILITY_EDITOR] = 1 obj[c4d.ID_BASEOBJECT_VISIBILITY_RENDER] = 1 utils.SendModelingCommand(c4d.MCOMMAND_SELECTALL, list = [obj], mode = c4d.MODELINGCOMMANDMODE_EDGESELECTION, bc = c4d.BaseContainer(), doc = doc) if c4d.utils.SendModelingCommand(c4d.MCOMMAND_EDGE_TO_SPLINE, [source]) : output = source.GetDown().GetClone() source.DelBit(c4d.BIT_AOBJ) return output
On 23/03/2012 at 14:42, xxxxxxxx wrote:
I'm pretty sure that you have to manually check for Dirty in your code if you turn of the cache option like that. Otherwise the generator keeps running in an infinite loop and prevents it from rendering.
Here's a different approach to making the child of a generator a spline object:
import c4d from c4d import utils def main() : sweep = None #Error handling if no object is a child of the generator obj = op.GetDown() if obj is not None and obj.CheckType(c4d.Opolygon) : obj[c4d.ID_BASEOBJECT_VISIBILITY_EDITOR] = 1 obj[c4d.ID_BASEOBJECT_VISIBILITY_RENDER] = 1 source = obj.GetClone() utils.SendModelingCommand(c4d.MCOMMAND_SELECTALL, list = [obj], mode = c4d.MODELINGCOMMANDMODE_EDGESELECTION, bc = c4d.BaseContainer(), doc = doc) if c4d.utils.SendModelingCommand(c4d.MCOMMAND_EDGE_TO_SPLINE, [source]) : spline = source.GetDown().GetClone() #Return a clone of the selected splines circle = c4d.BaseObject(c4d.Osplinecircle) #Create the sweep profile object circle[c4d.PRIM_CIRCLE_RADIUS] = 2 sweep = c4d.BaseObject(c4d.Osweep) #Create a sweepNURBS object spline.InsertUnder(sweep) #Put the source object under the sweep object circle.InsertUnder(sweep) #Put the circle object under the sweep object return sweep
-ScottA
On 25/03/2012 at 03:55, xxxxxxxx wrote:
Thanks Scott - as ever, appreciate the input.
Really want just the spline.
Can't see any way to get dirty data - no explanation of generate cache Wish there were more info an the generator, its limitations, how to's etc