Ton bloc notes
Derniers sujets
» [ SKETCHUP généralité ] Tête de pilastre
par Lionscov Hier à 21:37
» [ ARCHICAD ] Paramétrage des coupes sur Archicad
par AK40Cess Hier à 14:12
» [ CHALLENGE 2024 ] résultats du challenge
par AK40Cess Mer 20 Nov 2024 - 13:27
» [ FORUM ] astuce pour insérer facilement un tableau sur le forum
par tenrev Mer 20 Nov 2024 - 9:12
» [ SKETCHUP plugins ] une barre d’outils perso
par tenrev Lun 18 Nov 2024 - 15:05
» [ SKETCHUP généralité ] Orienter 1 Face, 1 Profil Normal (Perpendiculaire) à 1 Arête, 1 Trajectoire
par jerryvento Lun 18 Nov 2024 - 14:47
» [ SKETCHUP généralité ] Modéliser facilement 1 spirale en moins de 40 secondes
par jerryvento Lun 18 Nov 2024 - 14:47
» [ SKETCHUP généralité ] Modélise 1 Forme Hélicoïdale, en forme de spirale : main courante, rampe d'accès voitures...
par jerryvento Lun 18 Nov 2024 - 14:46
» [ SKETCHUP tutos ] Orienter 1 Face, 1 Profil Normal (Perpendiculaire) à 1 Arête, 1 Trajectoire
par jerryvento Lun 18 Nov 2024 - 14:45
» [ SKETCHUP tutos ] Modéliser facilement 1 spirale en moins de 40 secondes
par jerryvento Lun 18 Nov 2024 - 14:44
» [ SKETCHUP tutos ] Modélise 1 Forme Hélicoïdale, en forme de spirale : main courante, rampe d'accès voitures...
par jerryvento Lun 18 Nov 2024 - 14:43
» ColorMaker par Didier Bur[ SKETCHUP plugins ]
par JDD Dim 17 Nov 2024 - 20:56
» [ ARCHICAD ] Plus de format *atl dans Archicad
par Coulou Jeu 14 Nov 2024 - 8:26
» [ SKETCHUP tutos ] Créer des Bibliothèques et des livres aléatoires Facilement (2 Méthodes!)
par tenrev Mar 12 Nov 2024 - 11:31
» [ CHALLENGE 2024 ] les images finales du challenge
par tenrev Lun 11 Nov 2024 - 15:35
» [ SKETCHUP composants dynamiques ] Formule IF
par Samuel MATHIEU Jeu 7 Nov 2024 - 21:12
» [ Challenge 2024] cHallenge archjtexture exterieur ou paysagiste-vick-sketchup-enscape
par vick Jeu 7 Nov 2024 - 10:23
» [ SKETCHUP vray ]
par tenrev Mar 5 Nov 2024 - 21:19
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste- Gaspard Hauser - Sketchup - D5 render
par tenrev Mar 5 Nov 2024 - 10:22
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - JDD - SketchUp - Enscape
par tenrev Mar 5 Nov 2024 - 10:10
» [ ARCHICAD ] Murs paramétriques
par Coulou Lun 28 Oct 2024 - 10:28
» [ SKETCHUP généralité ] Aide pour SKP 2017
par PEGASE Sam 26 Oct 2024 - 18:36
» [ ARCHICAD ] Ajouter du lambris sur un mur
par Coulou Jeu 24 Oct 2024 - 10:43
» [ SKETCHUP généralité ] 1 Citrouille à imprimer pour Halloween
par jerryvento Jeu 24 Oct 2024 - 8:13
» [ SKETCHUP tutos ] 1 Citrouille à imprimer pour Halloween
par jerryvento Jeu 24 Oct 2024 - 8:11
» [ D5_RENDER] Petit exemple "hors sujet" ... D5
par Gaspard Hauser Mar 22 Oct 2024 - 19:59
» [ MATOS INFORM. ] [WINDOWS] Miniatures de prévisualisation pour les fichiers de modèle 3D au format .OBJ, .FBX, .STL, .3DS et +
par Gaspard Hauser Mar 22 Oct 2024 - 19:49
» [ SKETCHUP Layout ] Symboles Électriques sur Layout
par JDD Jeu 17 Oct 2024 - 9:44
» [ ARCHICAD ] gardes corps et profils complexe ?
par Christophe Fortineau Lun 14 Oct 2024 - 12:10
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - allansens - cinema 4D
par Allansens Sam 12 Oct 2024 - 13:53
» [ ARTLANTIS ] Ca donne envie !
par Gaspard Hauser Jeu 10 Oct 2024 - 10:00
» [ TWINMOTION ] Unreal Engine déménage sur Fab - DataSmith & Archicad
par Coulou Jeu 10 Oct 2024 - 9:03
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - AK40Cess - Archicad-Twinmotion
par Coulou Mar 8 Oct 2024 - 11:53
» [ TWINMOTION ] Unreal Engine déménage sur Fab - Assets de Megascan
par JDD Lun 7 Oct 2024 - 21:52
» [ CHALLENGE ARCHITECTURE EXTERIEURE OU PAYSAGISTE ] Démarrage du challenge 2024 - les régles
par tenrev Jeu 3 Oct 2024 - 14:58
par Lionscov Hier à 21:37
» [ ARCHICAD ] Paramétrage des coupes sur Archicad
par AK40Cess Hier à 14:12
» [ CHALLENGE 2024 ] résultats du challenge
par AK40Cess Mer 20 Nov 2024 - 13:27
» [ FORUM ] astuce pour insérer facilement un tableau sur le forum
par tenrev Mer 20 Nov 2024 - 9:12
» [ SKETCHUP plugins ] une barre d’outils perso
par tenrev Lun 18 Nov 2024 - 15:05
» [ SKETCHUP généralité ] Orienter 1 Face, 1 Profil Normal (Perpendiculaire) à 1 Arête, 1 Trajectoire
par jerryvento Lun 18 Nov 2024 - 14:47
» [ SKETCHUP généralité ] Modéliser facilement 1 spirale en moins de 40 secondes
par jerryvento Lun 18 Nov 2024 - 14:47
» [ SKETCHUP généralité ] Modélise 1 Forme Hélicoïdale, en forme de spirale : main courante, rampe d'accès voitures...
par jerryvento Lun 18 Nov 2024 - 14:46
» [ SKETCHUP tutos ] Orienter 1 Face, 1 Profil Normal (Perpendiculaire) à 1 Arête, 1 Trajectoire
par jerryvento Lun 18 Nov 2024 - 14:45
» [ SKETCHUP tutos ] Modéliser facilement 1 spirale en moins de 40 secondes
par jerryvento Lun 18 Nov 2024 - 14:44
» [ SKETCHUP tutos ] Modélise 1 Forme Hélicoïdale, en forme de spirale : main courante, rampe d'accès voitures...
par jerryvento Lun 18 Nov 2024 - 14:43
» ColorMaker par Didier Bur[ SKETCHUP plugins ]
par JDD Dim 17 Nov 2024 - 20:56
» [ ARCHICAD ] Plus de format *atl dans Archicad
par Coulou Jeu 14 Nov 2024 - 8:26
» [ SKETCHUP tutos ] Créer des Bibliothèques et des livres aléatoires Facilement (2 Méthodes!)
par tenrev Mar 12 Nov 2024 - 11:31
» [ CHALLENGE 2024 ] les images finales du challenge
par tenrev Lun 11 Nov 2024 - 15:35
» [ SKETCHUP composants dynamiques ] Formule IF
par Samuel MATHIEU Jeu 7 Nov 2024 - 21:12
» [ Challenge 2024] cHallenge archjtexture exterieur ou paysagiste-vick-sketchup-enscape
par vick Jeu 7 Nov 2024 - 10:23
» [ SKETCHUP vray ]
par tenrev Mar 5 Nov 2024 - 21:19
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste- Gaspard Hauser - Sketchup - D5 render
par tenrev Mar 5 Nov 2024 - 10:22
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - JDD - SketchUp - Enscape
par tenrev Mar 5 Nov 2024 - 10:10
» [ ARCHICAD ] Murs paramétriques
par Coulou Lun 28 Oct 2024 - 10:28
» [ SKETCHUP généralité ] Aide pour SKP 2017
par PEGASE Sam 26 Oct 2024 - 18:36
» [ ARCHICAD ] Ajouter du lambris sur un mur
par Coulou Jeu 24 Oct 2024 - 10:43
» [ SKETCHUP généralité ] 1 Citrouille à imprimer pour Halloween
par jerryvento Jeu 24 Oct 2024 - 8:13
» [ SKETCHUP tutos ] 1 Citrouille à imprimer pour Halloween
par jerryvento Jeu 24 Oct 2024 - 8:11
» [ D5_RENDER] Petit exemple "hors sujet" ... D5
par Gaspard Hauser Mar 22 Oct 2024 - 19:59
» [ MATOS INFORM. ] [WINDOWS] Miniatures de prévisualisation pour les fichiers de modèle 3D au format .OBJ, .FBX, .STL, .3DS et +
par Gaspard Hauser Mar 22 Oct 2024 - 19:49
» [ SKETCHUP Layout ] Symboles Électriques sur Layout
par JDD Jeu 17 Oct 2024 - 9:44
» [ ARCHICAD ] gardes corps et profils complexe ?
par Christophe Fortineau Lun 14 Oct 2024 - 12:10
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - allansens - cinema 4D
par Allansens Sam 12 Oct 2024 - 13:53
» [ ARTLANTIS ] Ca donne envie !
par Gaspard Hauser Jeu 10 Oct 2024 - 10:00
» [ TWINMOTION ] Unreal Engine déménage sur Fab - DataSmith & Archicad
par Coulou Jeu 10 Oct 2024 - 9:03
» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - AK40Cess - Archicad-Twinmotion
par Coulou Mar 8 Oct 2024 - 11:53
» [ TWINMOTION ] Unreal Engine déménage sur Fab - Assets de Megascan
par JDD Lun 7 Oct 2024 - 21:52
» [ CHALLENGE ARCHITECTURE EXTERIEURE OU PAYSAGISTE ] Démarrage du challenge 2024 - les régles
par tenrev Jeu 3 Oct 2024 - 14:58
formulaire/diaporama
chaine sketchup.tv
Serveur Discord
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.
- Contenu sponsorisé
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