Forum Sketchup Artlantis Archicad
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Galerie


 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Empty
Ton bloc notes
Derniers sujets
» [ SKETCHUP généralité ] Sketchup Make 2017
par Pilou Aujourd'hui à 17:32

» [ BLENDER ] Dream Textures : Addon Gratuit ulitisant l'IA pour produire des Textures ininterrompues
par Samuel Tallet Hier à 22:20

» [ PRESENTATION ] Bonjour c'est brise-copeaux un vieux de la mécanique mais nul en dessin.
par simjoubert Hier à 18:51

» [ SKETCHUP plugins ] Universal Importer
par simjoubert Hier à 18:02

» [ SKETCHUP plugins ] Fredo6
par tenrev Hier à 9:52

» [ PRESENTATION ] Loïc de Montpellier
par youyou40 Mar 27 Sep 2022 - 14:22

» [ BLENDER ] Substance 3D to Blender Add-on
par JDD Lun 26 Sep 2022 - 23:35

» [ AUTRES LOGICIELS ] Plasticity :Modeleur Nurbs
par Pilou Lun 26 Sep 2022 - 22:43

» [ ARCHICAD ] Visibilité des garde corps à travers les planchers
par Titou Lun 26 Sep 2022 - 18:48

» [ SKETCHUP tutos ] Spécial débutant, prise en main, bien débuter...
par jerryvento Lun 26 Sep 2022 - 17:51

» [ SKETCHUP tutos ] Ancienneté des tutos
par brise-copeaux Lun 26 Sep 2022 - 15:23

» [ SKETCHUP plugins ] sj_AddDCAttribut création d'attribut sur une sélection d'instances de composants
par tenrev Lun 26 Sep 2022 - 10:13

» [ ARCHICAD ] Torsion Bandeau
par PierreP Sam 24 Sep 2022 - 21:12

» [ SKETCHUP tutos ] Comment alléger son fichier SketchUp ?
par JDD Sam 24 Sep 2022 - 13:06

» [ AUTRES LOGICIELS ] logiciel de capture vidéo et de streaming : OBS
par tenrev Ven 23 Sep 2022 - 9:46

» [ SKETCHUP tutos ] Comment avoir une licence SketchUp étudiant ?
par tenrev Mar 20 Sep 2022 - 10:41

» [ ARCHICAD ] IMPORT FICHIER E57 - ECHEC CREATION FICHIER LCF
par Christophe Fortineau Lun 19 Sep 2022 - 21:49

» [ MATOS INFORM. ] Caméra 360 pour relevé
par Archi43 Lun 19 Sep 2022 - 18:19

» [ BLENDER ] Blender 3.3 LTS vient de sortir
par simjoubert Dim 18 Sep 2022 - 21:44

» [ SKETCHUP plugins ] fentre fantome de plugin
par simjoubert Jeu 15 Sep 2022 - 19:55

» [ AUTRES LOGICIELS ] MOI 3D 5.0 Beta Mai 2022 : Mac, PC
par Pilou Mar 13 Sep 2022 - 10:13

» [ ARCHICAD ] MAC - Ouverture de fichier - Fenêtre.... bien trop grande
par thomasroisin Lun 12 Sep 2022 - 12:24

» [ ARCHICAD ] TUTO - Créer un fichier modèle ArchiCad
par Archi43 Lun 12 Sep 2022 - 10:43

» [ CHAINE TWITCH ] les replay de mes live sur Twitch
par tenrev Lun 12 Sep 2022 - 10:20

» [ ARTLANTIS ] Recherche lumiere
par Coulou Lun 12 Sep 2022 - 9:23

» [ ARCHICAD-OBJETS GDL ] Biblio FRA-SUI Archicad 26
par Coulou Ven 9 Sep 2022 - 9:29

» [ SKETCHUP plugins ] Vray 6 pour sketchup en beta version
par JDD Jeu 8 Sep 2022 - 11:31

» [ SKETCHUP tutos ] 5 heures de formation vidéo pour rénover un appartement
par tenrev Jeu 8 Sep 2022 - 10:47

» [ ARCHICAD-OBJETS GDL ] Radio murale dentiste.
par Coulou Jeu 8 Sep 2022 - 9:07

» [ CHAINE TWITCH ] live programmé le 03 09 2022 - composants dynamiques et test de SJ add dc attributs
par Rascal Mer 7 Sep 2022 - 13:12

» [ ARCHICAD ] Compatibilité Apple (M1 Max) et ArchiCad (25)
par Christophe Fortineau Mar 6 Sep 2022 - 13:45

» [ SKETCHUP tutos ] Torsader, vriller une barre. Modéliser une hélice
par jerryvento Mar 6 Sep 2022 - 13:27

» [ SKETCHUP généralité ] Torsader, vriller une barre. Modéliser une hélice
par jerryvento Mar 6 Sep 2022 - 13:26

» [ AUTRES LOGICIELS ] Monster Mash
par tenrev Sam 3 Sep 2022 - 23:32

» [ CHAINE TWITCH ] modélisation sur IPad live à venir
par tenrev Sam 3 Sep 2022 - 0:28

Sondage

Chaine Twitch

 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Poll_c1019% [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Poll_c10 19% [ 6 ]
 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Poll_c1013% [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Poll_c10 13% [ 4 ]
 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Poll_c103% [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Poll_c10 3% [ 1 ]
 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Poll_c1010% [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Poll_c10 10% [ 3 ]
 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Poll_c106% [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Poll_c10 6% [ 2 ]
 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Poll_c1010% [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Poll_c10 10% [ 3 ]
 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Poll_c1032% [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Poll_c10 32% [ 10 ]
 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Poll_c106% [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Poll_c10 6% [ 2 ]

Total des votes : 31

chaine sketchup.tv

[ SKETCHUP plugins ] sj_AddDCFunctions

Page 6 sur 8 Précédent  1, 2, 3, 4, 5, 6, 7, 8  Suivant

Voir le sujet précédent Voir le sujet suivant Aller en bas

simjoubert
simjoubert
Administrateurs
Administrateurs
Masculin Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 2163
Points : 4927
Age : 47
Localisation : Val de Marne
Emploi : Paysagiste
https://www.sketchup.simjoubert.com/

Messagesimjoubert Mar 14 Déc 2021 - 22:52

Super @Samuel Tallet Mille mercis mon ami !
Je suis en pleine clôture des comptes de la copro je ne regarderai cela que demain soir malheureusement.
Je vais décortiquer tout ça et essayer de comprendre chaque termes ! woah lire rage non waah

pour la boîte de dialogue l'astuce réside dans la variable SESSION pour éviter quelle ne se referme toute seule!

Malgré le Covid je te claque une grosse bise ! copains mojito

tenrev et Samuel Tallet aiment ce message

Samuel Tallet
Samuel Tallet
V.I.P.
V.I.P.
Masculin Date d'inscription : 15/04/2018
Nombre de messages : 827
Points : 2356
Age : 36
Localisation : Marseille, France
Emploi : Développeur Web

MessageSamuel Tallet Mer 15 Déc 2021 - 14:06

simjoubert a écrit:Super @Samuel Tallet  Mille mercis mon ami !
Avec plaisir Simon ! sourire

simjoubert a écrit:
[...] pour la boîte de dialogue l'astuce réside dans la variable SESSION pour éviter quelle ne se referme toute seule!

Ah, je croyais que cette variable ne servait à rien ! mdr5 Ca va, alors ! Je te laisse la remettre dans le fichier "help.rb".

-------------------------------------------------------------------------------------------------------------------------
Galerie Plugins
simjoubert
simjoubert
Administrateurs
Administrateurs
Masculin Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 2163
Points : 4927
Age : 47
Localisation : Val de Marne
Emploi : Paysagiste
https://www.sketchup.simjoubert.com/

Messagesimjoubert Mer 15 Déc 2021 - 15:23

C'etait une astuce que j'avais chiner sur un forum pour éviter que la boite se referme immédiatement sinon en soi elle ne sert a rien !
simjoubert
simjoubert
Administrateurs
Administrateurs
Masculin Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 2163
Points : 4927
Age : 47
Localisation : Val de Marne
Emploi : Paysagiste
https://www.sketchup.simjoubert.com/

Messagesimjoubert Mer 15 Déc 2021 - 19:35

TRANSLATE['Hello'] @Samuel Tallet   content

Merci pour ton énorme travail  bravo
J'ai remis la variable SESSION et remis le test sur la variable la dialogue ne se ferme que si la variable est vide
SESSION[:webkey] = nil
Code:
 # Affiche le dialogue HTML d'aide.
      def self.show_html_dialog
        SESSION[:webkey] = "Aide"
        dialog = UI::HtmlDialog.new(
          dialog_title: NAME,
          preferences_key: 'sj_AddDCFunctions_Help',
          scrollable: true,
          width: 600,
          height: 400
        )
        # On remplit le dialogue HTML avec le fichier HTML écrit sur le disque par la méthode `Help.rewrite_html_file`.
        dialog.set_url(File.join(DIALOGS_DIR, 'help.html'))
        dialog.set_can_close { SESSION[:webkey] == nil }
            SESSION[:webkey] = nil
        dialog.center
        dialog.show
      end

Pour éviter d'avoir plusieurs sous dossier pugin>Simjoubert je me suis pencher sur le code des plugins de Chris Fulmer qui partagent un même sous dossier Chris Fulmer Tools sans être dupliquer.
La méthode consiste à déplacer la création du menu et de la barre d'outils du module vers l'espace de nom et de tester l'existence dudit sous dossier.
son code n'utilisait pas de de fichier load.rb mais uniquement  menu.rb qui fusionnait les 2. Sur mon ancienne version j'avais réussit mais avec ta version j'ai peur de tout casser.
Voici le code

fichier racine sj_add_dc_function.rb
Code:

module SimJoubert
module SJ_ADD_DC_FUNCTIONS
   #Creer une constante de module qui permet de communiquer entre sous module)
   
  
  # Inscrit et charge l'extension.
    require 'sketchup.rb'
    require 'extensions.rb'
    require "su_dynamiccomponents"
    
    NAME = "sj_add_dc_functions"        #EDIT NOM DU DOSSIER PLUGIN ET PREFIS FICHIER (SANS ESPACE EN MINUSCULE)
    UNAME = "sj Add DC Functions"       #EDIT NOM DU PLUGIN ESPACES AUTORISES
    MENU_NAME = "Add DC Functions - Liste des fonctions"       #EDIT NON DU SOUS MENU
    SESSION = Hash.new
    version = "0.9.7"           #EDIT
    desc = "Ajoute des fonctions de clacul pour les formules des attributs des composants dynamiques. Volume, Aire, ChildrenSumAttribut, ChildrenSumSiAtrribut, ParentAttribut."
    copy_year = "2021"
    author = "Simon Joubert"
    
    
  #------edit above---------------------------------------------------------------

    
    extension = SketchupExtension.new UNAME, NAME+"/"+NAME+"_menus.rb"

    #The name= method sets the name which appears for an extension inside the Extensions Manager dialog.
    extension.name = UNAME

    # The description= method sets the long description which appears beneath an extension inside the Extensions Manager dialog.
    extension.description = desc + "  Access it via Plugins > Simon Joubert Tools > "+MENU_NAME

    # The version method sets the version which appears beneath an extension inside the Extensions Manager dialog.
    extension.version = version

    # Create an entry in the Extension list that loads a script called
    # stairTools.rb.
    extension.copyright = copy_year
      
    # The creator= method sets the creator string which appears beneath an extension inside the Extensions Manager dialog.
    extension.creator = author

    # The register_extension method is used to register an extension with SketchUp's extension manager (in SketchUp preferences).
    Sketchup.register_extension( extension, true )
    
  end

    

end


Fichier sj_add_dc_functions_menu.rb

Code:

module SimJoubert
   module SJ_ADD_DC_FUNCTIONS
        require 'sketchup.rb'
      require NAME+'/'+'FonctionsDefinition.rb'
      require NAME+'/'+'FonctionsTexte.rb'
      require NAME+'/'+'FonctionsRotation.rb'
      require NAME+'/'+'FonctionsMatiere.rb'
      require NAME+'/'+'FonctionsNested.rb'
      require NAME+'/'+'FonctionsEnscape.rb'
      require NAME+'/'+'FonctionsBooleennes.rb'
      require NAME+'/'+'FonctionsAirVolume.rb'
      require NAME+'/'+'FonctionsLayerTags.rb'
      require NAME+'/'+'FonctionsTexte3D.rb'
      require NAME+'/'+ NAME+'_aide.rb'

    end #fin module

    #***********************************************
    #CODE DANS L'ESPACE DE NOM Simjoubert
    #***********************************************

    def self.icon_extension
        Sketchup.platform == :platform_osx ? '.pdf' : '.svg'
    end
  
    if !file_loaded?('sj_menu2_loader') then
        @@sj_tools_menu = UI.menu("Plugins").add_submenu("Simon Joubert Tools")
    end
    
   #------New menu Items---------------------------
   if !file_loaded?('sj_ew_loader')
      @@sj_ew_menu = @@sj_tools_menu.add_submenu("-=My plugins=-")
      @@sj_ew_menu.add_item("Discovers my plugins"){UI.openURL "https://www.sketchup.simjoubert.com/my-plugins.html"}
        @@sj_tools_menu.add_separator
        @@sj_ew_menu.add_separator
   end
     @@sj_ew_menu.add_item(SJ_ADD_DC_FUNCTIONS::MENU_NAME+" Page"){UI.openURL "https://www.sketchup.simjoubert.com/my-plugins/1-plugins/3-sj-redrawcollection.html"}
   #------------------------------------------------
    if !file_loaded?(__FILE__)
        toolbar = UI::Toolbar.new "Add DC Function - Aide"
      cmd1 = UI::Command.new(SJ_ADD_DC_FUNCTIONS::MENU_NAME) {SJ_ADD_DC_FUNCTIONS.aide_cmd()}
      @@sj_tools_menu.add_item cmd1
      cmd1.small_icon = cmd1.large_icon = "./Toolbar Icons/help2" + icon_extension
      cmd1.tooltip = "Affiche une boite de dialogue avec la liste des fonctions ajoutées par le plugin"
      toolbar = toolbar.add_item cmd1
    
        state = toolbar.get_last_state
        if (state == TB_VISIBLE)
            toolbar.restore
            # Per bug 2902434, adding a timer call to restore the toolbar. This
            # fixes a toolbar resizing regression on PC as the restore() call
            # does not seem to work as the script is first loading.
            UI.start_timer(0.1, false) {
            toolbar.restore
            }
        end
    
    
    
    end

    file_loaded('sj_ew_loader')    
    file_loaded('sj_menu2_loader')
    file_loaded(__FILE__)

end

comment faire pour transformer le fichier load/ toolbar et menu de ta version pour faire la même chose Car tu as découper les appels avec une méthode menu et tu as ajouter les require . il y a une chronologie des appels à respecter mais je n'arrive pas à bien décrypter.
et je ne sais pas comment de l’espace de nom on appel une méthode d'un sous module.

Bref j'ai besoin encore d'un coupe de main.  gentleman

J'ai modifier sur le même concept sj_addDCAttribut et sj_redraw_Collection et c'est plus pro comme hierarchie
 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Captu134

Je continue d'explorer mais tout fonctionne  bien  bravo  [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 IPB_917
JDD
JDD
Moulin à parole
Moulin à parole
Masculin Humeur : Cool
Date d'inscription : 21/05/2021
Nombre de messages : 597
Points : 1434
Age : 73
Localisation : Nord (59)
Emploi : Director of Myself

MessageJDD Jeu 16 Déc 2021 - 9:32

Bonjour  @simjoubert

Juste 2 observations mineures à la lecture de ta conversation :

Que vient faire dans ton code le script "StairTools.rb" ?
Dans la description de l'extension, la coquille "clacul " toujours pas corrigée et signalée en page 3 ci-avant.
Pour le reste, c'est-à-dire pour l'essentiel, Maître  @Samuel Tallet, ne devrait pas tarder à nous éclairer.

JDD
tenrev
tenrev
FONDATEUR DE BIBLIO3D
FONDATEUR DE BIBLIO3D
Masculin Humeur : excellente comme toujours
Date d'inscription : 19/01/2008
Nombre de messages : 18878
Points : 32497
Age : 59
Localisation : Dans la quatrieme dimension
Emploi : archi d'intérieur salarié
https://www.biblio3d.com

Messagetenrev Jeu 16 Déc 2021 - 11:27

hello les amis

du coup après relecture , petite faute

 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Image_23

a+

-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage 
1 PC fixe avec proc Rizen 9 3950X 32 threads - cg nvidia geforce RTX3080  - 64 go de ram DDssd 1To
1 PC portable MSI TITAN PRO écran 17''|win10 64 bits| i7 Quad core|ram 32go| CG GFORCE GTX1080 avec 8go
1 casque VR Occulus Rift - 1 vieux PC portable Dell sous Linux Ubuntu 18    1 vieux pc portable HP sous chromebook
Modélisation : Sketchup - Rhino - Pconplanner   Rendu: Enscape - Keyshot - Unreal Engine - Artlantis - Twinmotion   Autres: Photoshop - Illustrator - Indesign - Vidéostudio - After Effect - Première

 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 575088biblio3d
simjoubert
simjoubert
Administrateurs
Administrateurs
Masculin Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 2163
Points : 4927
Age : 47
Localisation : Val de Marne
Emploi : Paysagiste
https://www.sketchup.simjoubert.com/

Messagesimjoubert Jeu 16 Déc 2021 - 11:42

JDD a écrit:Bonjour  @simjoubert

Juste 2 observations mineures à la lecture de ta conversation :

Que vient faire dans ton code le script "StairTools.rb" ?
Dans la description de l'extension, la coquille "clacul " toujours pas corrigée et signalée en page 3 ci-avant.
Pour le reste, c'est-à-dire pour l'essentiel, Maître  @Samuel Tallet, ne devrait pas tarder à nous éclairer.

JDD

StairTools.rb est préfixé avec un # c'est donc une ligne commentée! c'est un vestige du fichier source que j'avais pris pour modèle donc pas de panique !
pour la description de l'extension il y a un todo de Samuel dans sa version pour insérer le Translate et c'est pas encore fait et la dyslexie à la vie longue !
 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Captu136

Je regarde si la coquille trouvée par Jack persiste dans le fichier translate de Samuel


Dernière édition par simjoubert le Jeu 16 Déc 2021 - 11:49, édité 1 fois
simjoubert
simjoubert
Administrateurs
Administrateurs
Masculin Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 2163
Points : 4927
Age : 47
Localisation : Val de Marne
Emploi : Paysagiste
https://www.sketchup.simjoubert.com/

Messagesimjoubert Jeu 16 Déc 2021 - 11:47

dans le fichier lang de Samuel pas de coquille
 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Captu135
Samuel Tallet
Samuel Tallet
V.I.P.
V.I.P.
Masculin Date d'inscription : 15/04/2018
Nombre de messages : 827
Points : 2356
Age : 36
Localisation : Marseille, France
Emploi : Développeur Web

MessageSamuel Tallet Jeu 16 Déc 2021 - 13:03

Bonjour @simjoubert sourire

Pour empêcher la duplication du sous-menu "Sim Joubert", il suffit de modifier uniquement le fichier "menu.rb" de chacun de tes plugins comme suit :

Code:

require 'sketchup'
require 'sj_AddDCFunctions/help'

# Espace de noms de l'auteur.
module SimJoubert
  # S'il n'est pas déjà défini :
  unless const_defined?('AUTHOR_MENU')
    # Ajoute le sous-menu de l'auteur dans le menu des extensions SketchUp.
    AUTHOR_MENU = UI.menu('Plugins').add_submenu('Sim Joubert')
    AUTHOR_MENU.add_item('Discover my plugins') do
      UI.openURL('https://www.sketchup.simjoubert.com/my-plugins')
    end
  end
  # Espace de noms du plugin.
  module AddDCFunctions
    # Menu.
    module Menu
      # Ajoute le sous-menu du plugin dans le sous-menu de l'auteur.
      def self.add
        plugin_menu = AUTHOR_MENU.add_submenu(NAME)
        plugin_menu.add_item(TRANSLATE['Functions list']) { Help.show_html_dialog }
      end
    end
  end
end

-------------------------------------------------------------------------------------------------------------------------
Galerie Plugins

tenrev, JDD et simjoubert aiment ce message

simjoubert
simjoubert
Administrateurs
Administrateurs
Masculin Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 2163
Points : 4927
Age : 47
Localisation : Val de Marne
Emploi : Paysagiste
https://www.sketchup.simjoubert.com/

Messagesimjoubert Jeu 16 Déc 2021 - 13:10

Je suis encore dans ma compta mais j'arrive presque au bout !
je regarde des que possible
Merci Samuel

j'ai regardé rapido le fichier js qui a fait une cure d'amaigrissement ! woah il faut que que comprenne !
Donc ne part pas trop loin !
mojito

tenrev et Samuel Tallet aiment ce message

simjoubert
simjoubert
Administrateurs
Administrateurs
Masculin Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 2163
Points : 4927
Age : 47
Localisation : Val de Marne
Emploi : Paysagiste
https://www.sketchup.simjoubert.com/

Messagesimjoubert Ven 17 Déc 2021 - 23:44





MISE A JOUR

 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Help2Dernière version sj Add DC Functions 0.9.6 MAJ du 17/12/2021
Lien de téléchargement : sj-add-dc-functions



DÉSINSTALLER L'ANCIENNE VERSION AU PRÉALABLE

### NOTES VERSIONS:

v.9.6 2021/12/17
   Un énorme travail de restructuration du code a été opéré par Samuel Tallet pour faciliter la maintenance du code et de sa traduction.
   Mille mercis  @Samuel Tallet  !  bravo  copains
   Harmonisation du plugin dans la collection SJ_DC_TOOLS (sj_add_dc_functions, sj_add_attribute, sj_redraw_dc_collection)
   Fusion des menus SimJoubert qui se dupliquaien en SimJoubert Tools.
   Fusion de la barre d'outil avec les autre plugins de la collection
   L'ensemble du plugin est traduit automatiquement selon la langue de Sketchup
   Fichier langue dispo Anglais, Français
Le clic sur le bouton sélectionne la fonction avec sa liste et les copie dans le presse-papier.


Dernière édition par simjoubert le Mer 23 Mar 2022 - 18:58, édité 1 fois

Samuel Tallet aime ce message

tenrev
tenrev
FONDATEUR DE BIBLIO3D
FONDATEUR DE BIBLIO3D
Masculin Humeur : excellente comme toujours
Date d'inscription : 19/01/2008
Nombre de messages : 18878
Points : 32497
Age : 59
Localisation : Dans la quatrieme dimension
Emploi : archi d'intérieur salarié
https://www.biblio3d.com

Messagetenrev Lun 17 Jan 2022 - 9:49

salut Simon @simjoubert

je pense ne pas me tromper en disant qu'il n'existe pas de moyen pour l'instant pour changer le point d'insertion d'un sous composant dans un composant dynamique selon une condition donnée

par exemple un sous composant qui se copie en translation et au bout de la x copies il pivote selon un angle et selon une nouvelle position de sont point de pivot ?

donc je poste ici car peut être la possibilité d'avoir une fonction qui pourrait le faire ?

a+ mon ami


-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage 
1 PC fixe avec proc Rizen 9 3950X 32 threads - cg nvidia geforce RTX3080  - 64 go de ram DDssd 1To
1 PC portable MSI TITAN PRO écran 17''|win10 64 bits| i7 Quad core|ram 32go| CG GFORCE GTX1080 avec 8go
1 casque VR Occulus Rift - 1 vieux PC portable Dell sous Linux Ubuntu 18    1 vieux pc portable HP sous chromebook
Modélisation : Sketchup - Rhino - Pconplanner   Rendu: Enscape - Keyshot - Unreal Engine - Artlantis - Twinmotion   Autres: Photoshop - Illustrator - Indesign - Vidéostudio - After Effect - Première

 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 575088biblio3d
simjoubert
simjoubert
Administrateurs
Administrateurs
Masculin Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 2163
Points : 4927
Age : 47
Localisation : Val de Marne
Emploi : Paysagiste
https://www.sketchup.simjoubert.com/

Messagesimjoubert Lun 17 Jan 2022 - 19:40

tenrev a écrit:salut Simon   @simjoubert

je pense ne pas me tromper en disant qu'il n'existe pas de moyen pour l'instant pour changer le point d'insertion d'un sous composant dans un composant dynamique selon une condition donnée

par exemple un sous composant qui se copie en translation et au bout de la x copies il pivote selon un angle et selon une nouvelle position de sont point de pivot ?

donc je poste ici car peut être la possibilité d'avoir une fonction qui pourrait le faire ?

a+ mon ami

Hello Jack J'ai un peu de mal à visualiser, la journée à été physique et j'ai un peu de mal à me câbler. Aurais-tu une petite capture d'un exemple de ce que tu voudrais ?
Un sous composant peut combiner une translation et une rotation selon une condition, mais je ne pense pas que ce soit ta question ?
 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Captu143
tenrev
tenrev
FONDATEUR DE BIBLIO3D
FONDATEUR DE BIBLIO3D
Masculin Humeur : excellente comme toujours
Date d'inscription : 19/01/2008
Nombre de messages : 18878
Points : 32497
Age : 59
Localisation : Dans la quatrieme dimension
Emploi : archi d'intérieur salarié
https://www.biblio3d.com

Messagetenrev Mar 18 Jan 2022 - 8:47

@simjoubert

oui ca je sais faire , mon ami , une translation et une rotation d'un composant lors d'une copie

ce que je pensais , c'est de pouvoir changer l'axe d'une copie , par exemple dans mon cas (voir capture écran) pour la copie 3 , il change sont point de pivot , ce qui pourrait permettre une rotation  complétement différente à une partie des composants dupliqués

 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Captu336

pour l'instant si je fais des composants qui se dupliquent selon plusieurs courbes , je n'ai trouvé que la solution d'avoir plusieurs fois le même composant masqué  et de ne révéler le composant que lorsque je change de direction dans ma courbure (voir ma capture) je suis obligé d'avoir plusieurs composants car le point de pivot change

 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Captu335

a+ mon ami

-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage 
1 PC fixe avec proc Rizen 9 3950X 32 threads - cg nvidia geforce RTX3080  - 64 go de ram DDssd 1To
1 PC portable MSI TITAN PRO écran 17''|win10 64 bits| i7 Quad core|ram 32go| CG GFORCE GTX1080 avec 8go
1 casque VR Occulus Rift - 1 vieux PC portable Dell sous Linux Ubuntu 18    1 vieux pc portable HP sous chromebook
Modélisation : Sketchup - Rhino - Pconplanner   Rendu: Enscape - Keyshot - Unreal Engine - Artlantis - Twinmotion   Autres: Photoshop - Illustrator - Indesign - Vidéostudio - After Effect - Première

 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 575088biblio3d
simjoubert
simjoubert
Administrateurs
Administrateurs
Masculin Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 2163
Points : 4927
Age : 47
Localisation : Val de Marne
Emploi : Paysagiste
https://www.sketchup.simjoubert.com/

Messagesimjoubert Mar 18 Jan 2022 - 9:11

Ok jack
Changer la défini d’un composant sans le rendre unique modifie toutes instances !
Il fAut que tu places les géométries de ton sous composant dans un sous sous composant que tu Déplacera de manière conditionnel sur le numéro de copy de son parent pour simuler le changement d’axes
Je reprends la discussion plus tard je dois filer

tenrev aime ce message

tenrev
tenrev
FONDATEUR DE BIBLIO3D
FONDATEUR DE BIBLIO3D
Masculin Humeur : excellente comme toujours
Date d'inscription : 19/01/2008
Nombre de messages : 18878
Points : 32497
Age : 59
Localisation : Dans la quatrieme dimension
Emploi : archi d'intérieur salarié
https://www.biblio3d.com

Messagetenrev Mar 18 Jan 2022 - 9:16

simjoubert a écrit:Ok jack
Changer la défini d’un composant sans le rendre unique modifie toutes instances !
Il fAut que tu places les géométries de ton sous composant dans un sous sous composant que tu Déplacera de manière conditionnel sur le numéro de copy de son parent pour simuler le changement d’axes
Je reprends la discussion plus tard je dois filer

fou aie hmm pas d'urgence camarade , mais moi pas tout comprendre siffle gne mdr3

-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage 
1 PC fixe avec proc Rizen 9 3950X 32 threads - cg nvidia geforce RTX3080  - 64 go de ram DDssd 1To
1 PC portable MSI TITAN PRO écran 17''|win10 64 bits| i7 Quad core|ram 32go| CG GFORCE GTX1080 avec 8go
1 casque VR Occulus Rift - 1 vieux PC portable Dell sous Linux Ubuntu 18    1 vieux pc portable HP sous chromebook
Modélisation : Sketchup - Rhino - Pconplanner   Rendu: Enscape - Keyshot - Unreal Engine - Artlantis - Twinmotion   Autres: Photoshop - Illustrator - Indesign - Vidéostudio - After Effect - Première

 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 575088biblio3d
simjoubert
simjoubert
Administrateurs
Administrateurs
Masculin Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 2163
Points : 4927
Age : 47
Localisation : Val de Marne
Emploi : Paysagiste
https://www.sketchup.simjoubert.com/

Messagesimjoubert Mar 18 Jan 2022 - 11:28

J'ai une grosse demi-heure après je repars !

Actuellement tu as ton composant linéaire d'étagères dans lequel tu as un sous composant module courbe qui est copié ! On a une hiérarchie à 2 niveaux

Dans ton cas présent avec un peu de calcul trigonométrique on doit pouvoir sans sortir finalement ton sous composant subit simplement une translation en X et en Y et une rotation, quel que soit son numéro de copy

Pour alléger les calculs, tu peux aussi insérer ton module courbe dans un composant vide que l'on nommera module_axe. On a une hiérarchie à 3 niveaux

C'est ce nouveau composant qui serait copié dans le composant linéaire d'étagères. Avec une translation simple et selon son numéro de copy le sous-sou-composant module subirait une rotation de 180°-angle des segments de courbe. Et une translation. Ainsi tu simules le changement d'axes.

Pour le sous composant module axe il peuvent en x être soit en x1 ou en x2
en y si serie 1 y=y1 si serie 2 y = y2 ...
ou y2 = nbr module serie 1 * rayon externe*sin(angle_segment)

tenrev
tenrev
FONDATEUR DE BIBLIO3D
FONDATEUR DE BIBLIO3D
Masculin Humeur : excellente comme toujours
Date d'inscription : 19/01/2008
Nombre de messages : 18878
Points : 32497
Age : 59
Localisation : Dans la quatrieme dimension
Emploi : archi d'intérieur salarié
https://www.biblio3d.com

Messagetenrev Mar 18 Jan 2022 - 14:31

simjoubert a écrit:J'ai une grosse demi-heure après je repars !

Actuellement tu as ton composant linéaire d'étagères dans lequel tu as un sous composant module courbe qui est copié  ! On a une hiérarchie à 2 niveaux

Dans ton cas présent avec un peu de calcul trigonométrique on doit pouvoir sans sortir finalement ton sous composant subit simplement une translation en X et en Y et une rotation, quel que soit son numéro de copy

Pour alléger les calculs, tu peux aussi insérer ton module courbe dans un composant vide que l'on nommera module_axe. On a une hiérarchie à 3 niveaux

C'est ce nouveau composant qui serait copié dans le composant linéaire d'étagères. Avec une translation simple et selon son numéro de copy le sous-sou-composant module subirait une rotation de 180°-angle des segments de courbe. Et une translation. Ainsi tu simules le changement d'axes.

Pour le sous composant module axe il peuvent en x être soit en x1 ou en x2
en y si serie 1 y=y1 si serie 2 y = y2 ...
ou y2 = nbr module serie 1 * rayon externe*sin(angle_segment)



hello Simon

oui tu as complétement raison et c'est ce que j'ai déja fait du coup , sauf que j'ai pas donné la condition : à partir de la x copie je pars dans l'autre sens

pour simplifier j'ai fait 3 composants , mais pour les formules ca revient au même pour les translations il faut retrouver avec la trigo le nouveau centre de rotation c 'est ce que j'ai fait
mais je vais adopter ta méthode ca me permettra d'avoir un seul module de base

merci camarade a +



-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage 
1 PC fixe avec proc Rizen 9 3950X 32 threads - cg nvidia geforce RTX3080  - 64 go de ram DDssd 1To
1 PC portable MSI TITAN PRO écran 17''|win10 64 bits| i7 Quad core|ram 32go| CG GFORCE GTX1080 avec 8go
1 casque VR Occulus Rift - 1 vieux PC portable Dell sous Linux Ubuntu 18    1 vieux pc portable HP sous chromebook
Modélisation : Sketchup - Rhino - Pconplanner   Rendu: Enscape - Keyshot - Unreal Engine - Artlantis - Twinmotion   Autres: Photoshop - Illustrator - Indesign - Vidéostudio - After Effect - Première

 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 575088biblio3d
simjoubert
simjoubert
Administrateurs
Administrateurs
Masculin Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 2163
Points : 4927
Age : 47
Localisation : Val de Marne
Emploi : Paysagiste
https://www.sketchup.simjoubert.com/

Messagesimjoubert Mar 18 Jan 2022 - 14:55

De nada Patron !
simjoubert
simjoubert
Administrateurs
Administrateurs
Masculin Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 2163
Points : 4927
Age : 47
Localisation : Val de Marne
Emploi : Paysagiste
https://www.sketchup.simjoubert.com/

Messagesimjoubert Sam 22 Jan 2022 - 19:07

Hello les amis !

J'ai ajouté une nouvelle famille de fonction dans la version 9.7 du plugin sj Add DCFunctions
La famille ARRAY (tableau en français).

Un array est un type de donnée en code qui liste des valeurs, qui peuvent être du texte, des nombres ou des sous tableaux. L'avantage des arrays c'est qu'ils ont ordonnés. Et on peut facilement récupérer une valeur depuis sont index.

Dans les fonctions natives de Su il y a la fonction liste qui s'en rapproche, elle permet de définir une valeur selon son index dans la liste, mais vous êtes obligé d'écrire à chaque fois la liste, calcule inclus. Mon approche est de définir la liste dans un array puis vous pourrez faire les calculs dessus, connaitre sa longueur, une valeur depuis son index et la somme cumulée jusqu'à  l'index défini. Il n'y a qu'une liste à mettre à jour.

Pour répondre à  Jack @tenrev  et ses linéaires d'étagères courbes j'ai créé la fonction DONUT_ARRAY
Elle permet de créer 3 arrays avec les coordonnées en X, Y et la rotation Z pour chaque copie d'un chemin courbe. et un attribut nombres de copy.

Une fois les arrays crées, il n'y plus qu'a utilisé dans les formules du sous composant courbe la fonction ARRAY_VALUE (Nom de l'array, l'index de la copy) et on récupère la valeur correspondante dans le tableau.

L'origine du sous composant doit-être le sommet de l'angle décrit par la courbure.

En image cela donne :
 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Dunut_10

Encore merci à  @Samuel Tallet  car l'ajout d'une nouvelle famille et de fonctions est super simple !

Si œil de lynx  @JDD veux bien vérifier l'orthographe et la traduction ?

Il me reste à mettre en ligne la nouvelle version.

mojito


Dernière édition par simjoubert le Sam 22 Jan 2022 - 19:27, édité 1 fois

tenrev, JDD et Samuel Tallet aiment ce message

simjoubert
simjoubert
Administrateurs
Administrateurs
Masculin Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 2163
Points : 4927
Age : 47
Localisation : Val de Marne
Emploi : Paysagiste
https://www.sketchup.simjoubert.com/

Messagesimjoubert Sam 22 Jan 2022 - 19:21





MISE A JOUR

 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Help2Dernière version sj Add DC Functions 0.9.7 MAJ du 22/01/2022
Lien de téléchargement : sj-add-dc-functions



DÉSINSTALLER L'ANCIENNE VERSION AU PRÉALABLE si vous faites une mise à jour d'une version inférieure à 9.6

### NOTES VERSIONS :

v.9.7 2022/01/22
   Ajoute la famille de fonction Array/tableau

   ARRAY(name,valeurs séparées par des virgules) créer 1 attribut array au format array avec la liste des valeurs passées en paramètre.

   ARRAY_LENGTH(Array_name) retourne la longueur du tableau (nombre de valeurs)

   ARRAY_VALUE(Array_name, Numero_index) retourne la valeur correspondant à l'index.

   ARRAY_SUM (Array_name, Numéro_index) retourne la somme cumulée jusqua l'inex inclus.

   DONNUT_ARRAY (rayon_interne, rayon_externe, angle, prefix, chemin) retourne 3 attributs array correspondant aux coordonnées X, Y et de rotation Z. Et un attribut nombre de copies.
   Les attributs créés décrivent les coordonnées pour chaque copie d'un tronçon de donut.
   Le chemin est représenté par une liste de 1 ou -1 séparés par des virgules. Indiquant le sens du tronçon courbe vers la droite ou vers la gauche.


Dernière édition par simjoubert le Mer 23 Mar 2022 - 18:59, édité 1 fois

tenrev et JDD aiment ce message

tenrev
tenrev
FONDATEUR DE BIBLIO3D
FONDATEUR DE BIBLIO3D
Masculin Humeur : excellente comme toujours
Date d'inscription : 19/01/2008
Nombre de messages : 18878
Points : 32497
Age : 59
Localisation : Dans la quatrieme dimension
Emploi : archi d'intérieur salarié
https://www.biblio3d.com

Messagetenrev Dim 23 Jan 2022 - 21:54

Merci @simjoubert Simon

C est cool ces nouvelles fonction , je fais la mise à jour , encore merci pour ton travail

-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage 
1 PC fixe avec proc Rizen 9 3950X 32 threads - cg nvidia geforce RTX3080  - 64 go de ram DDssd 1To
1 PC portable MSI TITAN PRO écran 17''|win10 64 bits| i7 Quad core|ram 32go| CG GFORCE GTX1080 avec 8go
1 casque VR Occulus Rift - 1 vieux PC portable Dell sous Linux Ubuntu 18    1 vieux pc portable HP sous chromebook
Modélisation : Sketchup - Rhino - Pconplanner   Rendu: Enscape - Keyshot - Unreal Engine - Artlantis - Twinmotion   Autres: Photoshop - Illustrator - Indesign - Vidéostudio - After Effect - Première

 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 575088biblio3d
tenrev
tenrev
FONDATEUR DE BIBLIO3D
FONDATEUR DE BIBLIO3D
Masculin Humeur : excellente comme toujours
Date d'inscription : 19/01/2008
Nombre de messages : 18878
Points : 32497
Age : 59
Localisation : Dans la quatrieme dimension
Emploi : archi d'intérieur salarié
https://www.biblio3d.com

Messagetenrev Lun 24 Jan 2022 - 9:50

simjoubert a écrit:Pour répondre à  Jack @tenrev  et ses linéaires d'étagères courbes j'ai créé la fonction DONUT_ARRAY
Elle permet de créer 3 arrays avec les coordonnées en X, Y et la rotation Z pour chaque copie d'un chemin courbe. et un attribut nombres de copy.

Une fois les arrays crées, il n'y plus qu'a utilisé dans les formules du sous composant courbe la fonction ARRAY_VALUE (Nom de l'array, l'index de la copy) et on récupère la valeur correspondante dans le tableau.

L'origine du sous composant doit-être le sommet de l'angle décrit par la courbure.

salut Simon @simjoubert
pour que je comprenne bien ...je manque de neurones , peux tu poster le fichier sketchup du composant dynamique de tes courbes qui suivent leur chemin en serpentin

merci par avance mon ami

a+

-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage 
1 PC fixe avec proc Rizen 9 3950X 32 threads - cg nvidia geforce RTX3080  - 64 go de ram DDssd 1To
1 PC portable MSI TITAN PRO écran 17''|win10 64 bits| i7 Quad core|ram 32go| CG GFORCE GTX1080 avec 8go
1 casque VR Occulus Rift - 1 vieux PC portable Dell sous Linux Ubuntu 18    1 vieux pc portable HP sous chromebook
Modélisation : Sketchup - Rhino - Pconplanner   Rendu: Enscape - Keyshot - Unreal Engine - Artlantis - Twinmotion   Autres: Photoshop - Illustrator - Indesign - Vidéostudio - After Effect - Première

 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 575088biblio3d
simjoubert
simjoubert
Administrateurs
Administrateurs
Masculin Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 2163
Points : 4927
Age : 47
Localisation : Val de Marne
Emploi : Paysagiste
https://www.sketchup.simjoubert.com/

Messagesimjoubert Lun 24 Jan 2022 - 10:56

Hello Jack
Pour modéliser le sous-composant Donut qui sera répliqué.

 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Sous_c10

Étape 2
Le sous-composant donut est encapsulé dans un composant donut.
On crée 4 attributs 1 pour la formule (voire étape 3, et 3 autres avec les valeurs de rayon interne, rayon externe et angle su sous-composant donut (scd).
 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Donut_10

Etape 3
On saisit la formule qui va générer 4 attributs dont les noms sont préfixés par le 4ᵉ paramètre de la formule.
Code:
donut_ini = DONUT_PATH(Rayon_interne, Rayon_Externe, Angle, Préfix, 1 ou -1, 1ou-1, 1 ou -1 ....)
 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Donut_11
L'orientation de chaque copy ajusté à la précédente, elles sont soit 1 le sdc tourne vers la gauche et -1 il tourne vers la droite)

Les attributs arrays sont les valeurs attendues en x y, et en rotation z pour chaque copy du scd.

Étape 4

Formule dans le sous composant sdc

On utilise la fonction ARRAY_VALUE(Nom de l'attribut array , index valeur recherchée dans le tableau array)

Il faudra taper le nom de l'attribut, car le clic sur l'attribut pour l'insérer dans la formule ne fonctionne pas complètement.

 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Donut_12

Etape 5 modifier la formule Donut_ini en saisissant le chemin souhaité.
 [ SKETCHUP plugins ] sj_AddDCFunctions - Page 6 Donut_13

Les attributs se mettent à jour !

Voilou rien de sorcier mojito
Bon Donuts !


tenrev aime ce message

simjoubert
simjoubert
Administrateurs
Administrateurs
Masculin Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 2163
Points : 4927
Age : 47
Localisation : Val de Marne
Emploi : Paysagiste
https://www.sketchup.simjoubert.com/

Messagesimjoubert Lun 24 Jan 2022 - 11:30

Voici le lien vers le fichier Sketchup Test Function  DONUT_PATH au format SU 2017
https://www.sketchup.simjoubert.com/1-plugins/4-sj-add-dc-functions/6-plugins-sj-add-dc-functions-ressources/7-function-donut-path.html


Dernière édition par simjoubert le Lun 24 Jan 2022 - 12:10, édité 1 fois

Page 6 sur 8 Précédent  1, 2, 3, 4, 5, 6, 7, 8  Suivant

Voir le sujet précédent Voir le sujet suivant Revenir en haut

Créer un compte ou se connecter pour répondre

Vous devez être membre pour répondre.

S'enregistrer

Rejoignez notre communauté ! C'est facile !


S'enregistrer

Connexion

Vous êtes déjà membre ? Aucun soucis, cliquez ici pour vous connecter.


Connexion

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