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 14802 topics pour un total de : 175615 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
» Bonjour à tous !
par tenrev Lun 16 Sep 2024 - 11:49

» Recherche un dessinateur pour mes produits
par tenrev Lun 16 Sep 2024 - 11:48

» [ SKETCHUP composants dynamiques ]
par simjoubert Dim 15 Sep 2024 - 9:37

» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - allansens - cinema 4D
par Allansens Sam 14 Sep 2024 - 16:32

» [ CHALLENGE 2024 ]Challenge architecture extérieure ou paysagiste - Nicolaco - Sketchup - Blender - Cycles (ABANDON)
par youyou40 Lun 9 Sep 2024 - 19:18

» Des vignettes à la place d'un export Graphique 2D !
par Gaspard Hauser Ven 6 Sep 2024 - 0:01

» [ MATOS INFORM. ] Application Splashtop Wired XDisplay, pour utliser votre tablette iPad ou Android en moniteur supplémentaire
par JDD Jeu 5 Sep 2024 - 10:49

» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste- Gaspard Hauser - Sketchup - D5 render
par JDD Mer 4 Sep 2024 - 18:03

» [ SKETCHUP généralité ]
par lionel Claude Mar 3 Sep 2024 - 19:45

» [ D5_RENDER ] Comparatif D5 enhancement vs Krea AI enhancement
par Gaspard Hauser Dim 1 Sep 2024 - 19:40

» [ Challenge 2024] cHallenge archjtexture exterieur ou paysagiste-vick-sketchup-enscape
par Gaspard Hauser Dim 1 Sep 2024 - 12:34

» [ D5_RENDER ] Animation d'objets, Phasing animation D5 render
par AK40Cess Sam 31 Aoû 2024 - 10:33

» [ TWINMOTION ] Appliquer un decal avec les outils spacing et area de Twinmotion 2024
par AK40Cess Ven 30 Aoû 2024 - 4:00

» [ SKETCHUP généralité ]
par Gaspard Hauser Dim 25 Aoû 2024 - 8:58

» [ SKETCHUP plugins ]
par furax49 Ven 23 Aoû 2024 - 15:54

» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - AK40Cess - Archicad-Twinmotion
par JDD Ven 23 Aoû 2024 - 11:20

» [ SKETCHUP généralité ] SOS problème avec les arêtes
par vick Jeu 22 Aoû 2024 - 19:15

» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - JDD - SketchUp - Enscape
par Gaspard Hauser Jeu 22 Aoû 2024 - 12:10

» [ D5_RENDER ] Images de l'intérieur meublé de de la villa Bauhaus
par Gaspard Hauser Sam 17 Aoû 2024 - 19:24

» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - Simjoubert - sketchup Enscape
par simjoubert Sam 17 Aoû 2024 - 15:32

» [ D5_RENDER ] comparaison D5 render Twinmotion
par Gaspard Hauser Jeu 15 Aoû 2024 - 10:08

» [ SKETCHUP généralité ] Objets 3D luminaires
par PEGASE Mar 13 Aoû 2024 - 6:14

» [ TWINMOTION ] rayon de soleil
par simjoubert Lun 12 Aoû 2024 - 23:42

» [ LUMION ] License-Abonnement
par tenrev Jeu 8 Aoû 2024 - 15:29

» [ ENSCAPE ] HDRI dans projet
par tenrev Mer 7 Aoû 2024 - 9:57

» [ TUTO ] tutos pour une utilisation optimale du forum
par tenrev Dim 4 Aoû 2024 - 15:22

» [ SKETCHUP LIVE COMPONENT ] un petit exemple simple
par tenrev Ven 2 Aoû 2024 - 11:38

» [ SKETCHUP composants dynamiques ] Optimisez votre workflow Sketchup : Composants dynamiques, couleurs et export Excel !
par tenrev Jeu 1 Aoû 2024 - 9:31

» [ PRESENTATION ] Hello et un de plus
par simjoubert Jeu 1 Aoû 2024 - 0:26

» [ INTELLIGENCE ARTIFICIELLE ] i'eau est leur milieu de prédilection
par tenrev Mer 31 Juil 2024 - 13:06

» [ CHALLENGE ARCHITECTURE EXTERIEURE OU PAYSAGISTE ] Démarrage du challenge 2024 - les régles
par tenrev Mer 31 Juil 2024 - 9:00

» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - Tenrev - Sketchup - Enscape - Twinmotion - IA
par tenrev Mer 31 Juil 2024 - 8:51

» [ SKETCHUP plugins ] plugin sj_add_dc_attribute_v.0.3.3
par tenrev Mer 31 Juil 2024 - 8:38

» [ SKETCHUP plugins ] Universal Importer
par tenrev Mer 31 Juil 2024 - 8:36

» [ CHALLENGES ] Ca vous intéresserait un challenge - je lance un sondage
par tenrev Mar 30 Juil 2024 - 10:15

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 : -11%
Smartphone 6.36 ” Xiaomi 14 (12 Go / 256 Go
Voir le deal
641 €

[ 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 : 2900
Points : 6408
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 : 19894
Points : 34682
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 : 19894
Points : 34682
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 : 2900
Points : 6408
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 : 2900
Points : 6408
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 : 19894
Points : 34682
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