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 14744 topics pour un total de : 174930 posts - le record de membres connectés simultanément :555
Galerie


Dimensions réelles d'un composant Empty
Ton bloc notes
Derniers sujets
» [ AUTRES LOGICIELS ] LOGICIEL OFFERT
par jerryvento Aujourd'hui à 8:36

» [ LUMION ] 2024 - Importation FBX
par Shakna Hier à 10:00

» [ SKETCHUP objets ] tiroir cuisine
par jerryvento Mer 15 Mai 2024 - 19:27

» [ SKETCHUP tutos ] dessiner un dodécaèdre sans plugins
par tenrev Mer 15 Mai 2024 - 14:22

» [ SKETCHUP plugins ] Plugin SOLID INSPECTOR - Nested Instances - Demande de clarification
par tenrev Mer 15 Mai 2024 - 14:13

» [ LUMION ] 2024 - Importation FBX
par Shakna Mer 15 Mai 2024 - 12:16

» [ LUMION ] Lumion 2024
par Shakna Mer 15 Mai 2024 - 11:21

» [ TWINMOTION ] Appliquer un decal avec les outils spacing et area de Twinmotion 2024
par Gaspard Hauser Mar 14 Mai 2024 - 23:12

» [ TWINMOTION ] Nouvelle verion 2024
par Gaspard Hauser Mer 8 Mai 2024 - 10:27

» [ CHAINE TWITCH ] Pas simple de se faire un public
par tenrev Mar 7 Mai 2024 - 19:46

» [ INTELLIGENCE ARTIFICIELLE ] quelques video IA
par tenrev Mar 7 Mai 2024 - 9:47

» [ CHAINE TWITCH ] les replay de mes live sur Twitch
par tenrev Mar 7 Mai 2024 - 9:22

» [ SKETCHUP généralité ] Interpolation progressive entre deux formes le long d'un tracé
par JDD Lun 6 Mai 2024 - 15:19

» [ ARCHICAD ] Création de lucarne en 3D
par VertiKal Lun 6 Mai 2024 - 14:17

» [ SKETCHUP composants dynamiques ]
par simjoubert Lun 6 Mai 2024 - 10:39

» [ SKETCHUP plugins ]
par TIQUETM Dim 5 Mai 2024 - 19:39

» [ ARCHICAD ] raccourci clavier
par Taz Jeu 2 Mai 2024 - 16:04

» [ SKETCHUP Layout ] Layout 2024 probléme de Style
par tenrev Jeu 2 Mai 2024 - 11:58

» [ MATOS INFORM. ] LICENCES ARCHICAD
par yannickniort Mar 30 Avr 2024 - 8:29

» [ SKETCHUP plugins ] Universal Importer
par Samuel Tallet Lun 29 Avr 2024 - 19:18

» [ CHAINE TWITCH ] c'est reparti - pour quelques live
par tenrev Lun 29 Avr 2024 - 14:49

» [ SKETCHUP objets ]
par vick Mar 23 Avr 2024 - 20:52

» [ SKETCHUP vray ]
par furax49 Mar 23 Avr 2024 - 19:52

» [ ARTLANTIS ] Ca donne envie !
par loic46 Dim 21 Avr 2024 - 22:56

» [ SKETCHUP généralité ] sortie officielle de sketchup 2024
par tenrev Ven 19 Avr 2024 - 14:24

» [ ARTLANTIS ] Problème origine se déplace
par loic46 Jeu 18 Avr 2024 - 22:28

» [ SKETCHUP plugins ] Vms_up
par Rascal Jeu 18 Avr 2024 - 14:41

» [ SKETCHUP objets ] aquarium
par JDD Lun 15 Avr 2024 - 22:20

» [ ARCHICAD ] Zone - Menu déroulant
par Christophe Fortineau Jeu 11 Avr 2024 - 19:49

» [ SKETCHUP généralité ] Servimg Premium pour tous les membres
par tenrev Jeu 11 Avr 2024 - 14:31

» [ SKETCHUP plugins ] Move it
par TF3 Mer 10 Avr 2024 - 10:23

» [ SKETCHUP plugins ] curic 2D export
par tenrev Mar 9 Avr 2024 - 17:41

» [ SKETCHUP plugins ] profil builder 4 est disponible
par furax49 Mar 9 Avr 2024 - 17:00

» [ ARCHICAD ] Torsion sur poteaux
par Ti Pack Mar 9 Avr 2024 - 14:59

» [ PRESENTATION ]
par tenrev Lun 8 Avr 2024 - 8:22

