forum d'entraide Sketchup Artlantis Archicad et bien d'autres
Bonjour sunny

Bonjour et bienvenue sur biblio3d, forum destiné à l'entraide concernant plus particulièrement les logiciels

SKETCHUP - ARTLANTIS - ARCHICAD - PIRANESI
Basketball

Attention : concernant les nouveaux venus, l'inscription est obligatoire pour accéder à la totalité du forum. Après inscription, veuillez vous présenter dans la section adéquate. Nous serons ravis de vous souhaiter la bienvenue dans la communauté ! sourire
Galerie


[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Empty
addthis
Derniers sujets
» [ UNREAL ENGINE ] Ray-Tracing Temps réel
par Pilou Hier à 11:44

» [AUTRES LOGICIELS] FUSE
par tenrev Hier à 10:06

» [ AUTRES LOGICIELS ] ZBrush 2019.1
par Pilou Ven 24 Mai 2019 - 10:51

» [AUTRES LOGICIELS] MagicaVoxel!
par Pilou Ven 24 Mai 2019 - 10:02

» [ WIP ] les travaux à Nono .....
par nono.lerat Ven 24 Mai 2019 - 8:56

» [ WIP ] Projets en cours (Silic)
par tenrev Ven 24 Mai 2019 - 8:05

» [ CINEMA4D ] (WIP) Avion PZL P11c (Pologne 1931)
par YPY Ven 24 Mai 2019 - 6:50

» [ CINEMA4D ] (WIP) C4D r20 + VRAY 3.7 : Portrait, Moustaches, Cheveux...
par YPY Ven 24 Mai 2019 - 6:08

» [ PRESENTATION ]
par Bart Simpson Jeu 23 Mai 2019 - 6:53

» [ MATOS INFORM. ] Les tablettes en chocolat!
par tenrev Mer 22 Mai 2019 - 13:29

» [ AUTRES LOGICIELS ] SpeedTree moteur de création d'arbres
par tenrev Mar 21 Mai 2019 - 13:03

» [ WIP ] Création d'un processus de rendu et de co-conception avec Unreal Engine
par tenrev Lun 20 Mai 2019 - 13:53

» [ SKETCHUP composants dynamiques ] Mur de briques paramétrable
par simjoubert Dim 19 Mai 2019 - 18:26

» [ CINEMA4D ] convertir matériaux VRAY vers C4D !
par youyou40 Dim 19 Mai 2019 - 15:41

» [ CINEMA4D ] (WIP) Messerschmitt BF-109 E / VRAY
par PEGASE Ven 17 Mai 2019 - 15:48

» [ UNREAL ENGINE ] City Engine 2019
par tenrev Ven 17 Mai 2019 - 8:53

» [ WIP ] images rendues en temps réel
par Farkas Jeu 16 Mai 2019 - 6:33

» [ AUTRES LOGICIELS ] Programme de dessin intégré au forum !
par tenrev Lun 13 Mai 2019 - 14:03

» [ AUTRES LOGICIELS ] Unity 2019.1 dispo
par tenrev Lun 13 Mai 2019 - 11:28

» [AUTRES LOGICIELS] Rocket 3F
par Pilou Dim 12 Mai 2019 - 14:40

» [ MATOS INFORM. ] ecran incurvé ou non?
par Yanosh HRDY Ven 10 Mai 2019 - 6:08

» [ SKETCHUP composants dynamiques ] Papatissier et son pudding paramétrique
par rascal Jeu 9 Mai 2019 - 21:39

» [ AUTRES LOGICIELS ] Babylon.js V4 WEBGL
par Pilou Lun 6 Mai 2019 - 11:05

» [SKETCHUP] Modèles à partager !
par tenrev Lun 6 Mai 2019 - 11:00

» [ WIP ] Projets en cours youyou40
par youyou40 Lun 6 Mai 2019 - 6:57

biblio3d
biblio3d sur facebook
biblio3d sur Linkedin
pinterest
upload



Uploader ici vos fichiers
à partager sur le forum

livre doh Sketchup

Les posteurs les plus actifs du mois
tenrev
[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Vote_lcap[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Voting_bar[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Vote_rcap 
Pilou
[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Vote_lcap[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Voting_bar[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Vote_rcap 
rascal
[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Vote_lcap[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Voting_bar[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Vote_rcap 
youyou40
[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Vote_lcap[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Voting_bar[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Vote_rcap 
YPY
[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Vote_lcap[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Voting_bar[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Vote_rcap 
simjoubert
[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Vote_lcap[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Voting_bar[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Vote_rcap 
ogi
[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Vote_lcap[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Voting_bar[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Vote_rcap 
Coulou
[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Vote_lcap[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Voting_bar[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Vote_rcap 
cestquoiladresse
[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Vote_lcap[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Voting_bar[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Vote_rcap 
Bart Simpson
[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Vote_lcap[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Voting_bar[SKETCHUP composants dynamiques] récupérer date paramètre ombre - Page 3 Vote_rcap 

Statistiques
Nous avons 15509 membres enregistrés
L'utilisateur enregistré le plus récent est Gbagbo

Nos membres ont posté un total de 148260 messages dans 12209 sujets

[SKETCHUP composants dynamiques] récupérer date paramètre ombre

Page 3 sur 4 Précédent  1, 2, 3, 4  Suivant

Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par tenrev le Mer 12 Avr 2017 - 13:50

simjoubert a écrit:Moi dans les préférences de SketchUp CTRL + F4 plug in mettre à jour saison et CTRL + F5 Édition composants dynamique redraw

idem pour moi , j'ai créer les raccourcis , ca fonctionne bien

sinon tu as modifié le plugin pour mettre à jour l'heure ?

à plus

-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage [Vous devez être inscrit et connecté pour voir cette image]

[Vous devez être inscrit et connecté pour voir cette image]

Un PC portable MSI TITAN PRO écran 17''  win10 64 bits  intel i7 Quad core  ram 32go CG GFORCE GTX1080
Un PC portable Dell avec Linux Ubuntu 18
6 Raspberry pi (zero et 3 ) avec Kodi - Raspian - Android - Retropie - et plein de projets de mini robotique
-----------------------------------------------------
Modélisation : Sketchup - Rhino - Pconplanner
Rendu : Artlantis - Keyshot - Unreal Engine - Enscape-Twinmotion
Autres : Photoshop - Illustrator - Indesign - Vidéostudio - After Effect - Première et bien d'autres.... la liste est trop longue  [Vous devez être inscrit et connecté pour voir cette image]
tenrev
tenrev
FONDATEUR DE BIBLIO3D
FONDATEUR DE BIBLIO3D

Masculin Bélier
Humeur : excellente comme toujours
Date d'inscription : 19/01/2008
Nombre de messages : 14293
Points : 22936
Age : 56
Localisation : Dans la quatrieme dimension
Emploi : archi d'intérieur salarié

https://www.biblio3d.com

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par simjoubert le Mer 12 Avr 2017 - 18:20

Pas encore je ferai ça demain matin j'espère !

-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !"
ISAÏE 54-2
simjoubert
simjoubert
méga posteur
méga posteur

Masculin Taureau
Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 411
Points : 937
Age : 44
Localisation : Val de Marne
Emploi : Paysagiste

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par simjoubert le Mer 12 Avr 2017 - 18:26

Pour les spots je pense dans le calcule prendre en compte l'heure et d'un et sun élévation compris entre 160 et 20 degrés
Et plage horaire éteint entre 1h et 6h du matin ( pour les économies d'énergie) sourire

-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !"
ISAÏE 54-2
simjoubert
simjoubert
méga posteur
méga posteur

Masculin Taureau
Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 411
Points : 937
Age : 44
Localisation : Val de Marne
Emploi : Paysagiste

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par tenrev le Mer 12 Avr 2017 - 21:25

J ai hâte de voir ça bravo

-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage [Vous devez être inscrit et connecté pour voir cette image]

[Vous devez être inscrit et connecté pour voir cette image]

Un PC portable MSI TITAN PRO écran 17''  win10 64 bits  intel i7 Quad core  ram 32go CG GFORCE GTX1080
Un PC portable Dell avec Linux Ubuntu 18
6 Raspberry pi (zero et 3 ) avec Kodi - Raspian - Android - Retropie - et plein de projets de mini robotique
-----------------------------------------------------
Modélisation : Sketchup - Rhino - Pconplanner
Rendu : Artlantis - Keyshot - Unreal Engine - Enscape-Twinmotion
Autres : Photoshop - Illustrator - Indesign - Vidéostudio - After Effect - Première et bien d'autres.... la liste est trop longue  [Vous devez être inscrit et connecté pour voir cette image]
tenrev
tenrev
FONDATEUR DE BIBLIO3D
FONDATEUR DE BIBLIO3D

Masculin Bélier
Humeur : excellente comme toujours
Date d'inscription : 19/01/2008
Nombre de messages : 14293
Points : 22936
Age : 56
Localisation : Dans la quatrieme dimension
Emploi : archi d'intérieur salarié

https://www.biblio3d.com

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par simjoubert le Sam 15 Avr 2017 - 17:43

Bonsoir à tous
Voici donc un petit plugin qui test si l'heure de l'ombre de sketchup est compris entre le sunrise et le sunset. avec l'ajout d'un offset de 30 min.
Ce test revoi 1 si c'est la nuit  et 0 si c'est le jour.
Créer ou met à jour un attribut de composant dynamique "spot_on_off"

lien vers le plugin : [Vous devez être inscrit et connecté pour voir ce lien]

Code:

# encoding: UTF-8

require "sketchup.rb"
require "pp"

module SimJoubert
  module SpotsLightComponents
  # Ce plugin permet de creer ou de mettre à jour l'attribut spotsonoff d'un composant dynamique d'éclairage qui prend la valeur 1 ou 0 selon lheure des ombres de sketchup.
  # Il prend en compte le lever et le coucher du soleil et une valeur OFFSET en minutes pour allonger l'etat "ON" apres le lever du soleil et avant le coucher du soleil.

    extend self
    
    @@context_menu_set ||= false
    @@debug ||= false
    
    MENU_TEXT = {
      :update => "Update spots_on_off DC attibuts",
      :create => "Create spots_on_off DC attibuts"
    }

    DICT = "dynamic_attributes"

    DC_ATTR = "spot_on_off"
 
 # declaration de la variable OFFSET nombre de minutes ou la lumière est encore allumée apres le lever du soleil et avantle couché du soleil
 OFFSET = 30


    def command_create(selset)
      return if selset.empty?
      # Make the definitions of selected components
      # or groups spots:
      create_dc_on_off_attribut(selset)
    end

    def command_update(selset)
      if selset.empty?
        # update ALL spots components
        update_dc_on_off_attribut(Sketchup::active_model.definitions)
      else
        # update ONLY selected spots components
        update_dc_on_off_attribut(selset)
      end
    end

    def debug
      @@debug
    end

    def debug=(arg)
      @@debug =( arg ? true : false )
    end

    def get_spots_dcs(collection=nil)
      # Filter the referenced collection
      if collection.nil?
        dlist = Sketchup::active_model.definitions
        dlist.reject! {|d| d.image? }
      elsif collection.all? {|o| o.is_a?(Sketchup::ComponentDefinition) }
        dlist = collection.reject {|d| d.image? }
      else
        insts = collection.grep(Sketchup::ComponentInstance)
        groups = collection.grep(Sketchup::Group)
        dlist = insts.map{|i| i.definition } + groups.map{|g| g.definition }
        dlist.uniq!
      end
      dcs = dlist.select {|d| d.attribute_dictionary(DICT,false) }
      # select only spots dynamic components
      spots = dcs.select {|d| d.attribute_dictionary(DICT,false).keys.include?(DC_ATTR)}
      if @@debug
        puts "#{Module::nesting[0].name}: debug is true."
        puts "The 'dlist' array:"
        pp dlist
        puts "The 'dcs' array:"
        pp dcs
        puts "The 'spots' array:"
        pp spots
      end
      return spots
    end


    def create_dc_on_off_attribut(selected)
      # 1. Retrieve data from shadowinfo into local variables,
      model = Sketchup.active_model
      shadowinfo = model.shadow_info
  
# 2. Calcul si on_off ombre est compris entre sunrise et sunset

      # Conversion en minute de sunrise
      sunrise = shadowinfo["SunRise"].to_s
  sunriseh = sunrise[11,2].to_i
  sunrisem = sunrise[14,2].to_i
  sunrise = sunriseh * 60 + sunrisem + OFFSET
  
  # Conversion en minute de sunset
      sunset = shadowinfo["SunSet"].to_s
  sunseth = sunset[11,2].to_i
  sunsetm = sunset[14,2].to_i
  sunset = sunseth * 60 + sunsetm - OFFSET
 
      # Conversion en minute de shadow time
      sun = shadowinfo["ShadowTime"].to_s
  sunh = sun[11,2].to_i
  sunm = sun[14,2].to_i
  sun = sunh * 60 + sunm
  
  if (sun < sunrise || sun > sunset)
    then value = 1
 else value = 0
      end
  
  #value =1 light ON / value = 0 light OFF  
      
      if @@debug
        puts "The 'spots' value:"
        pp value
        puts # blank line
      end
      # Writing the data into dictionary attributes.
      selected.each {|obj|
        next unless obj.respond_to?(:definition)
        obj.definition.set_attribute(DICT,DC_ATTR,value)
      }
    end

    def update_dc_on_off_attribut(collection)
      spots = get_spots_dcs(collection)
      # 1. Retrieve data from shadowinfo into local variables,
      model = Sketchup.active_model
      shadowinfo = model.shadow_info
  
  # 2. Calcul si on_off ombre est compris entre sunrise et sunset

      # Conversion en minute de sunrise
      sunrise = shadowinfo["SunRise"].to_s
  sunriseh = sunrise[11,2].to_i
  sunrisem = sunrise[14,2].to_i
  sunrise = sunriseh * 60 + sunrisem + OFFSET
  
  # Conversion en minute de sunset
      sunset = shadowinfo["SunSet"].to_s
  sunseth = sunset[11,2].to_i
  sunsetm = sunset[14,2].to_i
  sunset = sunseth * 60 + sunsetm - OFFSET
 
      # Conversion en minute de shadow time
      sun = shadowinfo["ShadowTime"].to_s
  sunh = sun[11,2].to_i
  sunm = sun[14,2].to_i
  sun = sunh * 60 + sunm
  
  if (sun < sunrise || sun > sunset)
    then value = 1
 else value = 0
      end
  
  #value =1 light ON / value = 0 light OFF  
 
  
      # 3. Iterate the spots component definitions
      #value =1 light ON / value = 0 light OFF
  
      if @@debug
        puts "The 'spots' value:"
        pp value
        puts # blank line
      end
      #    writing the data into dictionary attributes.
      spots.each {|d| d.set_attribute(DICT,DC_ATTR,value) }
    end

    # other code / methods here

    unless file_loaded?(__FILE__) || @@context_menu_set

      UI.add_context_menu_handler do |context_menu|
        selset = Sketchup::active_model.selection
        context_menu.add_item(MENU_TEXT[:update]) { command_update(selset) }
        unless selset.empty?
          context_menu.add_item(MENU_TEXT[:create]) { command_create(selset) }
        end
      end # context_menu_handler

      @@context_menu_set = true

    end

  end # plugin module
end # outer namespace module


Qu'en dites vous ?

Simon
simjoubert
simjoubert
méga posteur
méga posteur

Masculin Taureau
Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 411
Points : 937
Age : 44
Localisation : Val de Marne
Emploi : Paysagiste

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par tenrev le Sam 15 Avr 2017 - 18:56

c est super , je teste des que possible

Et pour le composant dynamique spot , il te sert à quoi ?
Tu fais du rendu dans sketchup ?
Peux tu donner quelques explications ?

-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage [Vous devez être inscrit et connecté pour voir cette image]

[Vous devez être inscrit et connecté pour voir cette image]

Un PC portable MSI TITAN PRO écran 17''  win10 64 bits  intel i7 Quad core  ram 32go CG GFORCE GTX1080
Un PC portable Dell avec Linux Ubuntu 18
6 Raspberry pi (zero et 3 ) avec Kodi - Raspian - Android - Retropie - et plein de projets de mini robotique
-----------------------------------------------------
Modélisation : Sketchup - Rhino - Pconplanner
Rendu : Artlantis - Keyshot - Unreal Engine - Enscape-Twinmotion
Autres : Photoshop - Illustrator - Indesign - Vidéostudio - After Effect - Première et bien d'autres.... la liste est trop longue  [Vous devez être inscrit et connecté pour voir cette image]
tenrev
tenrev
FONDATEUR DE BIBLIO3D
FONDATEUR DE BIBLIO3D

Masculin Bélier
Humeur : excellente comme toujours
Date d'inscription : 19/01/2008
Nombre de messages : 14293
Points : 22936
Age : 56
Localisation : Dans la quatrieme dimension
Emploi : archi d'intérieur salarié

https://www.biblio3d.com

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par simjoubert le Lun 17 Avr 2017 - 7:54

Mon composant spot est composer d'un spot d'éclairage et du cône de lumière de Thea render
Le cône de lumière possède un attribut "hidden " qui true dans la journée et false la nuit

-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !"
ISAÏE 54-2
simjoubert
simjoubert
méga posteur
méga posteur

Masculin Taureau
Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 411
Points : 937
Age : 44
Localisation : Val de Marne
Emploi : Paysagiste

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par tenrev le Lun 17 Avr 2017 - 13:50

je n'utilise pas thearender, mais OK j ai compris c'est bien vu
En tout cas je suis content que mon retour sur le forum ai permi de relancer le sujet et de trouver une solution, c est vraiment cool

-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage [Vous devez être inscrit et connecté pour voir cette image]

[Vous devez être inscrit et connecté pour voir cette image]

Un PC portable MSI TITAN PRO écran 17''  win10 64 bits  intel i7 Quad core  ram 32go CG GFORCE GTX1080
Un PC portable Dell avec Linux Ubuntu 18
6 Raspberry pi (zero et 3 ) avec Kodi - Raspian - Android - Retropie - et plein de projets de mini robotique
-----------------------------------------------------
Modélisation : Sketchup - Rhino - Pconplanner
Rendu : Artlantis - Keyshot - Unreal Engine - Enscape-Twinmotion
Autres : Photoshop - Illustrator - Indesign - Vidéostudio - After Effect - Première et bien d'autres.... la liste est trop longue  [Vous devez être inscrit et connecté pour voir cette image]
tenrev
tenrev
FONDATEUR DE BIBLIO3D
FONDATEUR DE BIBLIO3D

Masculin Bélier
Humeur : excellente comme toujours
Date d'inscription : 19/01/2008
Nombre de messages : 14293
Points : 22936
Age : 56
Localisation : Dans la quatrieme dimension
Emploi : archi d'intérieur salarié

https://www.biblio3d.com

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par simjoubert le Lun 17 Avr 2017 - 19:10

surtout que maintenant on sait créer un attribut de composant dynamique
c'est mes débuts en ruby j'ai plein d'envies qui se bousculent pour automatiser quelques dessins.
je vais des que j'aurais du temps creuser la question de l'arrosage automatique.
merci de ta collaboration pour ce sujet et ta participation active sur ce forum
cordialement
Simon

-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !"
ISAÏE 54-2
simjoubert
simjoubert
méga posteur
méga posteur

Masculin Taureau
Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 411
Points : 937
Age : 44
Localisation : Val de Marne
Emploi : Paysagiste

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par tenrev le Mar 18 Avr 2017 - 6:22

simjoubert a écrit:surtout que maintenant on sait créer un attribut de composant dynamique
c'est mes débuts en ruby j'ai plein d'envies qui se bousculent pour automatiser quelques dessins.
je vais des que j'aurais du temps creuser la question de l'arrosage automatique.
merci de ta collaboration pour ce sujet et ta participation active sur ce forum
cordialement
Simon

idem pour moi , plein d'envie également , je potasse un peu tout ce que je trouve sur ruby , je ferai d’ailleurs prochainement edans la section ruby, un récap des liens intéressants vers des tutos que j'ai pu trouver

maintenant on attend de voir le résultat de ton avancée en image rigole

à plus

-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage [Vous devez être inscrit et connecté pour voir cette image]

[Vous devez être inscrit et connecté pour voir cette image]

Un PC portable MSI TITAN PRO écran 17''  win10 64 bits  intel i7 Quad core  ram 32go CG GFORCE GTX1080
Un PC portable Dell avec Linux Ubuntu 18
6 Raspberry pi (zero et 3 ) avec Kodi - Raspian - Android - Retropie - et plein de projets de mini robotique
-----------------------------------------------------
Modélisation : Sketchup - Rhino - Pconplanner
Rendu : Artlantis - Keyshot - Unreal Engine - Enscape-Twinmotion
Autres : Photoshop - Illustrator - Indesign - Vidéostudio - After Effect - Première et bien d'autres.... la liste est trop longue  [Vous devez être inscrit et connecté pour voir cette image]
tenrev
tenrev
FONDATEUR DE BIBLIO3D
FONDATEUR DE BIBLIO3D

Masculin Bélier
Humeur : excellente comme toujours
Date d'inscription : 19/01/2008
Nombre de messages : 14293
Points : 22936
Age : 56
Localisation : Dans la quatrieme dimension
Emploi : archi d'intérieur salarié

https://www.biblio3d.com

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par tenrev le Mar 18 Avr 2017 - 6:43

il y a toujours sur le forum la section ruby et même si elle végète un peu , c'est déja une base pour démarrer

[Vous devez être inscrit et connecté pour voir ce lien]

je vais essayer de corriger à l'occasion les liens morts et d'en ajouter d'autres
à plus

-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage [Vous devez être inscrit et connecté pour voir cette image]

[Vous devez être inscrit et connecté pour voir cette image]

Un PC portable MSI TITAN PRO écran 17''  win10 64 bits  intel i7 Quad core  ram 32go CG GFORCE GTX1080
Un PC portable Dell avec Linux Ubuntu 18
6 Raspberry pi (zero et 3 ) avec Kodi - Raspian - Android - Retropie - et plein de projets de mini robotique
-----------------------------------------------------
Modélisation : Sketchup - Rhino - Pconplanner
Rendu : Artlantis - Keyshot - Unreal Engine - Enscape-Twinmotion
Autres : Photoshop - Illustrator - Indesign - Vidéostudio - After Effect - Première et bien d'autres.... la liste est trop longue  [Vous devez être inscrit et connecté pour voir cette image]
tenrev
tenrev
FONDATEUR DE BIBLIO3D
FONDATEUR DE BIBLIO3D

Masculin Bélier
Humeur : excellente comme toujours
Date d'inscription : 19/01/2008
Nombre de messages : 14293
Points : 22936
Age : 56
Localisation : Dans la quatrieme dimension
Emploi : archi d'intérieur salarié

https://www.biblio3d.com

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par tenrev le Mer 10 Mai 2017 - 14:21

je met en résolu ça n'empêche pas de continuer le fil rigole

-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage [Vous devez être inscrit et connecté pour voir cette image]

[Vous devez être inscrit et connecté pour voir cette image]

Un PC portable MSI TITAN PRO écran 17''  win10 64 bits  intel i7 Quad core  ram 32go CG GFORCE GTX1080
Un PC portable Dell avec Linux Ubuntu 18
6 Raspberry pi (zero et 3 ) avec Kodi - Raspian - Android - Retropie - et plein de projets de mini robotique
-----------------------------------------------------
Modélisation : Sketchup - Rhino - Pconplanner
Rendu : Artlantis - Keyshot - Unreal Engine - Enscape-Twinmotion
Autres : Photoshop - Illustrator - Indesign - Vidéostudio - After Effect - Première et bien d'autres.... la liste est trop longue  [Vous devez être inscrit et connecté pour voir cette image]
tenrev
tenrev
FONDATEUR DE BIBLIO3D
FONDATEUR DE BIBLIO3D

Masculin Bélier
Humeur : excellente comme toujours
Date d'inscription : 19/01/2008
Nombre de messages : 14293
Points : 22936
Age : 56
Localisation : Dans la quatrieme dimension
Emploi : archi d'intérieur salarié

https://www.biblio3d.com

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par tenrev le Lun 15 Mai 2017 - 8:55

hello

est ce que tu as avancé sur tes composants dynamiques ?

à plus

-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage [Vous devez être inscrit et connecté pour voir cette image]

[Vous devez être inscrit et connecté pour voir cette image]

Un PC portable MSI TITAN PRO écran 17''  win10 64 bits  intel i7 Quad core  ram 32go CG GFORCE GTX1080
Un PC portable Dell avec Linux Ubuntu 18
6 Raspberry pi (zero et 3 ) avec Kodi - Raspian - Android - Retropie - et plein de projets de mini robotique
-----------------------------------------------------
Modélisation : Sketchup - Rhino - Pconplanner
Rendu : Artlantis - Keyshot - Unreal Engine - Enscape-Twinmotion
Autres : Photoshop - Illustrator - Indesign - Vidéostudio - After Effect - Première et bien d'autres.... la liste est trop longue  [Vous devez être inscrit et connecté pour voir cette image]
tenrev
tenrev
FONDATEUR DE BIBLIO3D
FONDATEUR DE BIBLIO3D

Masculin Bélier
Humeur : excellente comme toujours
Date d'inscription : 19/01/2008
Nombre de messages : 14293
Points : 22936
Age : 56
Localisation : Dans la quatrieme dimension
Emploi : archi d'intérieur salarié

https://www.biblio3d.com

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par simjoubert le Lun 15 Mai 2017 - 18:46

non j'ai pas avancé comme je le voulais! colere
la saison des chantiers à repris m’éloignant de mon clavier.
j'ai commencer un nouveau bout de code ruby pour créer des attributs identiques pour toutes mes plantes.
Il faut que je reprenne mes plantes pour séparer fruit fleur feuillage tronc dans des groupe et des calques séparé. çà veux dire aussi refaire les proxy théa pour chaque...
Incorpore les teintes de feuillages printemps et automne en plus de celle de l'été.
Pour pouvoir interagir dessus de manière globale.
à suivre
j'ai vu que tu t'amusais à faire des trous ! sourire
bonne soirée
Simon
simjoubert
simjoubert
méga posteur
méga posteur

Masculin Taureau
Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 411
Points : 937
Age : 44
Localisation : Val de Marne
Emploi : Paysagiste

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par simjoubert le Lun 15 Mai 2017 - 19:34

En attendant visite de mon prochain chantier !

Image de mon devis "aménagement jardinet entrée de maison."
Existant:
[Vous devez être inscrit et connecté pour voir cette image]

Projet:
[Vous devez être inscrit et connecté pour voir cette image]

[Vous devez être inscrit et connecté pour voir cette image]
simjoubert
simjoubert
méga posteur
méga posteur

Masculin Taureau
Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 411
Points : 937
Age : 44
Localisation : Val de Marne
Emploi : Paysagiste

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par simjoubert le Lun 15 Mai 2017 - 19:41

une petite dernière la vue iso ouest
[Vous devez être inscrit et connecté pour voir cette image]
simjoubert
simjoubert
méga posteur
méga posteur

Masculin Taureau
Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 411
Points : 937
Age : 44
Localisation : Val de Marne
Emploi : Paysagiste

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par tenrev le Lun 15 Mai 2017 - 21:21

C est super bravo bien bravo

-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage [Vous devez être inscrit et connecté pour voir cette image]

[Vous devez être inscrit et connecté pour voir cette image]

Un PC portable MSI TITAN PRO écran 17''  win10 64 bits  intel i7 Quad core  ram 32go CG GFORCE GTX1080
Un PC portable Dell avec Linux Ubuntu 18
6 Raspberry pi (zero et 3 ) avec Kodi - Raspian - Android - Retropie - et plein de projets de mini robotique
-----------------------------------------------------
Modélisation : Sketchup - Rhino - Pconplanner
Rendu : Artlantis - Keyshot - Unreal Engine - Enscape-Twinmotion
Autres : Photoshop - Illustrator - Indesign - Vidéostudio - After Effect - Première et bien d'autres.... la liste est trop longue  [Vous devez être inscrit et connecté pour voir cette image]
tenrev
tenrev
FONDATEUR DE BIBLIO3D
FONDATEUR DE BIBLIO3D

Masculin Bélier
Humeur : excellente comme toujours
Date d'inscription : 19/01/2008
Nombre de messages : 14293
Points : 22936
Age : 56
Localisation : Dans la quatrieme dimension
Emploi : archi d'intérieur salarié

https://www.biblio3d.com

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par Pilou le Lun 15 Mai 2017 - 21:51

C'est la porte du garage la façade la mieux exposée! clindoeil

-------------------------------------------------------------------------------------------------------------------------
Petit site Galerie
Est beau ce qui plaît sans concept!
Pilou
Pilou
V.I.P.
V.I.P.

Masculin Date d'inscription : 30/05/2014
Nombre de messages : 4485
Points : 10261

http://moiscript.weebly.com/

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par simjoubert le Lun 26 Mar 2018 - 21:48

Bon on reprend un peu le fil !
On a un plugin opérationnel

fonctionnalités existantes :

Créer attribut season avec la date de paramètre des ombres de SU.

Mettre à jour les composants ayant attribut season avec la date des ombres de SU.

Fonctionnalité à ajouter
Pour automatiser la création je voudrait rajouter d'autre attribut avec des valeurs de date standard de début et de fin pour apparition et chute des feuilles, des fleurs et de des fruits.
Si les branches subsiste pendant l'hiver la couleur automnal

Chaque plantes est construite sur le schema de 3darcstudiotree
4 niveaux  (Tronc, level1, level2, level3)
Pour Branches, Feuilles,Fruits,fleurs

donc je veux rajouter 32 attributs de type entier numérique (1=1er janvier...)

Syntax des nom attribut
BR0D,BR0F, BR1D,BR1F,BR2D,BR2F,BR3D,BR3F,  pour les branches BR
FE pour feuilles FL pour fleurs et FR pour fruit

une petite idée pour incorporer dans le plugin existant

Code:
# encoding: UTF-8

require "sketchup.rb"
require "pp"

module SimJoubert
  module SeasonalComponents

    extend self
    
    @@context_menu_set ||= false
    @@debug ||= false
    
    MENU_TEXT = {
      :update => "Update season DC attibuts",
      :create => "Create season DC attibuts"
    }

    DICT = "dynamic_attributes"

    SEASON_ATTR = "season"

    def command_create(selset)
      return if selset.empty?
      # Make the definitions of selected components
      # or groups seasonal:
      create_dc_date_attribut(selset)
    end

    def command_update(selset)
      if selset.empty?
        # update ALL seasonal components
        update_dc_date_attribut(Sketchup::active_model.definitions)
      else
        # update ONLY selected seasonal components
        update_dc_date_attribut(selset)
      end
    end

    def debug
      @@debug
    end

    def debug=(arg)
      @@debug =( arg ? true : false )
    end

    def get_seasonal_dcs(collection=nil)
      # Filter the referenced collection
      if collection.nil?
        dlist = Sketchup::active_model.definitions
        dlist.reject! {|d| d.image? }
      elsif collection.all? {|o| o.is_a?(Sketchup::ComponentDefinition) }
        dlist = collection.reject {|d| d.image? }
      else
        insts = collection.grep(Sketchup::ComponentInstance)
        groups = collection.grep(Sketchup::Group)
        dlist = insts.map{|i| i.definition } + groups.map{|g| g.definition }
        dlist.uniq!
      end
      dcs = dlist.select {|d| d.attribute_dictionary(DICT,false) }
      # select only seasonal dynamic components
      seasonal = dcs.select {|d| d.attribute_dictionary(DICT,false).keys.include?(SEASON_ATTR)}
      if @@debug
        puts "#{Module::nesting[0].name}: debug is true."
        puts "The 'dlist' array:"
        pp dlist
        puts "The 'dcs' array:"
        pp dcs
        puts "The 'seasonal' array:"
        pp seasonal
      end
      return seasonal
    end


    def create_dc_date_attribut(selected)
      # 1. Retrieve data from shadowinfo into local variables,
      model = Sketchup.active_model
      shadowinfo = model.shadow_info    
      value = shadowinfo["DayOfYear"]
      if @@debug
        puts "The 'day of year' value:"
        pp value
        puts # blank line
      end
      # Writing the data into dictionary attributes.
      selected.each {|obj|
        next unless obj.respond_to?(:definition)
        obj.definition.set_attribute(DICT,SEASON_ATTR,value)
      }
    end

    def update_dc_date_attribut(collection)
      seasonal = get_seasonal_dcs(collection)
      # 1. Retrieve data from shadowinfo into local variables,
      model = Sketchup.active_model
      shadowinfo = model.shadow_info
      
      # 2. Iterate the seasonal component definitions
      value = shadowinfo["DayOfYear"]
      if @@debug
        puts "The 'day of year' value:"
        pp value
        puts # blank line
      end
      #    writing the data into dictionary attributes.
      seasonal.each {|d| d.set_attribute(DICT,SEASON_ATTR,value) }
    end

    # other code / methods here

    unless file_loaded?(__FILE__) || @@context_menu_set

      UI.add_context_menu_handler do |context_menu|
        selset = Sketchup::active_model.selection
        context_menu.add_item(MENU_TEXT[:update]) { command_update(selset) }
        unless selset.empty?
          context_menu.add_item(MENU_TEXT[:create]) { command_create(selset) }
        end
      end # context_menu_handler

      @@context_menu_set = true

    end

  end # plugin module
end # outer namespace module
Merci
Simon
simjoubert
simjoubert
méga posteur
méga posteur

Masculin Taureau
Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 411
Points : 937
Age : 44
Localisation : Val de Marne
Emploi : Paysagiste

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par tenrev le Mar 27 Mar 2018 - 8:10

c'est cool que tu t'y remettes , pour l'instant pas trop le temps , mais dés que c'est un peu plus calme , je jette un oeil
j'ai pour ma part pas encore trop compris l'interaction entre les CD et ruby et pas pris suffisamment de temps pour essayer de bien comprendre

tu as essayé sur le site Anglais ?

a+

-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage [Vous devez être inscrit et connecté pour voir cette image]

[Vous devez être inscrit et connecté pour voir cette image]

Un PC portable MSI TITAN PRO écran 17''  win10 64 bits  intel i7 Quad core  ram 32go CG GFORCE GTX1080
Un PC portable Dell avec Linux Ubuntu 18
6 Raspberry pi (zero et 3 ) avec Kodi - Raspian - Android - Retropie - et plein de projets de mini robotique
-----------------------------------------------------
Modélisation : Sketchup - Rhino - Pconplanner
Rendu : Artlantis - Keyshot - Unreal Engine - Enscape-Twinmotion
Autres : Photoshop - Illustrator - Indesign - Vidéostudio - After Effect - Première et bien d'autres.... la liste est trop longue  [Vous devez être inscrit et connecté pour voir cette image]
tenrev
tenrev
FONDATEUR DE BIBLIO3D
FONDATEUR DE BIBLIO3D

Masculin Bélier
Humeur : excellente comme toujours
Date d'inscription : 19/01/2008
Nombre de messages : 14293
Points : 22936
Age : 56
Localisation : Dans la quatrieme dimension
Emploi : archi d'intérieur salarié

https://www.biblio3d.com

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par simjoubert le Mar 27 Mar 2018 - 9:45

J'avais avancée mais j'ai des erreurs
j'en suis là
Code:
# encodin10g: UTF-8
require "sketchup.rb"
require "pp"

module SimJoubert
  module AttributsVegetaux
  # Ce plugin permet de creer ou ou de mettre à jour les attributs de composants dynamique commun à tout les végétaux.
  extend self
   
    @@context_menu_set ||= false
    @@debug ||= false
   
    MENU_TEXT = {
      :update => "Mise à jour des attributs des végétaux selectionnés",
      :create => "Création des attributs des végétaux selectionnés"
    }
  # Déclaration de la variable de dictionnaire
  DICT = "dynamic_attributes"
 
  # Déclaration de variables de nom des attributs ATTR
  ATTR_00 = "aaaa"
  ATTR_01 = "av01_nom"
  ATTR_02 = "av02_type"
  ATTR_03 = "av03_persistant"
  ATTR_04 = "av04_printemps"
  ATTR_05 = "av05_printemps_d"
  ATTR_06 = "av06_printemps_f" 
  ATTR_07 = "av07_automne"
  ATTR_08 = "av08_automne_d"
  ATTR_09 = "av09_automne_f"
  ATTR_10 = "av10_fleur"
  ATTR_11 = "av11_fleur_d"
  ATTR_12 = "av12_fleur_f"
  ATTR_13 = "av13_fruit"
  ATTR_14 = "av14_fruit_d"
  ATTR_15 = "av15_fruit_f"
 
  # Déclaration des méthodes
    def command_create(selset)
      return if selset.empty?
      # Make the definitions of selected components
      # or groups vegetaux:
      create_dc_vegetaux_attribut(selset)
    end

    def command_update(selset)
      if selset.empty?
        # update ALL vegetaux components
        update_dc_vegetaux_attribut(Sketchup::active_model.definitions)
      else
        # update ONLY selected vegetaux components
        update_dc_vegetaux_attribut(selset)
      end
    end
   
   def get_vegetaux_dcs(collection=nil)
      # Filter the referenced collection
      if collection.nil?
        dlist = Sketchup::active_model.definitions
        dlist.reject! {|d| d.image? }
      elsif collection.all? {|o| o.is_a?(Sketchup::ComponentDefinition) }
        dlist = collection.reject {|d| d.image? }
      else
        insts = collection.grep(Sketchup::ComponentInstance)
        groups = collection.grep(Sketchup::Group)
        dlist = insts.map{|i| i.definition } + groups.map{|g| g.definition }
        dlist.uniq!
      end
      dcs = dlist.select {|d| d.attribute_dictionary(DICT,false) }
      # select only vegetaux dynamic components
      vegetaux = dcs.select {|d| d.attribute_dictionary(DICT,false).keys.include?(ATTR_00)}
     
      return vegetaux
    end
 
 
  def create_dc_vegetaux_attribut(selected)
    selected.each {|obj|
    next unless obj.respond_to?(:definition)
      a1 = obj.definition.get_attribute DICT, ATTR_01
     a2 = obj.definition.get_attribute DICT, ATTR_02
     a3 = obj.definition.get_attribute DICT, ATTR_03
     a4 = obj.definition.get_attribute DICT, ATTR_04
     a5 = obj.definition.get_attribute DICT, ATTR_05
     a6 = obj.definition.get_attribute DICT, ATTR_06
     a7 = obj.definition.get_attribute DICT, ATTR_07
     a8 = obj.definition.get_attribute DICT, ATTR_08
     a9 = obj.definition.get_attribute DICT, ATTR_09
     a10 = obj.definition.get_attribute DICT, ATTR_10
     a11 = obj.definition.get_attribute DICT, ATTR_11
     a12 = obj.definition.get_attribute DICT, ATTR_12
     a13 = obj.definition.get_attribute DICT, ATTR_13
     a14 = obj.definition.get_attribute DICT, ATTR_14
     a15 = obj.definition.get_attribute DICT, ATTR_15
     }
 
 
  # 1- Déclaration des variables de la boite de dialogue
 
  #Declarartion des libellés des champs de saisi
  prompts = ["Nom","Type","Feuillage persistant ?","Feuillage de Printemps particulier ?","Date de début(JJ/MM)","Date de fin (JJ/MM)","Feuillage d'Automne particulier ?","Date de début(JJ/MM)","Date de fin (JJ/MM)","Floraison ?","Date de début(JJ/MM)","Date de fin (JJ/MM)","Fructification","Date de début(JJ/MM)","Date de fin (JJ/MM)"]
 
  #Déclaration des valeurs par défaut (Optionel)
  defaults = [a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15]
 
  #Déclaration des valeurs des listes (Optionel)
  list = ["","Arbre|Arbuste|Vivace|Graminée|Bulbe","Persistant|Caduque","OUI|NON","","","OUI|NON","","","OUI|NON","","","OUI|NON","",""]
 
  # 2- Contruction de la boîte de dialogue
  input = UI.inputbox(prompts, defaults, list, "Renseignez les atributs de la plante.")
 
 
  # 3- Recuperation des valeurs renseigner dans des variables
  a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15 =input
 
  # 4- Création des attributs pour les composants selectionné
 
    selected.each {|obj|
    next unless obj.respond_to?(:definition)
    obj.definition.set_attribute(DICT,ATTR_01,a1)
    obj.definition.set_attribute(DICT,ATTR_02,a2)
    obj.definition.set_attribute(DICT,ATTR_03,a3)   
    obj.definition.set_attribute(DICT,ATTR_04,a4)    
    obj.definition.set_attribute(DICT,ATTR_05,a5)
    obj.definition.set_attribute(DICT,ATTR_06,a6)   
    obj.definition.set_attribute(DICT,ATTR_07,a7)
    obj.definition.set_attribute(DICT,ATTR_08,a8)
    obj.definition.set_attribute(DICT,ATTR_09,a9)
    obj.definition.set_attribute(DICT,ATTR_10,a10)
    obj.definition.set_attribute(DICT,ATTR_11,a11)
    obj.definition.set_attribute(DICT,ATTR_12,a12)
    obj.definition.set_attribute(DICT,ATTR_13,a13)
    obj.definition.set_attribute(DICT,ATTR_14,a14)
    obj.definition.set_attribute(DICT,ATTR_15,a15)
    }
  end
 
  def update_dc_vegetaux_attribut(collection)
  # 1- Déclaration des variables de la boite de dialogue
 
  #Declarartion des libellés des champs de saisi
  prompts = ["Nom","Type","Feuillage persistant ?","Feuillage de Printemps particulier ?","Date de début(JJ/MM)","Date de fin (JJ/MM)","Feuillage d'Automne particulier ?","Date de début(JJ/MM)","Date de fin (JJ/MM)","Floraison ?","Date de début(JJ/MM)","Date de fin (JJ/MM)","Fructification","Date de début(JJ/MM)","Date de fin (JJ/MM)"]
 
  #Déclaration des valeurs par défaut (Optionel)
  defaults = ["Nom de la plante","Arbuste","Persistant","","","","","","","","","","","",""]
 
  #Déclaration des valeurs des listes (Optionel)
  list = ["","Arbre|Arbuste|Vivace|Graminée|Bulbe","Persistant|Caduque","OUI|NON","","","OUI|NON","","","OUI|NON","","","OUI|NON","",""]
 
  # 2- Contruction de la boîte de dialogue
  input = UI.inputbox(prompts, defaults, list, "Renseignez les atributs de la plante.")
 
 
  # 3- Recuperation des valeurs renseigner dans des variables
  a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15 =input
 
  # 4- Mise à jour des attributs pour les composants selectionné
      vegetaux = get_vegetaux_dcs(collection)
      vegetaux.each {|d|
  d.set_attribute(DICT,DICT,ATTR_01,a1)
  d.set_attribute(DICT,DICT,ATTR_02,a2)
  d.set_attribute(DICT,DICT,ATTR_03,a3)
  d.set_attribute(DICT,DICT,ATTR_04,a4)
  d.set_attribute(DICT,DICT,ATTR_05,a5)
  d.set_attribute(DICT,DICT,ATTR_06,a6)
  d.set_attribute(DICT,DICT,ATTR_07,a7)
  d.set_attribute(DICT,DICT,ATTR_08,a8)
  d.set_attribute(DICT,DICT,ATTR_10,a10)
  d.set_attribute(DICT,DICT,ATTR_11,a11)
  d.set_attribute(DICT,DICT,ATTR_12,a12)
  d.set_attribute(DICT,DICT,ATTR_13,a13)
  d.set_attribute(DICT,DICT,ATTR_14,a14)
  d.set_attribute(DICT,DICT,ATTR_15,a15)
     }
    end
   
   # Création du menu contextuel
   unless file_loaded?(__FILE__) || @@context_menu_set

      UI.add_context_menu_handler do |context_menu|
        selset = Sketchup::active_model.selection
        context_menu.add_item(MENU_TEXT[:update]) { command_update(selset) }
        unless selset.empty?
          context_menu.add_item(MENU_TEXT[:create]) { command_create(selset) }
        end
      end # context_menu_handler

      @@context_menu_set = true

    end

  end # plugin module
end # outer namespace module

Bon j'ai reproduit le code de un pour plusieurs attribut mais il va me falloir'aide de Mr Dan il me semble en essayant de comprendre

Bonne journée pluvieuse
Simon

-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !"
ISAÏE 54-2
simjoubert
simjoubert
méga posteur
méga posteur

Masculin Taureau
Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 411
Points : 937
Age : 44
Localisation : Val de Marne
Emploi : Paysagiste

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par simjoubert le Mar 27 Mar 2018 - 15:09

Bon voici déjà le code pour créer les attributs des végétaux pour le composant de rang0
Reste encore des attributs à ajouter mais c'est un début
il n'est pas encore sous la forme de menu il faut le copier dans la console ruby sur un composant existant.
Code:
# encoding: UTF-8
 # Module Définition attributs des végétaux
 # Auteur Simon Joubert
 
 ### Label Parametres Vegetaux
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_000", "PARAMETRES VEGETAUX"
    s.set_attribute "dynamic_attributes", "_vgtx_000_access","VIEW"
    s.set_attribute "dynamic_attributes","_vgtx_000_formlabel","***********"
    $dc_observers.get_latest_class.redraw_with_undo(s)
  end
  
  ### Nom de la plante
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_001", "Nom de la plante"
 s.set_attribute "dynamic_attributes","_vgtx001_units", "STRING"
    s.set_attribute "dynamic_attributes", "_vgtx_001_access","TEXTBOX"
    s.set_attribute "dynamic_attributes","_vgtx_001_formlabel","Nom"
    $dc_observers.get_latest_class.redraw_with_undo(s)
  end
  
  ### Type de plante
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_002", "Arbre"
 s.set_attribute "dynamic_attributes","_vgtx002_units", "STRING"
    s.set_attribute "dynamic_attributes", "_vgtx_002_access","LIST"
    s.set_attribute "dynamic_attributes","_vgtx_002_formlabel","Type de plante"
 s.set_attribute "dynamic_attributes","_vgtx_002_options", "Arbre=Arbre&Arbuste=Arbuste&Vivace=Vivace&Grimpante=Grimpante&Aquatique=Aquatique"
    $dc_observers.get_latest_class.redraw_with_undo(s)
  end
  
   ### Origine de la plante
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_003", "Existant"
 s.set_attribute "dynamic_attributes","_vgtx003_units", "STRING"
    s.set_attribute "dynamic_attributes", "_vgtx_003_access","LIST"
    s.set_attribute "dynamic_attributes","_vgtx_003_formlabel","Origine"
 s.set_attribute "dynamic_attributes","_vgtx_003_options", "Existant=Existant&Fourniture=Fourniture"
    $dc_observers.get_latest_class.redraw_with_undo(s)
  end
 
  ### *************************************************

 ### Label Parametres Saison
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_020", "PARAMETRES SAISON"
    s.set_attribute "dynamic_attributes", "_vgtx_020_access","VIEW"
    s.set_attribute "dynamic_attributes","_vgtx_020_formlabel","***********"
    $dc_observers.get_latest_class.redraw_with_undo(s)
  end
  
 ### Label Parametres Végétation annuelle
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_021", "DATE"
    s.set_attribute "dynamic_attributes", "_vgtx_021_access","VIEW"
    s.set_attribute "dynamic_attributes","_vgtx_021_formlabel","VEGETATION ANNUELLE"
    $dc_observers.get_latest_class.redraw_with_undo(s)
  end
  
  ### Végétation annuelle début
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_022","14"
 s.set_attribute "dynamic_attributes","_vgtx022_units", "STRING"
    s.set_attribute "dynamic_attributes", "_vgtx_022_access","LIST"
    s.set_attribute "dynamic_attributes","_vgtx_022_formlabel","Debut"
 s.set_attribute "dynamic_attributes","_vgtx_022_options","aucun=0&janvier=1&mi-janvier=15&fevrier=32&mi-fevrier=45&mars=60&mi-mars=74&avril=91&mi-avril=105&mai=121&mi-mai=135&juin=152&mi-juin=166&juillet=182&mi-juillet=196&aout=213&mi-aout=227&septembre=244&mi-septembre=258&octobre=274&mi-octobre=288&novembre=305&mi-novembre=319&decembre=335mi-decembre=349&fin decembre=365"
 $dc_observers.get_latest_class.redraw_with_undo(s)
  end
   ### Végétation annuelle fin
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_023","319"
 s.set_attribute "dynamic_attributes","_vgtx023_units", "STRING"
    s.set_attribute "dynamic_attributes", "_vgtx_023_access","LIST"
    s.set_attribute "dynamic_attributes","_vgtx_023_formlabel","Debut"
 s.set_attribute "dynamic_attributes","_vgtx_023_options","aucun=0&janvier=1&mi-janvier=15&fevrier=32&mi-fevrier=45&mars=60&mi-mars=74&avril=91&mi-avril=105&mai=121&mi-mai=135&juin=152&mi-juin=166&juillet=182&mi-juillet=196&aout=213&mi-aout=227&septembre=244&mi-septembre=258&octobre=274&mi-octobre=288&novembre=305&mi-novembre=319&decembre=335mi-decembre=349&fin decembre=365"
 $dc_observers.get_latest_class.redraw_with_undo(s)
  end
  
   ### Label Parametres Floraison
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_031", "DATE"
    s.set_attribute "dynamic_attributes", "_vgtx_031_access","VIEW"
    s.set_attribute "dynamic_attributes","_vgtx_031_formlabel","FLORAISON"
    $dc_observers.get_latest_class.redraw_with_undo(s)
  end
  
  ### Floraison début
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_032","152"
 s.set_attribute "dynamic_attributes","_vgtx032_units", "STRING"
    s.set_attribute "dynamic_attributes", "_vgtx_032_access","LIST"
    s.set_attribute "dynamic_attributes","_vgtx_032_formlabel","Debut"
 s.set_attribute "dynamic_attributes","_vgtx_032_options","aucun=0&janvier=1&mi-janvier=15&fevrier=32&mi-fevrier=45&mars=60&mi-mars=74&avril=91&mi-avril=105&mai=121&mi-mai=135&juin=152&mi-juin=166&juillet=182&mi-juillet=196&aout=213&mi-aout=227&septembre=244&mi-septembre=258&octobre=274&mi-octobre=288&novembre=305&mi-novembre=319&decembre=335mi-decembre=349&fin decembre=365"
 $dc_observers.get_latest_class.redraw_with_undo(s)
  end
   ### Floraison fin
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_033","196"
 s.set_attribute "dynamic_attributes","_vgtx033_units", "STRING"
    s.set_attribute "dynamic_attributes", "_vgtx_033_access","LIST"
    s.set_attribute "dynamic_attributes","_vgtx_033_formlabel","Debut"
 s.set_attribute "dynamic_attributes","_vgtx_033_options","aucun=0&janvier=1&mi-janvier=15&fevrier=32&mi-fevrier=45&mars=60&mi-mars=74&avril=91&mi-avril=105&mai=121&mi-mai=135&juin=152&mi-juin=166&juillet=182&mi-juillet=196&aout=213&mi-aout=227&septembre=244&mi-septembre=258&octobre=274&mi-octobre=288&novembre=305&mi-novembre=319&decembre=335mi-decembre=349&fin decembre=365"
 $dc_observers.get_latest_class.redraw_with_undo(s)
  end
  
  ### Label Parametres Fructification
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_041", "DATE"
    s.set_attribute "dynamic_attributes", "_vgtx_041_access","VIEW"
    s.set_attribute "dynamic_attributes","_vgtx_041_formlabel","FRUCTIFICATION"
    $dc_observers.get_latest_class.redraw_with_undo(s)
  end
  
  ### Fructification début
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_042","182"
 s.set_attribute "dynamic_attributes","_vgtx042_units", "STRING"
    s.set_attribute "dynamic_attributes", "_vgtx_042_access","LIST"
    s.set_attribute "dynamic_attributes","_vgtx_042_formlabel","Debut"
 s.set_attribute "dynamic_attributes","_vgtx_042_options","aucun=0&janvier=1&mi-janvier=15&fevrier=32&mi-fevrier=45&mars=60&mi-mars=74&avril=91&mi-avril=105&mai=121&mi-mai=135&juin=152&mi-juin=166&juillet=182&mi-juillet=196&aout=213&mi-aout=227&septembre=244&mi-septembre=258&octobre=274&mi-octobre=288&novembre=305&mi-novembre=319&decembre=335mi-decembre=349&fin decembre=365"
 $dc_observers.get_latest_class.redraw_with_undo(s)
  end
   ### Fructification fin
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_043","274"
 s.set_attribute "dynamic_attributes","_vgtx043_units", "STRING"
    s.set_attribute "dynamic_attributes", "_vgtx_043_access","LIST"
    s.set_attribute "dynamic_attributes","_vgtx_043_formlabel","Debut"
 s.set_attribute "dynamic_attributes","_vgtx_043_options","aucun=0&janvier=1&mi-janvier=15&fevrier=32&mi-fevrier=45&mars=60&mi-mars=74&avril=91&mi-avril=105&mai=121&mi-mai=135&juin=152&mi-juin=166&juillet=182&mi-juillet=196&aout=213&mi-aout=227&septembre=244&mi-septembre=258&octobre=274&mi-octobre=288&novembre=305&mi-novembre=319&decembre=335mi-decembre=349&fin decembre=365"
 $dc_observers.get_latest_class.redraw_with_undo(s)
  end

on progresse ? mojito

Simon
simjoubert
simjoubert
méga posteur
méga posteur

Masculin Taureau
Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 411
Points : 937
Age : 44
Localisation : Val de Marne
Emploi : Paysagiste

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par Samuel Tallet-Sabathé le Mar 17 Avr 2018 - 23:08

simjoubert a écrit:Bon voici déjà le code pour créer les attributs des végétaux pour le composant de rang0
Reste encore des attributs à ajouter mais c'est un début
il n'est pas encore sous la forme de menu il faut le copier dans la console ruby sur un composant existant.

Le sujet est marqué résolu. As-tu encore besoin d'aide par rapport à Ruby ?
Samuel Tallet-Sabathé
Samuel Tallet-Sabathé
méga posteur
méga posteur

Masculin Capricorne
Date d'inscription : 15/04/2018
Nombre de messages : 223
Points : 603
Age : 33
Localisation : France

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par Samuel Tallet-Sabathé le Mar 17 Avr 2018 - 23:21

Simon,

Une fois que j'aurai bien compris le but du plugin, je pourrai t'aider. Peux-tu me faire un petit briefing ?

Egalement, peux-tu me transmettre les scripts .rb et un .skp exemple pour faciliter le développement ?

Merci clindoeil
Samuel Tallet-Sabathé
Samuel Tallet-Sabathé
méga posteur
méga posteur

Masculin Capricorne
Date d'inscription : 15/04/2018
Nombre de messages : 223
Points : 603
Age : 33
Localisation : France

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par simjoubert le Mer 18 Avr 2018 - 0:35

Bonsoir Samuel
Le sujet est loin d'être résolu

Voici la dernière version de mon code réparti sur 3 scripts
season.rb
vegetation.rb
selectionenfant.rb

Prérequis : Un composant végétaux avec 4 sous-groupes
Persistant,Annuelle,Fleurs,Fruits

Première étape : Ce composant à été sélectionner et à été traité avec le code season.rb =>"Create Season DC Attribut"
un attribut season est ajouté au composant avec pour valeur le numéro du jour de l'année correspondant au paramètres d'ombre de sketchup.

deuxième étape
Le composant à nouveau sélectionné est traiter avec le code vegetation.rb =>"Creations des attributs des végétaux sélectionnés"

Troisième étape : La je bute sur la définition de l'attribut "Hidden" des sous-groupes dans le composant
Je voudrait ajouter une boucle qui sélectionne chaque sous groupe
Test du nom
si Annuelle alors Hidden = nomducomposant!vgtx_101
si Fleurs ...
si Fruits ...
c'est le code selection enfant.rb

quatrième étape
en changeant la date des ombres alors mise à jour de l'attribut season et recalculer les attribut Hidden des groupes
L'attribut Season se met à jour avec season.rb =>Update Season DC Attribut
la mise à jour des attributs vgtx  ( code pas encore fait ).

Donc voici les 3 codes :

season.rb
Code:
# encoding: UTF-8

require "sketchup.rb"
require "pp"

module SimJoubert
  module SeasonalComponents

    extend self
    
    @@context_menu_set ||= false
    @@debug ||= false
    
    MENU_TEXT = {
      :update => "Update season DC attibuts",
      :create => "Create season DC attibuts"
    }

    DICT = "dynamic_attributes"

    SEASON_ATTR = "season"
    SEASONOFF_ATTR = "seasonoff"

    def command_create(selset)
      return if selset.empty?
      # Make the definitions of selected components
      # or groups seasonal:
      create_dc_date_attribut(selset)
    end

    def command_update(selset)
      if selset.empty?
        # update ALL seasonal components
        update_dc_date_attribut(Sketchup::active_model.definitions)
      else
        # update ONLY selected seasonal components
        update_dc_date_attribut(selset)
      end
    end

    def debug
      @@debug
    end

    def debug=(arg)
      @@debug =( arg ? true : false )
    end

    def get_seasonal_dcs(collection=nil)
      # Filter the referenced collection
      if collection.nil?
        dlist = Sketchup::active_model.definitions
        dlist.reject! {|d| d.image? }
      elsif collection.all? {|o| o.is_a?(Sketchup::ComponentDefinition) }
        dlist = collection.reject {|d| d.image? }
      else
        insts = collection.grep(Sketchup::ComponentInstance)
        groups = collection.grep(Sketchup::Group)
        dlist = insts.map{|i| i.definition } + groups.map{|g| g.definition }
        dlist.uniq!
      end
      dcs = dlist.select {|d| d.attribute_dictionary(DICT,false) }
      # select only seasonal dynamic components
      seasonal = dcs.select {|d| d.attribute_dictionary(DICT,false).keys.include?(SEASON_ATTR)}
      if @@debug
        puts "#{Module::nesting[0].name}: debug is true."
        puts "The 'dlist' array:"
        pp dlist
        puts "The 'dcs' array:"
        pp dcs
        puts "The 'seasonal' array:"
        pp seasonal
      end
      return seasonal
    end


    def create_dc_date_attribut(selected)
      # 1. Retrieve data from shadowinfo into local variables,
      model = Sketchup.active_model
      shadowinfo = model.shadow_info    
      value = shadowinfo["DayOfYear"]
      if @@debug
        puts "The 'day of year' value:"
        pp value
        puts # blank line
      end
      # Writing the data into dictionary attributes.
      selected.each {|obj|
  next unless obj.respond_to?(:definition)
        obj.definition.set_attribute(DICT,SEASON_ATTR,value)
        obj.definition.set_attribute(DICT,SEASONOFF_ATTR,1)
 }
    end

    def update_dc_date_attribut(collection)
      seasonal = get_seasonal_dcs(collection)
      # 1. Retrieve data from shadowinfo into local variables,
      model = Sketchup.active_model
      shadowinfo = model.shadow_info
      
      # 2. Iterate the seasonal component definitions
      value = shadowinfo["DayOfYear"]
      if @@debug
        puts "The 'day of year' value:"
        pp value
        puts # blank line
      end
      #    writing the data into dictionary attributes.
      seasonal.each {|d| d.set_attribute(DICT,SEASON_ATTR,value) }
    end

    # other code / methods here

    unless file_loaded?(__FILE__) || @@context_menu_set

      UI.add_context_menu_handler do |context_menu|
        selset = Sketchup::active_model.selection
        context_menu.add_item(MENU_TEXT[:update]) { command_update(selset) }
        unless selset.empty?
          context_menu.add_item(MENU_TEXT[:create]) { command_create(selset) }
        end
      end # context_menu_handler

      @@context_menu_set = true

    end

  end # plugin module
end # outer namespace module

Le code Vegetation.rb

Code:
# First we pull in the standard API hooks.
require 'sketchup.rb'

# Show the Ruby Console at startup so we can
# see any programming errors we may make.
Sketchup.send_action "showRubyPanel:"

# Add a menu item to launch our plugin.
su_menu = UI.menu("Plugins").add_submenu(%Q(Simjoubert))
cmd = UI::Command.new("Attributs vegetaux") {
  UI.messagebox("Creation des attributs végétaux pour le composant selectionner")
  ### Label Parametres Vegetaux
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_000", "PARAMETRES VEGETAUX"
    s.set_attribute "dynamic_attributes", "_vgtx_000_access","VIEW"
    s.set_attribute "dynamic_attributes","_vgtx_000_formlabel","***********"
    $dc_observers.get_latest_class.redraw_with_undo(s)
  end
  
  ### Nom de la plante
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_001", "Nom de la plante"
 s.set_attribute "dynamic_attributes","_vgtx001_units", "STRING"
    s.set_attribute "dynamic_attributes", "_vgtx_001_access","TEXTBOX"
    s.set_attribute "dynamic_attributes","_vgtx_001_formlabel","Nom"
    $dc_observers.get_latest_class.redraw_with_undo(s)
  end
  
  ### Type de plante
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_002", "Arbre"
 s.set_attribute "dynamic_attributes","_vgtx002_units", "STRING"
    s.set_attribute "dynamic_attributes", "_vgtx_002_access","LIST"
    s.set_attribute "dynamic_attributes","_vgtx_002_formlabel","Type de plante"
 s.set_attribute "dynamic_attributes","_vgtx_002_options", "Arbre=Arbre&Arbuste=Arbuste&Vivace=Vivace&Grimpante=Grimpante&Aquatique=Aquatique"
    $dc_observers.get_latest_class.redraw_with_undo(s)
  end
  
   ### Origine de la plante
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_003", "Existant"
 s.set_attribute "dynamic_attributes","_vgtx003_units", "STRING"
    s.set_attribute "dynamic_attributes", "_vgtx_003_access","LIST"
    s.set_attribute "dynamic_attributes","_vgtx_003_formlabel","Origine"
 s.set_attribute "dynamic_attributes","_vgtx_003_options", "Existant=Existant&Fourniture=Fourniture"
    $dc_observers.get_latest_class.redraw_with_undo(s)
  end
 
  ### *************************************************

 ### Label Parametres Saison
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_020", "PARAMETRES SAISON"
    s.set_attribute "dynamic_attributes", "_vgtx_020_access","VIEW"
    s.set_attribute "dynamic_attributes","_vgtx_020_formlabel","***********"
    $dc_observers.get_latest_class.redraw_with_undo(s)
  end
  
 ### Label Parametres Végétation annuelle
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_021", "DATE"
    s.set_attribute "dynamic_attributes", "_vgtx_021_access","VIEW"
    s.set_attribute "dynamic_attributes","_vgtx_021_formlabel","VEGETATION ANNUELLE"
    $dc_observers.get_latest_class.redraw_with_undo(s)
  end
  
  ### Végétation annuelle début
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_022","14"
 s.set_attribute "dynamic_attributes","_vgtx022_units", "STRING"
    s.set_attribute "dynamic_attributes", "_vgtx_022_access","LIST"
    s.set_attribute "dynamic_attributes","_vgtx_022_formlabel","Debut"
 s.set_attribute "dynamic_attributes","_vgtx_022_options","aucun=0&janvier=1&mi-janvier=15&fevrier=32&mi-fevrier=45&mars=60&mi-mars=74&avril=91&mi-avril=105&mai=121&mi-mai=135&juin=152&mi-juin=166&juillet=182&mi-juillet=196&aout=213&mi-aout=227&septembre=244&mi-septembre=258&octobre=274&mi-octobre=288&novembre=305&mi-novembre=319&decembre=335&mi-decembre=349&fin decembre=365"
 $dc_observers.get_latest_class.redraw_with_undo(s)
  end
   ### Végétation annuelle fin
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_023","319"
 s.set_attribute "dynamic_attributes","_vgtx023_units", "STRING"
    s.set_attribute "dynamic_attributes", "_vgtx_023_access","LIST"
    s.set_attribute "dynamic_attributes","_vgtx_023_formlabel","Debut"
 s.set_attribute "dynamic_attributes","_vgtx_023_options","aucun=0&janvier=1&mi-janvier=15&fevrier=32&mi-fevrier=45&mars=60&mi-mars=74&avril=91&mi-avril=105&mai=121&mi-mai=135&juin=152&mi-juin=166&juillet=182&mi-juillet=196&aout=213&mi-aout=227&septembre=244&mi-septembre=258&octobre=274&mi-octobre=288&novembre=305&mi-novembre=319&decembre=335&mi-decembre=349&fin decembre=365"
 $dc_observers.get_latest_class.redraw_with_undo(s)
  end
  
   ### Label Parametres Floraison
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_031", "DATE"
    s.set_attribute "dynamic_attributes", "_vgtx_031_access","VIEW"
    s.set_attribute "dynamic_attributes","_vgtx_031_formlabel","FLORAISON"
    $dc_observers.get_latest_class.redraw_with_undo(s)
  end
  
  ### Floraison début
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_032","152"
 s.set_attribute "dynamic_attributes","_vgtx032_units", "STRING"
    s.set_attribute "dynamic_attributes", "_vgtx_032_access","LIST"
    s.set_attribute "dynamic_attributes","_vgtx_032_formlabel","Debut"
 s.set_attribute "dynamic_attributes","_vgtx_032_options","aucun=0&janvier=1&mi-janvier=15&fevrier=32&mi-fevrier=45&mars=60&mi-mars=74&avril=91&mi-avril=105&mai=121&mi-mai=135&juin=152&mi-juin=166&juillet=182&mi-juillet=196&aout=213&mi-aout=227&septembre=244&mi-septembre=258&octobre=274&mi-octobre=288&novembre=305&mi-novembre=319&decembre=335&mi-decembre=349&fin decembre=365"
 $dc_observers.get_latest_class.redraw_with_undo(s)
  end
   ### Floraison fin
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_033","196"
 s.set_attribute "dynamic_attributes","_vgtx033_units", "STRING"
    s.set_attribute "dynamic_attributes", "_vgtx_033_access","LIST"
    s.set_attribute "dynamic_attributes","_vgtx_033_formlabel","Fin"
 s.set_attribute "dynamic_attributes","_vgtx_033_options","aucun=0&janvier=1&mi-janvier=15&fevrier=32&mi-fevrier=45&mars=60&mi-mars=74&avril=91&mi-avril=105&mai=121&mi-mai=135&juin=152&mi-juin=166&juillet=182&mi-juillet=196&aout=213&mi-aout=227&septembre=244&mi-septembre=258&octobre=274&mi-octobre=288&novembre=305&mi-novembre=319&decembre=335&mi-decembre=349&fin decembre=365"
 $dc_observers.get_latest_class.redraw_with_undo(s)
  end
  
  ### Label Parametres Fructification
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_041", "DATE"
    s.set_attribute "dynamic_attributes", "_vgtx_041_access","VIEW"
    s.set_attribute "dynamic_attributes","_vgtx_041_formlabel","FRUCTIFICATION"
    $dc_observers.get_latest_class.redraw_with_undo(s)
  end
  
  ### Fructification début
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_042","182"
 s.set_attribute "dynamic_attributes","_vgtx042_units", "STRING"
    s.set_attribute "dynamic_attributes", "_vgtx_042_access","LIST"
    s.set_attribute "dynamic_attributes","_vgtx_042_formlabel","Debut"
 s.set_attribute "dynamic_attributes","_vgtx_042_options","aucun=0&janvier=1&mi-janvier=15&fevrier=32&mi-fevrier=45&mars=60&mi-mars=74&avril=91&mi-avril=105&mai=121&mi-mai=135&juin=152&mi-juin=166&juillet=182&mi-juillet=196&aout=213&mi-aout=227&septembre=244&mi-septembre=258&octobre=274&mi-octobre=288&novembre=305&mi-novembre=319&decembre=335&mi-decembre=349&fin decembre=365"
 $dc_observers.get_latest_class.redraw_with_undo(s)
  end
   ### Fructification fin
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_043","274"
 s.set_attribute "dynamic_attributes","_vgtx043_units", "STRING"
    s.set_attribute "dynamic_attributes", "_vgtx_043_access","LIST"
    s.set_attribute "dynamic_attributes","_vgtx_043_formlabel","Fin"
 s.set_attribute "dynamic_attributes","_vgtx_043_options","aucun=0&janvier=1&mi-janvier=15&fevrier=32&mi-fevrier=45&mars=60&mi-mars=74&avril=91&mi-avril=105&mai=121&mi-mai=135&juin=152&mi-juin=166&juillet=182&mi-juillet=196&aout=213&mi-aout=227&septembre=244&mi-septembre=258&octobre=274&mi-octobre=288&novembre=305&mi-novembre=319&decembre=335&mi-decembre=349&fin decembre=365"
 $dc_observers.get_latest_class.redraw_with_undo(s)
  end
  
  
  ### Label Parametres ETAT
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_100", "PARAMETRES"
    s.set_attribute "dynamic_attributes", "_vgtx_100_access","VIEW"
    s.set_attribute "dynamic_attributes","_vgtx_100_formlabel","AFFICHAGE"
    $dc_observers.get_latest_class.redraw_with_undo(s)
  end  
  ### Date Du Modele
  mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_101", "1 "
    s.set_attribute "dynamic_attributes", "_vgtx_101_access","LIST"
    s.set_attribute "dynamic_attributes","_vgtx_101_formlabel","Date du modele"
    s.set_attribute "dynamic_attributes","_vgtx_101_options","aucun=0&janvier=1&mi-janvier=15&fevrier=32&mi-fevrier=45&mars=60&mi-mars=74&avril=91&mi-avril=105&mai=121&mi-mai=135&juin=152&mi-juin=166&juillet=182&mi-juillet=196&aout=213&mi-aout=227&septembre=244&mi-septembre=258&octobre=274&mi-octobre=288&novembre=305&mi-novembre=319&decembre=335&mi-decembre=349&fin decembre=365"
    s.set_attribute "dynamic_attributes","_vgtx_101_formula","if(NEAREST(season,0,1,15,32,45,60,74,91,105,121,135,152,166,182,196,213,227,244,258,274,288,305,319,335,349,365)>season,NEAREST(season-15,0,1,15,32,45,60,74,91,105,121,135,152,166,182,196,213,227,244,258,274,288,305,319,335,349,365),NEAREST(season,0,1,15,32,45,60,74,91,105,121,135,152,166,182,196,213,227,244,258,274,288,305,319,335,349,365))"
    $dc_observers.get_latest_class.redraw_with_undo(s)
  end

      ### Végétation annuelle ETAT
   mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_102", "FALSE"
 s.set_attribute "dynamic_attributes","_vgtx_102_units", "BOOLEAN"
    s.set_attribute "dynamic_attributes", "_vgtx_102_access","VIEW"
    s.set_attribute "dynamic_attributes","_vgtx_102_formlabel","Fleurs"
    s.set_attribute "dynamic_attributes","_vgtx_102_formula", "if(OR(vgtx_023,vgtx_022)=0,TRUE,if(vgtx_023>vgtx_022,if(season>=vgtx_022,if(season<=vgtx_023,FALSE,TRUE),TRUE),if(season>=vgtx_023,FALSE,if(season<=vgtx_022,FALSE,TRUE))))"
    $dc_observers.get_latest_class.redraw_with_undo(s)
  end
   ### Floraison ETAT
   mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_103", "FALSE"
 s.set_attribute "dynamic_attributes","_vgtx_103_units", "BOOLEAN"
    s.set_attribute "dynamic_attributes", "_vgtx_103_access","VIEW"
    s.set_attribute "dynamic_attributes","_vgtx_103_formlabel","Fleurs"
    s.set_attribute "dynamic_attributes","_vgtx_103_formula", "if(OR(vgtx_033,vgtx_032)=0,TRUE,if(vgtx_033>vgtx_032,if(season>=vgtx_032,if(season<=vgtx_033,FALSE,TRUE),TRUE),if(season>=vgtx_033,FALSE,if(season<=vgtx_032,FALSE,TRUE))))"
    $dc_observers.get_latest_class.redraw_with_undo(s)
  end
   ### Fructification ETAT
   mod = Sketchup.active_model
  sel = mod.selection
  sel.grep(Sketchup::ComponentInstance).each do |s|
    s.set_attribute "dynamic_attributes","vgtx_104", "FALSE"
 s.set_attribute "dynamic_attributes","_vgtx_104_units", "BOOLEAN"
    s.set_attribute "dynamic_attributes", "_vgtx_104_access","VIEW"
    s.set_attribute "dynamic_attributes","_vgtx_104_formlabel","Fruits"
    s.set_attribute "dynamic_attributes","_vgtx_104_formula", "if(OR(vgtx_043,vgtx_042)=0,TRUE,if(vgtx_043>vgtx_042,if(season>=vgtx_042,if(season<=vgtx_043,FALSE,TRUE),TRUE),if(season>=vgtx_043,FALSE,if(season<=vgtx_042,FALSE,TRUE))))"
    $dc_observers.get_latest_class.redraw_with_undo(s)
  end
}
cmd.menu_text = "Attribut Vegetaux"
su_menu .add_item cmd

Le code Selectionenfant.rb pas fonctionnel

Code:
mod = Sketchup.active_model
ent = mod.active_entities
sel = mod.selection
SKETCHUP_CONSOLE.clear
cis = sel.grep(Sketchup::ComponentInstance)[0]
cis.each{|ci|
  c_parent = ci.definition.name; p c_parent
  groups = ci.definition.entities.grep(Sketchup::Group)
  groups.each{|g|
    case g.name
    when "Annuelle";p 'veg'
      g.set_attribute("Groups","Hidden","#{c_parent} vgtx_101")
    when "Fleurs";p 'flr'
      g.set_attribute("Groups","Hidden","#{c_parent} vgtx_102")
    when "Fruits";p 'fru'
      g.set_attribute("Groups","Hidden","#{c_parent} vgtx_103")
    end
  }
}
mod = Sketchup.active_model
ent = mod.active_entities
sel = mod.selection
sel.grep(Sketchup::ComponentInstance).each{|ci|
  c_parent = ci.definition.name; p c_parent
  groups = ci.definition.entities.grep(Sketchup::Group)
  groups.each{|g|
    case g.name
    when "Annuelle";p 'veg'
      g.set_attribute("dynamic_attributes","_hidden_formula","#{c_parent}!vgtx_101")
    when "Fleurs";p 'flr'
      g.set_attribute("dynamic_attributes","_hidden_formula","#{c_parent}!vgtx_102")
    when "Fruits";p 'fru'
      g.set_attribute("dynamic_attributes","_hidden_formula","#{c_parent}!vgtx_103")
    end
  }
}

mod = Sketchup.active_model
ent = mod.active_entities
sel = mod.selection
 s.set_attribute "dynamic_attributes","_vgtx_104_formula",

Mon fichier test arbre au format sketchup 2008 pour plus de compatibilité :
[Vous devez être inscrit et connecté pour voir ce lien]

J'espère avoir été suffisamment clair dans mes explications ! lire arf

Merci du temps que tu pourra y consacrer.
Pour que je puisse apprendre merci de commenter un maximum svp
Je sais qu'en rubby il y des syntaxes courtes mais elles déroutent énormément le débutant, si tu pouvait dans un premier temps déboguer en mode didactique se serait super.

Mille mercis ange
SImon

-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !"
ISAÏE 54-2
simjoubert
simjoubert
méga posteur
méga posteur

Masculin Taureau
Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 411
Points : 937
Age : 44
Localisation : Val de Marne
Emploi : Paysagiste

Revenir en haut Aller en bas

resolu Re: [SKETCHUP composants dynamiques] récupérer date paramètre ombre

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 3 sur 4 Précédent  1, 2, 3, 4  Suivant

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum