Ton bloc notes
Derniers sujets
» [ SKETCHUP généralité ] Tête de pilastre
par jerryvento Aujourd'hui à 8:52
» [ CHALLENGE 2024 ] résultats du challenge
par Allansens Aujourd'hui à 8:42
» [ ARCHICAD ] Paramétrage des coupes sur Archicad
par AK40Cess Hier à 14:12
» [ FORUM ] astuce pour insérer facilement un tableau sur le forum
par tenrev Mer 20 Nov 2024 - 9:12
» [ SKETCHUP plugins ] une barre d’outils perso
par tenrev Lun 18 Nov 2024 - 15:05
» [ SKETCHUP généralité ] Orienter 1 Face, 1 Profil Normal (Perpendiculaire) à 1 Arête, 1 Trajectoire
par jerryvento Lun 18 Nov 2024 - 14:47
» [ SKETCHUP généralité ] Modéliser facilement 1 spirale en moins de 40 secondes
par jerryvento Lun 18 Nov 2024 - 14:47
» [ SKETCHUP généralité ] Modélise 1 Forme Hélicoïdale, en forme de spirale : main courante, rampe d'accès voitures...
par jerryvento Lun 18 Nov 2024 - 14:46
» [ SKETCHUP tutos ] Orienter 1 Face, 1 Profil Normal (Perpendiculaire) à 1 Arête, 1 Trajectoire
par jerryvento Lun 18 Nov 2024 - 14:45
» [ SKETCHUP tutos ] Modéliser facilement 1 spirale en moins de 40 secondes
par jerryvento Lun 18 Nov 2024 - 14:44
» [ SKETCHUP tutos ] Modélise 1 Forme Hélicoïdale, en forme de spirale : main courante, rampe d'accès voitures...
par jerryvento Lun 18 Nov 2024 - 14:43
» ColorMaker par Didier Bur[ SKETCHUP plugins ]
par JDD Dim 17 Nov 2024 - 20:56
» [ ARCHICAD ] Plus de format *atl dans Archicad
par Coulou Jeu 14 Nov 2024 - 8:26
» [ SKETCHUP tutos ] Créer des Bibliothèques et des livres aléatoires Facilement (2 Méthodes!)
par tenrev Mar 12 Nov 2024 - 11:31
» [ CHALLENGE 2024 ] les images finales du challenge
par tenrev Lun 11 Nov 2024 - 15:35
» [ SKETCHUP composants dynamiques ] Formule IF
par Samuel MATHIEU Jeu 7 Nov 2024 - 21:12
» [ Challenge 2024] cHallenge archjtexture exterieur ou paysagiste-vick-sketchup-enscape
par vick Jeu 7 Nov 2024 - 10:23
» [ SKETCHUP vray ]
par tenrev Mar 5 Nov 2024 - 21:19
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste- Gaspard Hauser - Sketchup - D5 render
par tenrev Mar 5 Nov 2024 - 10:22
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - JDD - SketchUp - Enscape
par tenrev Mar 5 Nov 2024 - 10:10
» [ ARCHICAD ] Murs paramétriques
par Coulou Lun 28 Oct 2024 - 10:28
» [ SKETCHUP généralité ] Aide pour SKP 2017
par PEGASE Sam 26 Oct 2024 - 18:36
» [ ARCHICAD ] Ajouter du lambris sur un mur
par Coulou Jeu 24 Oct 2024 - 10:43
» [ SKETCHUP généralité ] 1 Citrouille à imprimer pour Halloween
par jerryvento Jeu 24 Oct 2024 - 8:13
» [ SKETCHUP tutos ] 1 Citrouille à imprimer pour Halloween
par jerryvento Jeu 24 Oct 2024 - 8:11
» [ D5_RENDER] Petit exemple "hors sujet" ... D5
par Gaspard Hauser Mar 22 Oct 2024 - 19:59
» [ MATOS INFORM. ] [WINDOWS] Miniatures de prévisualisation pour les fichiers de modèle 3D au format .OBJ, .FBX, .STL, .3DS et +
par Gaspard Hauser Mar 22 Oct 2024 - 19:49
» [ SKETCHUP Layout ] Symboles Électriques sur Layout
par JDD Jeu 17 Oct 2024 - 9:44
» [ ARCHICAD ] gardes corps et profils complexe ?
par Christophe Fortineau Lun 14 Oct 2024 - 12:10
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - allansens - cinema 4D
par Allansens Sam 12 Oct 2024 - 13:53
» [ ARTLANTIS ] Ca donne envie !
par Gaspard Hauser Jeu 10 Oct 2024 - 10:00
» [ TWINMOTION ] Unreal Engine déménage sur Fab - DataSmith & Archicad
par Coulou Jeu 10 Oct 2024 - 9:03
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - AK40Cess - Archicad-Twinmotion
par Coulou Mar 8 Oct 2024 - 11:53
» [ TWINMOTION ] Unreal Engine déménage sur Fab - Assets de Megascan
par JDD Lun 7 Oct 2024 - 21:52
» [ CHALLENGE ARCHITECTURE EXTERIEURE OU PAYSAGISTE ] Démarrage du challenge 2024 - les régles
par tenrev Jeu 3 Oct 2024 - 14:58
par jerryvento Aujourd'hui à 8:52
» [ CHALLENGE 2024 ] résultats du challenge
par Allansens Aujourd'hui à 8:42
» [ ARCHICAD ] Paramétrage des coupes sur Archicad
par AK40Cess Hier à 14:12
» [ FORUM ] astuce pour insérer facilement un tableau sur le forum
par tenrev Mer 20 Nov 2024 - 9:12
» [ SKETCHUP plugins ] une barre d’outils perso
par tenrev Lun 18 Nov 2024 - 15:05
» [ SKETCHUP généralité ] Orienter 1 Face, 1 Profil Normal (Perpendiculaire) à 1 Arête, 1 Trajectoire
par jerryvento Lun 18 Nov 2024 - 14:47
» [ SKETCHUP généralité ] Modéliser facilement 1 spirale en moins de 40 secondes
par jerryvento Lun 18 Nov 2024 - 14:47
» [ SKETCHUP généralité ] Modélise 1 Forme Hélicoïdale, en forme de spirale : main courante, rampe d'accès voitures...
par jerryvento Lun 18 Nov 2024 - 14:46
» [ SKETCHUP tutos ] Orienter 1 Face, 1 Profil Normal (Perpendiculaire) à 1 Arête, 1 Trajectoire
par jerryvento Lun 18 Nov 2024 - 14:45
» [ SKETCHUP tutos ] Modéliser facilement 1 spirale en moins de 40 secondes
par jerryvento Lun 18 Nov 2024 - 14:44
» [ SKETCHUP tutos ] Modélise 1 Forme Hélicoïdale, en forme de spirale : main courante, rampe d'accès voitures...
par jerryvento Lun 18 Nov 2024 - 14:43
» ColorMaker par Didier Bur[ SKETCHUP plugins ]
par JDD Dim 17 Nov 2024 - 20:56
» [ ARCHICAD ] Plus de format *atl dans Archicad
par Coulou Jeu 14 Nov 2024 - 8:26
» [ SKETCHUP tutos ] Créer des Bibliothèques et des livres aléatoires Facilement (2 Méthodes!)
par tenrev Mar 12 Nov 2024 - 11:31
» [ CHALLENGE 2024 ] les images finales du challenge
par tenrev Lun 11 Nov 2024 - 15:35
» [ SKETCHUP composants dynamiques ] Formule IF
par Samuel MATHIEU Jeu 7 Nov 2024 - 21:12
» [ Challenge 2024] cHallenge archjtexture exterieur ou paysagiste-vick-sketchup-enscape
par vick Jeu 7 Nov 2024 - 10:23
» [ SKETCHUP vray ]
par tenrev Mar 5 Nov 2024 - 21:19
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste- Gaspard Hauser - Sketchup - D5 render
par tenrev Mar 5 Nov 2024 - 10:22
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - JDD - SketchUp - Enscape
par tenrev Mar 5 Nov 2024 - 10:10
» [ ARCHICAD ] Murs paramétriques
par Coulou Lun 28 Oct 2024 - 10:28
» [ SKETCHUP généralité ] Aide pour SKP 2017
par PEGASE Sam 26 Oct 2024 - 18:36
» [ ARCHICAD ] Ajouter du lambris sur un mur
par Coulou Jeu 24 Oct 2024 - 10:43
» [ SKETCHUP généralité ] 1 Citrouille à imprimer pour Halloween
par jerryvento Jeu 24 Oct 2024 - 8:13
» [ SKETCHUP tutos ] 1 Citrouille à imprimer pour Halloween
par jerryvento Jeu 24 Oct 2024 - 8:11
» [ D5_RENDER] Petit exemple "hors sujet" ... D5
par Gaspard Hauser Mar 22 Oct 2024 - 19:59
» [ MATOS INFORM. ] [WINDOWS] Miniatures de prévisualisation pour les fichiers de modèle 3D au format .OBJ, .FBX, .STL, .3DS et +
par Gaspard Hauser Mar 22 Oct 2024 - 19:49
» [ SKETCHUP Layout ] Symboles Électriques sur Layout
par JDD Jeu 17 Oct 2024 - 9:44
» [ ARCHICAD ] gardes corps et profils complexe ?
par Christophe Fortineau Lun 14 Oct 2024 - 12:10
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - allansens - cinema 4D
par Allansens Sam 12 Oct 2024 - 13:53
» [ ARTLANTIS ] Ca donne envie !
par Gaspard Hauser Jeu 10 Oct 2024 - 10:00
» [ TWINMOTION ] Unreal Engine déménage sur Fab - DataSmith & Archicad
par Coulou Jeu 10 Oct 2024 - 9:03
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - AK40Cess - Archicad-Twinmotion
par Coulou Mar 8 Oct 2024 - 11:53
» [ TWINMOTION ] Unreal Engine déménage sur Fab - Assets de Megascan
par JDD Lun 7 Oct 2024 - 21:52
» [ CHALLENGE ARCHITECTURE EXTERIEURE OU PAYSAGISTE ] Démarrage du challenge 2024 - les régles
par tenrev Jeu 3 Oct 2024 - 14:58
formulaire/diaporama
chaine sketchup.tv
Serveur Discord
[ SKETCHUP plugins ] sj_AddDCFunctions
Page 6 sur 13 • Partagez
Page 6 sur 13 • 1, 2, 3 ... 5, 6, 7 ... 11, 12, 13
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 !
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 !
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 !
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 !
tenrev et Samuel Tallet aiment ce message
- Samuel TalletV.I.P.
- Date d'inscription : 15/04/2018
Nombre de messages : 873
Points : 2465
Age : 38
Localisation : Marseille, France
Emploi : Développeur Web
Avec plaisir Simon !simjoubert a écrit:Super @Samuel Tallet Mille mercis mon ami !
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 ! Ca va, alors ! Je te laisse la remettre dans le fichier "help.rb".
-------------------------------------------------------------------------------------------------------------------------
Galerie | Plugins
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 !
TRANSLATE['Hello'] @Samuel Tallet
Merci pour ton énorme travail
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
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
Fichier sj_add_dc_functions_menu.rb
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.
J'ai modifier sur le même concept sj_addDCAttribut et sj_redraw_Collection et c'est plus pro comme hierarchie
Je continue d'explorer mais tout fonctionne
Merci pour ton énorme travail
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.
J'ai modifier sur le même concept sj_addDCAttribut et sj_redraw_Collection et c'est plus pro comme hierarchie
Je continue d'explorer mais tout fonctionne
- JDDV.I.P.
- Humeur : Cool, œil de lynx à pattes de velours
Date d'inscription : 21/05/2021
Nombre de messages : 1143
Points : 2493
Age : 75
Localisation : Nord (59)
Emploi : Director of Myself
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
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
hello les amis
du coup après relecture , petite faute
a+
du coup après relecture , petite faute
a+
-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage/Salut Invité merci de consulter mon profil/PC fixe Rizen 9 3950 cg RTX3080-64 go de ram DDssd 1To/1 PC portable Lenovo 16'' w11 i7 32go-CG RTX3070 8go/1casque meta Quest 3/1 casque VR Occulus Rift /1 PC portable Dell sous Linux Ubuntu-1 pc portable HP sous chromebook/Raspberry Pi - Arduino / Modélisation :Sketchup-Rhino-Pconplanner-Rendu:Enscape-Keyshot-Unreal Engine-Twinmotion-Autres:Photoshop-Indesign-After Effect-Première pro-Intelligence artificielle -Chatgpt+-Midjourney-Suno-Elevenlabs-Canva
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 !
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
- Samuel TalletV.I.P.
- Date d'inscription : 15/04/2018
Nombre de messages : 873
Points : 2465
Age : 38
Localisation : Marseille, France
Emploi : Développeur Web
Bonjour @simjoubert
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 :
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
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 ! il faut que que comprenne !
Donc ne part pas trop loin !
je regarde des que possible
Merci Samuel
j'ai regardé rapido le fichier js qui a fait une cure d'amaigrissement ! il faut que que comprenne !
Donc ne part pas trop loin !
tenrev et Samuel Tallet aiment ce message
MISE A JOUR
Derniè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 !
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
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 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/Salut Invité merci de consulter mon profil/PC fixe Rizen 9 3950 cg RTX3080-64 go de ram DDssd 1To/1 PC portable Lenovo 16'' w11 i7 32go-CG RTX3070 8go/1casque meta Quest 3/1 casque VR Occulus Rift /1 PC portable Dell sous Linux Ubuntu-1 pc portable HP sous chromebook/Raspberry Pi - Arduino / Modélisation :Sketchup-Rhino-Pconplanner-Rendu:Enscape-Keyshot-Unreal Engine-Twinmotion-Autres:Photoshop-Indesign-After Effect-Première pro-Intelligence artificielle -Chatgpt+-Midjourney-Suno-Elevenlabs-Canva
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 ?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
Un sous composant peut combiner une translation et une rotation selon une condition, mais je ne pense pas que ce soit ta question ?
@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
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
a+ mon ami
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
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
a+ mon ami
-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage/Salut Invité merci de consulter mon profil/PC fixe Rizen 9 3950 cg RTX3080-64 go de ram DDssd 1To/1 PC portable Lenovo 16'' w11 i7 32go-CG RTX3070 8go/1casque meta Quest 3/1 casque VR Occulus Rift /1 PC portable Dell sous Linux Ubuntu-1 pc portable HP sous chromebook/Raspberry Pi - Arduino / Modélisation :Sketchup-Rhino-Pconplanner-Rendu:Enscape-Keyshot-Unreal Engine-Twinmotion-Autres:Photoshop-Indesign-After Effect-Première pro-Intelligence artificielle -Chatgpt+-Midjourney-Suno-Elevenlabs-Canva
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
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
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
pas d'urgence camarade , mais moi pas tout comprendre
-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage/Salut Invité merci de consulter mon profil/PC fixe Rizen 9 3950 cg RTX3080-64 go de ram DDssd 1To/1 PC portable Lenovo 16'' w11 i7 32go-CG RTX3070 8go/1casque meta Quest 3/1 casque VR Occulus Rift /1 PC portable Dell sous Linux Ubuntu-1 pc portable HP sous chromebook/Raspberry Pi - Arduino / Modélisation :Sketchup-Rhino-Pconplanner-Rendu:Enscape-Keyshot-Unreal Engine-Twinmotion-Autres:Photoshop-Indesign-After Effect-Première pro-Intelligence artificielle -Chatgpt+-Midjourney-Suno-Elevenlabs-Canva
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)
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)
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/Salut Invité merci de consulter mon profil/PC fixe Rizen 9 3950 cg RTX3080-64 go de ram DDssd 1To/1 PC portable Lenovo 16'' w11 i7 32go-CG RTX3070 8go/1casque meta Quest 3/1 casque VR Occulus Rift /1 PC portable Dell sous Linux Ubuntu-1 pc portable HP sous chromebook/Raspberry Pi - Arduino / Modélisation :Sketchup-Rhino-Pconplanner-Rendu:Enscape-Keyshot-Unreal Engine-Twinmotion-Autres:Photoshop-Indesign-After Effect-Première pro-Intelligence artificielle -Chatgpt+-Midjourney-Suno-Elevenlabs-Canva
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 :
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.
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 :
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.
Dernière édition par simjoubert le Sam 22 Jan 2022 - 19:27, édité 1 fois
tenrev, JDD et Samuel Tallet aiment ce message
MISE A JOUR
Derniè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
Merci @simjoubert Simon
C est cool ces nouvelles fonction , je fais la mise à jour , encore merci pour ton travail
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/Salut Invité merci de consulter mon profil/PC fixe Rizen 9 3950 cg RTX3080-64 go de ram DDssd 1To/1 PC portable Lenovo 16'' w11 i7 32go-CG RTX3070 8go/1casque meta Quest 3/1 casque VR Occulus Rift /1 PC portable Dell sous Linux Ubuntu-1 pc portable HP sous chromebook/Raspberry Pi - Arduino / Modélisation :Sketchup-Rhino-Pconplanner-Rendu:Enscape-Keyshot-Unreal Engine-Twinmotion-Autres:Photoshop-Indesign-After Effect-Première pro-Intelligence artificielle -Chatgpt+-Midjourney-Suno-Elevenlabs-Canva
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/Salut Invité merci de consulter mon profil/PC fixe Rizen 9 3950 cg RTX3080-64 go de ram DDssd 1To/1 PC portable Lenovo 16'' w11 i7 32go-CG RTX3070 8go/1casque meta Quest 3/1 casque VR Occulus Rift /1 PC portable Dell sous Linux Ubuntu-1 pc portable HP sous chromebook/Raspberry Pi - Arduino / Modélisation :Sketchup-Rhino-Pconplanner-Rendu:Enscape-Keyshot-Unreal Engine-Twinmotion-Autres:Photoshop-Indesign-After Effect-Première pro-Intelligence artificielle -Chatgpt+-Midjourney-Suno-Elevenlabs-Canva
Hello Jack
Pour modéliser le sous-composant Donut qui sera répliqué.
É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).
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.
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.
Etape 5 modifier la formule Donut_ini en saisissant le chemin souhaité.
Les attributs se mettent à jour !
Voilou rien de sorcier
Bon Donuts !
Pour modéliser le sous-composant Donut qui sera répliqué.
É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).
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 ....)
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.
Etape 5 modifier la formule Donut_ini en saisissant le chemin souhaité.
Les attributs se mettent à jour !
Voilou rien de sorcier
Bon Donuts !
tenrev aime ce message
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
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
- Contenu sponsorisé
Page 6 sur 13 • 1, 2, 3 ... 5, 6, 7 ... 11, 12, 13
Sujets similaires
» [ SKETCHUP plugins ] Oob plugins - Plugins top pour le bâtiment réalisés par un français
» [ SKETCHUP plugins ] tutos en plusieurs parties sur la généralité des plugins sketchup
» [ SKETCHUP plugins ] Black friday -30 % à - 50% sur des plugins sketchup
» [ SKETCHUP plugins ] les plugins sketchup que vous utilisez
» [ SKETCHUP plugins ] Certains Plugins de Fredo vont devenir payants!
» [ SKETCHUP plugins ] tutos en plusieurs parties sur la généralité des plugins sketchup
» [ SKETCHUP plugins ] Black friday -30 % à - 50% sur des plugins sketchup
» [ SKETCHUP plugins ] les plugins sketchup que vous utilisez
» [ SKETCHUP plugins ] Certains Plugins de Fredo vont devenir payants!
Créer un compte ou se connecter pour répondre
Vous devez être membre pour répondre.
Page 6 sur 13
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum