Ton bloc notes
Derniers sujets
» [ CHALLENGE 2024 ]Challenge architecture extérieure ou paysagiste - Nicolaco - Sketchup - Blender - Cycles (ABANDON)
par JDD Hier à 9:51
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - allansens - cinema 4D
par Allansens Ven 6 Sep 2024 - 14:47
» Des vignettes à la place d'un export Graphique 2D !
par Gaspard Hauser Ven 6 Sep 2024 - 0:01
» [ MATOS INFORM. ] Application Splashtop Wired XDisplay, pour utliser votre tablette iPad ou Android en moniteur supplémentaire
par JDD Jeu 5 Sep 2024 - 10:49
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste- Gaspard Hauser - Sketchup - D5 render
par JDD Mer 4 Sep 2024 - 18:03
» [ SKETCHUP généralité ]
par lionel Claude Mar 3 Sep 2024 - 19:45
» [ D5_RENDER ] Comparatif D5 enhancement vs Krea AI enhancement
par Gaspard Hauser Dim 1 Sep 2024 - 19:40
» [ Challenge 2024] cHallenge archjtexture exterieur ou paysagiste-vick-sketchup-enscape
par Gaspard Hauser Dim 1 Sep 2024 - 12:34
» [ D5_RENDER ] Animation d'objets, Phasing animation D5 render
par AK40Cess Sam 31 Aoû 2024 - 10:33
» [ TWINMOTION ] Appliquer un decal avec les outils spacing et area de Twinmotion 2024
par AK40Cess Ven 30 Aoû 2024 - 4:00
» [ SKETCHUP généralité ]
par Gaspard Hauser Dim 25 Aoû 2024 - 8:58
» [ SKETCHUP plugins ]
par furax49 Ven 23 Aoû 2024 - 15:54
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - AK40Cess - Archicad-Twinmotion
par JDD Ven 23 Aoû 2024 - 11:20
» [ SKETCHUP généralité ] SOS problème avec les arêtes
par vick Jeu 22 Aoû 2024 - 19:15
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - JDD - SketchUp - Enscape
par Gaspard Hauser Jeu 22 Aoû 2024 - 12:10
» [ D5_RENDER ] Images de l'intérieur meublé de de la villa Bauhaus
par Gaspard Hauser Sam 17 Aoû 2024 - 19:24
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - Simjoubert - sketchup Enscape
par simjoubert Sam 17 Aoû 2024 - 15:32
» [ D5_RENDER ] comparaison D5 render Twinmotion
par Gaspard Hauser Jeu 15 Aoû 2024 - 10:08
» [ SKETCHUP généralité ] Objets 3D luminaires
par PEGASE Mar 13 Aoû 2024 - 6:14
» [ TWINMOTION ] rayon de soleil
par simjoubert Lun 12 Aoû 2024 - 23:42
» [ LUMION ] License-Abonnement
par tenrev Jeu 8 Aoû 2024 - 15:29
» [ ENSCAPE ] HDRI dans projet
par tenrev Mer 7 Aoû 2024 - 9:57
» [ TUTO ] tutos pour une utilisation optimale du forum
par tenrev Dim 4 Aoû 2024 - 15:22
» [ SKETCHUP LIVE COMPONENT ] un petit exemple simple
par tenrev Ven 2 Aoû 2024 - 11:38
» [ SKETCHUP composants dynamiques ] Optimisez votre workflow Sketchup : Composants dynamiques, couleurs et export Excel !
par tenrev Jeu 1 Aoû 2024 - 9:31
» [ PRESENTATION ] Hello et un de plus
par simjoubert Jeu 1 Aoû 2024 - 0:26
» [ INTELLIGENCE ARTIFICIELLE ] i'eau est leur milieu de prédilection
par tenrev Mer 31 Juil 2024 - 13:06
» [ CHALLENGE ARCHITECTURE EXTERIEURE OU PAYSAGISTE ] Démarrage du challenge 2024 - les régles
par tenrev Mer 31 Juil 2024 - 9:00
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - Tenrev - Sketchup - Enscape - Twinmotion - IA
par tenrev Mer 31 Juil 2024 - 8:51
» [ SKETCHUP plugins ] plugin sj_add_dc_attribute_v.0.3.3
par tenrev Mer 31 Juil 2024 - 8:38
» [ SKETCHUP plugins ] Universal Importer
par tenrev Mer 31 Juil 2024 - 8:36
» [ CHALLENGES ] Ca vous intéresserait un challenge - je lance un sondage
par tenrev Mar 30 Juil 2024 - 10:15
» [ D5_RENDER ] Le Cull effect dans un scatter
par tenrev Lun 29 Juil 2024 - 13:26
» [ SKETCHUP généralité ] Problème avec le 3d warehouse
par tenrev Jeu 25 Juil 2024 - 11:35
» [ INTELLIGENCE ARTIFICIELLE ] quelques vidéo IA
par tenrev Mer 24 Juil 2024 - 13:37
par JDD Hier à 9:51
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - allansens - cinema 4D
par Allansens Ven 6 Sep 2024 - 14:47
» Des vignettes à la place d'un export Graphique 2D !
par Gaspard Hauser Ven 6 Sep 2024 - 0:01
» [ MATOS INFORM. ] Application Splashtop Wired XDisplay, pour utliser votre tablette iPad ou Android en moniteur supplémentaire
par JDD Jeu 5 Sep 2024 - 10:49
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste- Gaspard Hauser - Sketchup - D5 render
par JDD Mer 4 Sep 2024 - 18:03
» [ SKETCHUP généralité ]
par lionel Claude Mar 3 Sep 2024 - 19:45
» [ D5_RENDER ] Comparatif D5 enhancement vs Krea AI enhancement
par Gaspard Hauser Dim 1 Sep 2024 - 19:40
» [ Challenge 2024] cHallenge archjtexture exterieur ou paysagiste-vick-sketchup-enscape
par Gaspard Hauser Dim 1 Sep 2024 - 12:34
» [ D5_RENDER ] Animation d'objets, Phasing animation D5 render
par AK40Cess Sam 31 Aoû 2024 - 10:33
» [ TWINMOTION ] Appliquer un decal avec les outils spacing et area de Twinmotion 2024
par AK40Cess Ven 30 Aoû 2024 - 4:00
» [ SKETCHUP généralité ]
par Gaspard Hauser Dim 25 Aoû 2024 - 8:58
» [ SKETCHUP plugins ]
par furax49 Ven 23 Aoû 2024 - 15:54
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - AK40Cess - Archicad-Twinmotion
par JDD Ven 23 Aoû 2024 - 11:20
» [ SKETCHUP généralité ] SOS problème avec les arêtes
par vick Jeu 22 Aoû 2024 - 19:15
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - JDD - SketchUp - Enscape
par Gaspard Hauser Jeu 22 Aoû 2024 - 12:10
» [ D5_RENDER ] Images de l'intérieur meublé de de la villa Bauhaus
par Gaspard Hauser Sam 17 Aoû 2024 - 19:24
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - Simjoubert - sketchup Enscape
par simjoubert Sam 17 Aoû 2024 - 15:32
» [ D5_RENDER ] comparaison D5 render Twinmotion
par Gaspard Hauser Jeu 15 Aoû 2024 - 10:08
» [ SKETCHUP généralité ] Objets 3D luminaires
par PEGASE Mar 13 Aoû 2024 - 6:14
» [ TWINMOTION ] rayon de soleil
par simjoubert Lun 12 Aoû 2024 - 23:42
» [ LUMION ] License-Abonnement
par tenrev Jeu 8 Aoû 2024 - 15:29
» [ ENSCAPE ] HDRI dans projet
par tenrev Mer 7 Aoû 2024 - 9:57
» [ TUTO ] tutos pour une utilisation optimale du forum
par tenrev Dim 4 Aoû 2024 - 15:22
» [ SKETCHUP LIVE COMPONENT ] un petit exemple simple
par tenrev Ven 2 Aoû 2024 - 11:38
» [ SKETCHUP composants dynamiques ] Optimisez votre workflow Sketchup : Composants dynamiques, couleurs et export Excel !
par tenrev Jeu 1 Aoû 2024 - 9:31
» [ PRESENTATION ] Hello et un de plus
par simjoubert Jeu 1 Aoû 2024 - 0:26
» [ INTELLIGENCE ARTIFICIELLE ] i'eau est leur milieu de prédilection
par tenrev Mer 31 Juil 2024 - 13:06
» [ CHALLENGE ARCHITECTURE EXTERIEURE OU PAYSAGISTE ] Démarrage du challenge 2024 - les régles
par tenrev Mer 31 Juil 2024 - 9:00
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - Tenrev - Sketchup - Enscape - Twinmotion - IA
par tenrev Mer 31 Juil 2024 - 8:51
» [ SKETCHUP plugins ] plugin sj_add_dc_attribute_v.0.3.3
par tenrev Mer 31 Juil 2024 - 8:38
» [ SKETCHUP plugins ] Universal Importer
par tenrev Mer 31 Juil 2024 - 8:36
» [ CHALLENGES ] Ca vous intéresserait un challenge - je lance un sondage
par tenrev Mar 30 Juil 2024 - 10:15
» [ D5_RENDER ] Le Cull effect dans un scatter
par tenrev Lun 29 Juil 2024 - 13:26
» [ SKETCHUP généralité ] Problème avec le 3d warehouse
par tenrev Jeu 25 Juil 2024 - 11:35
» [ INTELLIGENCE ARTIFICIELLE ] quelques vidéo IA
par tenrev Mer 24 Juil 2024 - 13:37
formulaire/diaporama
chaine sketchup.tv
Serveur Discord
[ SKETCHUP ruby ] Récupération des vignettes de rendu de scènes
Page 1 sur 1 • Partagez
- JDDV.I.P.
-
Humeur : Cool, œil de lynx à pattes de velours
Date d'inscription : 21/05/2021
Nombre de messages : 1113
Points : 2450
Age : 75
Localisation : Nord (59)
Emploi : Director of Myself
Bonjour,
Est-il possible de récupérer dans un fichier unique (image ou pdf), dans l'ordre chronologique des onglets de scènes du modèle, avec leur titre, toutes les vignettes de rendu des scènes dans sketchUp ?
JDD
Est-il possible de récupérer dans un fichier unique (image ou pdf), dans l'ordre chronologique des onglets de scènes du modèle, avec leur titre, toutes les vignettes de rendu des scènes dans sketchUp ?
JDD
JDD a écrit:Bonjour,
Est-il possible de récupérer dans un fichier unique (image ou pdf), dans l'ordre chronologique des onglets de scènes du modèle, avec leur titre, toutes les vignettes de rendu des scènes dans sketchUp ?
JDD
Salut JDD
je ne comprend pas trop ta question ? et ce que tu veux récupérer ? et surtout sous la forme d'une image ? et dans la section ruby ? moi y en a rien comprendre
![mdr5](/users/2813/51/05/40/smiles/548757.gif)
-------------------------------------------------------------------------------------------------------------------------
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
![[ SKETCHUP ruby ] Récupération des vignettes de rendu de scènes 575088biblio3d](https://2img.net/r/hpimg15/pics/575088biblio3d.gif)
- JDDV.I.P.
-
Humeur : Cool, œil de lynx à pattes de velours
Date d'inscription : 21/05/2021
Nombre de messages : 1113
Points : 2450
Age : 75
Localisation : Nord (59)
Emploi : Director of Myself
Bonjour,
Lorsque des scènes sont créées dans sketchUp, dans la palette gérant les scènes, des vignettes (images réduites) sont générées par SketchUp
Je souhaite connaitre s'il existe soit dans les API de SketchUp, soit par le biais de quelques lignes de code Ruby, un moyen de récupérer ces vignettes dans un fichier. (d'où la section Ruby, mais peut-être pas la bonne ?)
Ce fichier pourrait être un fichier au format PDF, soit un fichier au format de type PNG, JPG, etc.. (que j'ai appelé peut-être à tort, image)
Je voudrais quelque chose qui ressemble à une planche de contact que l'on peut par exemple élaborer dans Photoshop.
J'ai trouvé cet AM, un plugin nommé Export_scenes codé par Tho Extension, qui génère automatiquement une image de chaque scène, mais si 20 scènes il génère 20 images PNG, alors que moi je souhaite que toutes ces images soient groupées dans un unique fichier (tel les planches de contact)
Ce plugin, qui fonctionne très bien, ne permet pas de choisir la taille des images produites. Il est par ailleurs crypté et donc non modifiable.
En espérant avoir clarifié ma demande.
JDD
Lorsque des scènes sont créées dans sketchUp, dans la palette gérant les scènes, des vignettes (images réduites) sont générées par SketchUp
Je souhaite connaitre s'il existe soit dans les API de SketchUp, soit par le biais de quelques lignes de code Ruby, un moyen de récupérer ces vignettes dans un fichier. (d'où la section Ruby, mais peut-être pas la bonne ?)
Ce fichier pourrait être un fichier au format PDF, soit un fichier au format de type PNG, JPG, etc.. (que j'ai appelé peut-être à tort, image)
Je voudrais quelque chose qui ressemble à une planche de contact que l'on peut par exemple élaborer dans Photoshop.
J'ai trouvé cet AM, un plugin nommé Export_scenes codé par Tho Extension, qui génère automatiquement une image de chaque scène, mais si 20 scènes il génère 20 images PNG, alors que moi je souhaite que toutes ces images soient groupées dans un unique fichier (tel les planches de contact)
Ce plugin, qui fonctionne très bien, ne permet pas de choisir la taille des images produites. Il est par ailleurs crypté et donc non modifiable.
En espérant avoir clarifié ma demande.
JDD
hello
ok tu veux une planche contact , je comprend mieux , j'aurais plutôt mis cela dans la section "plugin" , plutôt que "Ruby" , si cela ne te dérange pas je déplace ?
juste pour ma curiosité
, quel est le but ? faire un planche contact de tout tes composants ?
je l'ai déjà fait , en mettant les composants dans le projet et avec le plugin qui permet d'avoir un composant par scène et ensuite avec un plugin qui permet d'exporter chaque scène et ensuite la planche contact dans Photoshop
ok tu veux une planche contact , je comprend mieux , j'aurais plutôt mis cela dans la section "plugin" , plutôt que "Ruby" , si cela ne te dérange pas je déplace ?
juste pour ma curiosité
![mdr3](/users/2813/51/05/40/smiles/209909.gif)
![mdr5](/users/2813/51/05/40/smiles/548757.gif)
je l'ai déjà fait , en mettant les composants dans le projet et avec le plugin qui permet d'avoir un composant par scène et ensuite avec un plugin qui permet d'exporter chaque scène et ensuite la planche contact dans Photoshop
-------------------------------------------------------------------------------------------------------------------------
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
![[ SKETCHUP ruby ] Récupération des vignettes de rendu de scènes 575088biblio3d](https://2img.net/r/hpimg15/pics/575088biblio3d.gif)
- JDDV.I.P.
-
Humeur : Cool, œil de lynx à pattes de velours
Date d'inscription : 21/05/2021
Nombre de messages : 1113
Points : 2450
Age : 75
Localisation : Nord (59)
Emploi : Director of Myself
Ok pour déplacement vers la section "plugin", pas de soucis
Ce que tu décris, je l'ai également déjà réalisé.
Je sélectionne tous mes composants, et avec simplement ces quelques lignes de code que je colle dans la console Ruby de ShetchUp, je produis automatiquement les vignettes de chaque composant.
Ensuite, avec Photoshop, je génère la planche de contacts à partir de ces vignettes.
Avec le plugin Export_scenes cité ci-avant, de la même manière, je pourrais aussi réaliser la planche de contact de toutes les vignettes de mes scènes, mais ce plugin ne permet pas de modifier la taille des images produites.
Quel est le but recherché ?
Je dispose d'un modèle avec un très grand nombre de scènes qui ont été créées à la volée, ou ajoutées à divers moments, et qui finalement ne sont pas disposés dans l'ordre que je souhaite les avoir.
Pour reclasser mes nombreux onglets de scènes, j'aimerais créer cette planche de contact, qui me servirait de support visuel, pour faciliter le classement.
JDD
Ce que tu décris, je l'ai également déjà réalisé.
Je sélectionne tous mes composants, et avec simplement ces quelques lignes de code que je colle dans la console Ruby de ShetchUp, je produis automatiquement les vignettes de chaque composant.
- Code:
mod = Sketchup.active_model
sel = mod.selection
path = mod.path
mypath = File.dirname(path)
sel.each do |sel| # Il faut sélectionner un, plusieur ou tous les composants du modèle
compname = sel.definition.name
thumbnailname = File.join(mypath, compname + '.png') # vignette au format png à l'emplacement du fichier SKP du modèle
sel.definition.save_thumbnail thumbnailname
end
Ensuite, avec Photoshop, je génère la planche de contacts à partir de ces vignettes.
Avec le plugin Export_scenes cité ci-avant, de la même manière, je pourrais aussi réaliser la planche de contact de toutes les vignettes de mes scènes, mais ce plugin ne permet pas de modifier la taille des images produites.
Quel est le but recherché ?
Je dispose d'un modèle avec un très grand nombre de scènes qui ont été créées à la volée, ou ajoutées à divers moments, et qui finalement ne sont pas disposés dans l'ordre que je souhaite les avoir.
Pour reclasser mes nombreux onglets de scènes, j'aimerais créer cette planche de contact, qui me servirait de support visuel, pour faciliter le classement.
JDD
- JDDV.I.P.
-
Humeur : Cool, œil de lynx à pattes de velours
Date d'inscription : 21/05/2021
Nombre de messages : 1113
Points : 2450
Age : 75
Localisation : Nord (59)
Emploi : Director of Myself
Bonsoir,
J'ai peut-être trouvé une autre solution pour réaliser les vignettes qui seront ensuite disposées dans une planche de contact générée dans Photoshop.
Dans Info sur le modèle, dans l'onglet Animation :
Je décoche "Activer les transitions entre scène" et passe à Zéro le délai entre scènes
Puis dans menu Fichier > Exporter > Animation
Je fixe l'emplacement de sauvegarde, je fixe le format de sortie en PNG et dans les Options, je passe la résolution au mini admis qui est de 320 pixels en largeur d'image.
On clique sur le bouton Exporter et toutes les vignettes des scènes sont alors générées dans le dossier retenu.
Inconvénient : Le nom original donné aux onglets de scènes n'est pas conservé.
Reste à lancer le script dans Photoshop pour générer la planche de contact souhaité.
JDD
J'ai peut-être trouvé une autre solution pour réaliser les vignettes qui seront ensuite disposées dans une planche de contact générée dans Photoshop.
Dans Info sur le modèle, dans l'onglet Animation :
Je décoche "Activer les transitions entre scène" et passe à Zéro le délai entre scènes
Puis dans menu Fichier > Exporter > Animation
Je fixe l'emplacement de sauvegarde, je fixe le format de sortie en PNG et dans les Options, je passe la résolution au mini admis qui est de 320 pixels en largeur d'image.
On clique sur le bouton Exporter et toutes les vignettes des scènes sont alors générées dans le dossier retenu.
Inconvénient : Le nom original donné aux onglets de scènes n'est pas conservé.
Reste à lancer le script dans Photoshop pour générer la planche de contact souhaité.
JDD
Hello JDD
Voici un code pour faire un batch export des scènes de façon paramétrable.
On peut améliorer les paramètres !
Bonne soirée
Voici un code pour faire un batch export des scènes de façon paramétrable.
- Code:
# Batch export scènes to images
# Enregistrement dans un dossier portant le même nom que le model dans le dossier du modèle
# Auteur Simon Joubert
# Version 1
# 2022/04/16
#A coller dans la console ruby
model = Sketchup.active_model
pages = model.pages
unless pages.length == 0
prompts = [
"Largeur",
"Hauteur",
"Anti Aliazing",
"Compression",
"Transparent",
"Extension"
]
defaults = [
640,
480,
false,
0.9,
true,
"png"
]
listes = [
"",
"",
"true|false",
"",
"true|false",
"png|jpg"
]
titre = "Paramètres export"
input = UI.inputbox(prompts, defaults, listes, titre)
unless input == false
# Paramètre chemin enregistrement fichier
mpath = model.path.gsub(".skp","\\")
options = {
:width => input[0],
:height => input[1],
:antialias => (input[2]=="false" ? false : true),
:compression => input[3],
:transparent => (input[4]=="false" ? false : true)
}
extension = input[5]
pages.each do |page|
name = "#{page.name}.#{extension}"
page_active = pages.selected_page=page
view = model.active_view
url = File.join(mpath, name)
options[:filename] = url
view.write_image(options)
end
end
end
On peut améliorer les paramètres !
![mojito](/users/2813/51/05/40/smiles/192895103.gif)
Bonne soirée
tenrev et JDD aiment ce message
- JDDV.I.P.
-
Humeur : Cool, œil de lynx à pattes de velours
Date d'inscription : 21/05/2021
Nombre de messages : 1113
Points : 2450
Age : 75
Localisation : Nord (59)
Emploi : Director of Myself
- JDDV.I.P.
-
Humeur : Cool, œil de lynx à pattes de velours
Date d'inscription : 21/05/2021
Nombre de messages : 1113
Points : 2450
Age : 75
Localisation : Nord (59)
Emploi : Director of Myself
Bonjour @simjoubert ,
J'ai lancé un test ce matin avec ton code.
Le sous_dossier n'est pas créé, et si des images sont créées je ne sais où elles ont été placées.
Il semble que l'instruction view.write_image(options) ne soit pas correctement renseignée (dans les options).
Une demande particulière :
Dans la boite de dialogue des options, peut-on ajouter "Taille de la vue" et avoir la possibilité de conserver le rapport H/L de cette vue pour les dimensions personnalisées.
JDD
J'ai lancé un test ce matin avec ton code.
Le sous_dossier n'est pas créé, et si des images sont créées je ne sais où elles ont été placées.
Il semble que l'instruction view.write_image(options) ne soit pas correctement renseignée (dans les options).
Une demande particulière :
Dans la boite de dialogue des options, peut-on ajouter "Taille de la vue" et avoir la possibilité de conserver le rapport H/L de cette vue pour les dimensions personnalisées.
JDD
Hello il faut d’abord enregistrer ton modèle
Car le code utilisé son emplacement pour créer le sous dossier.
Pour le ratio je regarde
Car le code utilisé son emplacement pour créer le sous dossier.
Pour le ratio je regarde
- JDDV.I.P.
-
Humeur : Cool, œil de lynx à pattes de velours
Date d'inscription : 21/05/2021
Nombre de messages : 1113
Points : 2450
Age : 75
Localisation : Nord (59)
Emploi : Director of Myself
J'avais bien enregistré mon modèle avant de lancer le script.
Bonsoir les amis
Après l'orgie traditionnelle familiale de Pâques, j'ai digéré sur ce code.
j'ai testé sur un modèle de 70 scènes
Il inclut la vérification de l'existence des sous dossier. Et les créer le cas échéant ! (cause de l'erreur du code précédent)
La modification et la restauration des paramètres de transition des scènes du modèle et ceux des pages s'il en avait des spéciaux.
Une vérification en amont si le modèle a été enregistré, s'il existe des scènes !
Un message de succès à la fin !
Ajout d'une option pour conserver les proportions, la taille par défaut dans la boite de dialogue correspond aux dimensions de la 1re scène.
La hauteur de l'image exportée est recalculée selon un produit en croix (la hauteur de scène * largeur définit boite de dialogue / largeur de la scène.)
Si c'est bon, on lui ajoutera une icône et une entrée de menu sous forme de plugin.
Pour le nom je pense à "SJ Batch Export Scenes"
![mojito](/users/2813/51/05/40/smiles/192895103.gif)
Après l'orgie traditionnelle familiale de Pâques, j'ai digéré sur ce code.
j'ai testé sur un modèle de 70 scènes
Il inclut la vérification de l'existence des sous dossier. Et les créer le cas échéant ! (cause de l'erreur du code précédent)
La modification et la restauration des paramètres de transition des scènes du modèle et ceux des pages s'il en avait des spéciaux.
Une vérification en amont si le modèle a été enregistré, s'il existe des scènes !
Un message de succès à la fin !
Ajout d'une option pour conserver les proportions, la taille par défaut dans la boite de dialogue correspond aux dimensions de la 1re scène.
La hauteur de l'image exportée est recalculée selon un produit en croix (la hauteur de scène * largeur définit boite de dialogue / largeur de la scène.)
- Code:
# Batch export scènes to images
# Enregistrement dans un dossier portant le même nom que le model dans le dossier du modèle puis un sous dossier "Export_Scenes"
# Auteur Simon Joubert
# Version 2
# 2022/04/16
#A coller dans la console ruby
require 'fileutils'
model = Sketchup.active_model
mpath = model.path # chemin du modele SU sauvegardé
mpath_directory = File.dirname(mpath) # Uniquement le chemin de dossier
sub_directory = File.basename(mpath,".skp") # On récupère le nom du fichier sans l'extension
new_sub_directory = File.absolute_path(File.join(mpath_directory,sub_directory)) #On ajoute le dossier portant le nom du fichier
sub_sub_directory = "ExportScenes" # Nom d'un sous dossier qui contiendra les images exportées
new_directory = File.absolute_path(File.join(new_sub_directory, sub_sub_directory)) #Chemin complet avec les sous dossier
pages = model.pages # on récupère le tableau des scènes du modèle
if mpath == "" # Le modèle n'est pas enregistré
message_texte = "Votre modèle n'a pas été encore sauvegardé au moins une fois !\nEnregistrez le et recommencez.\nOpération annulée"
message = UI.messagebox(message_texte, MB_OK)
elsif pages.length == 0 # Le modèle ne contient pas de scènes
message_texte = "Votre modèle ne contient aucune scène !\nOpération annulée"
message = UI.messagebox(message_texte, MB_OK)
else
# on désactive les transitions entre les scènes et une duree de scène à 0
showtransition = model.options.to_a[1]["ShowTransition"]
model.options.to_a[1]["ShowTransition"] = false
slidetime = model.options.to_a[2]["SlideTime"]
model.options.to_a[2]["SlideTime"] = 0.0
# On test l'existance du dossier portant le même nom que le fichier du modele
if File.directory?(new_sub_directory) == false
#on creer le répertoire avec le nom du modèle s'il n'éxiste pas
FileUtils.mkdir new_sub_directory
end
# On test l'existance du sous dossier qui recevra les images exportées
if File.directory?(new_directory) == false
#on creer le répertoire s'il n'éxiste pas
FileUtils.mkdir new_directory
end
# On récupère les dimensions de la premiere scène pour renseigner la boite de dialogue
page_0 = pages.selected_page = pages[0]
view_0 = model.active_view
largeur_0 = view_0.vpwidth
hauteur_0 = view_0.vpheight
# Initialisation de la boite de dialogue
prompts = [
"Conserver les proportions de la vue",
"Largeur de la vue",
"Hauteur de la vue",
"Anti Aliazing",
"Compression JPG",
"Transparent",
"Extension"
]
defaults = [
true,
largeur_0,
hauteur_0,
false,
0.9,
true,
"png"
]
listes = [
"true|false",
"",
"",
"true|false",
"",
"true|false",
"png|jpg"
]
titre = "Paramètres export"
input = UI.inputbox(prompts, defaults, listes, titre)
unless input == false # sauf si clic sur annuler
# On récupère les valeurs saisies dans la boite de dialogue
proportion_verou = (input[0]=="false" ? false : true)
width = input[1].to_i
height = input[2].to_i
options = {
:width => width,
:antialias => (input[3]=="false" ? false : true),
:compression => input[4],
:transparent => (input[5]=="false" ? false : true)
}
extension = input[6]
# Boucle sur chaque scène
pages.each do |page|
# On récupère les paramètres de durée et de transition de la page et on les reinitialises à 0
page_transition = page.transition_time
page.transition_time = -1.0
time = page.delay_time
page.delay_time = 0.0
# On active la scène
page_active = pages.selected_page=page
view = model.active_view
# Hauteur de l'image selon le paramètre de proportion
if proportion_verou == true
view_i = model.active_view
largeur_i = view_0.vpwidth.to_i
hauteur_i = view_0.vpheight.to_i
options[:height] = hauteur_i * width / largeur_i
else
options[:height] = height.to_i
end
# Construction de l'url d'enregistrement
name = "#{page.name}.#{extension}"
url = File.absolute_path(File.join(new_directory, name))
options[:filename] = url
# On enregistre l'image de la scène
image = view.write_image(options)
#On restaure le paramètre de durée et de transition de la page
page.transition_time = page_transition
page.delay_time = time
end # Fin de la boucle
message_texte = "Les scènes ont été exportées au format #{extension} dans le dossier\n#{new_directory}"
message = UI.messagebox(message_texte, MB_OK)
# On restaure les paramètres de durees et de transition de l'annimation du modèle
model.options.to_a[1]["ShowTransition"] = showtransition
model.options.to_a[2]["SlideTime"] = slidetime
end # Fin unless input == false
end # Fin if
Si c'est bon, on lui ajoutera une icône et une entrée de menu sous forme de plugin.
Pour le nom je pense à "SJ Batch Export Scenes"
![mojito](/users/2813/51/05/40/smiles/192895103.gif)
tenrev aime ce message
- JDDV.I.P.
-
Humeur : Cool, œil de lynx à pattes de velours
Date d'inscription : 21/05/2021
Nombre de messages : 1113
Points : 2450
Age : 75
Localisation : Nord (59)
Emploi : Director of Myself
Bonjour @simjoubert ,
Le code fonctionne NICKEL. Un grand merci pour avoir pris en compte mon dernier souhait.
Et encore Bravo pour cette réalisation.
Je ne voudrais pas trop abuser, mais un petit point de détail pourrait être amélioré. Je m'explique :
Dans la boite de dialogue, si l'utilisateur souhaite maintenir les proportions de l'écran pour la résolution de sortie, et qu'il modifie une des dimensions (largeur ou hauteur) dans la boite de dialogue avant de valider l'opération, il faudrait que l'autre valeur soit automatiquement affecté par la mise à l'échelle de la première valeur modifiée.
Actuellement si on change une valeur (L ou H) l'autre n'est pas modifiée, mais si on valide après la modification d'une seule de ces valeurs, la mise à l'échelle est bien respectée en sortie.
Pour le titre du plugin, on te laisse le choix.
Perso, je trouve que ce titre "SJ Batch Export Scenes" ne fait pas mention aux vignettes qu'il produit.
Peut-être un titre comme "SJ_BatchExport2Thumbnail" pourrait être une suggestion ??
Note : je n'ai pas vérifié si le script acceptait les noms et accentuations "exotiques" pour les noms des scènes et les noms des fichiers SKP, pour la création des dossiers et sous-dossiers.
Je suppose que c'est OK.
Edit: Dans la version française, Dans la boite de dialogue, pour Conservation proportion et Antialising, "true et false" pourraient être remplacé par "Oui et Non"
JDD
Le code fonctionne NICKEL. Un grand merci pour avoir pris en compte mon dernier souhait.
Et encore Bravo pour cette réalisation.
Je ne voudrais pas trop abuser, mais un petit point de détail pourrait être amélioré. Je m'explique :
Dans la boite de dialogue, si l'utilisateur souhaite maintenir les proportions de l'écran pour la résolution de sortie, et qu'il modifie une des dimensions (largeur ou hauteur) dans la boite de dialogue avant de valider l'opération, il faudrait que l'autre valeur soit automatiquement affecté par la mise à l'échelle de la première valeur modifiée.
Actuellement si on change une valeur (L ou H) l'autre n'est pas modifiée, mais si on valide après la modification d'une seule de ces valeurs, la mise à l'échelle est bien respectée en sortie.
Pour le titre du plugin, on te laisse le choix.
Perso, je trouve que ce titre "SJ Batch Export Scenes" ne fait pas mention aux vignettes qu'il produit.
Peut-être un titre comme "SJ_BatchExport2Thumbnail" pourrait être une suggestion ??
Note : je n'ai pas vérifié si le script acceptait les noms et accentuations "exotiques" pour les noms des scènes et les noms des fichiers SKP, pour la création des dossiers et sous-dossiers.
Je suppose que c'est OK.
Edit: Dans la version française, Dans la boite de dialogue, pour Conservation proportion et Antialising, "true et false" pourraient être remplacé par "Oui et Non"
JDD
tenrev et simjoubert aiment ce message
Hello les amis,
Hello @JDD
J'ai mis en ligne le plugin qui se nommera
voici le lien vers la présentation sur un post dédié :
https://www.biblio3d.com/t14295-sketchup-plugins-sj-batch-export-scenes-to-thumbnails#170691
Hello @JDD
J'ai mis en ligne le plugin qui se nommera
SJ Batch Export Scenes To Thumbnails
![[ SKETCHUP ruby ] Récupération des vignettes de rendu de scènes Batch_export](https://www.sketchup.simjoubert.com/images/phocadownload/batch_export.svg)
https://www.biblio3d.com/t14295-sketchup-plugins-sj-batch-export-scenes-to-thumbnails#170691
![[ SKETCHUP ruby ] Récupération des vignettes de rendu de scènes IPB_917](https://2img.net/h/www.smileys.lu/repository/-Selection_IPB-/IPB_917.gif)
JDD aime ce message
- Contenu sponsorisé
Sujets similaires
Créer un compte ou se connecter pour répondre
Vous devez être membre pour répondre.
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum