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


 [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Empty
Ton bloc notes
Derniers sujets
» [ SKETCHUP généralité ] Problème avec le 3d warehouse
par tenrev Jeu 25 Juil 2024 - 11:35

» [ INTELLIGENCE ARTIFICIELLE ] quelques vidéo IA
par tenrev Mer 24 Juil 2024 - 13:37

» [ SKETCHUP généralité ] modélisation rapide d'un grand pouf style "fatboy"
par tenrev Mer 24 Juil 2024 - 13:30

» [ SKETCHUP généralité ] Retourner le long de
par vick Mar 23 Juil 2024 - 15:17

» [ ENSCAPE ] tuto rendu style "studio" et amélioration avec IA
par tenrev Mar 23 Juil 2024 - 13:43

» [ SKETCHUP généralité ] short sur youtube bien organiser les scénes
par tenrev Mar 23 Juil 2024 - 13:40

» [ SKETCHUP composants dynamiques ] un petit short youtube qui montre une utilisation de composants dynamiques
par tenrev Mar 23 Juil 2024 - 13:35

» [ SKETCHUP plugins ] Parametric Modeling
par Anar Mar 23 Juil 2024 - 10:11

» [ SKETCHUP plugins ] Universal Importer
par tenrev Sam 20 Juil 2024 - 19:55

» [ D5_RENDER ] Le Cull effect dans un scatter
par Gaspard Hauser Ven 19 Juil 2024 - 17:52

» [ LUMION ] mémorandum LUMION
par Lumion France Jeu 18 Juil 2024 - 11:36

» [ LUMION ] Lumion 2024
par Lumion France Jeu 18 Juil 2024 - 11:28

» [ SKETCHUP composants dynamiques ] Hidden avec formule IF et OR imbriqué
par simjoubert Lun 15 Juil 2024 - 23:05

» [ PRESENTATION ] Anar (Spacymen)
par simjoubert Jeu 11 Juil 2024 - 23:11

» [ CHALLENGES ] Ca vous intéresserait un challenge - je lance un sondage
par Gaspard Hauser Jeu 11 Juil 2024 - 14:13

» [ SKETCHUP généralité ] barre outils 2024
par JDD Mer 10 Juil 2024 - 11:52

» [ SKETCHUP plugins ] boolean
par Anar Mar 9 Juil 2024 - 17:30

» [ D5_RENDER ] Quelques Rendus D5 Render
par Gaspard Hauser Sam 6 Juil 2024 - 11:39

» [ SKETCHUP composants dynamiques ] Demande aide Composant dynamique
par tenrev Sam 6 Juil 2024 - 7:31

» [ ARCHICAD ] Alignement entre textures et hachures en façades
par eddyje Jeu 4 Juil 2024 - 17:01

» [ PRESENTATION ] Alpilles AMO
par tenrev Sam 29 Juin 2024 - 14:19

» [ SKETCHUP plugins ] JHS power bar
par vick Mer 19 Juin 2024 - 22:51

» [ SKETCHUP tutos ] Modéliser à partir d'1 image, d'1 photo
par jerryvento Lun 17 Juin 2024 - 8:38

» [ SKETCHUP généralité ] Modéliser à partir d'1 image, d'1 photo
par jerryvento Lun 17 Juin 2024 - 8:38

» [ SKETCHUP plugins ] plugin fredo 6 - réinstallation des licences
par vick Ven 14 Juin 2024 - 17:31

» [ SKETCHUP généralité ] export-import de scènes
par silic Mer 12 Juin 2024 - 18:18

» [ SKETCHUP plugins ] import nuages de points
par bruno Mar 11 Juin 2024 - 13:08

» [ SKETCHUP plugins ] layout sketchup et VBO LayOut Flattener
par JDD Mer 5 Juin 2024 - 19:42

» [ CHAINE TWITCH ] replay d'un mini live
par tenrev Mar 4 Juin 2024 - 9:35

» [ SKETCHUP Layout ] Texture en rendu vectoriel
par tenrev Mar 4 Juin 2024 - 8:30

» [ SKETCHUP objets ] tiroir cuisine
par JDD Dim 2 Juin 2024 - 10:43

» [ SKETCHUP composants dynamiques ]
par Miroslav Mar 28 Mai 2024 - 15:51

» [ SKETCHUP composants dynamiques ] Masquer valeur attribut
par Manutio Mar 21 Mai 2024 - 14:02

» [ TWINMOTION ] CONSEIL FORMATION
par tenrev Mar 21 Mai 2024 - 10:17

» [ AUTRES LOGICIELS ] LOGICIEL OFFERT
par jerryvento Ven 17 Mai 2024 - 8:36

Sondage

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

 [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Poll_c1015% [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Poll_c10 15% [ 2 ]
 [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Poll_c1031% [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Poll_c10 31% [ 4 ]
 [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Poll_c1046% [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Poll_c10 46% [ 6 ]
 [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Poll_c108% [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Poll_c10 8% [ 1 ]
 [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Poll_c100% [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Poll_c10 0% [ 0 ]
 [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Poll_c100% [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Poll_c10 0% [ 0 ]

Total des votes : 13

chaine sketchup.tv
Serveur Discord
Le Deal du moment : -44%
Casque Gamer sans fil STEELSERIES Arctis 7P+ (PS5/PS4, ...
Voir le deal
86.99 €

[ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte

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

simjoubert
simjoubert
Administrateurs
Administrateurs
Masculin Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 2860
Points : 6361
Age : 49
Localisation : Val de Marne
Emploi : Paysagiste
https://www.sketchup.simjoubert.com/

Messagesimjoubert Jeu 8 Juin 2023 - 13:30

Hello les amis

Il est actuellement fastidieux d'utiliser des courbes ou des faces existantes dans son modèle pour adapter son live component !

Exemple le tracé de la courbe de l'axe central d'un chemin de point pour modéliser une route, un reseau ferré, le contour d'une terrasse ...
Vous étiez obligé d'exporter la courbe en obj pour l'importer dans Trible Creator.

En attendant l'import de fichiers CSV dans un input, il faut trouver la parade.
En utilisant les nœuds disponibles j'ai réussi à convertir une entrée d'un input texte en liste de vecteurs ! content

voici une petite démo :
 [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Chrome_gAYGMsVGvd

Voici le code ruby pour extraire les points d'une face ou les points ordonnés d'une courbe
le graph doit être en unité mm

Code:

# Extract outerloop points position of a face in a selected Component Instance to a string
# x,y,z values are roundes to 1 decimal
# string use different separator for points and values

# How to use
# 1- Draw à face
# 2- Create a Component of the face
# 3- Define the origin of the component it will be the equal at the origin of the graphe
# 4- paste this code in the Ruby Console
# 5- Copy the string result
# 6- Past it in the Live component dialog, in the string input

def stringOuterloop(separatorPoint=";",separatorValue=",")
  
  inst = Sketchup.active_model.selection.grep(Sketchup::ComponentInstance)[0]
  face = inst.definition.entities.grep(Sketchup::Face)[0]
  vertices = face.outer_loop.vertices
  points = vertices.map{|v| v.position}
  points_mm = points.map{|p| "#{p.x.to_mm.round(1)}#{separatorValue}#{p.y.to_mm.round(1)}#{separatorValue}#{p.z.to_mm.round(1)}"}
  points_string = points_mm.join("#{separatorPoint}")
  return points_string
  
end

def stringCurve(separatorPoint=";",separatorValue=",")
  
  inst = Sketchup.active_model.selection.grep(Sketchup::ComponentInstance)[0]
  curve = inst.definition.entities.grep(Sketchup::Edge)[0].curve
  vertices = curve.vertices
  points = vertices.map{|v| v.position}
  points_mm = points.map{|p| "#{p.x.to_mm.round(1)}#{separatorValue}#{p.y.to_mm.round(1)}#{separatorValue}#{p.z.to_mm.round(1)}"}
  points_string = points_mm.join("#{separatorPoint}")
  return points_string
  
end

string = stringCurve()
puts string

une petite démo avec mon live component Terrasse en bois

 [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte SketchUp_ZvGIsFIuz1

voici le lien vers le graphe :
https://creator.trimble.com/graph?assetURI=whp:34f183e7-a2b1-4d0b-ab52-f8e918b697bf

 [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte W7AlvnlBlt

Ça vous plait ?
 [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte IPB_917

tenrev et JDD aiment ce message

tenrev
tenrev
FONDATEUR DE BIBLIO3D
FONDATEUR DE BIBLIO3D
Masculin Humeur : excellente comme toujours
Date d'inscription : 19/01/2008
Nombre de messages : 19854
Points : 34614
Age : 61
Localisation : Dans la quatrieme dimension
Emploi : archi d'intérieur salarié
https://www.biblio3d.com

Messagetenrev Jeu 8 Juin 2023 - 13:42

@simjoubert  [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Cloche10

super génial , tu es le meilleur Simon , je vais essayer ca  [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Prier11

-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage/Salut Invité merci de consulter mon profil/PC fixe Rizen 9 3950 cg RTX3080-64 go de ram DDssd 1To/1 PC portable Lenovo  16'' w11 i7 32go-CG  RTX3070 8go/1casque meta Quest 3/1 casque VR Occulus Rift /1 PC portable Dell sous Linux Ubuntu-1 pc portable HP sous chromebook/Raspberry Pi - Arduino /  Modélisation :Sketchup-Rhino-Pconplanner-Rendu:Enscape-Keyshot-Unreal Engine-Twinmotion-Autres:Photoshop-Indesign-After Effect-Première pro-Intelligence artificielle -Chatgpt+-Midjourney-Suno-Elevenlabs-Canva
 [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte 575088biblio3d
tenrev
tenrev
FONDATEUR DE BIBLIO3D
FONDATEUR DE BIBLIO3D
Masculin Humeur : excellente comme toujours
Date d'inscription : 19/01/2008
Nombre de messages : 19854
Points : 34614
Age : 61
Localisation : Dans la quatrieme dimension
Emploi : archi d'intérieur salarié
https://www.biblio3d.com

Messagetenrev Mar 26 Mar 2024 - 17:40

@simjoubert
salut Simon
hier j'ai essayé ton script , j'ai un message d'erreur dans la console !! peut être je m'y prend mal ?
j'ai testé avec sketchup 2023
a+

-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage/Salut Invité merci de consulter mon profil/PC fixe Rizen 9 3950 cg RTX3080-64 go de ram DDssd 1To/1 PC portable Lenovo  16'' w11 i7 32go-CG  RTX3070 8go/1casque meta Quest 3/1 casque VR Occulus Rift /1 PC portable Dell sous Linux Ubuntu-1 pc portable HP sous chromebook/Raspberry Pi - Arduino /  Modélisation :Sketchup-Rhino-Pconplanner-Rendu:Enscape-Keyshot-Unreal Engine-Twinmotion-Autres:Photoshop-Indesign-After Effect-Première pro-Intelligence artificielle -Chatgpt+-Midjourney-Suno-Elevenlabs-Canva
 [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte 575088biblio3d
simjoubert
simjoubert
Administrateurs
Administrateurs
Masculin Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 2860
Points : 6361
Age : 49
Localisation : Val de Marne
Emploi : Paysagiste
https://www.sketchup.simjoubert.com/

Messagesimjoubert Mer 27 Mar 2024 - 15:46

hello  @tenrev Jack

Le code que j'ai donné contient 2 méthodes

Une pour obtenir les points du contour d'une face à intérieur d'un composant
Code:
string = stringOuterloop()
puts string

Et une pour obtenir les points d'une courbe à intérieur d'un composant
Code:
string = stringCurve()
puts string

Le code est un peu rudimentaire et ne fait aucune vérification


 [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte IPB_917
simjoubert
simjoubert
Administrateurs
Administrateurs
Masculin Humeur : Des racines et des rêves !!!
Date d'inscription : 05/08/2012
Nombre de messages : 2860
Points : 6361
Age : 49
Localisation : Val de Marne
Emploi : Paysagiste
https://www.sketchup.simjoubert.com/

Messagesimjoubert Mer 27 Mar 2024 - 17:22

Hello
Voici une version améliorée avec des tests de selection et boites de dialogue

Vous pouvez extraire les points de la premiere courbe trouvée ou du contour de la première face trouvée, dans le composant sélectionnée.

Code:
def stringCurve(curves, separatorPoint=";",separatorValue=",")
  size = curves.size
  UI.messagebox("#{ size } curves are found! Only the first will be used." , MB_OK) unless size == 1
  curve = curves[0]
  vertices = curve.vertices
  points = vertices.map{|v| v.position}
  points_mm = points.map{|p| "#{p.x.to_mm.round(1)}#{separatorValue}#{p.y.to_mm.round(1)}#{separatorValue}#{p.z.to_mm.round(1)}"}
  points_string = points_mm.join("#{separatorPoint}")
  return points_string
 
end

def stringOuterloop(faces, separatorPoint=";",separatorValue=",")
  size = faces.size
  UI.messagebox("#{ size } faces are found! Only the first will be used." , MB_OK) unless size == 1
  face = faces[0]
  vertices = face.outer_loop.vertices
  points = vertices.map{|v| v.position}
  points_mm = points.map{|p| "#{p.x.to_mm.round(1)}#{separatorValue}#{p.y.to_mm.round(1)}#{separatorValue}#{p.z.to_mm.round(1)}"}
  points_string = points_mm.join("#{separatorPoint}")
  return points_string
 
end




def getpoints()
  model = Sketchup.active_model
  sel = model.selection
  inst = sel.grep(Sketchup::ComponentInstance)[0]
 
  #test si la selection est vide
  error = 'No component selected'
  UI.messagebox(error , MB_OK) unless inst
  return error unless inst
 
  list = []

  ents = inst.definition.entities
  faces = ents.grep(Sketchup::Face)
  list.append("Outerloop first face in component") if faces.size > 0
 
  edges = ents.grep(Sketchup::Edge)
  curves = []
 
  edges.each do |e|
    curve = e.curve
    curves << curve if curve
  end
  curves = curves.uniq
  puts curves
  list.append("Curve in component") if curves.size > 0
 
  if list == []
    error = "No curve or face in the selected component"
    UI.messagebox(error , MB_OK)
    return error
  end
 
  prompts = ["What type of element do you want to extract the points from?"]
  defaults = [list[0]]
  list_c = [list.join("|")]
  input = UI.inputbox(prompts, defaults, list_c, "Select the source of point")
  puts input
 
  case input[0]
  when "Outerloop first face in component"
    string = stringOuterloop(faces)
  when "Curve in component"
    string = stringCurve(curves)
  end
 
  #string = "No points" if string ==""
  UI.messagebox(string , MB_OK)
  return string
end
points = getpoints()
puts points

 [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte IPB_917

tenrev aime ce message

tenrev
tenrev
FONDATEUR DE BIBLIO3D
FONDATEUR DE BIBLIO3D
Masculin Humeur : excellente comme toujours
Date d'inscription : 19/01/2008
Nombre de messages : 19854
Points : 34614
Age : 61
Localisation : Dans la quatrieme dimension
Emploi : archi d'intérieur salarié
https://www.biblio3d.com

Messagetenrev Jeu 28 Mar 2024 - 13:30

@simjoubert

super merci Simon , je regarde cela ce weekend bien bravo

-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage/Salut Invité merci de consulter mon profil/PC fixe Rizen 9 3950 cg RTX3080-64 go de ram DDssd 1To/1 PC portable Lenovo  16'' w11 i7 32go-CG  RTX3070 8go/1casque meta Quest 3/1 casque VR Occulus Rift /1 PC portable Dell sous Linux Ubuntu-1 pc portable HP sous chromebook/Raspberry Pi - Arduino /  Modélisation :Sketchup-Rhino-Pconplanner-Rendu:Enscape-Keyshot-Unreal Engine-Twinmotion-Autres:Photoshop-Indesign-After Effect-Première pro-Intelligence artificielle -Chatgpt+-Midjourney-Suno-Elevenlabs-Canva
 [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte 575088biblio3d
Contenu sponsorisé

MessageContenu sponsorisé

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