sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    Composants Dynamique Liaison

    Scheduled Pinned Locked Moved Français
    25 Posts 5 Posters 3.5k Views 5 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • silicS Offline
      silic
      last edited by

      @wood_galaxy said:

      Salut Silic,

      Tu peux déjà faire Fichier/Générer un rapport (html ou csv)
      Tu obtiendra les attributs de toutes les entités du model.

      Et tu trouveras le code source ruby de cette fonctionnalité à cette page :
      https://developers.google.com/sketchup/docs/tutorial_attrreporting

      En réalité il y plus de fonctionnalité dans Générer un rapport que dans le plugin Attribute Reporting mais ce dernier étant divulgué, on peut donc se l'adapter et comprendre le fonctionnement.

      Comment fait on pour générer un rapport avec le système metrique ? chez moi ça sort en inch pouce ou je ne sais quoi, mais ça correspond pas à mes dimensions

      Silic

      Intel i7 CPU X990 3.47GHz-24 Go - Nvidia Quadro 4000 - windows 7 64 - Sketchup 8 pro -Shaderlight - Photoshop - vray - Thea Render...

      1 Reply Last reply Reply Quote 0
      • PatrickP Offline
        Patrick
        last edited by

        @silic said:

        Comment fait on pour générer un rapport avec le système metrique ? chez moi ça sort en inch pouce ou je ne sais quoi, mais ça correspond pas à mes dimensions

        Bonjour,
        Cela n'est pas possible de le sortir en métrique.
        http://www.arch-image.com/vos-questions-sur-sketchup/bonjourje-construis-des-ossatures-bois-et-jutilise-sketchup-pro-8-pour-les-dessiner-et-realiser-mes-plans-dexecution-je-voudrais-editer-un-rapport-pour-mes-bons-de-commande-bois-bien-que-je-t/

        Reste à le transformer. Pour ma part j'exporte en HTML puis avec libreoffice
        (https://fr.libreoffice.org/telecharger/#script_telechargement )
        Suivant les versions le comportement peut changer...

        Une feuille de calcul (Tableur), insertion-Lien vers des données externes.
        Dans la première boite on renseigne le fichier à prendre et on peut faire une mise à jour automatique (60s par défaut).
        La seconde est intéressante :
        LO-DATA-detect.jpg
        Renseigner la langue (anglais) puis cocher "Détecter les nombres spéciaux".

        Voili voilà, la table HTML est bien lu au format Fr. Le point décimal est bien remplacé par une virgule, on peut manipuler ces chiffres.

        Reste à résoudre les unités inch ...


        LO-DATA-detect-02.jpg

        La CAO sans se casser la tête ? FreeCAO la CAO toute en vidéo.

        1 Reply Last reply Reply Quote 0
        • W Offline
          wood_galaxy
          last edited by

          Salut,

          En ruby il faut transformer la valeur en "float" avec .to_f puis la convertir en cm par exemple avec .to_cm
          Par exemple :
          model = Sketchup.active_model
          entite_0 = model.entities[0]
          entite_0_lenx = entitie_0.definition.get_attribute "dynamic_attributes", "LenX"
          entite_0_lenx_cm = entite_0_lenx.to_f.to_cm

          Bon courage !

          1 Reply Last reply Reply Quote 0
          • PatrickP Offline
            Patrick
            last edited by

            @wood_galaxy said:

            Salut,
            En ruby il faut (...)

            Ha ben oui, mais en ruby sur l'ongle alors!!!! faut connaitre çà par coeur pour s'en sortir... 😲

            @wood_galaxy said:

            Bon courage !

            Ben mon coté fainéant me fait pencher plutôt vers le tableur... 😆

            Cordialement
            Patrick

            La CAO sans se casser la tête ? FreeCAO la CAO toute en vidéo.

            1 Reply Last reply Reply Quote 0
            • PatrickP Offline
              Patrick
              last edited by

              Au fait suite à mes questions pour répondre à la question je viens de me rendre compte que j'avais déjà répondu à la question

              Dans le post 361738

              Mémoire de poisson !!!

              http://img.over-blog.com/796x809/4/17/15/21/2012/MemoirePoisson.jpg

              En résumé faire une liaison de données externes (c'est bien pratique pour la mise à jour des quantités à l'avancement), transformer le texte dans le format en substituant à l'aide de la fonction substitue()le point par une virgule et en déclarant le texte comme un nombre à l'aide de la fonction cnum() puis en multipliant ou divisant la valeur US pour la transformer en valeur FR à savoir x0,00001638764 pour les volumes et x25,4 pour les vecteurs.

              Cordialement
              Patrick

              La CAO sans se casser la tête ? FreeCAO la CAO toute en vidéo.

              1 Reply Last reply Reply Quote 0
              • PatrickP Offline
                Patrick
                last edited by

                Donc je termine mon monologue.... 😄

                En partant du principe que dans la feuille1 du tableur je rapatrie les données exportées par SU, que je renomme cette feuille DATA et que dans la feuille2 je regarde ce qui se passe dans la feuille DATA je pose la formule suivante dans la première cellule :

                =SI(ESTERREUR(CNUM(SUBSTITUE(DATA.G3;".";",")))=1;DATA.G3;CNUM(SUBSTITUE(DATA.G3;".";","))*0,00001638764)

                En clair cela veut dire que si la substitution du point par la virgule de la donnée transformée en nombre (cnum) produit une erreur c'est que c'est un texte donc j'affiche la donné (DATA.G3) sans la transformer, sinon (c'est que c'est une valeur) je la transforme donnée numérique et je la divise (ou je la multiplie).

                Je multiplie par 0,00001638764 pour les volume et divise par 2,54 pour les autres valeurs.
                Cela donne ceci:
                LibreOffice-SU.jpg

                Voili voilà.

                Après on peut traiter ces données et les filtrer par matériaux pour faire des sous-totaux mais comme dirait le petit Titus c'est une autre histoire !

                Cordialement
                Patrick

                La CAO sans se casser la tête ? FreeCAO la CAO toute en vidéo.

                1 Reply Last reply Reply Quote 0
                • pilouP Offline
                  pilou
                  last edited by

                  C'esth yper risqué de nommer une feuille simplement DATA!
                  Il y en a toujours une qui traine dans un coin et qui peut être prise par erreur! 😄

                  Frenchy Pilou
                  Is beautiful that please without concept!
                  My Little site :)

                  1 Reply Last reply Reply Quote 0
                  • PatrickP Offline
                    Patrick
                    last edited by

                    @unknownuser said:

                    C'esth yper risqué de nommer une feuille simplement DATA!
                    Il y en a toujours une qui traine dans un coin et qui peut être prise par erreur! 😄

                    Ben j'avais bien pensé à patati et patata mais c'est trop long à écrire... 😆

                    La CAO sans se casser la tête ? FreeCAO la CAO toute en vidéo.

                    1 Reply Last reply Reply Quote 0
                    • W Offline
                      wood_galaxy
                      last edited by

                      Merci pour l'explication en mode tableur.

                      Moi j'ai un problème pour extraire la valeur de RotY de mon composant :
                      la commande : entity.definition.get_attribute "dynamic_attributes", "roty"
                      renvoie : 0
                      de même la commande : entity.get_attribute( "dynamic_attributes", "roty" )
                      me renvoie 0

                      C'est bizar que j'obtienne les autres valeur mais pas les rotations...
                      Comment on obtient cette valeur d'attribut ?

                      1 Reply Last reply Reply Quote 0
                      • W Offline
                        wood_galaxy
                        last edited by

                        Rah mais allez euh !

                        Moi je veux du RUBY !

                        1 Reply Last reply Reply Quote 0
                        • PatrickP Offline
                          Patrick
                          last edited by

                          Bon c'est vrai que je suis un peu hors sujet...
                          😳
                          Allez, une petite couche de plus... et je rectifie une bétise sur la multiplication par 2.54

                          =SI(T(CNUM(SUBSTITUE(DATA.A2;".";","))*2)="";CNUM(SUBSTITUE(DATA.A2;".";","))*2,54;SI(ESTERREUR(T(CNUM(SUBSTITUE(DATA.A2;".";","))*2))=1;DATA.A2))

                          Là je vérifie la présence d'un texte dans la cellule A2 de la feuille DATA avec la fonction T(). Cette fonction répond rien ("") si le contenu est autre chose qu'un texte.
                          Donc je transforme le texte en valeur avec SUBSTITUE et CNUM et je la multiplie par 2 histoire de confirmer la présence d'une valeur et je demande à T de vérifier le résultat.

                          Si c'est égale à rien, c'est que c'est un nombre alors je le (divise) multiplie par 2.54 pour transformer les pouces en cm sinon je refais un test pour confirmer la nature Texte de la cellule A2 alors je l'affiche.
                          Lecture du rappor SU.jpg

                          Cela fonctionne bien et cette formule incrémentée dans toutes les cellules prend bien en compte que les textes rapatriés dans la feuille DATA sont soit des textes soit des chiffres à transformer en nombre. La seule formule différente est celle de la colonne des volumes où il faut multiplier par 0,00001638764 pour ramener la valeur en M3.

                          On pourrait faire une formule qui détecte le type de valeur (linéaire ou cubage) mais là j'ai un coup de pompe. Le fainéant remet çà à plus tard !

                          Cordialement
                          Patrick

                          La CAO sans se casser la tête ? FreeCAO la CAO toute en vidéo.

                          1 Reply Last reply Reply Quote 0
                          • 1
                          • 2
                          • 2 / 2
                          • First post
                            Last post
                          Buy SketchPlus
                          Buy SUbD
                          Buy WrapR
                          Buy eBook
                          Buy Modelur
                          Buy Vertex Tools
                          Buy SketchCuisine
                          Buy FormFonts

                          Advertisement