Si tu veux une copie parfaite, c'est assez chiant car faut prendre en compte le fait qu'elle peut être déformée par un déformateur ou des dynamiques, ou créée avec un quelconque générateur .
Tu as la commande SendModelingCommand(command=c4d.MCOMMAND_CURRENTST ATETOOBJECT, list=[op], doc=doc),
GetDeformCache, GetCache.
Perso j'utilise les trois à la suite pour être sûr du résultat car dans certains cas une seule de ces fonctions ne suffit pas.
Bon c'est assez lourd, mais si vous avez une meilleure méthode et 100% fiable, je prends. : P
Mais note que pour les splines, je te recommande très très fortement d'utiliser plutôt c4d.utils.SplineHelp en précisant de prendre en compte les déformateurs dans sa fonction Init, dans laquelle tu entres ta spline telle quelle, même si elle n'est pas convertie :
http://www.maxonexchange.de/sdk/CINE...ght=splinehelp
SplineHelp.InitSpline(op, [up=c4d.Vector(0.0)][, rail=None][, target_rail=True][, use_deformed_points=True][, force_update=False][, use_global_space=True])
Dernière modification par César Vonc ; 10/11/2014 à 20h18.
En fait je ai besoin d une copie de spline car , je doit lui apporter des modification puis ensuite récupérer des valeurs , le souci si je modifie la spline d' origine , celle-ci après ça remise en état est légèrement différente du départ surtout (les courbe de bezier ne sont plus identique ) ,
d' ou mon besoin de crée une copie parfaite
Cesar
je zuite tout ça et un grand merci a vous deux
perso j avait trouver des fonction dans c4d.plugins.ObjectData mais comment les utilise t' on ??
en autre
ObjectData.GetVirtualObjects(self, op, hh)
voici la page
paspas
Il y a également pour les splines BaseObject.GetRealSpline() qui te permet de récupérer les splines paramétrique ou non (et même de vérifier par la même occasion que c'est bien une spline). Il y a un bout de code en exemple dans la doc qui copie ensuite la spline.
Mais ça c'est sans les déformateurs, sinon c'est les méthodes décrite pas César.
Pour GetVirtualObjects c'est une méthode que l'on surcharge lors de la création d'un plugin de type objet, et c'est là que l'on renvoie le résultat "géométrique" du générateur