Sondage

Chaine Twitch

Dimensions réelles d'un composant Poll_c1029%Dimensions réelles d'un composant Poll_c10 29% [ 11 ]
Dimensions réelles d'un composant Poll_c1011%Dimensions réelles d'un composant Poll_c10 11% [ 4 ]
Dimensions réelles d'un composant Poll_c103%Dimensions réelles d'un composant Poll_c10 3% [ 1 ]
Dimensions réelles d'un composant Poll_c108%Dimensions réelles d'un composant Poll_c10 8% [ 3 ]
Dimensions réelles d'un composant Poll_c108%Dimensions réelles d'un composant Poll_c10 8% [ 3 ]
Dimensions réelles d'un composant Poll_c108%Dimensions réelles d'un composant Poll_c10 8% [ 3 ]
Dimensions réelles d'un composant Poll_c1029%Dimensions réelles d'un composant Poll_c10 29% [ 11 ]
Dimensions réelles d'un composant Poll_c105%Dimensions réelles d'un composant Poll_c10 5% [ 2 ]

Total des votes : 38

chaine sketchup.tv
Serveur Discord
Le deal à ne pas rater :
Cartes Pokémon : la prochaine extension Pokémon sera EV6.5 Fable ...
Voir le deal

Dimensions réelles d'un composant

Page 1 sur 3 1, 2, 3  Suivant

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

avatar
landry01
Loquace
Loquace
Masculin Humeur : Blagueur
Date d'inscription : 10/06/2010
Nombre de messages : 52
Points : 86
Age : 35
Localisation : Lyon
Emploi : Étudiant/A la recherche de petits boulots

Messagelandry01 Jeu 10 Juin 2010 - 17:44

Bonsoir,
je tiens tout d'abord à m'excuser si je ne post pas dans la bonne section, mais je ne savais pas vraiment ou mettre cette question :

Comment peut on obtenir les dimension réelles composant et non les dimensions de la BoundingBox et ce, quelque soit l'angle ou l'orientation du composant...

Pour l'instant je n'ai pas trouvé...

Merci,
bonne soirée à vous! sourire
chrismat
chrismat
Moulin à parole
Moulin à parole
Masculin Date d'inscription : 01/02/2009
Nombre de messages : 396
Points : 453
Localisation : Troyes
Emploi : Concepteur paysagiste
http://www.paysaginfo.fr

Messagechrismat Jeu 10 Juin 2010 - 19:30

landry01 a écrit:Bonsoir,
je tiens tout d'abord à m'excuser si je ne post pas dans la bonne section, mais je ne savais pas vraiment ou mettre cette question :

Comment peut on obtenir les dimension réelles composant et non les dimensions de la BoundingBox et ce, quelque soit l'angle ou l'orientation du composant...

Pour l'instant je n'ai pas trouvé...

Merci,
bonne soirée à vous! sourire
Salut,
tu as essayé l'outil "mètre" ? tu devrais avoir la dimension réelle
Dimensions réelles d'un composant Captur44
c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 61
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Jeu 10 Juin 2010 - 20:52

Salut,

Si c'est dans le cadre d'une utilisation courante, il faut effectivement faire comme l'indique Christophe
Mais comme j'ai lu que tu était programmeur, c'est peut-être pour une utilisation dans un plugin ?

@+

Christophe
avatar
landry01
Loquace
Loquace
Masculin Humeur : Blagueur
Date d'inscription : 10/06/2010
Nombre de messages : 52
Points : 86
Age : 35
Localisation : Lyon
Emploi : Étudiant/A la recherche de petits boulots

Messagelandry01 Lun 14 Juin 2010 - 9:48

Oui, c'est exacte monsieur Plassais.

Excusez moi j'avais effectivement oublié de préciser que je recherchais une solution pour pouvoir l'integrer dans un plugin...
c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 61
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Lun 14 Juin 2010 - 11:13

Salut,

Par sur qu'il existe de solution idéale saispas
La solution la plus simple reste malgrè tout la boundingbox
Dimensions réelles d'un composant Boundi10

La boundingbox utilise le repere orthonormé
Une solution qui a ses limites Arrow Consider que l'axe z (hauteur) est toujour bon, balayer l'ensemble des arêtes du composant
pour determiner l'arête la plus longue. Transformer (rotation sur les axes x et y) pour aligner le composant avec cette arête sur l'axe x. Le point de depart de l'arete devient le point d'origine du composant. Supprimer la boundingbox et la recréer. Ca me marche pas pour une sphère par exemple rigole
A tester

