• Login
sketchucation logo sketchucation
  • Login
🔌 Quick Selection | Try Didier Bur's reworked classic extension that supercharges selections in SketchUp Download

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.
  • S Offline
    silic
    last edited by 16 Nov 2012, 21:19

    @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
    • P Offline
      Patrick
      last edited by 17 Nov 2012, 12:54

      @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 18 Nov 2012, 14:14

        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
        • P Offline
          Patrick
          last edited by 18 Nov 2012, 18:33

          @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
          • P Offline
            Patrick
            last edited by 18 Nov 2012, 19:41

            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
            • P Offline
              Patrick
              last edited by 19 Nov 2012, 19:06

              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
              • P Offline
                pilou
                last edited by 19 Nov 2012, 22:02

                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
                • P Offline
                  Patrick
                  last edited by 20 Nov 2012, 06:15

                  @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 20 Nov 2012, 09:51

                    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 20 Nov 2012, 10:07

                      Rah mais allez euh !

                      Moi je veux du RUBY !

                      1 Reply Last reply Reply Quote 0
                      • P Offline
                        Patrick
                        last edited by 20 Nov 2012, 12:57

                        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
                        2 / 2
                        • First post
                          24/25
                          Last post
                        Buy SketchPlus
                        Buy SUbD
                        Buy WrapR
                        Buy eBook
                        Buy Modelur
                        Buy Vertex Tools
                        Buy SketchCuisine
                        Buy FormFonts

                        Advertisement