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


script "Cotes de niveaux" Empty
Ton bloc notes
Derniers sujets
» [ SKETCHUP généralité ] Tête de pilastre
par JDD Aujourd'hui à 11:49

» [ CHALLENGE 2024 ] résultats du challenge
par AK40Cess Hier à 13:27

» [ FORUM ] astuce pour insérer facilement un tableau sur le forum
par tenrev Hier à 9:12

» [ SKETCHUP plugins ] une barre d’outils perso
par tenrev Lun 18 Nov 2024 - 15:05

» [ SKETCHUP généralité ] Orienter 1 Face, 1 Profil Normal (Perpendiculaire) à 1 Arête, 1 Trajectoire
par jerryvento Lun 18 Nov 2024 - 14:47

» [ SKETCHUP généralité ] Modéliser facilement 1 spirale en moins de 40 secondes
par jerryvento Lun 18 Nov 2024 - 14:47

» [ SKETCHUP généralité ] Modélise 1 Forme Hélicoïdale, en forme de spirale : main courante, rampe d'accès voitures...
par jerryvento Lun 18 Nov 2024 - 14:46

» [ SKETCHUP tutos ] Orienter 1 Face, 1 Profil Normal (Perpendiculaire) à 1 Arête, 1 Trajectoire
par jerryvento Lun 18 Nov 2024 - 14:45

» [ SKETCHUP tutos ] Modéliser facilement 1 spirale en moins de 40 secondes
par jerryvento Lun 18 Nov 2024 - 14:44

» [ SKETCHUP tutos ] Modélise 1 Forme Hélicoïdale, en forme de spirale : main courante, rampe d'accès voitures...
par jerryvento Lun 18 Nov 2024 - 14:43

» ColorMaker par Didier Bur[ SKETCHUP plugins ]
par JDD Dim 17 Nov 2024 - 20:56

» [ ARCHICAD ] Plus de format *atl dans Archicad
par Coulou Jeu 14 Nov 2024 - 8:26

» [ SKETCHUP tutos ] Créer des Bibliothèques et des livres aléatoires Facilement (2 Méthodes!)
par tenrev Mar 12 Nov 2024 - 11:31

» [ CHALLENGE 2024 ] les images finales du challenge
par tenrev Lun 11 Nov 2024 - 15:35

» [ SKETCHUP composants dynamiques ] Formule IF
par Samuel MATHIEU Jeu 7 Nov 2024 - 21:12

» [ Challenge 2024] cHallenge archjtexture exterieur ou paysagiste-vick-sketchup-enscape
par vick Jeu 7 Nov 2024 - 10:23

» [ SKETCHUP vray ]
par tenrev Mar 5 Nov 2024 - 21:19

» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste- Gaspard Hauser - Sketchup - D5 render
par tenrev Mar 5 Nov 2024 - 10:22

» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - JDD - SketchUp - Enscape
par tenrev Mar 5 Nov 2024 - 10:10

» [ ARCHICAD ] Murs paramétriques
par Coulou Lun 28 Oct 2024 - 10:28

» [ SKETCHUP généralité ] Aide pour SKP 2017
par PEGASE Sam 26 Oct 2024 - 18:36

» [ ARCHICAD ] Ajouter du lambris sur un mur
par Coulou Jeu 24 Oct 2024 - 10:43

» [ SKETCHUP généralité ] 1 Citrouille à imprimer pour Halloween
par jerryvento Jeu 24 Oct 2024 - 8:13

» [ SKETCHUP tutos ] 1 Citrouille à imprimer pour Halloween
par jerryvento Jeu 24 Oct 2024 - 8:11

» [ D5_RENDER] Petit exemple "hors sujet" ... D5
par Gaspard Hauser Mar 22 Oct 2024 - 19:59

» [ MATOS INFORM. ] [WINDOWS] Miniatures de prévisualisation pour les fichiers de modèle 3D au format .OBJ, .FBX, .STL, .3DS et +
par Gaspard Hauser Mar 22 Oct 2024 - 19:49

» [ SKETCHUP Layout ] Symboles Électriques sur Layout
par JDD Jeu 17 Oct 2024 - 9:44

» [ ARCHICAD ] gardes corps et profils complexe ?
par Christophe Fortineau Lun 14 Oct 2024 - 12:10

» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - allansens - cinema 4D
par Allansens Sam 12 Oct 2024 - 13:53

» [ ARTLANTIS ] Ca donne envie !
par Gaspard Hauser Jeu 10 Oct 2024 - 10:00

» [ TWINMOTION ] Unreal Engine déménage sur Fab - DataSmith & Archicad
par Coulou Jeu 10 Oct 2024 - 9:03

» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - AK40Cess - Archicad-Twinmotion
par Coulou Mar 8 Oct 2024 - 11:53

» [ TWINMOTION ] Unreal Engine déménage sur Fab - Assets de Megascan
par JDD Lun 7 Oct 2024 - 21:52

» [ CHALLENGE ARCHITECTURE EXTERIEURE OU PAYSAGISTE ] Démarrage du challenge 2024 - les régles
par tenrev Jeu 3 Oct 2024 - 14:58

» [ ARCHICAD ] Cotation d'ouverture sans hauteur
par Titou Jeu 3 Oct 2024 - 11:21

Sondage

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

script "Cotes de niveaux" Poll_c1015%script "Cotes de niveaux" Poll_c10 15% [ 2 ]
script "Cotes de niveaux" Poll_c1031%script "Cotes de niveaux" Poll_c10 31% [ 4 ]
script "Cotes de niveaux" Poll_c1046%script "Cotes de niveaux" Poll_c10 46% [ 6 ]
script "Cotes de niveaux" Poll_c108%script "Cotes de niveaux" Poll_c10 8% [ 1 ]
script "Cotes de niveaux" Poll_c100%script "Cotes de niveaux" Poll_c10 0% [ 0 ]
script "Cotes de niveaux" Poll_c100%script "Cotes de niveaux" Poll_c10 0% [ 0 ]

Total des votes : 13

chaine sketchup.tv
Serveur Discord
Le Deal du moment : -29%
DYSON V8 Origin – Aspirateur balai sans fil
Voir le deal
269.99 €

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 : 48
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 : 62
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 : 62
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 : 62
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 : 62
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 : 62
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 : 48
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 : 62
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 : 19943
Points : 34784
Age : 61
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/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
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 : 62
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
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