List of points of spline?
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 08/02/2012 at 00:40, xxxxxxxx wrote:
Dear Café,
can anyone please tell me how can I get a list of spline's point? Or iterate through points.
What I want to do is go through all point of spline and execute Diconnect command on each point but I can't figure out how to do that.
Thanks,
Sergey -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 08/02/2012 at 01:17, xxxxxxxx wrote:
Hello sergey,
did you take a look into the documentation?
def main() : if not op.CheckType(c4d.Ospline) : # not a spline-object return for point in op.GetAllPoints() : # process points pass
See the PointObject class for reference. Note that this is also available for Polygon-objects.
Cheers, Niklas
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 08/02/2012 at 01:23, xxxxxxxx wrote:
Hi Sergey,
SplineObject is a child class of PointObject. And there's a method GetAllPoints() in PointObject returning all the points of a a geometric object (polygon or spline).
To test this, execute this command in the console (with a spline object selected) :op.GetAllPoints()
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 08/02/2012 at 05:55, xxxxxxxx wrote:
Many thanks to both of you!
Sorry for stupid question, I'm not a programmer, so a lot of obvious things doesn't make any sense to me
I've seen this method, and at first I thought that everything would be easy, but I have no idea what to do with it because it returns positions of points. And I can't simply do c4d.(command for disconnect) for them, because it tries to disconnect bunch of vector data, not the actual points. Maybe there's something else I don't understand? -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 09/02/2012 at 23:06, xxxxxxxx wrote:
I guess my question wasn't exactly correct, because as I understand Point methods return things like tangents or positions, but what I need is to select all points of spline turn by turn and apply disconnect.
I guess every point has it's index so basically what I have to do is something like
select(0)
for point in op.GetPointCount() :
disconnect;
select(point + 1)
but what don't seem to get is how to select a specific point.Update: sorry for being an idiot, got it all by myslelf
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 09/02/2012 at 23:54, xxxxxxxx wrote:
Maybe you search for something like this:
import c4d def main() : selection = op.GetPointS(); selection.DeselectAll(); selection.Select(0); for i in xrange(1, op.GetPointCount(), 0) : # # process stuff # selection.Deselect(i-1); selection.Select(i);
Note: Written from scratch and therefore untested. Don't have access to C4D now.
__
Cheers, Niklas -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 10/02/2012 at 01:04, xxxxxxxx wrote:
Probably best to write down what you want to achieve in C4D itself
It sounds like you want to take a spline with X number of points
and go to each point in turn - running the disconnect command
thus replacing the whole spline - with individual 2 point segmentsone complete spline made up of x points
spline[.-.-.-.-.-.]same spline turned into separate 2 point segments
spline[.-. .-. .-. .-. ] -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 10/02/2012 at 07:41, xxxxxxxx wrote:
Thanks, Niklas! That was exactly what I wanted to do.
deepshade, yes, that's what I was doing. I've encountered a problem because after every 'disconnect' the index of next point I needed to disconnect has been shifting by 3, not by 1, but I figured it out. So thanks everyone!