Aller au contenu

Diviser espace barreaudage


Messages recommandés

Posté(e)

Bonjour a tous,

 

Il me faut prochainement dessiner beaucoup de barrières.

 

Je suis à la recherche d'un moyen me permettant d'éviter de diviser mes espaces entre poteau a la calculatrice.

Etant au 21ème siècle, je pense que quelqu'un a déjà eu mon soucis.

 

Je vous explique le concept.

 

Une barrière es composer de montant espacer d'environs 1.2 a 1.8m d'espace.

Entre eu il y a des barreaux, qui eux ne doive pas être espacer de plus de selon les normes entre 100 et 120mm

 

Je voudrai donc pouvoir utiliser la commande diviser, mais pas par le nombre de barreau que je vais mettre, mais par la distance entre barreau.

 

Je vous remercie de votre futur aide

 

Amicalement

 

Gepetto

Posté(e)

Hello Gepetto,

 

Va voir du côté de la commande réseau, tu peux utiliser cette fonction aux multiples facettes.

Dans ton cas, tu peux choisir sur une seule ligne ou selon un trajet. Tu pourra forcer les espaces à 12cm par exemple ce qui te donnera automatiquement le nombre d'éléments pour t'approcher, puis du coup forcer ensuite le nombre d'éléments.

 

Bref, fouilles un peu là-dedans, c'est assez complet ;)

 

Bonne journée !

Seuls nous allons vite, ensemble nous allons plus loin...

CPU Intel 3,5Go / Nvidia RTX-3090

AutoCad (Architecture) 2022 - Lumion PRO

BMW R-1200-RT, c'est moche, oui... je sais...

 

www.neda.ch

Posté(e)

C'est entre deux points et c'est pour traiter des polylignes ?

Les solutions sont du côté des blocs dynamiques ou d'un programme Autolisp, voire Vlisp.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

hello

je confirme que la proposition de Didier va très bien

MESURER te permet de polyligne en X segment et en insérant X-1 points

il te suffit ensuite de te servir de ces points comme point de base pour tes barreaux

++

Phil

Projeteur Revit Indépendant - traitement des eaux/CVC

Posté(e)

Mesurer c'est à coup sur avoir 110 au premier écart (en intégrant les demi-épaisseurs de barreaux voire des poteaux comme on vient de dire) et une valeur tout à fait fortuite pour le dernier...

Donc le mieux c'est plutôt la division... je m'inscris, par conséquent, plutôt en faux.

et pour éviter la calculette, faut du programme...

 

Comme dit gepetto :

Etant au 21ème siècle, je pense que quelqu'un a déjà eu mon soucis.
C'est bien clair pour moi que tout passe par des progs pour ce genre de travaux !

 

Voilà déjà un outil qui permet de cliquer une ligne (uniquement et sans filtre) et d'avoir le nb à appliquer.

(defun c:gc()
 (setq obj(car(entsel)))
 (setq pa(cdr(assoc 10 (entget obj)))
pb(cdr(assoc 11 (entget obj))))
 (setq diviseur(1+(fix(/(distance pa pb)110))))
 (princ(strcat"\nNB division="(itoa diviseur)" soit:"(rtos (/(distance pa pb)diviseur))"mm"))
 (princ)
 )

Lancer GC

(il faut adapter le 110 et retirer l'épaisseur du barreau. Si la section du poteau est différente, il faudrait aussi ajuster la ligne)

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Coucou

 

puisque tu t'inscris en faux, je vais réfuter ton allégation (hihi).

 

je maintiens que "mesurer" est la commande de base pour faire ce genre de travail

bien sûr on obtient le point d'insertion central des barreaux et pour dessiner il faudra s'en servir comme d'un axe

et dans ce cas on sera certain que le vide résiduel entre deux barreaux sera en dessous de la norme.

je ne pense pas qu'on utilise des barreaux d'une épaisseur telle que ça va changer les vides.

 

je parle bien sûr de commandes simples de dessins et accessibles à tout un chacun, il devient évident que la programmation fera avancer les choses surtout si on a de nombreux barreaudages à faire.

 

amicalement

Posté(e)

On ne livre pas des garde-corps avec un dernier espacement différent des autres.

C'est du moins ce qu'on enseigne aux CAP, aux futurs artisans...

;)

La limite est à 110, avec des barreaudages qui peuvent tout à fait atteindre les 20 mm.

Négliger tout cela et mesurer c'est avoir 0/20 à l'examen ;)

Voilà pourquoi je ne suis pas d'accord avec le corpus qui se dégage ici. B)

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Coucou

 

