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).
On 23/08/2014 at 18:17, xxxxxxxx wrote:
hi everyone 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
import c4d
def PointModify(obj) : pts = obj.GetAllPoints() lisx = [] for c1 in xrange(op.GetPointCount()) : lisx.append(obj.GetPoint(c1).x) 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.SetAllPoints(pts) obj[c4d.SPLINEOBJECT_TYPE] = c4d.SPLINEOBJECT_TYPE_LINEAR obj.Message(c4d.MSG_UPDATE)
if __name__=='__main__': PointModify(op) c4d.EventAdd()
On 27/08/2014 at 13:04, xxxxxxxx wrote:
Hello,
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.
if __name__=='__main__': splineObject = doc.GetActiveObject() if splineObject.GetType() == c4d.Ospline: PointModify(splineObject) c4d.EventAdd()
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.
best wishes, Sebastian
On 22/09/2014 at 16:18, xxxxxxxx wrote:
thankyou for answer polite i was very helpful