On 23/08/2014 at 18:17, xxxxxxxx wrote:
I begin to study, and python is still two months
I made a script for the first time
I made the script which displayed the points equally
In fact, only the point that you chose wants to make a script to display equally, do you know it?
Thank you for keeping company at poor English
def PointModify(obj) :
pts = obj.GetAllPoints()
lisx = 
for c1 in xrange(op.GetPointCount()) :
mx = max(lisx) #find max x position
nx = min(lisx) #find mini x position
bunbo = len(lisx)
for c in xrange(op.GetPointCount()) :
pts[c].x = ((bunbo -1 - c)*nx + c*mx)/(bunbo-1) #internally divide
obj[c4d.SPLINEOBJECT_TYPE] = c4d.SPLINEOBJECT_TYPE_LINEAR
On 27/08/2014 at 13:04, xxxxxxxx wrote:
I'm not quite sure what you want to achieve. I guess you are writing a script for the script manager?
So first you need to get the spline object you want to edit. In the script manager you can get this from the BaseDocument. Then you should check if this is really a spline object; do this by checking the type.
splineObject = doc.GetActiveObject()
if splineObject.GetType() == c4d.Ospline:
To limit your operations to the selected points of a spline you can get the selection:
selectedPoints = splineObject.GetPointS()
The interpolation can only be defined for the whole spline object. If you want to add some linear passages you could edit the tangents of the points.
On 22/09/2014 at 16:18, xxxxxxxx wrote:
thankyou for answer polite
i was very helpful