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 plugins ] list, nomenclature
par JDD Hier à 11:26

» [ KEYSHOT ] COMMENT CREER UN MATERIAU AVEC PLUSIEURS BUMP
par JDD Hier à 9:35

» [ AUTRES LOGICIELS ] ONSHAPE free
par Pilou Dim 15 Mai 2022 - 2:38

» [ SKETCHUP généralité ] Convertir un fichier 3ds pour Sketchup 2017
par PEGASE Sam 14 Mai 2022 - 16:20

» [ PRESENTATION ] NFSL
par Rascal Ven 13 Mai 2022 - 19:40

» [ ARCHICAD-IMPORT/EXPORT ] TUTO - Exporter un projet entier en DWG de manière efficace.
par Farkas Ven 13 Mai 2022 - 14:53

» [ MATOS INFORM. ] Mac Studio ou PC ?
par freroil Ven 13 Mai 2022 - 11:04

» [ PRESENTATION ] Sebsil11
par freroil Ven 13 Mai 2022 - 10:55

» [ UNREAL ENGINE ] des images enregistrées dans Unreal 5 issues du projet de Matrix
par Fred0079 Ven 13 Mai 2022 - 10:25

» [ WIP ] [Unreal Engine] Création d'un processus de rendu et de co-conception
par tenrev Jeu 12 Mai 2022 - 17:48

» [ TWINMOTION ] A la recherche du fond perdu!
par Pistou Jeu 12 Mai 2022 - 9:28

» [ UNREAL ENGINE ] plugin d’export de Sketchup vers Unreal 5
par simjoubert Mer 11 Mai 2022 - 22:17

» [ AUTRES LOGICIELS ] SPline En ligne
par Pilou Mar 10 Mai 2022 - 13:06

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

» [ SKETCHUP généralité ] HELP EXPORTATION DWG OU DXF
par JDD Lun 9 Mai 2022 - 9:52

» [ SKETCHUP plugins ] plugin blb bois
par Rascal Dim 8 Mai 2022 - 18:25

» [ THEA RENDER ] Bug
par lionel Claude Jeu 5 Mai 2022 - 7:48

» [ TWINMOTION ] CLOTURE GRILLAGEE
par FanouPeb Mer 4 Mai 2022 - 14:50

» [ UNREAL ENGINE ] la version 5 finale est dispo
par tenrev Mer 4 Mai 2022 - 14:07

» [ TWINMOTION ] sortie de la version 2022.2 Preview 1
par tenrev Mer 4 Mai 2022 - 14:01

» [ SKETCHUP Layout ] Freeze des options du modele
par sebsil11 Mar 3 Mai 2022 - 10:55

» [ SKETCHUP Généralités] Comment gerer l'etat d'une balise sur plusieurs scenes en meme temps
par davidheritier Mar 3 Mai 2022 - 10:50

» [ SKETCHUP plugins ] Curic Scene Manager
par tenrev Mar 3 Mai 2022 - 9:42

» [ SKETCHUP généralité ] Formation Brest
par Christophe Fortineau Lun 2 Mai 2022 - 12:53

» [ SKETCHUP plugins ] boolean
par JDD Lun 2 Mai 2022 - 11:55

» [ SKETCHUP plugins ] SJ Batch Export Scenes To Thumbnails
par simjoubert Dim 1 Mai 2022 - 22:20

» [ SKETCHUP ruby ] Récupération des vignettes de rendu de scènes
par simjoubert Sam 30 Avr 2022 - 10:59

» [ AUTRES LOGICIELS ] APC render+
par tenrev Jeu 28 Avr 2022 - 8:20

» [ SKETCHUP généralité ] Conversion objets sketchup en objets artlantis
par ELO2A Mer 27 Avr 2022 - 22:21

» [ SKETCHUP généralité ] bouton d'outils disparus
par furax49 Mer 27 Avr 2022 - 6:58

» [ SKETCHUP généralité ] SECTION, COUPE (+ ONGLET) FACILES d'une Maison, de n'importe quel dessin...
par jerryvento Mar 26 Avr 2022 - 14:31

» [ SKETCHUP tutos ] SECTION, COUPE (+ ONGLET) FACILES d'une Maison, de n'importe quel dessin...
par jerryvento Lun 25 Avr 2022 - 16:03

» [ ENSCAPE ] help rendus par lots
par JDD Lun 25 Avr 2022 - 10:50

» [ SKETCHUP plugins ] SJ XMLTo Enscape Path Video
par JDD Ven 22 Avr 2022 - 13:55

» [ WIP ] Les jours de pluies d 'AK40Cess
par AK40Cess Jeu 21 Avr 2022 - 14:14

[ 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 : 1987
Points : 4551
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 : 800
Points : 2283
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 : 1987
Points : 4551
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 : 1987
Points : 4551
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 : 510
Points : 1206
Localisation : Nord (59)

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 : 18626
Points : 31941
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 : 1987
Points : 4551
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 : 1987
Points : 4551
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 : 800
Points : 2283
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 : 1987
Points : 4551
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 : 1987
Points : 4551
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 : 18626
Points : 31941
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 : 1987
Points : 4551
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 : 18626
Points : 31941
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 : 1987
Points : 4551
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 : 18626
Points : 31941
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 : 1987
Points : 4551
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 : 18626
Points : 31941
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 : 1987
Points : 4551
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 : 1987
Points : 4551
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 : 1987
Points : 4551
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 : 18626
Points : 31941
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 : 18626
Points : 31941
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 : 1987
Points : 4551
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 : 1987
Points : 4551
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