je ne comprends pas d'où vient cette obstination à dire que ce n'est pas la bonne façon, mais toi tu dois comprendre puisque tu es d'accord avec toi-même.

 

  • soit on a une longueur à diviser qui est un multiple de l'espace qu'on doit laisser entre les barreaux :
    1. mesurer fonctionne à merveille

    [*]soit on n'a pas une longueur à diviser qui est un multiple (entier) de l'espace qu'on doit laisser entre les barreaux :

  1. couper la ligne qu'on doit mesurer en son milieu
  2. mesurer de chaque côté de la valeur de l'espace ou mesurer un seul côté et faire un miroir
  3. mesurer permet de disposer directement les blocs aux intervalles obtenus en choisissant l'option B (bloc)
  4. et du coup, puisque ça ne tombe pas juste on a un espace différent sur le dernier barreau mais symétriquement

tout ça pour dire que je ne suis pas anti-programmation, ai-je encore à le démontrer? mais je me permets d'expliquer des méthodes simples, à la portée de tous (avec ou sans CAP) car j'ai la faiblesse de penser que s'il n'est pas posté dans un forum lisp c'est une volonté de gepetto

 

amicalement

Posté(e)

Hello, a tous

 

Je suis bluffer par toute ces réponses a ma questions.

 

J'ai lu attentivement vos remarques, et suis 100% d'accord avec Tramber, l'épaisseur du barreau a vite son importance, surtout que tout les vides doivent être identique, Je ne vois mal livrer un garde corps avec des vides entre barreau pas identique. et je ne pense pas être le seul...

 

Actuellement la formule mathématique à utiliser est relativement simple, mais longue et rébarbative.

 

Il est vrai que j'aurai du poster ma demande du côté du forum Programmations, car comme le dis bien Tramber et Didier, Dès qu'il y a beaucoup de garde corps a réaliser la programmation devient presque évidente.

Dans mon cas j'en ai plus de 160mètres, d'où ma recherche,...

 

@ Tramber, J'ai tester ton lisp.

Si l'ai bien compris il permet de calculer le nombre de vide sans tenir compte de l'épaisseur du barreau.

Arriverions nous a l'améliorer, et ainsi avoir la possibilité de choisir l'épaisseur du barreau ( ou insérer un bloc) et de pouvoir définir manuellement le vide entre barreau maxi désirer.

 

Je vous remercie de votre aide

 

Gepetto

Posté(e)

 

@ Tramber, J'ai tester ton lisp.

Si l'ai bien compris il permet de calculer le nombre de vide sans tenir compte de l'épaisseur du barreau.

Arriverions nous a l'améliorer, et ainsi avoir la possibilité de choisir l'épaisseur du barreau ( ou insérer un bloc) et de pouvoir définir manuellement le vide entre barreau maxi désirer.

 

 

Si tu ne veux pas publier de dessin, envoie-le moi, je te donne mes coordonnées par MP.

Je dois voir si :

-lignes ou polylignes ou points ou autre

-natures des poteaux et différents barreaux

-calques et deviers

-choses qui pourrait nous échapper.

 

Ensuite, augmenter mon lisp ne posera pas de problèmes ici-même ou ailleurs. S'il reste simple, j'ai bien 5 minutes...parfois.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Salut,

 

Un petit LISP vite fait à modifier à ta guise.

 

Le LISP invite à saisir l'épaisseur du barreau et les points de départ et de fin de la balustrade (de mur à mur ou poteau à poteau) et dessine des cercles symbolisant les barreaux.

 

(defun c:balustrade (/ ceiling ep p1 p2 lg nb ax an)

 (defun ceiling (n)
   (fix
     (if (< 0 (rem n (fix n)))
       (1+ n)
       n
     )
   )
 )

 (and
   (setq ep (getdist "\nEpaisseur d'un barreau: "))
   (setq p1 (getpoint "\nDépart de la balustrade: "))
   (setq p2 (getpoint "\nFin de la balustrade: "))
   (setq lg (+ (distance p1 p2) ep)
         nb (ceiling (/ lg (+ 110. ep)))
         ax (/ lg nb)
         an (angle p1 p2)
         p1 (polar p1 (angle p2 p1) (/ ep 2.))
   )
   (repeat (1- nb)
     (setq p1 (polar p1 an ax))
     (command-s "_.circle" "_non" p1 "_diameter" ep)
   )
 )
 (princ)
)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Hello,

 

@(Gile) Joli ton lisp,

Ca va dans la très bonne directions, sauf que je voyais plutôt que ca crée des barreau en et place des rond.

Je vous ai mis comme l'a demander Trember, un fichier dwg.

 

Je pense que l'exemple est ultra clair.

 

https://we.tl/VC0TOgts2L

(j'ai voulu le mettre en fichier joint, mais j'ai un message d'erreur (Le serveur a retournée une erreur durant l'envoi.) alors même que je l'ai mis en dosser compresser...

 

A voir si c'est possible, ou si on doit imaginer le faire en plusieurs fois.

 

L'espace entre barreau est toujours identique.

L'espace entre poteau lui aussi.

 

Au plaisir de vous relire

 

Gepetto

Posté(e)

Salut,

 

Oui, c'est possible (on peut même faire beaucoup plus), mais c'est plus complexe et, personnellement, je pense que ce type de développement spécifique dépasse ce qui peut être gracieusement offert sur un forum et fait plutôt l'objet d'une demande de prestation.

Personnellement je peux pas aller plus loin bénévolement sans être malhonnête vis à vis de ceux qui m'ont embauché pour développer des logiciels de garde-corps.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Coucou

 

très joli (gile), j'avais connaissance que tu avais sévis dans ce domaine et là tu nous apportes un bel exemple de programmation

 

Merci, ce qu'on voit là : le calepinage des barreaux et des montants et la modélisation 3d ne représente qu'une toute petite partie du programme qui génère aussi les nomenclatures pour les notices de montage, les exportations vers les logiciels de gestion des stock et de machines à commande numérique, etc.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Hello, a tous.

 

Je n'imaginais pas que l'on pouvais écrire des choses aussi géniale que cela en lisp.

 

Je comprend ton point de vue, et je le respecte bien sur.

Je me rend compte que j'en demandais un peu trop.

 

Par contre vous est 'il quand même possible de modifier un tout petit peu le lisp.

 

Je voudrais pouvoir définir manuellement l'espace vide entre barreau à chaque utilisation du lisp.

 

Je vous remercie infiniment de votre aide.

 

Amicalement

 

Gepetto

Posté(e)

Salut,

 

Je n'imaginais pas que l'on pouvais écrire des choses aussi géniale que cela en lisp.

Même si la partie calepinage / modélisation 3d du programme aurait pu être écrite en LISP, ce programme a été entièrement conçu avec .NET/C# qui est un environnement de programmation plus puissant et, à mon sens, bien plus adapté pour architecturer des développement de cette ampleur (environ 20000 lignes de code et plusieurs mois de travail).

 

La routine "améliorée" :

 

(defun c:balustrade (/ ceiling ep p1 p2 lg nb ax an)
 (vl-load-com)

 (defun ceiling (n)
   (fix
     (if (< 0 (rem n (fix n)))
       (1+ n)
       n
     )
   )
 )

 (if
   (and
     (or
(setq in (getdist "\nIntervalle maximum entre deux barreaux <110>: "))
(setq in 110.)
     )
     (setq ep (getdist "\nEpaisseur d'un barreau: "))
     (setq p1 (getpoint "\nDépart de la balustrade: "))
     (setq p2 (getpoint "\nFin de la balustrade: "))
   )
    (progn
      (setq lg	(+ (distance p1 p2) ep)
     nb	(ceiling (/ lg (+ in ep)))
     ax	(/ lg nb)
     an	(angle p1 p2)
     rd (/ ep 2.)
     p1	(polar p1 (angle p2 p1) rd)
      )
      (vla-StartUndoMark (vla-get-Activedocument (vlax-get-acad-object)))
      (repeat (1- nb)
 (setq p1 (polar p1 an ax))
 (entmake
   (list
     (cons 0 "CIRCLE")
     (cons 10 (trans p1 1 0))
     (cons 40 rd)
   )
 )
      )
      (vla-EndUndoMark (vla-get-Activedocument (vlax-get-acad-object)))
    )
 )
 (princ)
)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Hello,

 

Merci Gile pour ta mise a jours du lisp.

Je vais tester tout cela demain matin et te tenir au courant.

 

Dans tout les cas je te remercie infiniment de ton aide.

Posté(e)

Coucou

 

je viens de comprendre !!! (là suivent des auto-insultes que je ne peux reproduire au clavier)

 

je n'avais pas assimilé le fait que la distance entre les barreaux était une valeur maximum et pas une valeur fixe

je pensais bêtement qu'on partait du milieu de la ligne, qu'on divisait les espaces à droite et à gauche et tant pis pour le dernier.

comme on fait par exemple pour du carrelage où on part du centre de la pièce et il y a des coupes en périphérie.

 

je vous prie de m'excuser pour la réponse simpliste que j'ai proposé

 

amicalement (de derrière les barreaux)

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité