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

Discussion: Urbanisme : Poser les bâtis sur le terrain en pente

  1. #1
    Pilier Avatar de R-Tel
    Date d'inscription
    août 2007
    C4D version
    R16 Studio
    OS
    Mac Os X.9 et Windows 7
    Messages
    906

    Question Urbanisme : Poser les bâtis sur le terrain en pente

    Hello à tous !

    J'ai une question pour un projet d'étude

    Pour commencer, sur rhinoceros, j'ai modélisé tout mon terrain à l'aide des courbes de niveau, jusque là pas de soucis.
    Plus tard j'ai pu recupérer tous les bâtiments au format rhino (il s'agit d'un arrondissement de Paris).
    Là est le soucis, ils ont tous la base au même niveau, et je dois les poser sur mon terrain.....

    Avec rhino, je n'ai pas trouvé la solution, j'ai donc tout exporter sur C4D pour tenter de trouver un système, mais pour le moment, je sèche
    j'ai tenté avec les propriétés de simulation, mais je n'ai pas trouvé la bonne combinaison

    Si quelqu'un a une solution miracle pour moi, je suis très preneur

  2. #2
    Pilier Avatar de oli_d
    Date d'inscription
    avril 2004
    C4D version
    Autre
    OS
    MacOS X
    Messages
    707
    Salut,

    J'ai un vieux script python qui fait un truc du genre. Il faut sélectionner le neutre contenant les bâtiments, le terrain doit être juste en dessous dans la hiérarchie et doit être un objet polygonal. Attention, c'est simplement l'axe de l'objet bâtiment qui est mis sur le terrain, le script ne tient pas compte de toute la géométrie (pour la procédure d'installation c'est ici).

    Code PHP:
    # -*- coding: utf-8 -*-

    import c4d

    #Mettre le neutre contenant les objet juste au dessus du terrain dans la hierarchie

    def plaquer_sur_poly(groupe,terrain):
        
    objs groupe.GetChildren()
        if 
    not objs : return None
        
        
    if not terrain.GetType()==c4d.Opolygon:
            
    c4d.gui.MessageDialog('Le terrain doit être un objet polygonal')
            return 
    False        

        rc 
    c4d.utils.GeRayCollider()
        
    rc.Init(terrain)
        
    bbox terrain.GetRad()
        
    mg_t terrain.GetMg()
        
    inv_m = ~mg_t
        centre 
    terrain.GetMp()*mg_t

        y_max 
    centre.+  bbox.1000
        lg 
    bbox.2000
      
        
    for o in objs :
            
    mg =o.GetMg()
            
    i_m= ~mg
            pos 
    mg.off*inv_m
            pos
    .y_max
            
            
    if rc.Intersect(posc4d.Vector(0,-1,0),lg):
                
    xrc.GetNearestIntersection()
                
    pos.y-=x['distance']
                
    mg.off pos*mg_t
                doc
    .AddUndo(c4d.UNDOTYPE_CHANGE,o)
                
    o.SetMg(mg)
                

        return 
    True

    def main
    ():
        
    doc.StartUndo()
        if 
    not op:
            
    c4d.gui.MessageDialog("Vous devez séléctionner le groupe d'objets à plaquer")
            return
        
    terrain op.GetNext()
        if 
    not terrain:
            
    c4d.gui.MessageDialog("Le terrain doit être placé juste après le groupe d'objets dans la hiérarchie")
            return
        if 
    not terrain.CheckType(c4d.Opolygon):
            
    c4d.gui.MessageDialog("Le terrain doit être un objet polygonal")
            return
        
    plaquer_sur_poly(op,terrain)
        
    doc.EndUndo()
        
    c4d.EventAdd()


    if 
    __name__=='__main__':
        
    main() 
    Dernière modification par oli_d ; 19/07/2015 à 07h36.

  3. #3
    Pilier Avatar de R-Tel
    Date d'inscription
    août 2007
    C4D version
    R16 Studio
    OS
    Mac Os X.9 et Windows 7
    Messages
    906
    Merci pour ta réponse, malheureusement, je n'arrive pas à faire tourner le script :/
    puis je t'envoyer le fichier en privé pour que tu me dises ce que j'ai raté ?

  4. #4
    Pilier Avatar de oli_d
    Date d'inscription
    avril 2004
    C4D version
    Autre
    OS
    MacOS X
    Messages
    707
    Fais péter ...

    edit : je viens de voir que tu es en r11, donc pas de python .. (envoie ton fichier j'essaie de te les poser sur ton terrain)

  5. #5
    Pilier Avatar de oli_d
    Date d'inscription
    avril 2004
    C4D version
    Autre
    OS
    MacOS X
    Messages
    707
    Je me permets de mettre ma réponse à R-tel en mp, cela servira peut-être à quelqu'un:

    Cela ne marchait pas parce que le script place l'axe de l'objet sur le sol. Etant donné que tes bâtiments étaient tous dans un seul objet, j'ai lancé la commande maillage/conversion/Groupes de polygones en objet pour avoir un objet par groupe de polygone connecté. Ensuite j'ai mis les axes en bas de chaque objet via la commande Maillage/Centre des axes/Centre des axes en mettant le curseur Y à -100%. Et là cela fonctionne, sauf sur les bords où il y a des axes qui ne sont pas au dessus du terrain, il faudrait soit bouger les axes, soit les bâtiments à la main.

    Il y a encore une pétouille dans mon script, il faut que le terrain soit avec l'axe à zéro pour que cela fonctionne ... Je corrige ça dès que j'ai un moment

  6. #6
    Pilier Avatar de R-Tel
    Date d'inscription
    août 2007
    C4D version
    R16 Studio
    OS
    Mac Os X.9 et Windows 7
    Messages
    906
    Merci c'est génial

    Là, je dois refaire la manœuvre, mais lors de la conversion en groupe de polygone, mon PC prend un temps fou, en fait, je n'ai pas pu le faire, j'ai l’impression que ça ne s’arrête jamais. C'est normal que ça prenne un max de temps ou j'ai un bug sur mon PC ?

    [Edit ; c'était bien un bug de mon coté
    Dernière modification par R-Tel ; 21/07/2015 à 15h34.

  7. #7
    Gourou Avatar de lenogre
    Date d'inscription
    août 2002
    C4D version
    R20 Studio
    OS
    OS 10.12.6
    Messages
    4 370
    Tout ce que j'écris est à prendre au 15e degré. Car comme dit le proverbe chinois : Quand le dragon d'or, le ragondin ; voilà qui devrait faire taire les critiques et me mettre à l'abri d'attaques frontales.

  8. #8
    Pilier Avatar de oli_d
    Date d'inscription
    avril 2004
    C4D version
    Autre
    OS
    MacOS X
    Messages
    707
    Citation Envoyé par R-Tel Voir le message
    Merci c'est génial

    Là, je dois refaire la manœuvre, mais lors de la conversion en groupe de polygone, mon PC prend un temps fou, en fait, je n'ai pas pu le faire, j'ai l’impression que ça ne s’arrête jamais. C'est normal que ça prenne un max de temps ou j'ai un bug sur mon PC ?

    [Edit ; c'était bien un bug de mon coté
    Je confirme que la commande conversion en groupe de polygone n'est pas du tout optimisée, cela a pris un temps énorme sur ma machine également.

  9. #9
    Pilier Avatar de R-Tel
    Date d'inscription
    août 2007
    C4D version
    R16 Studio
    OS
    Mac Os X.9 et Windows 7
    Messages
    906
    Super, j'ai testé par curiosité, ça marche aussi !

    Par contre nouveau soucis, peut on simplifier un objet simple qui contient trop de polygone ?
    Je pense que mes batis sont issus d'un fichier .obj, résultat, un cube a pas mal de facettes triangulaires.... Même en convertissant en quadrangles, j'ai quelque chose de lourd, pareil en optimisant...

  10. #10
    Pilier Avatar de Fredaubailly
    Date d'inscription
    février 2004
    C4D version
    R11.5
    OS
    OSX
    Messages
    1 883
    Tu as testé le déformateur Réduction de polygones ?
    Ça vaut ce que ça vaut mais des fois, ça fait la farce...

  11. #11
    Pilier Avatar de R-Tel
    Date d'inscription
    août 2007
    C4D version
    R16 Studio
    OS
    Mac Os X.9 et Windows 7
    Messages
    906
    Oui je suis en train de tester, ça marche pas trop mal, mais si il existe un plug in plus efficace, je suis pas contre

    [edit] au final j'ai utilisé le réduction de polygone sur tous mes bâtis que j'avais connecté avant opération. Ensuite, à partir de là, j'ai convert en objet et converti en quadrangle. Le résultat était top.
    Enregistrement en obj, dans rhino fonction reduce mesh et la quasi nickel, le fichier est passé de 3go à 640 mo
    Dernière modification par R-Tel ; 23/07/2015 à 18h59.

Discussions similaires

  1. terrain dxf -> 3D
    Par vir2ltemp dans le forum Modélisation
    Réponses: 9
    Dernier message: 14/04/2004, 15h05
  2. Réponses: 7
    Dernier message: 16/12/2003, 15h46
  3. Plug Amazones "import Poser scéne" avec Poser 5 .
    Par TotoK dans le forum Plugins
    Réponses: 1
    Dernier message: 29/11/2003, 12h12
  4. Poser sans Poser? :)
    Par Black Rain dans le forum Compatibilité
    Réponses: 1
    Dernier message: 05/05/2003, 16h15

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