@+
avatar
landry01
Loquace
Loquace
Masculin Humeur : Blagueur
Date d'inscription : 10/06/2010
Nombre de messages : 52
Points : 86
Age : 35
Localisation : Lyon
Emploi : Étudiant/A la recherche de petits boulots

Messagelandry01 Lun 14 Juin 2010 - 11:52

J'avais pensé à une solution un peu barbare, mais qui devrai fonctionner, qui consistait à éclater le groupe ou le compostant, sélectionner l'entité, réinitialiser ses axes, regrouper ou recomposé (selon la nature de départ) et récupérer les dimensions de la boundingbox.

Une fois les valeurs récupérées, un bon vieu Undo permet de revenir à l'état d'origine...

la solution fonctionne pour les formes parallépipédiques et de type cylindrique...

Mais mon tuteur m'a dit que l'on utiliserai cette méthode qu'en dernier recours car il la trouve trop barbare à son gout...
c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 61
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Lun 14 Juin 2010 - 12:50

Oui c'est une solution.
De toute manière je ne vois pas trop comment on peut faire autrement qu'en recomposant la boundingbox saispas
avatar
landry01
Loquace
Loquace
Masculin Humeur : Blagueur
Date d'inscription : 10/06/2010
Nombre de messages : 52
Points : 86
Age : 35
Localisation : Lyon
Emploi : Étudiant/A la recherche de petits boulots

Messagelandry01 Lun 14 Juin 2010 - 13:34

Une autre solution consistait à faire de la translation vectorielle, mais n'ayant pas fait de cycle en bac général, je n'ai jamais eu de cour dessus et ne sais pas comment cela fonctionne...

Je sais qu'il faut raisonner à partir du point d'origine des axes du composant et du point d'origine des axes du model, mais cela reste pour moi que de la theorie, puisque je ne saurai le mettre en pratique... hmm
c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 61
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Lun 14 Juin 2010 - 14:09

Jettes un oeil ici mais tu connais peut-être déjà

http://code.google.com/intl/fr-FR/apis/sketchup/docs/ourdoc/transformation.html
avatar
landry01
Loquace
Loquace
Masculin Humeur : Blagueur
Date d'inscription : 10/06/2010
Nombre de messages : 52
Points : 86
Age : 35
Localisation : Lyon
Emploi : Étudiant/A la recherche de petits boulots

Messagelandry01 Lun 14 Juin 2010 - 15:24

Mouai, mais c'est pas évident...
Je vais essayer quand même, on sait jamais des fois que j'y arrive quand même...
c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 61
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Lun 14 Juin 2010 - 15:47

Si tu as besoin d'aide dans la limite de mes capacités fais moi signe
avatar
landry01
Loquace
Loquace
Masculin Humeur : Blagueur
Date d'inscription : 10/06/2010
Nombre de messages : 52
Points : 86
Age : 35
Localisation : Lyon
Emploi : Étudiant/A la recherche de petits boulots

Messagelandry01 Lun 14 Juin 2010 - 17:36

Changement de méthode (encore?)...

Je vais essayer de récupérer tous les sommets et les stocquer dans une collection...
puis dans une autre collection je vais stocker l'enssembles des longueurs qu'il est possible de faire à partir d'un seul point (7 possibilités dans un paralépipède (8 sommets))
c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 61
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Lun 14 Juin 2010 - 18:03

j'y avais pensé, mais un problème se pose si ta ligne est segmenté, cela se produit assez souvent sur Sketchup hmm
avatar
landry01
Loquace
Loquace
Masculin Humeur : Blagueur
Date d'inscription : 10/06/2010
Nombre de messages : 52
Points : 86
Age : 35
Localisation : Lyon
Emploi : Étudiant/A la recherche de petits boulots

Messagelandry01 Lun 14 Juin 2010 - 18:27

à voir, mais pour l'instant je n'arrive pas à trouver la methode pour récupérer les points d'un composant... arf pourtant si vector existait dans le composant je pourrai faire une boucle mais hélas non...
c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 61
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Lun 14 Juin 2010 - 19:22

Tu ne peux pas recuperer les points du composant hormi la boundingbox.
Il faut que tu balayes les entitées du composant

Un petit exemple, en supposant que tu aies un seul composant et un seule instance de ce composant dans ton modele.
Prends un composant avec 3 ou 4 aretes, sinon la boucle est longue rigole

Code:
model = Sketchup.active_model
entities = model.entities
selection = model.selection
definitions = model.definitions
mon_entite = definitions[0].entities
nb = mon_entite.count
UI.messagebox "nombre d'entités du composant = " + nb.to_s
for x in (0..nb-1)
mon_arete = definitions[0].entities[x]
if mon_arete.is_a? Sketchup::Edge
  UI.messagebox " Longueur de l'arete = " + mon_arete.length.to_s
  point_depart = mon_arete.start
  point_depart = point_depart.position
  UI.messagebox "point_depart = " + point_depart.to_s
  point_fin = mon_arete.end
  point_fin= point_fin.position
  UI.messagebox "point_fin = " + point_fin.to_s
  vecteur = point_depart.vector_to point_fin
  UI.messagebox " vecteur de l'arete = " + vecteur.to_s
end
end
avatar
landry01
Loquace
Loquace
Masculin Humeur : Blagueur
Date d'inscription : 10/06/2010
Nombre de messages : 52
Points : 86
Age : 35
Localisation : Lyon
Emploi : Étudiant/A la recherche de petits boulots

Messagelandry01 Mar 15 Juin 2010 - 9:33

Non, finalement on a trouvé avec le tuteur :

Code:

   ### Listing des composants selectionnes
   def getSubComponents(entityList, level)
      model=Sketchup.active_model
      if Sketchup.version[0,1].to_i > 6
         model.start_operation((db("Créer une liste de découpe")),true)
      ### 'false' is best to see results as UI/msgboxes...
      else
         model.start_operation((db("Créer une liste de découpe")))
      end 
      selection = model.selection   
      check = false
      for c in entityList
         status = selection.contains? c
         if (status || level>1)
            if c.typename == "ComponentInstance"
               check = true      
               
               subList = c.definition.entities
               hasSubComponents = getSubComponents(subList, level+1)
               if (!hasSubComponents )
                  name = " "+(c.definition.name) ### autorise les noms commencant par - + etc
                  boundingBox = c.definition.bounds
                  dims = [ boundingBox.width.to_s,boundingBox.height.to_s,boundingBox.depth.to_s ]
                  layer = " "+(c.layer.name) ### autorise les noms commencant par - + etc
                  materialClass = c.material
                  if(materialClass==nil)
                     material = getMaterial(c)
                  else
                     material = materialClass.name
                  end    
       
                  #####Tri decroisant des dimensions"
                   if(boundingBox.width >= boundingBox.height && boundingBox.height >= boundingBox.depth)        
                        @@clist = @@clist.push([name,level,dims[0],dims[1],dims[2],material])
                    elsif(boundingBox.width >= boundingBox.depth && boundingBox.depth >= boundingBox.height)
                        @@clist = @@clist.push([name,level,dims[0],dims[2],dims[1],material])
                    elsif(boundingBox.height >= boundingBox.width && boundingBox.width >= boundingBox.depth)
                        @@clist = @@clist.push([name,level,dims[1],dims[0],dims[2],material])
                    elsif(boundingBox.height >= boundingBox.depth && boundingBox.depth >= boundingBox.width)
                        @@clist = @@clist.push([name,level,dims[1],dims[2],dims[0],material])
                    elsif(boundingBox.depth >= boundingBox.width && boundingBox.width >= boundingBox.height)
                        @@clist = @@clist.push([name,level,dims[2],dims[0],dims[1],material])
                    else
                        @@clist = @@clist.push([name,level,dims[2],dims[1],dims[0],material])
                   end #if
               end #if
            end#if
         end#if
      end#for c
      return check
   end #getSubComponents

Il suffisait en fait de remplacer :
Code:
boundingBox = c.bounds

Par:
Code:
boundingBox = c.definition.bounds

Il ne me reste maintenant qu'à tester le facteur d'échelle, car le fait de faire une mise à l'échelle, ne modifie pas la taille du composant dans sa définition...

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

Messagec.plassais Mar 15 Juin 2010 - 9:58

oK bien

mais dans ce cas cela suppose que tu n'es qu'un seul composant dans ton modele et une seule instance de ce composant...
Je ne connais pas la nature de ton plugin et ta maniere de de l'appréhender...
Il est peut-être judicieux de travailler plutot sur la boundingbox de la selection en cours ?
Si dans ton modele si tu as plusieurs composants la difficullté est de terminer sur lequel tu dois travailler, sauf tu connais déjà le nom de la definion de ton composant. Si tu as plusieurs instances de cette definition, la transformation s'applique à toutes les instances sauf si tu les as rendu unique ou alors il faut travailler sur l'instance et non sur le composant.

Je te donne surement des infos que tu connais déjà, mais ça me donne l'importance negatif rigole

Bon courage

@+
avatar
landry01
Loquace
Loquace
Masculin Humeur : Blagueur
Date d'inscription : 10/06/2010
Nombre de messages : 52
Points : 86
Age : 35
Localisation : Lyon
Emploi : Étudiant/A la recherche de petits boulots

Messagelandry01 Mar 15 Juin 2010 - 10:19

Non, la méthode fonctionne quelque soit le nombre de composant présent dans le modèle et dans la sélection et chaque composant peut être instancié n fois...

Là, je me heurte au
Code:
.to_a
qui appartient à
Geom Classes

je n'ai pas encore trouver comment appliquer la méthode
Code:
.to_a
sur
Entity Classes
17
avatar
landry01
Loquace
Loquace
Masculin Humeur : Blagueur
Date d'inscription : 10/06/2010
Nombre de messages : 52
Points : 86
Age : 35
Localisation : Lyon
Emploi : Étudiant/A la recherche de petits boulots

Messagelandry01 Mar 15 Juin 2010 - 11:23

Problème :
la méthode que j'utilise récupère les definition du composant qu'il ait été modifié ou non, mais ne prend pas en compte les modifications, la dernière solution consisterai à tout éclater et recoposer les composant un par un...
c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 61
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Mar 15 Juin 2010 - 11:46

landry01 a écrit:Non, la méthode fonctionne quelque soit le nombre de composant présent dans le modèle et dans la sélection et chaque composant peut être instancié n fois...


Tu ne peux pas appliquer .to_a sur entity (une entité est unique) il faut que tu utilises entities qui est déjà un tableau

Code:
definitions = model.definitions
mon_entite = definitions[0].entities
nb = mon_entite.count
for x in (0..nb-1)
  mon_arete = definitions[0].entities[x]
.......
end
avatar
landry01
Loquace
Loquace
Masculin Humeur : Blagueur
Date d'inscription : 10/06/2010
Nombre de messages : 52
Points : 86
Age : 35
Localisation : Lyon
Emploi : Étudiant/A la recherche de petits boulots

Messagelandry01 Mar 15 Juin 2010 - 11:48

Ou que je test les instances de chaque composant...
avatar
landry01
Loquace
Loquace
Masculin Humeur : Blagueur
Date d'inscription : 10/06/2010
Nombre de messages : 52
Points : 86
Age : 35
Localisation : Lyon
Emploi : Étudiant/A la recherche de petits boulots

Messagelandry01 Mar 15 Juin 2010 - 12:00

En fait je ne vois pas pourquoi je m'embête...
Si on copie un composant et que l'on change des dimenssions, ce ne sera plus du tout le même composant que le composant original.
Il faudra donc renommer le nouveau composant...
Et cela je le laisse au soin de l'utilisateur...
avatar
landry01
Loquace
Loquace
Masculin Humeur : Blagueur
Date d'inscription : 10/06/2010
Nombre de messages : 52
Points : 86
Age : 35
Localisation : Lyon
Emploi : Étudiant/A la recherche de petits boulots

Messagelandry01 Mar 15 Juin 2010 - 13:46

Erf, le patron ne veut pas...
Il veut que je récupère le facteur d'échelle...
Et je ne vois pas comment...
c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 61
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Mar 15 Juin 2010 - 14:17

Qu'est ce que tu entends par facteur d'échelle
avatar
landry01
Loquace
Loquace
Masculin Humeur : Blagueur
Date d'inscription : 10/06/2010
Nombre de messages : 52
Points : 86
Age : 35
Localisation : Lyon
Emploi : Étudiant/A la recherche de petits boulots

Messagelandry01 Mar 15 Juin 2010 - 14:28

exemples :

1 si la taille ne change pas
1.25 si la taille est augmentée de 25%
0.75 si la taille est diminuée de 25%
2 si la taille est doublée

etc...
Contenu sponsorisé

MessageContenu sponsorisé

Page 1 sur 3 1, 2, 3  Suivant

Voir le sujet précédent Voir le sujet suivant Revenir en haut

Créer un compte ou se connecter pour répondre

Vous devez être membre pour répondre.

S'enregistrer

Rejoignez notre communauté ! C'est facile !


S'enregistrer

Connexion

Vous êtes déjà membre ? Aucun soucis, cliquez ici pour vous connecter.


Connexion

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum