Forum Sketchup Artlantis Archicad
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Galerie


script "Cotes de niveaux" Empty
Ton bloc notes
Derniers sujets
» [ TEXTURES ET SHADERS ] six ensembles de texture de parallaxe gratuites qui peuvent être utilisées pour créer instantanément de faux intérieurs 3D pour des bâtiments 3D
par JDD Hier à 23:53

» [ SKETCHUP vray ] Configuration pour une GTX3080
par Lerebelle Hier à 22:36

» [ SKETCHUP composants dynamiques ] Plusieurs animations en un seul clic ?
par tist Mer 30 Nov 2022 - 15:47

» [ ARCHICAD ] Compatibilité Apple (M1 Max) et ArchiCad (25)
par Coulou Mar 29 Nov 2022 - 15:51

» [ SKETCHUP plugins ] prix intéressants pendant le black friday
par tenrev Mar 29 Nov 2022 - 14:40

» [ PRESENTATION ] Bonjour à tous
par Combory Mar 29 Nov 2022 - 14:09

» [ MATOS INFORM. ] Matterport
par yannickniort Lun 28 Nov 2022 - 9:48

» [ MATOS INFORM. ] Caméra 360 pour relevé
par yannickniort Dim 27 Nov 2022 - 7:21

» [ ARCHICAD-OBJETS GDL ] LIBRARY PART MARKER / PARAM-O- Où trouver des tutos ?
par Coulou Ven 25 Nov 2022 - 16:14

» [ ARTLANTIS ] Quoi de neuf
par Yanosh HRDY Ven 25 Nov 2022 - 15:11

» [ SKETCHUP tutos ] APPRENDRE SKETCHUP - TUTO 2 - Supprimer et Ajouter des éléments
par jerryvento Ven 25 Nov 2022 - 13:20

» [ AUTRES LOGICIELS ] Logiciel COVER 3D 2.3 import to Sketchup 2021
par simjoubert Jeu 24 Nov 2022 - 17:38

» [ ARCHICAD-OBJETS GDL ] PARAM-O - Boite à Eau
par Coulou Jeu 24 Nov 2022 - 10:20

» [ ARCHICAD-IMPORT/EXPORT ] IMPORT FICHIER E57 - ECHEC CREATION FICHIER LCF
par Coulou Jeu 24 Nov 2022 - 9:01

» [ UNREAL ENGINE ] mise à jour vers la version 5.1 au top
par tenrev Jeu 24 Nov 2022 - 8:38

» [ AUTRES LOGICIELS ] Le rustique TinkerCad!
par tenrev Jeu 24 Nov 2022 - 7:56

» [ PRESENTATION ] Bonjour à tous.
par jerryvento Mer 23 Nov 2022 - 18:46

» [ WIP_ANIMATIONS ] Animations avec Enscape
par tenrev Lun 21 Nov 2022 - 15:07

» [ SKETCHUP Layout ] Symboles Électriques sur Layout
par tenrev Lun 21 Nov 2022 - 13:15

» [ SKETCHUP Layout ] symboles architecturaux layout
par Suncil Lun 21 Nov 2022 - 9:11

» [ SKETCHUP généralité ] Moteur de rendu VRAY ou ENSCAPE
par JDD Dim 20 Nov 2022 - 21:12

» [ SKETCHUP tutos ] Modelisation SketchUp d'un Building du quartier Ginza à Tokyo et Rendu Enscape
par JDD Dim 20 Nov 2022 - 17:30

» [ SKETCHUP généralité ] modèle SketchUp 3D dans la suite office de Microsoft
par simjoubert Sam 19 Nov 2022 - 8:25

» [ ARCHICAD-OBJETS GDL ] PARAM-O la programmation nodale dans Archicad
par archisky Ven 18 Nov 2022 - 12:03

» [ TWINMOTION ] Version 2022.2.2 et MàJ Datasmith
par Pistou Jeu 17 Nov 2022 - 11:52

» [ PHOTOSHOP ] retouche de photos avec Ai et Photoshop
par tenrev Lun 14 Nov 2022 - 7:30

» [ CHAINE TWITCH ] Partie 2 import dans sketchup de quixel via transmutr
par simjoubert Lun 14 Nov 2022 - 7:04

» [ SKETCHUP plugins ] sj_AddDCFunctions
par simjoubert Dim 13 Nov 2022 - 16:22

» [ CHAINE TWITCH ] live du 10 nov 2022 14 h - import d'assets Quixel avec Transmutr
par tenrev Jeu 10 Nov 2022 - 15:50

» [ SKETCHUP généralité ] Vlog SketchUp 3D Basecamp Adebeo
par Nicolas Adebeo Jeu 10 Nov 2022 - 8:47

» [ AUTRES LOGICIELS ] Quixel mixer 2021 vient de sortir
par tenrev Mer 9 Nov 2022 - 12:23

» [ SKETCHUP LIVE COMPONENT ] former une courbe avec plusieurs courbes
par tenrev Mer 9 Nov 2022 - 9:06

» [ SKETCHUP LIVE COMPONENT ] Simon on parle de toi
par youyou40 Lun 7 Nov 2022 - 17:36

» [ CHAINE TWITCH ] replay du live 05 nov 2022
par tenrev Dim 6 Nov 2022 - 23:22

» [ ARCHICAD ] [ IFC ] [ ARCHICAD 26 ] [ AC26 ] [ CLASSIFICATION ] [ EVEBIM ]
par Christophe Fortineau Ven 4 Nov 2022 - 13:14

Sondage

Chaine Twitch

script "Cotes de niveaux" Poll_c1019%script "Cotes de niveaux" Poll_c10 19% [ 6 ]
script "Cotes de niveaux" Poll_c1013%script "Cotes de niveaux" Poll_c10 13% [ 4 ]
script "Cotes de niveaux" Poll_c103%script "Cotes de niveaux" Poll_c10 3% [ 1 ]
script "Cotes de niveaux" Poll_c1010%script "Cotes de niveaux" Poll_c10 10% [ 3 ]
script "Cotes de niveaux" Poll_c106%script "Cotes de niveaux" Poll_c10 6% [ 2 ]
script "Cotes de niveaux" Poll_c1010%script "Cotes de niveaux" Poll_c10 10% [ 3 ]
script "Cotes de niveaux" Poll_c1032%script "Cotes de niveaux" Poll_c10 32% [ 10 ]
script "Cotes de niveaux" Poll_c106%script "Cotes de niveaux" Poll_c10 6% [ 2 ]

Total des votes : 31

chaine sketchup.tv

script "Cotes de niveaux"

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

ga
ga
Moulin à parole
Moulin à parole
Masculin Humeur : boiseuse ......
Date d'inscription : 02/01/2010
Nombre de messages : 312
Points : 363
Age : 46
Localisation : Chez moi !........
Emploi : Charpentier

Messagega Mer 20 Jan 2010 - 21:01

Bonjour

J'ai créer un autre poste pour ne pas surcharger celui de william bilcot , d'explications de code fou
Pour ceux qui ne saurais pas de quoi on parler voici le script de c.plassais avec ses commentaires :
# cp

class Outil_cote # Creation de la classe Outil_cote
def activate
@clic = Sketchup::InputPoint.new
@point_central=nil
end

def onLButtonUp(flags, x, y, view) # déclenchement sur relaché du bouton gauche de la souris
model=Sketchup.active_model
selection = model.selection.clear # vide la selection pour eviter de grouper une selection malancontreuse
mes_entites = model.entities
mon_groupe = mes_entites.add_group()
groupe_entites = mon_groupe.entities
@clic.pick view, x, y # le point @clic recupere les valeurs du "relaché"
pos = @clic.position # determine la postion du point @clic
@point_central=pos # fixe le point_central à la position pos
z = @point_central.z # récupere la valeur de l'élévation
txt=''
txt<<z.to_s # affectation de l'élévation a la variable txt
trans = Geom::Transformation.new @point_central # preparation de la tranformation au point_central
t = groupe_entites.add_3d_text(txt, TextAlignCenter, "Arial", true, false, 1.0, 0.0, 0.0, true, 0.1) # creation du texte 3D à partir de

la variable txt et des paramètres modifiables, on peut rajouter une inputbox
mon_groupe.move! trans # déplace le groupe par la transformation trans
model.selection.add mon_groupe # ajoute le groupe texte à la sélection
@centre_selec = mon_groupe.bounds.center # determine le centre du texte pour positionner le cercle
@normal_vector = Geom::Vector3d.new(0,0,90) # determine le vecteur du cercle
@diametre = mon_groupe.bounds.diagonal # determine la longueur de la diagonale du texte
@edgearray = mes_entites.add_circle @centre_selec, @normal_vector, @diametre/1.8 # creation du cercle au centre du texte,

en ajustant le diametre au cercle (diametre/1.8)
selection = model.selection.add @edgearray # ajoute le cercle à la sélection (le texte)
groupe_cote = mes_entites.add_group model.selection # groupe la sélection (cercle+texte)

end

end # fin de la classe Outil_cote

if( not $Outil_cote_loaded )
plugin_menu = UI.menu("Plugins").add_item("Ajouter une cote") {
Sketchup.active_model.select_tool Outil_cote.new }
$Outil_cote_loaded = true
end
_Je voulais savoir quel est l'utilisé de "@" devant certaines lignes , car je l'ai déjas vu sur plusieurs scripts , a t'il un but précis ?


Code:
 txt<<z.to_s                        # affectation de l'élévation a la variable txt
_Cette ligne peut elle être écrite comme ça :txt = z.to_s ?



Code:
  if( not $Outil_cote_loaded )
        plugin_menu = UI.menu("Plugins").add_item("Ajouter une cote") {
      Sketchup.active_model.select_tool Outil_cote.new }
        $Outil_cote_loaded = true
_Cette fin d'instruction nous oblige t'elle pas à nommer ce sript "Outil cote" sinon lors du chargement du script , sketchup ne peux pas voir si un script qui à la même fonction et a déjas était charger ?

_Des questions encore des question il y en n'a mare de jérôme , virer le langue rigole moqueur
Merci qui que vous soyez vous ferez partis de ma fulgurante progression en langage ruby mdr1

-------------------------------------------------------------------------------------------------------------------------
_"Ne compte pas les jours, fais en sorte que chaque jour compte"
Bonne journée à vous !!!!!

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

Messagec.plassais Mer 20 Jan 2010 - 21:56

@variable d'instance :

Source : http://www.rubyfrance.org/documentations/les-bases/le-guide-de-lutilisateur/variables-dinstance/

Une variable est d’instance si son nom commence par @, et sa portée est limitée aux objets auxquels se réfère self. Deux objets différents, même appartenant à la même classe, peuvent avoir des valeurs différentes dans leurs variables d’instance respectives. De l’extérieur de l’objet, les variables d’instance ne peuvent être ni altérées ni même vues (autrement dit les variables d’instance ne sont jamais publiques), sauf par des méthodes explicitement fournies par le programmeur. Comme les variables globales, les variables d’instance ont la valeur nil jusqu’à ce qu’elles soient initialisées.

Les variables d’instance n’ont pas à être déclarées, en ruby. Ceci donne une structure d’objets très souple. En fait, chaque variable d’instance est dynamiquement ajoutée à l’objet au moment de sa première invocation


Là je me suis essayé à rediger une classe, j'aurais pu n'utiliser que des variables locales pratiquement, sauf pour @clic et @point_central=nil


Dernière édition par c.plassais le Mer 20 Jan 2010 - 22:16, édité 2 fois
c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 60
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Mer 20 Jan 2010 - 22:15

Concernant la gestion du menu

Cette fin d'instruction nous oblige t'elle pas à nommer ce sript "Outil cote" sinon lors du chargement du script , sketchup ne peux pas voir si un script qui à la même fonction et a déjas était charger ?


Non du tout, on controle une variale si elle est "false" on charge le menu et on passe la variable a "true" et quand elle est égale à "true" on passe le chargement du menu
Fait l'expérience de modifier un plugin de le recharger via webconsole la modification est prise en compte mais le menu n'est pas rechargé
D'ailleurs dans ton plugin, ta variable de controle de menu est "zzzz.rb"
c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 60
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Mer 20 Jan 2010 - 22:30

Pour <<

_Cette ligne peut elle être écrite comme ça :txt = z.to_s ?

Non pas tout à fait c'est l'équivalent de +=
Ruby rajoute la nouvelle valeur de txt à l'ancienne valeur de txt
cela revient à écrire txt = txt + z.to_s

@+

Christophe
avatar
jojo2
modérateur
modérateur
Date d'inscription : 14/11/2009
Nombre de messages : 135
Points : 170

Messagejojo2 Mer 20 Jan 2010 - 23:03

Christophe a déja bien répondu mais ces précisions seront peut-être utiles:

@
Comme Christophe l'a déja confirmé = variable d'instance.

toto = variable locale (limitée à la fonction en cours)
$toto = variable globale (utilisable dans toute la session)
@toto = variable d'instance (spécifique à l'instance d'une classe d'objet)
@@toto = variable de classe (spécifique à la classe = commune à toutes les instances)

<<
OUI et NON: c'est en fait l'écriture la plus simple pour la concaténation.

A savoir que << est aussi utilisé par d'autres fonctions et en particulier pour ajouter un élément à un tableau.

Fonction de validation de chargement:
Non, c'est une notation arbitraire dans une variable globale (valable pour toute la session) que l'on mémorise et que l'on vérifie en cas de rechargement.
Le nom du script n'a pas plus de signification que cette notation du moment qu'elle est unique.

Par contre, Ruby gère les plugins intégrés par la commande "require".
Sketchup utilise aussi la commande require mais n'est pas totalement compatible avec Ruby (caractères nationaux entre autres).
Donc depuis la version 6, Sketchup a normalisé (fichier Sketchup.rb) la notion de "loaded_files" que l'on retrouve dans beaucoup de scripts.
Il s'avère que la meilleure présentation de cette fonction est:
Code:
# Gestion des Plugins deja charges
if not file_loaded?("NomUniquePLUGIN")
    UI.menu("Plugins").add_separator
    UI.menu("Plugins").add_item("Denomination du Plugin") { maFONCTION }
    file_loaded("NomUniquePLUGIN")
end
Liste de tous les éléments chargés de cette manière dans le tableau: $loaded_files

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

Messagec.plassais Mer 20 Jan 2010 - 23:35

Salut Jojo2,

Ma réponse manquait de professionnalisme, voila c'est chose faite

Merci de ton éclairage respect
avatar
jojo2
modérateur
modérateur
Date d'inscription : 14/11/2009
Nombre de messages : 135
Points : 170

Messagejojo2 Jeu 21 Jan 2010 - 16:06

c.plassais a écrit:Salut Jojo2,

Ma réponse manquait de professionnalisme, voila c'est chose faite

Merci de ton éclairage respect
[Mode Pommade ON]
Merci à toi surtout!
A chacune de tes interventions, j'apprend beaucoup.
[Mode Pommade OFF]
Et en plus, je suis sincère... fou
c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 60
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Jeu 21 Jan 2010 - 18:13

jojo2 a écrit:
[Mode Pommade ON]
Merci à toi surtout!
A chacune de tes interventions, j'apprend beaucoup.
[Mode Pommade OFF]
Et en plus, je suis sincère... fou

Jojo,
commencant à connaitre un peu ton humour décalé, ta pertinence et ta rapidité d'esprit, je m'interroge sur ta sincérité hmm scratch
Sauf évidemment si tu es dans un état second, là je veux bien te croire boire2 moqueur

mdr2 mdr1

@ +
ga
ga
Moulin à parole
Moulin à parole
Masculin Humeur : boiseuse ......
Date d'inscription : 02/01/2010
Nombre de messages : 312
Points : 363
Age : 46
Localisation : Chez moi !........
Emploi : Charpentier

Messagega Jeu 21 Jan 2010 - 19:45

Et ben , je ne pensé pas que mes questions était aussi pertinente , comme quoi il n'y a pas de questions stupides langue en voyant vos réponses je me dis que j'ai bien fais de les posées .

_Je vous remercie tout les 2 pour vos réponses aussi précises et rapide , c'est le moins que l'on puise dire .

Je regarde tous ca et si j'ai d'autres questions je sais ou m'adresser , il y a plusieurs pro dans le coin . bravo

Encore merci bien

-------------------------------------------------------------------------------------------------------------------------
_"Ne compte pas les jours, fais en sorte que chaque jour compte"
Bonne journée à vous !!!!!

Jérôme
Anonymous
Invité
Invité

MessageInvité Jeu 4 Fév 2010 - 16:30

Bonjour,
je suis tombé par hasard sur ce forum en quête d'une solution au problème de la cotation de niveaux sur Sketchup.
Malheureusement je suis un graphiste moyen et un programmeur lamentable, la simple vue de vos scripts me provoque l'apparition d'un violent acné juvénile (qui ne le fait plus trop à 40 ans).
D'où ma question:
existe-t'il une version fonctionnelle de ce script (le copier-coller de la version ci-dessus) me renvoie un message d'erreur.
Merci beaucoup!
c.plassais
c.plassais
modérateur
modérateur
Masculin Date d'inscription : 19/07/2009
Nombre de messages : 2058
Points : 2479
Age : 60
Localisation : Chambéry
Emploi : Responsable Gestion Atelier
http://bande.village.free.fr/

Messagec.plassais Jeu 4 Fév 2010 - 16:48

Salama77 a écrit:Bonjour,
je suis tombé par hasard sur ce forum en quête d'une solution au problème de la cotation de niveaux sur Sketchup.
Malheureusement je suis un graphiste moyen et un programmeur lamentable, la simple vue de vos scripts me provoque l'apparition d'un violent acné juvénile (qui ne le fait plus trop à 40 ans).
D'où ma question:
existe-t'il une version fonctionnelle de ce script (le copier-coller de la version ci-dessus) me renvoie un message d'erreur.
Merci beaucoup!

salut,

Oui tu peux le télécharger ici => http://www.box.net/shared/xjp3jnes9n

@+

Christophe
Anonymous
Invité
Invité

MessageInvité Ven 5 Fév 2010 - 11:04

Merveilleux.
Ce script gagne à être connu, j'y contribuerai.

Pour expliquer à ceux qui tomberait sur ce post via g@@gle, ce script apporte à Sketchup la possibilité de côter les niveaux (cotation d'altitude si vous préférez), en prenant comme niveau 0 le plan horizontal défini par les axes rouge/vert.
La côte de niveau consiste généralement, sur des coupes verticales, en un cercle entourant une valeur en mètres, positive au dessus du niveau de référence et négative en dessous.
Essentiel pour déposer un permis de construire par exemple.

Merci en tout cas à ses développeurs, ça marche très bien.

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

Messagetenrev Ven 5 Fév 2010 - 11:15

Salama77 a écrit:Bonjour,
je suis tombé par hasard sur ce forum en quête d'une solution au problème de la cotation de niveaux sur Sketchup.!

Salut salama et bienvenue sur notre forum , effectivement ce plugin gagne à être connu, comme notre forum je pense , qui regroupe de plus en plus de membres compétents , patients , de passionnés plein de bonne volonté

à bientot aurevoir

-------------------------------------------------------------------------------------------------------------------------
je ne sais pas grand chose , mais le peu que je sache , je le partage 
1 PC fixe avec proc Rizen 9 3950X 32 threads - cg nvidia geforce RTX3080  - 64 go de ram DDssd 1To
1 PC portable MSI TITAN PRO écran 17''|win10 64 bits| i7 Quad core|ram 32go| CG GFORCE GTX1080 avec 8go
1 casque VR Occulus Rift - 1 vieux PC portable Dell sous Linux Ubuntu 18    1 vieux pc portable HP sous chromebook
Modélisation : Sketchup - Rhino - Pconplanner   Rendu: Enscape - Keyshot - Unreal Engine - Artlantis - Twinmotion   Autres: Photoshop - Illustrator - Indesign - Vidéostudio - After Effect - Première

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

Messagec.plassais Ven 5 Fév 2010 - 11:46

Salama77 a écrit:Merveilleux.
Ce script gagne à être connu, j'y contribuerai.

Pour expliquer à ceux qui tomberait sur ce post via g@@gle, ce script apporte à Sketchup la possibilité de côter les niveaux (cotation d'altitude si vous préférez), en prenant comme niveau 0 le plan horizontal défini par les axes rouge/vert.
La côte de niveau consiste généralement, sur des coupes verticales, en un cercle entourant une valeur en mètres, positive au dessus du niveau de référence et négative en dessous.
Essentiel pour déposer un permis de construire par exemple.

Merci en tout cas à ses développeurs, ça marche très bien.

Christophe
Salut Salama,

Si tu veux bien avant de le diffuser je vais le modifier, pour mettre l'intro d'usage, faire référence au forum
Il y a t-il une police normalisée et je peux éventuellement étendre la liste si besoin
@+

Christophe
Anonymous
Invité
Invité

MessageInvité Ven 5 Fév 2010 - 12:00

Pas d'inquiétude, je ne diffuse qu'en mettant le lien à disposition, voire en renvoyant à ce post. Pas de diffusion du script lui-même.
Cordialement.
christophe

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