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

      Merci pour la réponse. J'ai une autre question concernant les composants dynamiques :
      Est-il possible d'extraire les données d'un composant dynamique, variables etc...

      Je suis en train de me monter une bibliothèque d'objets dynamiques et certains d'entre eux sont assez compliqués, (fenêtre à 2 vantaux entre autre) avec des sous-composants (cadre), qui comprennent eux-même des sous-composants (ouvrant), qui eux-même comprennent comprennent des sous composants(montants, traverses)....bref ça commence à venir lourd et je dois faire référence à pas mal de variables... j'aimerais pouvoir imprimer ces variables et données relatives au différents composants, y-a-t-il une possibilité ?

      Je sais pas si j'ai réussi à me faire comprendre ou si c'est du chinois !

      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
      • W Offline
        wood_galaxy
        last edited by

        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.

        1 Reply Last reply Reply Quote 0
        • silicS Offline
          silic
          last edited by

          waouw, je découvre quelque chose là, j'avais jamais utilisé cette fonctionalité, et je savais même pas que ça existait ! top. mais ça répond que partiellement à ma question, j'aurait voulu imprimer les calculs des formules des variable de mon composant dynamique.
          Tout ça est fort intéressant ! peut-on faire le chemin inverse, rentrer des paramêtre sur un éditeur externe et importer ces données pour créer un composant ?

          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
          • W Offline
            wood_galaxy
            last edited by

            Et bien a partir du moment où Trimble propose une API en ruby et que celle ci est largement documenté.... Tout est possible ! 😉
            En ruby tu lis ton fichier source, tu extrait ce qui t'interesse puis en ruby avec l'api tu modifie, créer, extrait ce que tu veux.

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

              @daredevil said:

              Le jour où j'ai vu dans une BD mes initiales sur le torse d'un super héros en pyjama jaune (oui, il était jaune avant d'être rouge !), DareDevil est devenu mon idole 👿
              ... ça aurait moins bien si j'étais tombé sur un Disney avec Donald Duck 😒

              Ha oui, bien sur! j'avais acheté le numéro 1 de Strange dans les années 70, mon jeune âge ... j'avais dix ans.
              je me rappel bien le jaune de la tenue...
              http://parolesdecomics.over-blog.fr/article-daredevil-97301416.html

              http://www.marveldc-universe.com/upload/encyclo/10/87_daevil-biographie/encyclo_illustre_1275516687.jpg

              Nostalgie ...

              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

                Collector! 💚

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

                1 Reply Last reply Reply Quote 0
                • 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
                                      • 1 / 2
                                      • First post
                                        Last post
                                      Buy SketchPlus
                                      Buy SUbD
                                      Buy WrapR
                                      Buy eBook
                                      Buy Modelur
                                      Buy Vertex Tools
                                      Buy SketchCuisine
                                      Buy FormFonts

                                      Advertisement