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 14752 topics pour un total de : 175018 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 plugins ] plugin fredo 6
par vick Hier à 11:30

» [ 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

» [ LUMION ] 2024 - Importation FBX
par Shakna Jeu 16 Mai 2024 - 10:00

» [ 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

Sondage

Chaine Twitch

 [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Poll_c1029% [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Poll_c10 29% [ 11 ]
 [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Poll_c1011% [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Poll_c10 11% [ 4 ]
 [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Poll_c103% [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Poll_c10 3% [ 1 ]
 [ 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% [ 3 ]
 [ 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% [ 3 ]
 [ 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% [ 3 ]
 [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Poll_c1029% [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Poll_c10 29% [ 11 ]
 [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Poll_c105% [ SKETCHUP LIVE COMPONENT ] Importer une liste de points dans son graphe via un input texte Poll_c10 5% [ 2 ]

Total des votes : 38

chaine sketchup.tv
Serveur Discord
-42%
Le deal à ne pas rater :
Acer Chromebook Plus Vero 514 – PC portable 14″ (via ODR 50€)
319.99 € 549.99 €
Voir le deal

[ 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 : 2854
Points : 6351
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 : 19821
Points : 34534
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 : 19821
Points : 34534
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 : 2854
Points : 6351
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 : 2854
Points : 6351
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 : 19821
Points : 34534
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