Forum Sketchup Artlantis Archicad
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Annonces
Bonjour Invité Bienvenue sur le forum biblio3d - le forum a été créé le Sam 19 Jan 2008 - 14:26- Nous avons enregistrés 14834 topics pour un total de : 175870 posts - le record de membres connectés simultanément :853
Galerie


plugin pour assembler des composants Empty
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

Sondage

êtes vous intéressé et prêt à participer à un challenge ?

plugin pour assembler des composants Poll_c1015%plugin pour assembler des composants Poll_c10 15% [ 2 ]
plugin pour assembler des composants Poll_c1031%plugin pour assembler des composants Poll_c10 31% [ 4 ]
plugin pour assembler des composants Poll_c1046%plugin pour assembler des composants Poll_c10 46% [ 6 ]
plugin pour assembler des composants Poll_c108%plugin pour assembler des composants Poll_c10 8% [ 1 ]
plugin pour assembler des composants Poll_c100%plugin pour assembler des composants Poll_c10 0% [ 0 ]
plugin pour assembler des composants Poll_c100%plugin pour assembler des composants Poll_c10 0% [ 0 ]

Total des votes : 13

chaine sketchup.tv
Serveur Discord
Le Deal du moment : -17%
SSD interne Crucial SSD P3 1To NVME à ...
Voir le deal
49.99 €

plugin pour assembler des composants

Page 1 sur 2 1, 2  Suivant

Voir le sujet précédent Voir le sujet suivant Aller en bas

avatar
glro
Timide
Timide
Masculin Date d'inscription : 20/12/2010
Nombre de messages : 26
Points : 42
Age : 67
Localisation : Espagne
Emploi : dessin et calcul d'echafaudages
http://georgesleroux.blogspot.com/

Messageglro Ven 31 Déc 2010 - 10:05

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
c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 62
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Ven 31 Déc 2010 - 12:01

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

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

plugin pour assembler des composants 122

plugin pour assembler des composants 218

plugin pour assembler des composants 315

@+

Christophe
avatar
glro
Timide
Timide
Masculin Date d'inscription : 20/12/2010
Nombre de messages : 26
Points : 42
Age : 67
Localisation : Espagne
Emploi : dessin et calcul d'echafaudages
http://georgesleroux.blogspot.com/

Messageglro Ven 31 Déc 2010 - 12:39

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

c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 62
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Ven 31 Déc 2010 - 13:50

Je peux t'envoyer un fichier avec un point de construction au niveau du point d'insertion de chaque composant pour que tu puisses controler
c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 62
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Ven 31 Déc 2010 - 14:40

Une question bête tes coordonnées sont bien dans l'ordre x,y, z ?
c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 62
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Ven 31 Déc 2010 - 14:50

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?
@+


Dernière édition par c.plassais le Ven 31 Déc 2010 - 18:03, édité 2 fois
avatar
glro
Timide
Timide
Masculin Date d'inscription : 20/12/2010
Nombre de messages : 26
Points : 42
Age : 67
Localisation : Espagne
Emploi : dessin et calcul d'echafaudages
http://georgesleroux.blogspot.com/

Messageglro Ven 31 Déc 2010 - 14:53

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...)

avatar
glro
Timide
Timide
Masculin Date d'inscription : 20/12/2010
Nombre de messages : 26
Points : 42
Age : 67
Localisation : Espagne
Emploi : dessin et calcul d'echafaudages
http://georgesleroux.blogspot.com/

Messageglro Ven 31 Déc 2010 - 15:01

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.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 62
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Ven 31 Déc 2010 - 15:26

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...
avatar
glro
Timide
Timide
Masculin Date d'inscription : 20/12/2010
Nombre de messages : 26
Points : 42
Age : 67
Localisation : Espagne
Emploi : dessin et calcul d'echafaudages
http://georgesleroux.blogspot.com/

Messageglro Ven 31 Déc 2010 - 16:03

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
c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 62
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Ven 31 Déc 2010 - 16:31

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

@+
avatar
glro
Timide
Timide
Masculin Date d'inscription : 20/12/2010
Nombre de messages : 26
Points : 42
Age : 67
Localisation : Espagne
Emploi : dessin et calcul d'echafaudages
http://georgesleroux.blogspot.com/

Messageglro Ven 31 Déc 2010 - 17:20

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

c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 62
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Ven 31 Déc 2010 - 17:38

Oui c'est le même lien, mais j'ai uploader les fichiers

On peut tout a fait se servir d'un point guide comme point d'insertion
avatar
glro
Timide
Timide
Masculin Date d'inscription : 20/12/2010
Nombre de messages : 26
Points : 42
Age : 67
Localisation : Espagne
Emploi : dessin et calcul d'echafaudages
http://georgesleroux.blogspot.com/

Messageglro Ven 31 Déc 2010 - 19:43

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 .....

c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 62
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Ven 31 Déc 2010 - 19:53

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)
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

@+
avatar
glro
Timide
Timide
Masculin Date d'inscription : 20/12/2010
Nombre de messages : 26
Points : 42
Age : 67
Localisation : Espagne
Emploi : dessin et calcul d'echafaudages
http://georgesleroux.blogspot.com/

Messageglro Sam 1 Jan 2011 - 18:13

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=plugin pour assembler des composants Parame11]

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.


c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 62
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Sam 1 Jan 2011 - 21:39

Je viens de tester cela fonctionne bien (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 rigole
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é saispas
c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 62
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Dim 2 Jan 2011 - 10:40

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
avatar
glro
Timide
Timide
Masculin Date d'inscription : 20/12/2010
Nombre de messages : 26
Points : 42
Age : 67
Localisation : Espagne
Emploi : dessin et calcul d'echafaudages
http://georgesleroux.blogspot.com/

Messageglro Dim 2 Jan 2011 - 12:16

c.plassais a écrit:Je viens de tester cela fonctionne bien (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... saispas

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....)



c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 62
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Dim 2 Jan 2011 - 12:59

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
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"

plugin pour assembler des composants Coord110

@+
c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 62
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Dim 2 Jan 2011 - 14:23

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




Uploader ici vos fichiers
à partager sur le forum

Marque-page social
Marque-page social reddit      

Conservez et partagez l'adresse de Forum Sketchup Artlantis Archicad sur votre site de social bookmarking

Flux RSS

Netvibes 


addthis
pinterest