gepetto Posté(e) le 12 janvier 2017 Posté(e) le 12 janvier 2017 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
didier Posté(e) le 13 janvier 2017 Posté(e) le 13 janvier 2017 Coucou c'est la commande mesurer que tu cherches ? amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Dinosor Posté(e) le 13 janvier 2017 Posté(e) le 13 janvier 2017 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
Tramber Posté(e) le 13 janvier 2017 Posté(e) le 13 janvier 2017 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 ./__\. (.°=°.)
philsogood Posté(e) le 13 janvier 2017 Posté(e) le 13 janvier 2017 helloje confirme que la proposition de Didier va très bienMESURER te permet de polyligne en X segment et en insérant X-1 pointsil 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
Tramber Posté(e) le 13 janvier 2017 Posté(e) le 13 janvier 2017 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 ./__\. (.°=°.)
didier Posté(e) le 13 janvier 2017 Posté(e) le 13 janvier 2017 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 travailbien sûr on obtient le point d'insertion central des barreaux et pour dessiner il faudra s'en servir comme d'un axeet 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 Éternel débutant... Mon site perso : Programmer dans AutoCAD
Tramber Posté(e) le 14 janvier 2017 Posté(e) le 14 janvier 2017 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 ./__\. (.°=°.)
didier Posté(e) le 14 janvier 2017 Posté(e) le 14 janvier 2017 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 :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 :couper la ligne qu'on doit mesurer en son milieumesurer de chaque côté de la valeur de l'espace ou mesurer un seul côté et faire un miroirmesurer permet de disposer directement les blocs aux intervalles obtenus en choisissant l'option B (bloc)et du coup, puisque ça ne tombe pas juste on a un espace différent sur le dernier barreau mais symétriquementtout ç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 Éternel débutant... Mon site perso : Programmer dans AutoCAD
gepetto Posté(e) le 14 janvier 2017 Auteur Posté(e) le 14 janvier 2017 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
Tramber Posté(e) le 15 janvier 2017 Posté(e) le 15 janvier 2017 @ 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 ./__\. (.°=°.)
(gile) Posté(e) le 15 janvier 2017 Posté(e) le 15 janvier 2017 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
gepetto Posté(e) le 15 janvier 2017 Auteur Posté(e) le 15 janvier 2017 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
(gile) Posté(e) le 15 janvier 2017 Posté(e) le 15 janvier 2017 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
didier Posté(e) le 15 janvier 2017 Posté(e) le 15 janvier 2017 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 programmationje pense que gepetto le comprendra. amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
(gile) Posté(e) le 15 janvier 2017 Posté(e) le 15 janvier 2017 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
gepetto Posté(e) le 16 janvier 2017 Auteur Posté(e) le 16 janvier 2017 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
(gile) Posté(e) le 17 janvier 2017 Posté(e) le 17 janvier 2017 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
gepetto Posté(e) le 17 janvier 2017 Auteur Posté(e) le 17 janvier 2017 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.
gepetto Posté(e) le 19 janvier 2017 Auteur Posté(e) le 19 janvier 2017 Hello, Un grand MERCI Gile pour la correction de ton lisp.J'apprécie grandement ton aide et ta disponibilité. Amicalement Gepetto
didier Posté(e) le 20 janvier 2017 Posté(e) le 20 janvier 2017 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 fixeje 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) Éternel débutant... Mon site perso : Programmer dans AutoCAD
gepetto Posté(e) le 24 janvier 2017 Auteur Posté(e) le 24 janvier 2017 Hello, Pas de soucis, On a trouver une bonne solution a mon soucis.J'en remercie encore une fois Gile. Amicalement Gepetto
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant