par JDD Aujourd'hui à 10:21
» [ SKETCHUP plugins ] activation des coupes
par JDD Hier à 19:58
» [ ARCHICAD ] ARCHICAD 27 vient de sortir
par Coulou Hier à 18:02
» [ SKETCHUP généralité ] dernière mAJ 2023 pas mal de soucis
par troub Mar 26 Sep 2023 - 10:58
» [ SKETCHUP généralité ] nouvelle MAJ de la 2023.1315 vers 2023.1.329 qui devrait corriger les bugs
par tenrev Mar 26 Sep 2023 - 8:58
» [ SKETCHUP composants dynamiques ]tuto : limiter la taille d'un ensemble entre 50 cm et 100 cm lors d'une mise à l'échelle
par tenrev Dim 24 Sep 2023 - 15:33
» [ SKETCHUP généralité ] Intégration meuble dans une photo
par JDD Dim 24 Sep 2023 - 10:16
» [ SKETCHUP ] Plugin PBR gratuit
par JDD Ven 22 Sep 2023 - 8:58
» [ INTELLIGENCE ARTIFICIELLE ] Un plugin dans chatgpt4 qui permet de générer des vidéos de présentations avec un prompt
par tenrev Jeu 21 Sep 2023 - 14:25
» [ ARTLANTIS ] nouvelle version temps réel (ou iréel ) Artlantis RT²
par Accenteur Ven 15 Sep 2023 - 15:26
» [ ARCHICAD ] Seul les murs s'affichent en 3D
par Brancrow Jeu 14 Sep 2023 - 22:57
» [ BLENDER ] Rendu gratuit de vos animations Blender sur le Cloud de Google Drive avec Google Colab
par simjoubert Jeu 14 Sep 2023 - 10:50
» [ ARTLANTIS ] interface simplifié artlantis 2021
par yannickniort Mer 13 Sep 2023 - 15:37
» [ PRESENTATION ] Quentin par Chatgpt
par freroil Mer 13 Sep 2023 - 15:00
» [ PRESENTATION ] Limp974
par freroil Mer 13 Sep 2023 - 14:47
» [ PRESENTATION ] Awalie, fraîchement arrivée =)
par freroil Mer 13 Sep 2023 - 14:40
» [ ARCHICAD ] version Francaise
par freroil Mer 13 Sep 2023 - 14:11
» [ PRESENTATION ] Aurélie
par freroil Mer 13 Sep 2023 - 14:10
» [ SKETCHUP généralité ] Mise à jour Sketchup
par troub Mer 13 Sep 2023 - 9:40
» [ MATOS INFORM. ] Site informatique Agando
par JDD Lun 11 Sep 2023 - 16:58
» [ ENSCAPE ] tuto sketchup/enscape/photoshop
par Rascal Lun 11 Sep 2023 - 13:33
» [ INTELLIGENCE ARTIFICIELLE ] midjourney et Pika sur discord
par tenrev Jeu 7 Sep 2023 - 9:41
» [ ARCHICAD ] BIM OFFICE
par AurélieViolet Mer 6 Sep 2023 - 11:55
» [ INTELLIGENCE ARTIFICIELLE ] Petit tips Midjourney
par tenrev Mar 5 Sep 2023 - 13:38
» [ SKETCHUP plugins ] miroir de Curic v2 est dispo - gratuit
par tenrev Mar 5 Sep 2023 - 8:50
» [ INTELLIGENCE ARTIFICIELLE ] Mes images Midjourney sur Flickr
par tenrev Mar 5 Sep 2023 - 8:46
» [ THEA RENDER ] lumière vitrail
par Rascal Lun 4 Sep 2023 - 11:30
» [ ARTLANTIS ] PLUG IN ARCHICAD 26 vers Artlantis 2021 ( pas RT.... )
par tenrev Ven 1 Sep 2023 - 9:16
» [ INTELLIGENCE ARTIFICIELLE ] quelques images pour cette rentrée en douceur avec un peu d'humour
par tenrev Jeu 31 Aoû 2023 - 11:31
» [ ENSCAPE ] naviguer dans Enscape avec clavier azerty?
par simjoubert Ven 25 Aoû 2023 - 17:42
» [ ARCHICAD ] Problème d'affichage 2D et 3D escalier avec modules liés
par Coulou Jeu 24 Aoû 2023 - 9:23
» [ ARCHICAD ] Technique d'embrasure pour fenêtre ?
par Coulou Jeu 24 Aoû 2023 - 9:03
» [ SKETCHUP plugins ] Nouveau : Extension de POLIIGON pour SketchUp et V-Ray
par JDD Mer 23 Aoû 2023 - 8:46
» [ BLENDER ] SheepIt ! Renderfarm , ferme de rendu d'animation totalement gratuit pour les utilisateurs de Blender
par simjoubert Lun 21 Aoû 2023 - 10:52
» [ SKETCHUP généralité ] Un autre Challenge SketchUp concrétisé.
par JDD Lun 21 Aoû 2023 - 9:05
[ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
Page 1 sur 4 • 1, 2, 3, 4
[ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166082Je suis pas peu fier de vous soumettre à débogage mon premier plugin "Attribut_rapport"
Vous allez me dire encore un !
Oui c'est vrai encore un ! Mais je vais vous expliquer Pourquoi !

Un modèle n'est bien que s'il se transforme en devis accepté !
On est tous confronté au passage douloureux du quantitatif surtout, si je projet passe par de nombreuses versions.
Dans la réalité nous achetons des volumes des longueurs des unités de choses, de matériaux qui sur un devis se retrouvent tous dans une seule colonne "Quantité".
Le plugin vous propose d'ajouter des attributs universels : Article, Quantité,Unité,Prix unitaire et sous total.
vous sélectionnez un composant que vous allez vendre au volume, clic sur le bouton attribut volume de la barre outil et les attributs se créent et se remplissent.
Votre devis n'est jamais une succession d'articles, il est souvent regroupé en poste, ce plugin vous permet d'ajouter un attribut poste sur forme de liste déroulante. cette liste se met à jour avec les valeurs sauvegardées dans un attribut du modèle.
Idem pour les fournisseurs, pour passer les commandes ou négocier les tarifs plus facilement, et ne rien oublier.
Envi d'appliquer un poste à des composant différents, Il y a un bouton pour cela.
Idem pour le nom de l'article, le prix le fournisseur.
Le but ultime est de sortir en clic un rapport compréhensible et exploitable.
en clic cous générez un csv lu par une copie d'un modèle de fichier Excel.
Le fichier csv et le fichier xlsm sont enregistrés dans un sous dossier portant le nom du modèle.
Dans ce Fichier Excel vous avez plusieurs tableaux issus de requêtes sur le fichier csv. Total postes, total fournisseur, total par articles, articles par postes, articles par fournisseurs... avec des segment pour filtrer facilement. des graphiques pour comprendre...
Vous avez besoin d'ajouter des feuilles de calculs c'est possible! quand vous mettez à jour le fichier csv le fichier xlsm n'est pas modifier! pour actualiser les valeurs ... il y a un bouton pour ça !
l'avantage d'utiliser les composants c'est que l'on peu les réutiliser dans d'autre modèle. lors de l'enregistrement du composant, les attributs rapport sont sauvegardés avec !
Le dernier point comble une lacune de nombreux plugin de rapport. La gestion des couts qui ne se dessinent pas ! Ajouter la main d’œuvre, les déplacement, les couts de livraisons... les vis sur une terrasse en bois... en un clic vous poser un composant "épingle" qui symbolisera la main d’œuvre avec les attributs correspondants. Ils sont placé automatiquement sur le caque balise ATR_Services
![[ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel Main_d10](https://i.servimg.com/u/f70/19/85/19/55/main_d10.png)
Et pour finir je vous dirais qu'il est gratuit !
Et gros bonus pour les apprentis sorcier j'ai commenter le code en Frenchy !
Voici quelques images du plugin en action.
![[ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel Barre_10](https://i.servimg.com/u/f70/19/85/19/55/barre_10.png)
De gauche à droite
Attributs génériques permet de tout faire ... volume, surface, longueur....
Attributs quantités saisies manuellement
les 3 suivants Longueur selon un axe du composant
longueur d'un profil extrudé (il doit posséder un volume = composant solide ) on rentre dans le composant on sélectionne la face du profil et on clic sur le bouton.
Attribut volume
Attribut masse volumique
Mise à jour par lot de l'attribut nom pour les composants sélectionnés
Mise à jour par lot de l'attribut prix unitaire pour les composants sélectionnés
Mise à jour par lot de l'attribut poste pour les composants sélectionnés
Mise à jour par lot de l'attribut fournisseur pour les composants sélectionnés
Gestion de la liste des postes
Gestion de la liste des fournisseurs
Transforme des groupes en composants uniques
Efface les attributs rapport pour la sélection
Export csv xlsm
Place un composant main d’œuvre
Place un composant mise en place (déplacement et préparation du matériel)
place un composant livraison
place un composant déchets verts
...
![[ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel Rappor10](https://i.servimg.com/u/f70/19/85/19/55/rappor10.png)
![[ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel Total_10](https://i.servimg.com/u/f70/19/85/19/55/total_10.png)
N'étant pas encore un pro je ne sais pas si cela fonctionne en dehors de ma machine Windows. alors sur un autre os ?
fonctionne sur SU 2021 je ne sait pas pour les versions antérieures.
Par sécurité ne travailler pas sur des modèles originaux de production. le plugin en est à la version 0.6.3
Voici le fichier rbz . (dézipper pour accéder au rbz puis installation classique.)
J'attends vos commentaires et remontées de bugs !
Pour les pros du code, il y surement des redondances ! merci de m'éclairer !
- Fichiers joints
-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !" ISAÏE 54-2
tenrev aime ce message
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166085c'est super , je viens de le télécharger , je vais étudier cela avec grand intérêt et je remonterai mes impressions
bravo Simon, ça fait plaisir d'avoir un deuxième codeur sur le forum

-------------------------------------------------------------------------------------------------------------------------
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 ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel 575088biblio3d](https://2img.net/r/hpimg15/pics/575088biblio3d.gif)
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166086Pour appellation codeur on attendra d'arriver à la v1.0.0.
![[ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel IPB_917](https://2img.net/h/www.smileys.lu/repository/-Selection_IPB-/IPB_917.gif)
Je vous présente mon travail avec grande joie mais beaucoup d'humilité !
L’apprentissage par l'exemple est douloureux pour les non anglophones !
Donc à tâtons avec beaucoup d’échecs et d'incompréhension et un peu plus tard la compréhension des notions clefs , m'ont permis d'aller un peu plus loin. Et apprendre en créant un plugin de a à z c'est formateur.
Certain grands noms comme TIG ThomTom on publié des plugins one action, simples, ouverts et modifiables. c'est une bonne base d’apprentissage. Et il y a eu un coup de main appréciable de Dan sur le forum de Su.
Il y a encore beaucoup d'amélioration de test si les actions de l’utilisateur sont conformes à l'attendu. Et il faut que j'arrive à comprendre les observateurs qui vont permettent de résoudre des actualisations de listes et de rafraichissement de données.
-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !" ISAÏE 54-2
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166088Moi je suis un observateur qui ne comprend pasSimon a écrit:Il faut que j'arrive à comprendre les observateurs .



-------------------------------------------------------------------------------------------------------------------------
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 ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel 575088biblio3d](https://2img.net/r/hpimg15/pics/575088biblio3d.gif)
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166102Tu as réussi à l'installé ou ça plante dés le début !?
si c'était pas assez didactique :
Il faut sélectionner au moins un composant avant chaque action.
la sélection peut être impure, seule les composants seront pris en compte les groupes recevront mais cela sera actif qu’âpres transformation en composant.
-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !" ISAÏE 54-2
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166103simjoubert a écrit:Hello Jack !
Tu as réussi à l'installé ou ça plante dés le début !?
si c'était pas assez didactique :
Il faut sélectionner au moins un composant avant chaque action.
la sélection peut être impure, seule les composants seront pris en compte les groupes recevront mais cela sera actif qu’âpres transformation en composant.
salut Simon
non pas encore installé , j'ai beaucoup de taf , donc pour l'instant je survole le forum , je prend , je note , mais pour l'instant juste en observateur


-------------------------------------------------------------------------------------------------------------------------
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 ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel 575088biblio3d](https://2img.net/r/hpimg15/pics/575088biblio3d.gif)
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166104
-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !" ISAÏE 54-2
tenrev aime ce message
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166105- Samuel TalletV.I.P.
-
Date d'inscription : 15/04/2018
Nombre de messages : 868
Points : 2448
Age : 37
Localisation : Marseille, France
Emploi : Développeur Web
-------------------------------------------------------------------------------------------------------------------------
Galerie | Plugins
simjoubert aime ce message
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166107Samuel Tallet-Sabathé a écrit:Bravo pour ton premier plugin Simon ! Si j'ai des remarques à propos du code, je te dirais.
Je suis passé de l'autre coté : welcome to the backend !
![[ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel IPB_279](https://2img.net/h/www.smileys.lu/repository/-Selection_IPB-/IPB_279.gif)
Des remarques il y en aura surement beaucoup !
On doit pouvoir simplifier en utilisant des class mais j'avais un peu de mal à transmettre les variables !
Il reste à gérer les observateurs pour fluidifier et les cas ou l’utilisateur lance sans qu'il ai de composants dans la sélection.
Pour un premier jet d'un peu plus de 2500 lignes dont la moitié de commentaire c'est pas mal ! au moins j'ai compris ce que j’écrivais !
merci d'avance
-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !" ISAÏE 54-2
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166108Il faux que je fabrique une macro pour exporter et mettre a jour un fichier en en xls ou xlsx. formats supportés par layout du coup on profite de la mise à jour depuis le panneau référence de layout.
Il faut que je prévois un triple export depuis sketchup un fichier csv un fichier xlsm sui collecte et se met à jour depuis le csv et un troisième xlsx qui est mis à jour depuis le xlsm par querry. dedans pleins de petits tableaux pour placer dans layout
allez
![[ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel IPB_917](https://2img.net/h/www.smileys.lu/repository/-Selection_IPB-/IPB_917.gif)
-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !" ISAÏE 54-2
tenrev et Samuel Tallet aiment ce message
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166119- Samuel TalletV.I.P.
-
Date d'inscription : 15/04/2018
Nombre de messages : 868
Points : 2448
Age : 37
Localisation : Marseille, France
Emploi : Développeur Web
Voici quelques remarques subjectives à propos du code de ce plugin :
- Il y a beaucoup de commentaires. C'est une bonne chose

- Le fichier Attribut_rapport.rb est trop long (+2800 lignes)

- Code:
# excel.rb
module SimJoubert
module AttributRapport
module Excel
def self.generer_rapport
# ...
end
end
end
end
- Code:
# barre_outils.rb
module SimJoubert
module AttributRapport
module BarreOutils
def self.initialiser
# ...
Excel.generer_rapport
# ...
end
end
end
end
Pour partager des données entre les modules, il y a la solution "variable de module" mais je préfère utiliser la solution "constante de module" même si c'est aberrant de changer la valeur d'une constante

- Code:
# sj_attribut_rapport.rb
module SimJoubert
module AttributRapport
SESSION = Hash.new
end
end
- Code:
# excel.rb
module SimJoubert
module AttributRapport
module Excel
def self.generer_rapport
# ...
SESSION[:chemin_rapport_xls] = 'fichier.xls'
# ...
end
end
end
end
- Tu aurais pu écrire le code et les commentaires en anglais puis traduire en français les chaînes de caractères grâce à un fichier de traduction. Après ça dépend si tu veux une portée internationale... ou pas

-------------------------------------------------------------------------------------------------------------------------
Galerie | Plugins
simjoubert aime ce message
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166121Pour le découpage en plusieurs sous modules Ok j'ai pigé. Il faut pas que j'oublie de les référencer dans le fichier load.
Pour ton histoire de liaison entre module la j'ai pas tout pigé.
ce code c'est à placer dans le fichier principal qui est directement dans le dossier Plugin !?
- Code:
# sj_attribut_rapport.rb
module SimJoubert
module AttributRapport
SESSION = Hash.new
end
end
A quelle endroit on déclare la variable session
- Code:
require 'sketchup'
require 'extensions'
module SimJoubert
# TODO:
# Ajouter la détection si la sélection est un groupe et le transformer le cas écheant en composant en récupérant son nom, et le rendre unique si doublon.
#
# Ajouter des attributs regroupement avec le calcule du total des sous totaux des composants enfants
# Ajouter un attribut Code pour faire la liaison avec une base de données
# Ajouter un appercu rapide d'un rapport html
# Ajouter une option paramètres pour ajouter de nouveaux composant dans la barre outils et changer les icones
#BUGS Connus
module AttributRapport
# Inscrit et charge l'extension.
extension = SketchupExtension.new(
'Attribut Rapport',
'sj_attribut_rapport/load.rb'
)
extension.version = '0.6.3'
extension.creator = 'Simon Joubert'
extension.copyright = ":copyright: 2018 #{extension.creator}"
# TODO: Ecrire une description.
extension.description = 'Ajoute des attributs dynamiques pour l\'export de rapports chiffrés, basé sur des quantités issues des longueurs,surfaces ou volumes. permet d\'insèrer des composants avec des attributs rapport prédéfinis '
Sketchup.register_extension(
extension,
true # load_at_start
)
end
end
Une fois le hash Session initialisé
Je suis dans un sous module qui déclare les commande UI comment je fais référence à une définition de méthode_cmd placer dans un autre sous module ?
ex
- Code:
#rapport.rb
Module SimJoubert
Module AttributsRapport
Module Rapport
def export_xls_cmd
...
end
end
end
end
- Code:
#command_menu_barreoutils.rb
Module SimJoubert
Module AttributsRapport
Module CommandeBarreOutilsMenu
cmd32 = UI::Command.new("Export RapportAttributs.xls") { export_xls_cmd()}
cmd33 = UI::Command.new("Import mise à jour attribut rapport csv") { import_csv_maj_attribibut_cmd()}
...
end
end
-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !" ISAÏE 54-2
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166124
-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !" ISAÏE 54-2
tenrev aime ce message
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166125- Samuel TalletV.I.P.
-
Date d'inscription : 15/04/2018
Nombre de messages : 868
Points : 2448
Age : 37
Localisation : Marseille, France
Emploi : Développeur Web
simjoubert a écrit:
Merci Samuel
Il n'y a pas de soucis mon ami

simjoubert a écrit:
Pour ton histoire de liaison entre module la j'ai pas tout pigé. [...]
A quelle endroit on déclare la variable session
- Code:
require 'sketchup'
require 'extensions'
module SimJoubert
# TODO:
# ...
#BUGS Connus
module AttributRapport
# ICI, PAR EXEMPLE
SESSION = Hash.new
# Inscrit et charge l'extension.
extension = SketchupExtension.new(
'Attribut Rapport',
'sj_attribut_rapport/load.rb'
)
extension.version = '0.6.3'
extension.creator = 'Simon Joubert'
extension.copyright = ":copyright: 2018 #{extension.creator}"
# TODO: Ecrire une description.
extension.description = 'Ajoute des attributs dynamiques pour l\'export de rapports chiffrés, basé sur des quantités issues des longueurs,surfaces ou volumes. permet d\'insèrer des composants avec des attributs rapport prédéfinis '
Sketchup.register_extension(
extension,
true # load_at_start
)
end
end
simjoubert a écrit:
Je suis dans un sous module qui déclare les commande UI comment je fais référence à une définition de méthode_cmd placer dans un autre sous module ?
- Code:
# rapport.rb
module SimJoubert
module AttributsRapport
module Rapport
def self.export_xls_cmd
# ...
end
end
end
end
- Code:
# command_menu_barreoutils.rb
module SimJoubert
module AttributsRapport
module CommandeBarreOutilsMenu
cmd32 = UI::Command.new("Export RapportAttributs.xls") {
# COMME CECI
Rapport.export_xls_cmd()
}
# ...
end
end
end
-------------------------------------------------------------------------------------------------------------------------
Galerie | Plugins
simjoubert aime ce message
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166126Le plugin redémarre et les commandes fonctionnent !


Pour en revenir au hash session constante du module principale
Je peux dans un sous module ajouter une key value avec
- Code:
SESSION[:Key] = value
Pour la récupérer dans un autre sous module
- Code:
recuperer_valeur = SESSION[:key]
les syntaxes sont elles bonnes ou il faut utiliser des @ ou autre bidules choses?

Merci
-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !" ISAÏE 54-2
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166128Voici la mise à jour v0.6.4
Au programme optimisation du code en le fractionnant en plusieurs sous modules.
Merci Samuel
Ajout de la mise à jour depuis le tableau Excel
Petite Démo
![[ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel Attribut_Rapport_demo01](https://www.dropbox.com/s/ofd1d4mhgll95t2/Attribut_Rapport_demo01.gif?dl=1)
Voici le fichier à décompresser pour accéder au rbz
- Fichiers joints
-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !" ISAÏE 54-2
Samuel Tallet aime ce message
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166131- Samuel TalletV.I.P.
-
Date d'inscription : 15/04/2018
Nombre de messages : 868
Points : 2448
Age : 37
Localisation : Marseille, France
Emploi : Développeur Web
simjoubert a écrit:
Pour en revenir au hash session constante du module principale
Je peux dans un sous module ajouter une key value avec
- Code:
SESSION[:Key] = value
Pour la récupérer dans un autre sous module
- Code:
recuperer_valeur = SESSION[:key]
les syntaxes sont elles bonnes ou il faut utiliser des @ ou autre bidules choses?![]()
Les syntaxes sont bonnes à ceci près qu'il faut respecter la casse.
- Code:
SESSION[:key]
ne pointe pas vers la même valeur que
- Code:
SESSION[:Key]
Et nul besoin d'arobases avec la solution "constante de module"

-------------------------------------------------------------------------------------------------------------------------
Galerie | Plugins
simjoubert aime ce message
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166132Merci pour ta réponse
j'aimerais faire des boites de dialogues html plus ergonomique pour la saisies de valeurs et voir faire une preview du rapport .
en admettant que j'ai un array avec mes valeurs par défaut
comment je prérempli les input d'un formulaire html et comment je les récupère apres dans un autre array
- Code:
#fichier ruby
defaut_value = ["abc", 1, "efg"]
#initialisation boite dialogue
dialog = UI::HtmlDialog.new(
dialog_title: "Dialog Example",
preferences_key: "my_name_my_extension_my_dialog",
scrollable: true,
resizable: true,
width: 600,
height: 400,
left: 100,
top: 100,
min_width: 50,
min_height: 50,
max_width: 1000,
max_height: 1000,
style: UI::HtmlDialog::STYLE_DIALOG
)
dialog.set_file("c:/formulaire.html")
dialog.show
- Code:
#fichier formulaire.html
<FORM >
<TABLE BORDER=0>
<TR>
<TD>Rubrique 1</TD>
<TD>
<INPUT type=text name="rubrique1">
</TD>
</TR>
<TR>
<TD>Rubrique 2</TD>
<TD>
<INPUT type=text name="rubrique2">
</TD>
</TR>
<TR>
<TD>Rubrique 3</TD>
<TD>
<INPUT type=text name="rubrique3">
</TD>
</TR>
</TABLE>
</FORM>
Comment et ou je mets les codes javascript et les actions ruby de callback
pourcharger le formulaire avec mes valeurs par défaut et ensuite pour obtenir les valeurs réponses du formulaire
- Code:
reponse = [input rubrique1, input rubrique2, input rubrique3]
j'arrive pas à comprendre !

Merci


-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !" ISAÏE 54-2
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166133- Samuel TalletV.I.P.
-
Date d'inscription : 15/04/2018
Nombre de messages : 868
Points : 2448
Age : 37
Localisation : Marseille, France
Emploi : Développeur Web
Si tu souhaites que ton extension soit également compatible à 100% avec macOS :
1. Convertis chaque icône SVG en PDF avec ce convertisseur en ligne par exemple.
2. Charges les SVG sous Windows et les PDF sous macOS avec du code. Exemple.
-------------------------------------------------------------------------------------------------------------------------
Galerie | Plugins
tenrev et simjoubert aiment ce message
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166137- Samuel TalletV.I.P.
-
Date d'inscription : 15/04/2018
Nombre de messages : 868
Points : 2448
Age : 37
Localisation : Marseille, France
Emploi : Développeur Web
simjoubert a écrit:
j'aimerais faire des boites de dialogues html plus ergonomique pour la saisies de valeurs et voir faire une preview du rapport .
en admettant que j'ai un array avec mes valeurs par défaut
comment je prérempli les input d'un formulaire html et comment je les récupère apres dans un autre array
Comment et ou je mets les codes javascript et les actions ruby de callback
pourcharger le formulaire avec mes valeurs par défaut et ensuite pour obtenir les valeurs réponses du formulaire
Il y a plusieurs solutions. Au fil du temps, j'ai développé la mienne. Ma solution permet d'avoir un fichier .rhtml (mélange de Ruby et de HTML) et des fichiers .js et .css pour faciliter l'édition du code et l'accès aux données... Mais je ne vais pas t'embrouiller avec ça pour le moment. Je vais essayer de rester simple en reprenant ton exemple

- Code:
# Définition des valeurs par défaut.
default_values = {
rubrique1: 'abc',
rubrique2: 1,
rubrique3: 'efg'
}
# Les valeurs saisies seront stockées là.
entered_values = {}
# Préparation du code CSS (syntaxe HEREDOC).
css = <<-CSS
input {
border: 1px solid #ddd;
border-radius: 4px;
}
input:focus {
outline: none;
}
CSS
# Préparation du code JS (syntaxe HEREDOC).
js = <<-JS
// Lorsque le document HTML est chargé :
document.addEventListener('DOMContentLoaded', _event => {
// Pour chaque élément HTML de type input :
document.querySelectorAll('input').forEach(inputElement => {
// Lorsque qu'une valeur est saisie :
inputElement.addEventListener('input', event => {
// On appelle le callback défini
// en Ruby un peu plus bas...
sketchup.enregistrerValeurSaisie(
event.currentTarget.name,
event.currentTarget.value
)
})
})
})
JS
# Préparation du code HTML (syntaxe HEREDOC).
html = <<-HTML
<html>
<head>
<!-- Le CSS est inclus dans le HTML -->
<style>#{css}</style>
<!-- Le JS aussi -->
<script>#{js}</script>
</head>
<body>
<form>
<table>
<tr>
<td>Rubrique 1</td>
<td>
<input type="text" name="rubrique1" value="#{default_values[:rubrique1]}" />
</td>
</tr>
<tr>
<td>Rubrique 2</td>
<td>
<input type="text" name="rubrique2" value="#{default_values[:rubrique2]}" />
</td>
</tr>
<tr>
<td>Rubrique 3</td>
<td>
<input type="text" name="rubrique3" value="#{default_values[:rubrique3]}" />
</td>
</tr>
</table>
</form>
</body>
</html>
HTML
# Initialisation de la boîte de dialogue.
dialog = UI::HtmlDialog.new(
dialog_title: "Dialog Example",
preferences_key: "my_name_my_extension_my_dialog",
scrollable: true,
resizable: true,
width: 600,
height: 400,
left: 100,
top: 100,
min_width: 50,
min_height: 50,
max_width: 1000,
max_height: 1000,
style: UI::HtmlDialog::STYLE_DIALOG
)
# Paramétrage de la boîte de dialogue.
dialog.add_action_callback('enregistrerValeurSaisie') do |_contexte, cle, valeur|
entered_values[cle.to_sym] = valeur
# Affichage des valeurs saisies.
UI.messagebox(entered_values)
end
# Remplissage de la boîte de dialogue.
dialog.set_html(html)
# Affichage de la boîte de dialogue.
dialog.show
-------------------------------------------------------------------------------------------------------------------------
Galerie | Plugins
simjoubert aime ce message
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166139j'ai les icone en pdf pour contourner la limite des 10 par jour j'ai user de mon VPN

Bon j'ai bien vu ton TRANSLATE[]
Tu la déclares comme la constante SESSION dans le fichier principal ?
Comment tu récupères la langue de l'utilisateur pour swicher de langue
et enfin comment tu charges l'array translate avec les valeur du fichier langue. c'est un hash ou un double array TRANSLATE[:texte1]= ["texte FR", "texte Anglais"]
commençons par un simple GB et FR
-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !" ISAÏE 54-2
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166140mais c'est cool !

-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !" ISAÏE 54-2
Samuel Tallet aime ce message
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166142
Mais au sujet de la boite de dialogue
pour que l'exemple puisse être complet peut tu rajouter 2 boutons OK et Cancel
pour ok récupère les valeurs de du hash entered_values = {}
Merci
-------------------------------------------------------------------------------------------------------------------------
"Les voici en foule : élargis l'espace de ta tente,
Allonge tes cordages ! Renforce tes piquets !
Déploie pour l'autre la toile qui t'abrite !" ISAÏE 54-2
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166151- Samuel TalletV.I.P.
-
Date d'inscription : 15/04/2018
Nombre de messages : 868
Points : 2448
Age : 37
Localisation : Marseille, France
Emploi : Développeur Web
simjoubert a écrit:
j'ai les icone en pdf pour contourner la limite des 10 par jour j'ai user de mon VPN![]()

simjoubert a écrit:
Bon j'ai bien vu ton TRANSLATE[]
Tu la déclares comme la constante SESSION dans le fichier principal ?
Oui, le plus tôt possible, en tant que constante de module.
simjoubert a écrit:
Comment tu récupères la langue de l'utilisateur pour swicher de langue et enfin comment tu charges l'array translate avec les valeur du fichier langue.
Par exemple : Quand tu instancies un objet LanguageHandler avec la chaîne de caractères plugin.translation, tu obtiens un objet avec une méthode crochet-crochet. Cette méthode te permet d'accéder aux chaines de caractères traduites pour la langue courante. Le fichier de traduction (plugin.translation) de la langue courante est automatiquement sélectionné. Tu trouveras des exemples de fichiers de traduction ici.
simjoubert a écrit:
c'est un hash ou un double array
C'est un hash. Exemple d'utilisation :
- Code:
extension.description = TRANSLATE['This plugin rocks!']
-------------------------------------------------------------------------------------------------------------------------
Galerie | Plugins
simjoubert aime ce message
Re: [ SKETCHUP plugins ] Attribut_rapport : Rapport quantitatif et estimatif d'un modèle dans Excel
#166154- Samuel TalletV.I.P.
-
Date d'inscription : 15/04/2018
Nombre de messages : 868
Points : 2448
Age : 37
Localisation : Marseille, France
Emploi : Développeur Web
simjoubert a écrit:[...] au sujet de la boite de dialogue
pour que l'exemple puisse être complet peut tu rajouter 2 boutons OK et Cancel [...]
Bien sûr

- Code:
# Définition des valeurs par défaut.
default_values = {
rubrique1: 'abc',
rubrique2: 1,
rubrique3: 'efg'
}
# Les valeurs saisies seront stockées là.
entered_values = {}
# Préparation du code CSS (syntaxe HEREDOC).
css = <<-CSS
table tr {
text-align: center;
}
input {
border: 1px solid #ddd;
border-radius: 4px;
}
input:focus {
outline: none;
}
CSS
# Préparation du code JS (syntaxe HEREDOC).
js = <<-JS
// Mise en place d'un espace de noms pour éviter les conflits...
SimJoubert = {}
/**
* Renvoie les valeurs saisies.
*
* @returns {object}
*/
SimJoubert.obtenirValeursSaisies = () => {
var valeursSaisies = {}
// Pour chaque élément HTML de type input :
document.querySelectorAll('input').forEach(elementInput => {
valeursSaisies[elementInput.name] = elementInput.value
})
return valeursSaisies
}
// Gestion des évènements.
// Dès que le document HTML est chargé :
document.addEventListener('DOMContentLoaded', _evenement => {
// Lors d'un clic sur le bouton OK :
document.getElementById('bouton-ok').addEventListener('click', _evenement => {
// On appelle le callback défini en Ruby un peu plus bas...
sketchup.enregistrerValeursSaisies(SimJoubert.obtenirValeursSaisies())
})
// Lors d'un clic sur le bouton Annuler :
document.getElementById('bouton-annuler').addEventListener('click', _evenement => {
// On appelle le callback défini en Ruby un peu plus bas...
sketchup.effacerValeursSaisies()
})
})
JS
# Préparation du code HTML (syntaxe HEREDOC).
html = <<-HTML
<html>
<head>
<!-- Le CSS est inclus dans le HTML -->
<style>#{css}</style>
<!-- Le JS aussi -->
<script>#{js}</script>
</head>
<body>
<form>
<table>
<tr>
<td>Rubrique 1</td>
<td>
<input type="text" name="rubrique1" value="#{default_values[:rubrique1]}" />
</td>
</tr>
<tr>
<td>Rubrique 2</td>
<td>
<input type="text" name="rubrique2" value="#{default_values[:rubrique2]}" />
</td>
</tr>
<tr>
<td>Rubrique 3</td>
<td>
<input type="text" name="rubrique3" value="#{default_values[:rubrique3]}" />
</td>
</tr>
<tr>
<td>
<button id="bouton-ok">OK</button>
</td>
<td>
<button id="bouton-annuler">Annuler</button>
</td>
</tr>
</table>
</form>
</body>
</html>
HTML
# Initialisation de la boîte de dialogue.
dialog = UI::HtmlDialog.new(
dialog_title: "Dialog Example",
preferences_key: "my_name_my_extension_my_dialog",
scrollable: true,
resizable: true,
width: 600,
height: 400,
left: 100,
top: 100,
min_width: 50,
min_height: 50,
max_width: 1000,
max_height: 1000,
style: UI::HtmlDialog::STYLE_DIALOG
)
# Paramétrage de la boîte de dialogue.
dialog.add_action_callback('enregistrerValeursSaisies') do |_contexte, valeurs_saisies|
# Enregistrement des valeurs saisies.
entered_values = valeurs_saisies
# Fermeture de la boîte de dialogue.
dialog.close
# Affichage des valeurs saisies.
UI.messagebox(entered_values)
end
dialog.add_action_callback('effacerValeursSaisies') do |_contexte|
# Effacement des valeurs saisies.
entered_values = {}
# Fermeture de la boîte de dialogue.
dialog.close
end
# Remplissage de la boîte de dialogue.
dialog.set_html(html)
# Affichage de la boîte de dialogue.
dialog.show
Dernière édition par Samuel Tallet-Sabathé le Jeu 6 Mai 2021 - 14:52, édité 1 fois
-------------------------------------------------------------------------------------------------------------------------
Galerie | Plugins
simjoubert aime ce message
Page 1 sur 4 • 1, 2, 3, 4
» [ SKETCHUP plugins ] Un peu de chaos dans vos projets! :)
» [ SKETCHUP plugins ] Nouveau petit test de modif de composants dynamiques à l'aide d'un tableau excel
» [ SKETCHUP plugins ] licence Artisan en promo à 29 $ offre limitée dans le temps
» [ SKETCHUP plugins ] Export au format SKP de tous les composants d'un modèle
Créer un compte ou se connecter pour répondre
Vous devez être membre pour répondre.