Ton bloc notes
Derniers sujets
» [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte
par simjoubert Hier à 17:22
» [ SKETCHUP généralité ] Interface réinitialisée totalement suite connexion Trimble
par tenrev Hier à 10:31
» [ ARCHICAD ] Torsion sur poteaux
par Archi43 Hier à 9:46
» [ ARCHICAD-OBJETS GDL ] Sortie de toit TCP (Poujoulat)
par BoTof Lun 25 Mar 2024 - 9:12
» [ SKETCHUP LIVE COMPONENT ] besoin de tuyaux sur les textures random
par tenrev Sam 23 Mar 2024 - 10:35
» [ SKETCHUP composants dynamiques ] Copies de copies
par Manutio Ven 22 Mar 2024 - 12:21
» [ SKETCHUP plugins ] plugin pour les textes
par vick Ven 22 Mar 2024 - 10:34
» [ INTELLIGENCE ARTIFICIELLE ] quelques vidéo de mes tests IA
par tenrev Jeu 21 Mar 2024 - 9:25
» [ SKETCHUP généralité ] SÉLECTIONNER - Tuto 4/4 - 2ème TECHNIQUE INÉDITE
par jerryvento Jeu 21 Mar 2024 - 9:08
» [ SKETCHUP tutos ] SÉLECTIONNER - Tuto 4/4 - 2ème TECHNIQUE INÉDITE
par jerryvento Jeu 21 Mar 2024 - 9:07
» [ KEYSHOT ] plugin sketchup
par tenrev Mer 20 Mar 2024 - 8:26
» [ SKETCHUP LIVE COMPONENT ] rendre visible ou invisible un paramètre utilisateur selon des conditions ?
par simjoubert Mar 19 Mar 2024 - 15:38
» [ PRESENTATION ] Manutio
par Manutio Lun 18 Mar 2024 - 9:21
» [ ARTLANTIS ] Ca donne envie !
par fraid Ven 15 Mar 2024 - 7:44
» [ SKETCHUP généralité ] SÉLECTIONNER - Tuto 3/4 - 1ère TECHNIQUE INÉDITE
par JDD Mer 13 Mar 2024 - 10:39
» [ SKETCHUP plugins ] SketchUp et Menuiserie : Rencontre avec Artwood
par art wood concept Mer 13 Mar 2024 - 9:54
» [ ARCHICAD ] Zone - Menu déroulant
par Archi43 Mar 12 Mar 2024 - 16:29
» [ SKETCHUP tutos ] SÉLECTIONNER - Tuto 3/4 - 1ère TECHNIQUE INÉDITE
par jerryvento Mar 12 Mar 2024 - 8:48
» [ SKETCHUP LIVE COMPONENT ] table avec chaises
par tenrev Mar 12 Mar 2024 - 8:46
» [ SKETCHUP généralité ] Problème d'ouverture de SKP
par lionel Claude Lun 11 Mar 2024 - 18:14
» [ TWINMOTION ] Rotation des tuiles sur TM 2023 avec fichier issu de Allplan 2015
par Gaspard Hauser Lun 11 Mar 2024 - 13:48
» [ TWINMOTION ] CONSEIL FORMATION
par Marucia Lun 11 Mar 2024 - 13:29
» [ SKETCHUP plugins ] selection
par Gaspard Hauser Dim 10 Mar 2024 - 19:17
» [ TWINMOTION ] réduire le champs de travail ?
par Gaspard Hauser Dim 10 Mar 2024 - 19:13
» [ TWINMOTION ] eGPU / ralentissement Twinmotion important
par Gaspard Hauser Dim 10 Mar 2024 - 19:09
» [ SKETCHUP plugins ] sj_AddDCFunctions
par Miroslav Sam 9 Mar 2024 - 18:30
» [ SKETCHUP généralité ] Quel logiciel d'animation
par polo Sam 9 Mar 2024 - 17:35
» [ SKETCHUP tutos ] texture pour sketchup
par tenrev Ven 8 Mar 2024 - 9:25
» [ SKETCHUP LIVE COMPONENT ] les boucles Loop dans trimble creator
par tenrev Jeu 7 Mar 2024 - 10:21
» [ PRESENTATION ]
par Coulou Mer 6 Mar 2024 - 8:51
» [ SKETCHUP tutos ] SÉLECTIONNER - Tuto 2/4 - INVERSER LA SÉLECTION avec 2017
par jerryvento Lun 4 Mar 2024 - 10:28
» [ SKETCHUP généralité ] crash
par TF3 Sam 2 Mar 2024 - 17:51
» [ SKETCHUP composants dynamiques ] Hidden avec formule IF et OR imbriqué
par Samuel MATHIEU Ven 1 Mar 2024 - 20:28
» [ SKETCHUP LIVE COMPONENT ] doc en anglais
par tenrev Ven 1 Mar 2024 - 13:42
» [ SKETCHUP composants dynamiques ] Un bug que je ne comprend pas
par boulii Jeu 29 Fév 2024 - 21:37
par simjoubert Hier à 17:22
» [ SKETCHUP généralité ] Interface réinitialisée totalement suite connexion Trimble
par tenrev Hier à 10:31
» [ ARCHICAD ] Torsion sur poteaux
par Archi43 Hier à 9:46
» [ ARCHICAD-OBJETS GDL ] Sortie de toit TCP (Poujoulat)
par BoTof Lun 25 Mar 2024 - 9:12
» [ SKETCHUP LIVE COMPONENT ] besoin de tuyaux sur les textures random
par tenrev Sam 23 Mar 2024 - 10:35
» [ SKETCHUP composants dynamiques ] Copies de copies
par Manutio Ven 22 Mar 2024 - 12:21
» [ SKETCHUP plugins ] plugin pour les textes
par vick Ven 22 Mar 2024 - 10:34
» [ INTELLIGENCE ARTIFICIELLE ] quelques vidéo de mes tests IA
par tenrev Jeu 21 Mar 2024 - 9:25
» [ SKETCHUP généralité ] SÉLECTIONNER - Tuto 4/4 - 2ème TECHNIQUE INÉDITE
par jerryvento Jeu 21 Mar 2024 - 9:08
» [ SKETCHUP tutos ] SÉLECTIONNER - Tuto 4/4 - 2ème TECHNIQUE INÉDITE
par jerryvento Jeu 21 Mar 2024 - 9:07
» [ KEYSHOT ] plugin sketchup
par tenrev Mer 20 Mar 2024 - 8:26
» [ SKETCHUP LIVE COMPONENT ] rendre visible ou invisible un paramètre utilisateur selon des conditions ?
par simjoubert Mar 19 Mar 2024 - 15:38
» [ PRESENTATION ] Manutio
par Manutio Lun 18 Mar 2024 - 9:21
» [ ARTLANTIS ] Ca donne envie !
par fraid Ven 15 Mar 2024 - 7:44
» [ SKETCHUP généralité ] SÉLECTIONNER - Tuto 3/4 - 1ère TECHNIQUE INÉDITE
par JDD Mer 13 Mar 2024 - 10:39
» [ SKETCHUP plugins ] SketchUp et Menuiserie : Rencontre avec Artwood
par art wood concept Mer 13 Mar 2024 - 9:54
» [ ARCHICAD ] Zone - Menu déroulant
par Archi43 Mar 12 Mar 2024 - 16:29
» [ SKETCHUP tutos ] SÉLECTIONNER - Tuto 3/4 - 1ère TECHNIQUE INÉDITE
par jerryvento Mar 12 Mar 2024 - 8:48
» [ SKETCHUP LIVE COMPONENT ] table avec chaises
par tenrev Mar 12 Mar 2024 - 8:46
» [ SKETCHUP généralité ] Problème d'ouverture de SKP
par lionel Claude Lun 11 Mar 2024 - 18:14
» [ TWINMOTION ] Rotation des tuiles sur TM 2023 avec fichier issu de Allplan 2015
par Gaspard Hauser Lun 11 Mar 2024 - 13:48
» [ TWINMOTION ] CONSEIL FORMATION
par Marucia Lun 11 Mar 2024 - 13:29
» [ SKETCHUP plugins ] selection
par Gaspard Hauser Dim 10 Mar 2024 - 19:17
» [ TWINMOTION ] réduire le champs de travail ?
par Gaspard Hauser Dim 10 Mar 2024 - 19:13
» [ TWINMOTION ] eGPU / ralentissement Twinmotion important
par Gaspard Hauser Dim 10 Mar 2024 - 19:09
» [ SKETCHUP plugins ] sj_AddDCFunctions
par Miroslav Sam 9 Mar 2024 - 18:30
» [ SKETCHUP généralité ] Quel logiciel d'animation
par polo Sam 9 Mar 2024 - 17:35
» [ SKETCHUP tutos ] texture pour sketchup
par tenrev Ven 8 Mar 2024 - 9:25
» [ SKETCHUP LIVE COMPONENT ] les boucles Loop dans trimble creator
par tenrev Jeu 7 Mar 2024 - 10:21
» [ PRESENTATION ]
par Coulou Mer 6 Mar 2024 - 8:51
» [ SKETCHUP tutos ] SÉLECTIONNER - Tuto 2/4 - INVERSER LA SÉLECTION avec 2017
par jerryvento Lun 4 Mar 2024 - 10:28
» [ SKETCHUP généralité ] crash
par TF3 Sam 2 Mar 2024 - 17:51
» [ SKETCHUP composants dynamiques ] Hidden avec formule IF et OR imbriqué
par Samuel MATHIEU Ven 1 Mar 2024 - 20:28
» [ SKETCHUP LIVE COMPONENT ] doc en anglais
par tenrev Ven 1 Mar 2024 - 13:42
» [ SKETCHUP composants dynamiques ] Un bug que je ne comprend pas
par boulii Jeu 29 Fév 2024 - 21:37
formulaire/diaporama
chaine sketchup.tv
plugin pour assembler des composants
Page 1 sur 2 • Partagez
Page 1 sur 2 • 1, 2
l'idee, ce serait de constituer un assemblage de composants a partir d'un fichier texte qui contiendrait :
> le nom du bloc (composant)
> les coordonnées de son point d'insertion
> la rotation qu'il faut donner au bloc autour d'un axe vertical passant par son point d'insertion (parce que les composants sketchup n'ont qu'un seul point d'insertion)
3 lignes par bloc
autant de triplets de lignes que de blocs
Les composants se trouveraient dans la bibliothèque de composants de sketchup, le fichier texte n'importe ou sur le disque dur, une boite de dialogue permettrait d'aller le chercher
Le but final: faire du dessin 3d paramétré (restent a écrire la logique d'assemblage des composants, et une boite de dialogue pour entrer les paramètres...)
voici le lien pour télécharger les composants et le fichier texte d'assemblage
https://docs.google.com/leaf?id=0B3FJYD_2ui-nODUzMWQ0YzMtNzg5ZS00YjZhLWExYTAtOWM3Mjk1YzNlMTMw&hl=fr
> le nom du bloc (composant)
> les coordonnées de son point d'insertion
> la rotation qu'il faut donner au bloc autour d'un axe vertical passant par son point d'insertion (parce que les composants sketchup n'ont qu'un seul point d'insertion)
3 lignes par bloc
autant de triplets de lignes que de blocs
Les composants se trouveraient dans la bibliothèque de composants de sketchup, le fichier texte n'importe ou sur le disque dur, une boite de dialogue permettrait d'aller le chercher
Le but final: faire du dessin 3d paramétré (restent a écrire la logique d'assemblage des composants, et une boite de dialogue pour entrer les paramètres...)
voici le lien pour télécharger les composants et le fichier texte d'assemblage
https://docs.google.com/leaf?id=0B3FJYD_2ui-nODUzMWQ0YzMtNzg5ZS00YjZhLWExYTAtOWM3Mjk1YzNlMTMw&hl=fr
Voila un premier jet
http://www.box.net/shared/kpsxqgoydk
A dezippé dans le répertoire Plugins de SU, tu dois retrouver le plugin à proprement dit ChrisP_Import_Component_to_fileTXT.rb (que tu peux éditer et modifier) et un répertoire ChrisP_Import_Component (dans le lequel tu colles tes composants et tes fichiers textes)
J’ai ajouté un menu d’importation pour les fichiers textes plus souple à l’utilisation et qui te permet de stocker différents modules
On peut envisager la création d’un groupe voir d’un nouveau composant à chaque importation => 1 fichier = 1 importation= 1 groupe ou 1 composant
Par commodité pour l'instant j'ai installé les composants dans un repertoire de Plugins
@+
Christophe
http://www.box.net/shared/kpsxqgoydk
A dezippé dans le répertoire Plugins de SU, tu dois retrouver le plugin à proprement dit ChrisP_Import_Component_to_fileTXT.rb (que tu peux éditer et modifier) et un répertoire ChrisP_Import_Component (dans le lequel tu colles tes composants et tes fichiers textes)
J’ai ajouté un menu d’importation pour les fichiers textes plus souple à l’utilisation et qui te permet de stocker différents modules
On peut envisager la création d’un groupe voir d’un nouveau composant à chaque importation => 1 fichier = 1 importation= 1 groupe ou 1 composant
Par commodité pour l'instant j'ai installé les composants dans un repertoire de Plugins
- Code:
# Designed December 2010 by ChrisP & G.LE ROUX
# Permission to use this software for any purpose and without fee is hereby granted
# Distribution of this software for commercial purpose is forbidden:
# THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#-----------------------------------------------------------------------------
# Name : ChrisP_Import_Component_to_fileTXT.rb
# Original Date : 31 December 2010 version 0.0
# Thanks :
# Type : Plugin only SU8
# Description : Import Component to file txt
# Usage : By menu Plugins
# Version : 0.1.0 Beta
#
require "sketchup.rb"
module Import_element_echaufaudage
def self.import_comp
# intialisation des variables
model = Sketchup.active_model
selection = model.selection
entities = model.entities
definitions = model.definitions
separateur = Sketchup.parse_length("9.9")
axe_rotation = [0, 0,1]
increment = 0
table_01 = []
mpath = Sketchup.find_support_file("Plugins")
# importation du fichier
mpath.gsub!(/Plugins/,'Plugins/ChrisP_Import_Component/')
nom_fichier = UI.openpanel "Choix du fichier a traiter ", mpath, "*.txt"
(IO.readlines(nom_fichier)).each {|x| table_01.push x.gsub(/\n/,"")}
if not separateur
table_01.collect {|x| x.gsub(/[.]/,',\1')}
else
table_01.collect {|x| x.gsub(/[,]/,'.\1')}
end
table_01.compact!
lgt_01= table_01.length
# traitement du fichier
model.start_operation "Echafaudage",true
while increment<lgt_01 do
#importation du composant
nom_comp = table_01[increment] + ".skp"
chemin_comp = Sketchup.find_support_file nom_comp, "Plugins/ChrisP_Import_Component/"
comp = definitions.load chemin_comp
y = table_01[increment + 1].split(" ")
point_insert = [y[0].to_f, y[1].to_f, y[2].to_f]
entities.add_cpoint point_insert
point_trans = Geom::Transformation.new point_insert
inst = entities.add_instance comp, point_trans
#rotation du composant
point_rotation = table_01[increment + 2].to_f.degrees
trans_rotation = Geom::Transformation.rotation point_insert, axe_rotation, point_rotation
inst.transform!(trans_rotation)
#passage au bloc suivant
increment = increment + 3
end
model.commit_operation
end # fin import_comp
end # fin du module
unless file_loaded?("ChrisP_Import_Component_to_fileTXT.rb")
UI.menu("Plugins").add_item("Creation Echafaudage"){Import_element_echaufaudage::import_comp}
file_loaded "ChrisP_Import_Component_to_fileTXT.rb"
end
@+
Christophe
Je suis impressionné par ta réactivité... Merci
Cette première version permet de valider le principe du plugin
J'ai ajouté au dossier le modèle 3d dont je suis parti pour écrire le fichier texte:
]https://docs.google.com/leaf?id=0B3FJYD_2ui-nMzIzY2FkMTMtMzdiNS00Zjk5LWJmOWEtMzQxMDZmOGE1NjAw&hl=fr[/img]
Comme tu peux le constater, il y a des différences... est-ce qu'elles viennent de mon fichier texte, ou de ton plugin sketchup, je ne sais pas; je vais reprendre chaque composant un a un pour essayer de comprendre.
En attendant, voici quelques suggestions:
dans le menu déroulant "plugin>creation echafaudage", est-ce qu'on ne pourrait pas être plus général, en écrivant "plugin>assemblage composants", parce que ca pourrait être utile pour n'importe quels composants, pas seulement ceux d'un échafaudage
les composants sont dans un dossier "ChrisP_Import_Component"; est-ce qu'on pourrait plutôt les mettre dans un sous-dossier du répertoire "components" de sketchup, par exemple: "C:\Archivos de programa\Google\Google SketchUp 8\Components\echafaudage", de telle façon a pouvoir utiliser le plugin pour d'autres types de composants
L'idéal serait même d'avoir une boite de dialogue qui demande a l'utilisateur d'indiquer ou se trouvent les composants a assembler, comme celle qui demande ou se trouve le fichier texte
Cette première version permet de valider le principe du plugin
J'ai ajouté au dossier le modèle 3d dont je suis parti pour écrire le fichier texte:
]https://docs.google.com/leaf?id=0B3FJYD_2ui-nMzIzY2FkMTMtMzdiNS00Zjk5LWJmOWEtMzQxMDZmOGE1NjAw&hl=fr[/img]
Comme tu peux le constater, il y a des différences... est-ce qu'elles viennent de mon fichier texte, ou de ton plugin sketchup, je ne sais pas; je vais reprendre chaque composant un a un pour essayer de comprendre.
En attendant, voici quelques suggestions:
dans le menu déroulant "plugin>creation echafaudage", est-ce qu'on ne pourrait pas être plus général, en écrivant "plugin>assemblage composants", parce que ca pourrait être utile pour n'importe quels composants, pas seulement ceux d'un échafaudage
les composants sont dans un dossier "ChrisP_Import_Component"; est-ce qu'on pourrait plutôt les mettre dans un sous-dossier du répertoire "components" de sketchup, par exemple: "C:\Archivos de programa\Google\Google SketchUp 8\Components\echafaudage", de telle façon a pouvoir utiliser le plugin pour d'autres types de composants
L'idéal serait même d'avoir une boite de dialogue qui demande a l'utilisateur d'indiquer ou se trouvent les composants a assembler, comme celle qui demande ou se trouve le fichier texte
J'ai un bout d'explication, si on met tes composants en mode edition en se rend compte que le point d'origine n'est pas dans l'angle bas avant gauche.
Les points d'insertion de ton fichier texte correspondent à quels points de ton composant?
il y a aussi un problème d'unité, tes valeurs sont en metre et en degre pour les rotations?
@+
Les points d'insertion de ton fichier texte correspondent à quels points de ton composant?
il y a aussi un problème d'unité, tes valeurs sont en metre et en degre pour les rotations?
@+
Dernière édition par c.plassais le Ven 31 Déc 2010 - 18:03, édité 2 fois
J'ai simplifié le montage: juste les cales bois
le fichier texte et le fichier sketchup sont sur google document
j'ai aussi modifié le composant AMX1, qui n'etait pas bien orienté
https://docs.google.com/#folders/folder.0.0B3FJYD_2ui-nODUzMWQ0YzMtNzg5ZS00YjZhLWExYTAtOWM3Mjk1YzNlMTMw
cette fois, le fichier texte est compréhensible simplement en le lisant: il y a 4 cales implantées sur un carre de coté 2 m
les données sont cohérentes (même si je m'aperçois d'une inversion des axes y et z); mais il ne semble pas y avoir d'autre problème dans le fichier texte.
je me demande si ca ne vient des unités... les composants ont la bonne taille, mais ils sont très proches les un des autres (5.1 cm centimètres au lieu de 2 m...)
le fichier texte et le fichier sketchup sont sur google document
j'ai aussi modifié le composant AMX1, qui n'etait pas bien orienté
https://docs.google.com/#folders/folder.0.0B3FJYD_2ui-nODUzMWQ0YzMtNzg5ZS00YjZhLWExYTAtOWM3Mjk1YzNlMTMw
cette fois, le fichier texte est compréhensible simplement en le lisant: il y a 4 cales implantées sur un carre de coté 2 m
les données sont cohérentes (même si je m'aperçois d'une inversion des axes y et z); mais il ne semble pas y avoir d'autre problème dans le fichier texte.
je me demande si ca ne vient des unités... les composants ont la bonne taille, mais ils sont très proches les un des autres (5.1 cm centimètres au lieu de 2 m...)
c.plassais a écrit:J'ai un bout d'explication, si on met tes composants en mode edition en se rend compte que le point d'origine n'est pas dans l'angle bas avant gauche.
Les points d'insertion de ton fichier texte correspondent à quels point de ton composant?
il y a aussi un problème d'unité, tes valeurs sont en metre et en degre pour les rotations?
@+
oui, effectivement, le point d'insertion n'est pas toujours en bas a gauche; les points d'insertion en tiennent compte; est-ce qu'il faut que le point d'insertion soit toujours en bas a gauche?
oui, les distances sont en mètre et les angles en degré: ca pose un problème? en quelle unité il faudrait les mettre?
C'est bon cela fonctionne.
J'ai modifié le composant, effectivement par convention le point d'origine du composant est toujours le coin 0
Pour l'unité cela ne pose aucun problème, il suffit de le prende en compte
Il y a bien une inversion entre l'axe y et l'axe z, tu peux y remedier ou c'est l'export qui se fait de cette maniere. Sinon ce n'est pas un probleme il suffit de poser le decor et d'etablir une regle définitive, pour l'instant j'ai inversé les deux axes
Je modifie les quelques points que tu m'as demande et je t'envois les elements corrigés
A tout de suite...
J'ai modifié le composant, effectivement par convention le point d'origine du composant est toujours le coin 0
Pour l'unité cela ne pose aucun problème, il suffit de le prende en compte
Il y a bien une inversion entre l'axe y et l'axe z, tu peux y remedier ou c'est l'export qui se fait de cette maniere. Sinon ce n'est pas un probleme il suffit de poser le decor et d'etablir une regle définitive, pour l'instant j'ai inversé les deux axes
Je modifie les quelques points que tu m'as demande et je t'envois les elements corrigés
A tout de suite...
designcad met y en z et z en y
j'ai corrigé le fichier texte
https://docs.google.com/leaf?id=0B3FJYD_2ui-nYmNmYmYwYjAtNDdjZC00ZDVmLWI3M2ItZmIxOTA3OWY0Njkw&hl=fr
j'ai corrigé le fichier texte
https://docs.google.com/leaf?id=0B3FJYD_2ui-nYmNmYmYwYjAtNDdjZC00ZDVmLWI3M2ItZmIxOTA3OWY0Njkw&hl=fr
Tu peux essayer cette version, decompresser le repertoire Echafaudage dans le repertoire Components de SU8, ecraser l'ancien plugin par le nouveau et supprimer les anciens fichiers.
j'ai modifier ton composant AMX1
J'ai vu des points de guidage dans tes composants, c'est normal?. Ce sont des points de centrage?
http://www.box.net/shared/kpsxqgoydk
@+
j'ai modifier ton composant AMX1
J'ai vu des points de guidage dans tes composants, c'est normal?. Ce sont des points de centrage?
http://www.box.net/shared/kpsxqgoydk
@+
c.plassais a écrit:Tu peux essayer cette version, decompresser le repertoire Echafaudage dans le repertoire Components de SU8, ecraser l'ancien plugin par le nouveau et supprimer les anciens fichiers.
j'ai modifier ton composant AMX1
J'ai vu des points de guidage dans tes composants, c'est normal?. Ce sont des points de centrage?
http://www.box.net/shared/kpsxqgoydk
@+
j'ai cliqué sur ce lien , mais j'ai l'impression que c'est exactement le même fichier que la version précédente (v 0.1.0 beta?)
oui, les points servent au placement des composants, qu'on on le fait avec la souris
oui, la derniere version s'approche de l'objectif...
mais on s'est croisé:
> Quand je me suis apercu de l'inversion des coordonnées, j'ai modifié l'ordre pour que ce soit XYZ, traditionnellement Z vers le haut, et simultanement, tu as modifié ton plugin, pour faire XZY, comme ca sort de designcad
Mais pour des raisons pratiques, je crois qu'il faudrait que le Z soit a la fin; parce que plus tard, il va falloir ecrire les programmes pour generer les fichiers textes, et intuitivement, c'est vrai que c'est le Z qui est vertical, pas le Y
Est-ce que tu pourrais revenir a cet ordre pour les coordonnées (XYZ, Z vertical)?
> La boite de dialogue pour chercher les composants s'ouvre directement sur "echafaudage"; est-ce qu'elle pourrait s'ouvrir plutot un niveau au dessus, sur "components", de telle facon que chacun puisse se creer sa bibliotheque de composant et l'utiliser a sa facon
> la boite de dialogue pour chercher le fichier texte, s'ouvre toujours au meme endroit sur le repertoire "C:\Archivos de programa\Google\Google SketchUp 8\Components\Echafaudage"
mais les fichiers textes seront placés n'importe ou sur le disque dur; est-ce qu'il serait possible d'ouvrir la boite de dialogue de recherche du fichier texte, la ou il a été cherché la derniere fois que le plugin a été utilisé; de cette facon, la recherche s'adapte automatiquement aux habitudes de chacun
> les diagonales suivant l'axe rouge (X), ne sont pas leur place, mais je crois que c'est un probleme d'ecriture de l'angle, designcad travaille entre -90 et 90 degrés, et la, on est a 180...
Il n'y a rien a faire sur le plugin, c'est moi qui doit trouver la solution
je vais regarder ca demain
Bonne soirée, et bonne année .....
mais on s'est croisé:
> Quand je me suis apercu de l'inversion des coordonnées, j'ai modifié l'ordre pour que ce soit XYZ, traditionnellement Z vers le haut, et simultanement, tu as modifié ton plugin, pour faire XZY, comme ca sort de designcad
Mais pour des raisons pratiques, je crois qu'il faudrait que le Z soit a la fin; parce que plus tard, il va falloir ecrire les programmes pour generer les fichiers textes, et intuitivement, c'est vrai que c'est le Z qui est vertical, pas le Y
Est-ce que tu pourrais revenir a cet ordre pour les coordonnées (XYZ, Z vertical)?
> La boite de dialogue pour chercher les composants s'ouvre directement sur "echafaudage"; est-ce qu'elle pourrait s'ouvrir plutot un niveau au dessus, sur "components", de telle facon que chacun puisse se creer sa bibliotheque de composant et l'utiliser a sa facon
> la boite de dialogue pour chercher le fichier texte, s'ouvre toujours au meme endroit sur le repertoire "C:\Archivos de programa\Google\Google SketchUp 8\Components\Echafaudage"
mais les fichiers textes seront placés n'importe ou sur le disque dur; est-ce qu'il serait possible d'ouvrir la boite de dialogue de recherche du fichier texte, la ou il a été cherché la derniere fois que le plugin a été utilisé; de cette facon, la recherche s'adapte automatiquement aux habitudes de chacun
> les diagonales suivant l'axe rouge (X), ne sont pas leur place, mais je crois que c'est un probleme d'ecriture de l'angle, designcad travaille entre -90 et 90 degrés, et la, on est a 180...
Il n'y a rien a faire sur le plugin, c'est moi qui doit trouver la solution
je vais regarder ca demain
Bonne soirée, et bonne année .....
Il suffit pour le probleme des axes x,y,z de modifier la ligne 58 de la manière suivante (juste le 1 et le 2 a inverser)
Pour l'ensemble des points que tu as evoqué, il n'y pas à priori de problème je vois ça également demain soir
Passes un bon reveillon
@+
- Code:
point_insert = [y[0].to_f.m, y[1].to_f.m, y[2].to_f.m]
Pour l'ensemble des points que tu as evoqué, il n'y pas à priori de problème je vois ça également demain soir
Passes un bon reveillon
@+
ca y est, j'ai eu un peu de mal avec l'orientation des diagonales, mais on obtient le même résultat avec ton plugin sur ce fichier
https://docs.google.com/leaf?id=0B3FJYD_2ui-nOTVhNGUzZTQtZTQ1ZS00Zjg1LWJhN2EtMjljOGE3MDRiMzA1&sort=name&layout=list&num=50
qu'en important directement le modèle depuis mon programme designcad vers sketchup.
l'étape suivante, c'est d'introduire les dimensions qui permettront d'écrire le fichier texte d'assemblage des composants, que le plugin que tu as écrit saura utiliser pour construire l'échafaudage.
je commence par un exemple simple:
[url=]
une plateforme de coté a suivant l'axe rouge; b suivant l'axe vert; et a une distance h du sol
J'imagine une boite de dialogue demandant d'entrer ces 3 paramètres, et cette image a coté pour expliquer la demande. L'essentiel étant de pouvoir écrire en sortie de sketchup, un fichier texte "plateforme_simple.txt", par exemple, dans lequel se trouveraient les valeurs de a, b, et c.
Si tu as d'autres idées pour introduire les valeurs de a, b et c ...
J'avais aussi pensé partir d'un proforma sketchup (l'original de l'image "parametres plancher.jpg"), avec des cotes reelles, mais est-ce qu'il est possible de récupérer les cotes dans un fichier sketchup, pour les mettre dans un fichier texte?
Je ferai le programme en basic qui écrit le fichier texte de description de l'assemblage, et qui passera la main de nouveau a sketchup, au plugin ruby que tu viens d'écrire.
https://docs.google.com/leaf?id=0B3FJYD_2ui-nOTVhNGUzZTQtZTQ1ZS00Zjg1LWJhN2EtMjljOGE3MDRiMzA1&sort=name&layout=list&num=50
qu'en important directement le modèle depuis mon programme designcad vers sketchup.
l'étape suivante, c'est d'introduire les dimensions qui permettront d'écrire le fichier texte d'assemblage des composants, que le plugin que tu as écrit saura utiliser pour construire l'échafaudage.
je commence par un exemple simple:
[url=]
une plateforme de coté a suivant l'axe rouge; b suivant l'axe vert; et a une distance h du sol
J'imagine une boite de dialogue demandant d'entrer ces 3 paramètres, et cette image a coté pour expliquer la demande. L'essentiel étant de pouvoir écrire en sortie de sketchup, un fichier texte "plateforme_simple.txt", par exemple, dans lequel se trouveraient les valeurs de a, b, et c.
Si tu as d'autres idées pour introduire les valeurs de a, b et c ...
J'avais aussi pensé partir d'un proforma sketchup (l'original de l'image "parametres plancher.jpg"), avec des cotes reelles, mais est-ce qu'il est possible de récupérer les cotes dans un fichier sketchup, pour les mettre dans un fichier texte?
Je ferai le programme en basic qui écrit le fichier texte de description de l'assemblage, et qui passera la main de nouveau a sketchup, au plugin ruby que tu viens d'écrire.
Je viens de tester cela fonctionne (tu as modifié les composants ?). J'ai juste pour l'instant un petit probleme de compatibilté avec MAC.
Maintenant que j'ai un beau Imac tout neuf je peux faire des essais
Pour en revenir à ta question, pour ruby il n'y a aucun probleme pour ecrire un fichier texte du style de celui que tu as ecris.
Concernant la maniere de proceder, il est possible de rentrer les données via une boite de dialogue, par contre cela peut-être un peu fastidieux.
Avec Ruby on peut tout à fait mesurer les cotes (x,y,z) d'une entité, le tout est de bien identifier l'element à mesurer ou par selection, par click, par le nom du composant etc....
Ce que tu veux obtenir ce sont les coordonnées de départ de l'assemblage de ton echafaudage?
Si j'ai bien compris tu veux ecrire ton fichier txt via Sketchup pour le reutiliser ensuite pour assembler tes composants, si c'est bien cela il n'est pas necessaire que je perde trop de temps à creer un menu de recherche de ton fichier texte, le plugin saura le recuperer dans la mesure ou c'est lui qui l'aura archivé
Maintenant que j'ai un beau Imac tout neuf je peux faire des essais
Pour en revenir à ta question, pour ruby il n'y a aucun probleme pour ecrire un fichier texte du style de celui que tu as ecris.
Concernant la maniere de proceder, il est possible de rentrer les données via une boite de dialogue, par contre cela peut-être un peu fastidieux.
Avec Ruby on peut tout à fait mesurer les cotes (x,y,z) d'une entité, le tout est de bien identifier l'element à mesurer ou par selection, par click, par le nom du composant etc....
Ce que tu veux obtenir ce sont les coordonnées de départ de l'assemblage de ton echafaudage?
Si j'ai bien compris tu veux ecrire ton fichier txt via Sketchup pour le reutiliser ensuite pour assembler tes composants, si c'est bien cela il n'est pas necessaire que je perde trop de temps à creer un menu de recherche de ton fichier texte, le plugin saura le recuperer dans la mesure ou c'est lui qui l'aura archivé
Il fonctionne maintenant avec Mac et le chemin du fichier texte est sauvegardé entre les sessions.
Par defaut s'il n'y pas de fichier il propose la racine du disque dur c:\ pour windows et 'Hard Drive'/ pour Mac
@+
http://www.box.net/shared/kpsxqgoydk
Par defaut s'il n'y pas de fichier il propose la racine du disque dur c:\ pour windows et 'Hard Drive'/ pour Mac
@+
http://www.box.net/shared/kpsxqgoydk
c.plassais a écrit:Je viens de tester cela fonctionne (tu as modifié les composants ?).
...
Ce que tu veux obtenir ce sont les coordonnées de départ de l'assemblage de ton echafaudage?
Si j'ai bien compris tu veux ecrire ton fichier txt via Sketchup pour le reutiliser ensuite pour assembler tes composants...
L'idee, c'est d'utiliser sketchup comme interface d'entrée et de sortie, avec au milieu, un programme écrit en basic, parce que c'est le seul langage de programmation que je connaisse, et qu'il faut savoir comment organiser les composants entre eux pour l'ecrire, c'est moins de l'informatique que de l'echafaudage....
Le lien entre les interfaces sketchup et le programme basic, se ferait par des fichiers texte:
> en entrée un fichier texte pour les paramètres d'entrée (dimensions, hauteur...)
> en sortie un fichier texte pour le placement des composant dans l'espace (du genre de celui que je t'ai transmis déjà)
Tu as fait l'interface de sortie.
Le programme en basic, je dois l'écrire, mais on est déjà le 2 janvier, la léthargie de la fin d'année va disparaitre, et je vais devoir revenir a mes affaires courantes... ca va aller moins vite de mon coté.
Pour l'interface d'entrée, la boite de dialogue est la manière la plus simple d'entrer les paramètres; pour un plancher rectangulaire a une certaine hauteur du sol, il n'y a pas de problème pour se faire une image mentale de l'échafaudage a construire, et on pourrait entrer les paramètres dans la boite de dialogue sans difficulté.
Mais pour des cas plus compliqués, le problème de la boite de dialogue, c'est qu'il faut décrire par des mots la valeur a entrer, et plus c'est complexe, plus il faut de mots...
D'où l'idée de partir d'un modèle sketchup représentant les données d'entrée seulement:
https://docs.google.com/leaf?id=0B3FJYD_2ui-nMWZiMmI4MmYtMzc0ZC00NTc3LTlhYjgtMzEzYjgxNGRiNTVh&hl=fr
en sélectionnant le plancher, et avec les outils de déplacement et déformation de sketchup, on voit que les cotes s'adaptent. Si le plugin pouvait lire les cotes, et les mettre dans un fichier texte, ca serait bien...
Mais la difficulté, c'est de déformer ou déplacer précisément, et le chiffre écrit dans la boite de dialogue "mesure" donne:
> la valeur du déplacement, pas la valeur absolue de la hauteur
> le rapport entre la dimension finale et la dimension de depart, pas la dimension finale
donc on ne peut pas s'en servir comme aide a la modification non plus
J'avais pensé au plugin driving dimension:
http://drivingdimensions.com/SketchUp/
mais c'est peut être trop sophistiqué par rapport au besoin.
L'idéal serait d'avoir les 2: une boite de dialogue, et un modèle simplifié dans un fichier sketchup: on entrerait une valeur dans la boite de dialogue, et ca mettrait a jour automatiquement la dimension du modèle simplifié
un peu comme driving dimension, mais simplifié, parce qu'il n'y a pas de problème lié a la compatibilité des dimensions entre elles...
un peu aussi comme le plugin Moveit de TBD
http://www.smustard.com/script/MoveIt
sauf que ce n'est pas le deplacement qu'il faudrait entrer, mais la valeur finale de la dimension
Et avec cette interface d'entrée, on ne pourrait plus partir d'un espace vide dans sketchup, il faudrait partir d'un fichier ou serait stocké le modèle simplifié; a moins que le plugin puisse aussi écrire le modèle simplifié dans l'espace vide...
Je vais commencer le programme pour écrire le fichier texte de placement des composants.
PS: je n'ai pas modifié les composants, j'ai seulement repris le calcul de l'angle de rotation du composant; avec designcad, on peut associer 3 points d'insertion a un composant, mais avec sketchup, un seul; il m'a donc fallu remplacer les 3 points par un seul, plus un angle (que j'ai eu du mal a calculer dans toutes les positions....)
Ce que tu veux, c'est dessiner grapiquement ta "plateforme" de depart et transferer les données de cette "plateforme" dans un fichier texte
Voila un premier exemple pour etre plus demonstratif le fichier texte s'affiche dans une boite de dialogue.
Tu selectionnes la face et/ou les aretes de la "plateforme", tu exécutes le code suivant dans webdialog
@+
Voila un premier exemple pour etre plus demonstratif le fichier texte s'affiche dans une boite de dialogue.
Tu selectionnes la face et/ou les aretes de la "plateforme", tu exécutes le code suivant dans webdialog
- Code:
model = Sketchup.active_model
entities = model.entities
selection = model.selection
bounds = model.bounds
ss=[]
selection.each {|x|
ss.push x.start.position if x.is_a? Sketchup::Edge
ss.push x.end.position if x.is_a? Sketchup::Edge
if x.is_a? Sketchup::Face
x.edges.each {|s|
ss.push s.start.position
ss.push s.end.position
}
end
}
ss.uniq!
bounds.clear
bounds.add ss
bc0 = bounds.corner 0
UI.messagebox "Coordonnees à stocker dans un fichier" + "\n\n" +
" Axe x : " + bc0[0].to_s + "\n" +
" Axe y : " + bc0[1].to_s + "\n" +
" Axe z : " + bc0[2].to_s + "\n"
@+
Voila ce que cela peut donner avec le niveau d'interactivité le plus faible, il suffit de lancer le plugin après modification et selection de la géométrie
Le code à copier dans la Webconsole
@+
Le code à copier dans la Webconsole
- Code:
model = Sketchup.active_model
entities = model.entities
selection = model.selection
bounds = model.bounds
ss=[]
selection.each {|x|
ss.push x.start.position if x.is_a? Sketchup::Edge
ss.push x.end.position if x.is_a? Sketchup::Edge
if x.is_a? Sketchup::Face
x.edges.each {|s|
ss.push s.start.position
ss.push s.end.position
}
end
}
ss.uniq!
bounds.clear
bounds.add ss
bc0 = bounds.corner 0
bcwidth = bounds.width
bcdepth = bounds.depth
bcheight = bounds.height
UI.messagebox "Données a stocker dans un fichier" + "\n\n" +
"-"*35 + "\n" +
"Point de depart de la gémométrie " + "\n" +
" Axe x : " + bc0[0].to_s + "\n" +
" Axe y : " + bc0[1].to_s + "\n" +
" Axe z : " + bc0[2].to_s + "\n" +
"-"*35 + "\n" +
"Cotes " + "\n" +
"Larguer : " + bcwidth.to_s + "\n" +
"Profondeur : " + bcheight.to_s + "\n" +
"Hauteur : " + bcdepth.to_s + "\n" +
"-"*35 + "\n"
@+
oui, dessiner seulement la surface a créer, a l'altitude choisie, et récupérer directement les dimensions pour écrire le fichier texte de composition de l'échafaudage
En partant d'un espace vide dans sketchup, et en dessinant la surface aux bonnes dimensions, a la bonne altitude, tes lignes de code font exactement ce qui est nécessaire.
Et pour une plateforme rectangulaire a une certaine altitude, ce n'est pas trop compliqué de dessiner a partir d'un espace vide a chaque fois.
Mais pour des cas plus compliqués, ou pour des gens qui ne connaissent vraiment pas sketchup, ca pourrait poser un problème.
D'où l'idée de partir d'un modèle existant, et de le modifier
Mais alors, la difficulté, c'est de modifier précisément les dimensions en fonction de son besoin.
Par exemple, le modele simplifié represente un surface
de 2 m par 1 m
a 2 m du sol
Je voudrais plutot une surface
de 2 m par 2 m
a 4 m du sol
je déforme et déplace, mais avec la souris, j'ai du mal a m'arreter precisement aux valeurs que je veux obtenir.
l'idéal serait que, ayant choisi de déformer la surface dans une direction, par exemple, je puisse, en cours d'opération, taper la valeur a atteindre dans une fenêtre, et que la surface se mette a cette dimension
un peu comme on fait avec sketchup quand on veut tracer un trait vertical de 2 m: on clique sur le point de départ, on monte, et en faisant tab, on peut taper la valeur 2, et le trait se dessine avec une longueur de 2 m
C'est impossible dans ce cas la, parce quand on déforme, ce qui est affiché dans la case dimension, c'est le coefficient entre la longueur finale et la longueur de départ; et quand on déplace la surface, c'est la valeur du déplacement, pas l'altitude de la surface qui est affichée
En résumé:
> ce que tu as fait convient bien pour une surface rectangulaire a une certaine hauteur; il suffit d'écrire dans le fichier texte l'altitude, et la longueur des cotés
> s'il est possible d'assister les modifications avec une boite de dialogue comme celle que je décris, pour des exemples futurs, ca serait bien...
En partant d'un espace vide dans sketchup, et en dessinant la surface aux bonnes dimensions, a la bonne altitude, tes lignes de code font exactement ce qui est nécessaire.
Et pour une plateforme rectangulaire a une certaine altitude, ce n'est pas trop compliqué de dessiner a partir d'un espace vide a chaque fois.
Mais pour des cas plus compliqués, ou pour des gens qui ne connaissent vraiment pas sketchup, ca pourrait poser un problème.
D'où l'idée de partir d'un modèle existant, et de le modifier
Mais alors, la difficulté, c'est de modifier précisément les dimensions en fonction de son besoin.
Par exemple, le modele simplifié represente un surface
de 2 m par 1 m
a 2 m du sol
Je voudrais plutot une surface
de 2 m par 2 m
a 4 m du sol
je déforme et déplace, mais avec la souris, j'ai du mal a m'arreter precisement aux valeurs que je veux obtenir.
l'idéal serait que, ayant choisi de déformer la surface dans une direction, par exemple, je puisse, en cours d'opération, taper la valeur a atteindre dans une fenêtre, et que la surface se mette a cette dimension
un peu comme on fait avec sketchup quand on veut tracer un trait vertical de 2 m: on clique sur le point de départ, on monte, et en faisant tab, on peut taper la valeur 2, et le trait se dessine avec une longueur de 2 m
C'est impossible dans ce cas la, parce quand on déforme, ce qui est affiché dans la case dimension, c'est le coefficient entre la longueur finale et la longueur de départ; et quand on déplace la surface, c'est la valeur du déplacement, pas l'altitude de la surface qui est affichée
En résumé:
> ce que tu as fait convient bien pour une surface rectangulaire a une certaine hauteur; il suffit d'écrire dans le fichier texte l'altitude, et la longueur des cotés
> s'il est possible d'assister les modifications avec une boite de dialogue comme celle que je décris, pour des exemples futurs, ca serait bien...
oui, rectangulaire et les bords paralleles aux axes principaux
et aussi, j'avais oublié: est-ce que tu pourrais ajouter une boite de dialogue pour aller chercher la bibliotheque de composants de son choix, avec par defaut, la derniere bibliotheque de composants choisie
ca rendrait le plugin plus general, on pourrait choisir d'assembler les elements de telle ou telle bibliotheque; il peut y avoir par exemple plusieurs bibliotheques parce qu'il existe plusieurs types de materiel d'echafaudage (ou autre chose...)
et aussi, j'avais oublié: est-ce que tu pourrais ajouter une boite de dialogue pour aller chercher la bibliotheque de composants de son choix, avec par defaut, la derniere bibliotheque de composants choisie
ca rendrait le plugin plus general, on pourrait choisir d'assembler les elements de telle ou telle bibliotheque; il peut y avoir par exemple plusieurs bibliotheques parce qu'il existe plusieurs types de materiel d'echafaudage (ou autre chose...)
Oui c'est réalisable...Par contre on est parti du préambule de le nom du composant à charger est donné par le fichier texte, donc si tu changes de bibliothèque, il faut que les noms des composants correspondent rigoureusement à ceux du fichier texte.
Page 1 sur 2 • 1, 2
Sujets similaires
» [ SKETCHUP plugins ] Plugin pour intervertir deux composants
» [ SKETCHUP plugins ] plugin interessant pour placer les axes des composants - curic_axis
» [SKETCHUP composants dynamiques]Tutos pour la création de composants dynamiques
» [ SKETCHUP plugins ] division de composants plugin coupe blb
» [ SKETCHUP ] recherche plugin qui ramenne tous les composants à la méme altitude
» [ SKETCHUP plugins ] plugin interessant pour placer les axes des composants - curic_axis
» [SKETCHUP composants dynamiques]Tutos pour la création de composants dynamiques
» [ SKETCHUP plugins ] division de composants plugin coupe blb
» [ SKETCHUP ] recherche plugin qui ramenne tous les composants à la méme altitude
Créer un compte ou se connecter pour répondre
Vous devez être membre pour répondre.
Page 1 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum