Boutique Cinema 4D
Affichage des résultats 1 à 9 sur 9

Discussion: Decouper un objet à la machette

  1. #1
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 617

    Decouper un objet à la machette

    Bonsoir à tous
    Est ce que vous sauriez si il existe un truc genre l'outil machette pour découper des objet en morceaux.

    Je m'explique est ce qu''il y aurai un moyen (astuce, plug-in ou même peut être une fonction intégrée) pour découper en une opération un objet en 2 éléments solides. Le but étant de découper des objets en morceau, un peu comme on le ferai avec Thrausi mais pas de manière aléatoire. Pour le moment je le fait à coup de Boolean ou de Knife + split + close Hole, mais j'ai vraiment beaucoup de découpe à faire et ça devient assez fastidieux.
    Bon en fait très fastidieux .

  2. #2
    Gourou Avatar de Itsmil
    Date d'inscription
    décembre 2006
    C4D version
    R16 Studio
    OS
    Win 7 pro 64bits
    Messages
    2 752
    Si j'ai bien compris ta demande, avec un booléen c'est faisable. Pourquoi ne pas utiliser un booléen avec comme element B (l’extracteur de matière) un cube très peu épais, un peu comme une feuille de papier, que tu mets là où tu veux ta découpe, puis une fois édité, tu fais tout simplement un maillage>conversion>groupe de polygones pour avoir des elements séparé

  3. #3
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 617
    Oui mais ca grosso modo c'est ce que je fais. Toutefois avec ta méthode je gagne quand même une manip.
    Mais il faut quand même
    - dupliquer le boolean avec son objet "Couteau" histoire de pas recommencer à chaque fois.
    - editer le boolean
    - faire la conversion>groupe de polygones
    - sortir les objets de la hierarchie crée par la conversion et effacer l'objet vide.
    Ca multiplié pas 300 ou 400 fois, même avec un raccourci assigné à chaque opération, je serai pas contre un one-shot.

  4. #4
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 617
    Bon du coup d'avoir listé la suite de manips j'ai tenté un script et ça marche à peu près.
    Il faut sélectionner les deux objets (objet a couper et le "couteau") et executer le script.
    Il faut aussi que le "couteau" soit au dessus dans l'object Manager, et il est probable que ce ne marche pas dans une hiereachie.
    Bon vu mon niveau en python il y a des trucs pas trop clean, et ça reste à améliorer, mais j'ai mon one shot.
    Entre autre j'aurais bien aimé utiliser SendModelingCommand pour rendre le boolean éditable afin de récupérer l'objet, mais j'ai pas réussi.

    Ceci dit si quelqu'un connait un vrai outil qui fait ça proprement, je suis toujours preneur.

    Code:
    import c4d
    from c4d import gui
    
    def main():
        c4d.CallCommand(13957) # Clear Console
            
        theDoc = c4d.documents.GetActiveDocument()
        selected = theDoc.GetActiveObjects(0)
        couteau = selected[0].GetClone()
        doc.InsertObject(couteau)
    
        theBool = c4d.BaseObject(c4d.Oboole)
        doc.InsertObject(theBool)
        c4d.EventAdd()
        print theBool
        theBool[c4d.BOOLEOBJECT_SINGLE_OBJECT]=True
        
        if len(selected) > 0:
            for ob in selected:
                print ob.GetName()            
                ob.InsertUnder(theBool)
                
    
        theDoc.SetSelection(theBool, mode=c4d.SELECTION_NEW)
        c4d.CallCommand(12236) # Make Editable
        selected = theDoc.GetActiveObjects(0)
        print selected[0]
      
        c4d.CallCommand(17891) # Polygon Groups to Objects
        c4d.CallCommand(1019951) # Delete Without Children
        c4d.EventAdd()
    
    if __name__=='__main__':
        main()
    Dernière modification par Floc ; 09/12/2014 à 01h05.

  5. #5
    Gourou Avatar de Itsmil
    Date d'inscription
    décembre 2006
    C4D version
    R16 Studio
    OS
    Win 7 pro 64bits
    Messages
    2 752
    Tu peux très bien avoir plusieurs objets découpeur de plusieurs objets A dans un même booléen.

    Dans l'idée j'ai un mur fait avec un cube plat et a côté j'ai un cube découpeur dans un mograph, une fois le tout édité, j'ai tout simplement un mur de 500 brique en peu de manips.

  6. #6
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 617
    Salut itsmil
    J'ai bien compris la méthode et d'ailleurs je l'utilise, mais dons mon cas ce n'est pas idéal ou suffisant.
    Ce dont j'ai besoin s'apparente plus à une sorte de "sculpt". Exactement ce que fait thrausi mais de façon controllée. Il s'agit par exemple de faire (entre autre)la taille d'un diamant (le tout animé bien sur). La découpe ce fait dans de multiple plans et en plus est difficilement prévisible. J'ai besoin de pouvoir "improviser" un peu et de découper à la volée. Je ne peux pas faire ça en deux ou trois opération.
    D'ailleurs j'ai commencé a me servir du script et je peux te dire que je découpe, je debite, je tranche, un vrai serial killer.

  7. #7
    Gourou Avatar de valkaari
    Date d'inscription
    mai 2009
    C4D version
    Autre
    OS
    OSX / windows
    Messages
    2 949
    Citation Envoyé par Floc Voir le message
    Il faut sélectionner les deux objets (objet a couper et le "couteau") et executer le script.
    Il faut aussi que le "couteau" soit au dessus dans l'object Manager, et il est probable que ce ne marche pas dans une hiereachie.
    pour la fonction GetActiveObjects tu peux utiliser le flag suivant.

    GETACTIVEOBJECTFLAGS_SELECTIONORDER The selection array is sorted in the selection order, e.g. the first selected object is the first element in the array.


    Du coup tu pourrais sélectionner ton objet à découper en premier puis les "couteaux". Au moins tu gagnerais en étape.

    Pour ce qui est d'utiliser les callcommand... si elles fonctionnent et que t'as pas besoin de changer certaines options ... on s'en fiche.


    Sinon essayes (ce que je fais presque jamais) d'ajouter des groupe d'undo. Puis si t'as un soucis de code, vas dans la partie programmation du forum. Il m'arrive de passer sur le forum sans parcourir tous les sous forums. Par contre programmation, j'y vais souvent si y a un message.

  8. #8
    Gourou Avatar de geantvert
    Date d'inscription
    mai 2007
    C4D version
    R15 Studio
    OS
    OScours
    Messages
    2 319
    Puisque Valkaari ne fait pas sa propre promo, je m'en viens la faire.
    Avec xplode en mode matrice il est possible de découper selon la grille de la matrice.
    Ce qui forcément réduit pas mal le nombre de manip aussi.
    Xplode réagit bizarrement parfois avec des objets complexes mais si c'est juste quelques objets à reboucher c'est toujours un gain de temps

    Edit: la marche à suivre quand même, créer un objet matrice, régler sa grille comme on le souhaite, mettre l'objet matrice en mode TP, ouvrir les paramètres TP (simuler, TP, paramètres TP), glisser le xplodeGroup dans le champ groupe TP de l'objet matrice. Les particules générées par xplode suivront la grille de l'objet matrice. Y'a plus qu'à sélectionner l'objet à découper et lancer la découpe

    re: Veiller à agrandir un chouille la grille matrice afin que les particules aux extrémités ne coïncident pas avec un début de poly.
    En bref, bien inscrire l'objet à l’intérieur de la grille
    Dernière modification par geantvert ; 12/12/2014 à 17h00.

  9. #9
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 617
    Citation Envoyé par geantvert Voir le message
    Puisque Valkaari ne fait pas sa propre promo, je m'en viens la faire.
    Et tu as bien raison car cette fonctionnalité d'xplode, que tu viens de me faire découvrir est vraiment intéressante, ca te fait des découpages régulier nickel en quelques clics.


    Citation Envoyé par valkaari Voir le message
    Du coup tu pourrais sélectionner ton objet à découper en premier puis les "couteaux". Au moins tu gagnerais en étape.
    Y'a pas de petits profits, une étape de moins c'est toujours ça de pris.
    Alors la version corrigée et un peu plus propre, pour ceux que ça intéresse.
    Merci du coup de pouce

    Code:
    import c4d
    from c4d import gui
    
    
    def main():
        c4d.CallCommand(13957) # Clear Console
            
        theDoc = c4d.documents.GetActiveDocument()
        selected = theDoc.GetActiveObjects(c4d.GETACTIVEOBJECTFLAGS_SELECTIONORDER)
        if len(selected) ==2:
            couteau = selected[1].GetClone()
            objName = selected[0].GetName()
            doc.InsertObject(couteau)
            
            theBool = c4d.BaseObject(c4d.Oboole)
            doc.InsertObject(theBool)
            c4d.EventAdd()
            theBool[c4d.BOOLEOBJECT_SINGLE_OBJECT]=True
        
            selected.reverse()
            for ob in selected:
                
                ob.InsertUnder(theBool)
            
            theDoc.SetSelection(theBool, mode=c4d.SELECTION_NEW)
            c4d.CallCommand(12236) # Make Editable
            selected = theDoc.GetActiveObjects(0)
            selected[0].SetName(objName)
          
            c4d.CallCommand(17891) # Polygon Groups to Objects
            c4d.CallCommand(1019951) # Delete Without Children
            c4d.EventAdd()
    
        else:
             gui.MessageDialog('Selectionner 2 objets')
                
    
    if __name__=='__main__':
        main()
    Citation Envoyé par valkaari Voir le message
    Puis si t'as un soucis de code, vas dans la partie programmation du forum
    En fait j'etait pas parti pour écrire un script, mais j'ai pas trouvé l'outil et finalement ça paraissait à ma portée.
    Mais maintenant j'aimerai bien que la découpe respecte la hiérarchie, et comme j'ai l'impression que ça va se compliquer, il y a effectivement des chances que j'aille toquer à la porte du forum programmation
    Dernière modification par Floc ; 13/12/2014 à 00h00.

Discussions similaires

  1. découper une surface, sélectionner de nombreux polygones .... ?
    Par Xplorer dans le forum Nouveaux membres
    Réponses: 9
    Dernier message: 09/09/2013, 20h33
  2. blueprint a découper
    Par wobi dans le forum Nouveaux membres
    Réponses: 7
    Dernier message: 10/04/2006, 23h13
  3. Decouper du texte
    Par fougere dans le forum Nouveaux membres
    Réponses: 8
    Dernier message: 25/08/2005, 20h20
  4. découper un polygone grace à une spline
    Par aconrad dans le forum Modélisation
    Réponses: 4
    Dernier message: 19/05/2004, 17h29
  5. découper un objet
    Par Duryfifi dans les pixels dans le forum Modélisation
    Réponses: 25
    Dernier message: 26/05/2003, 22h57

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •  
Mediaworks - Logiciels 3D | Design Internet - Creation site internet