Azerty Posté(e) le 3 septembre 2019 Posté(e) le 3 septembre 2019 Bonjour à tous. Je cherche à obtenir un bloc dynamique composé de segments de même longueur (exemple 3.00m)avec comme actions de modification : « réseau » permettant d’ajouter ou de retirer autant de segments que nécessaire (de 3.00m)« rotation » permettant de choisir si le dernier segment est dans la continuité du précédent ou si on lui applique une rotation (exemple – 2.29 ° correspondant à une rampe de 4 %) J’ai essayé avec les contraintes géométriques, ça me semble trop sommaire pour y arriver.D’où mes bidouilles du côté des blocs dynamiques, mais sans succès … Pensez-vous que ce soit faisable !? :blink: Une seule chose à dire : MERCI CADxp !
>>NicoM Posté(e) le 3 septembre 2019 Posté(e) le 3 septembre 2019 Salut ! Oui c'est faisable, voici le bloc qui répond à ta question (si j'ai tout bien compris).Bloc dynamique réseau polaire avec rotation Quelque explications:- Tu fais un réseau polaire sur ton espace objet, tu le sélectionne puis tu créer un bloc dynamique (attention au point de base...).- Tu ouvre le gestionnaire de paramètre, tu créer un paramètre (sans espace) et tu lui attribut une valeur supérieur à 2 (pour le visuel seulement).- Tu sélectionne ton réseau et dans "Eléments" tu saisi le nom de ton paramètre:- Dans la palette de création, tu créer un paramètre "Rotation". Pense à regarder les propriétés de ce paramètre, certaines choses peuvent être intéressantes.- Dans "Action" tu choisi "Rotation" et tu l'associe au paramètre que tu vient de créer.- Tu enregistre ton bloc et tu teste le tout avec les paramètres personnalisé ou la petite poigné bleu ronde: Voila j'espère que cela te sera utile. PS : Je n'ai pas trouvé le moyen de modifier la source d'un réseau via un quelconque paramètre (et je doute fortement que ce soit possible), si tu veux des longueur différentes, le mieux est d'utiliser les "états de visibilité". Projeteur Béton Armé sur Revit et AutoCAD 2023 Une connaissance acquise ne devient vivante que si on l’a repensée par soi-même.
Azerty Posté(e) le 3 septembre 2019 Auteur Posté(e) le 3 septembre 2019 Merci pour ta réactivité ... mais non ça ne répond pas du tout à ma demande :unsure: Et je ne sais pas si c'est vraiment possible ... Une image sera sans doute plus parlante : Une seule chose à dire : MERCI CADxp !
Vincent P. Posté(e) le 3 septembre 2019 Posté(e) le 3 septembre 2019 Bonjour bjour Ce que tu demande ne peut (à ma connaissance) pas être fait sur un seul bloc dynamique.Ce que tu peut faire c'est un bloc avec réseau linéaire, et en suite insérer plusieurs fois le bloc à chaque changement d'angle. A tu testé les "réseaux le long d'une trajectoire" ? Dynamiquement.Vincent P. Lispeur éternel débutant! Autocad Map3D 2023 Covadis-Autopist 18.2
>>NicoM Posté(e) le 3 septembre 2019 Posté(e) le 3 septembre 2019 Effectivement, c'est beaucoup plus clair avec une image. (beaucoup plus complexe aussi)En tout cas ce n'est pas avec un réseaux que tu pourra faire quelque chose. Les LISP répondrons surement à ta question mais je suis encore en apprentissage sur ce sujet...Je laisse donc la main au pros ;) Projeteur Béton Armé sur Revit et AutoCAD 2023 Une connaissance acquise ne devient vivante que si on l’a repensée par soi-même.
dilack Posté(e) le 3 septembre 2019 Posté(e) le 3 septembre 2019 Salut,Si c'est pour faire du calpinage de tuyau avec une variation angulaire je dois avoir un bloc quelque part!En tout état de cause, pour avoir planché sur ce sujet je n'ai pas trouver de solution pour faire un cheminement sur X centaine de mètre sans passé par un bloc dynamique tuyau par tuyau.
Azerty Posté(e) le 3 septembre 2019 Auteur Posté(e) le 3 septembre 2019 C'est pour des barres de forage, mais le principe est le même qu'un calepinage de tuyaux qui devrait respecter une pente d'écoulement. En fait il est « facile » de dessiner une polyligne avec sommet tous les 3 mètres qui part d'un plat et qui remonte en ajoutant les 4% à chaque fois ... à condition que la contrainte soit de "remonter au plus vite". Hors pour X raisons il faut parfois jouer sur le prolongement / raccourcissement du plat et sur le pourcentage des derniers segments pour " atterrir là où l'on veut : un peu plus loin, ou un peu avant ". Concrètement, copier / coller une base donne :0 0 0 4 8 12 16 20 24 28 32 % Un essai au feeling pourrait être :0 0 0 4 8 12 16 20 24 24 24 % Ne remontant pas assez, pourrait être corrigé de cette façon :0 0 4 8 12 16 20 24 24 24 24 % Actuellement la solution consiste à ajouter cette ligne dans un profil Covadis et d'en éditer les pentes. Mais ça sous-entend de se contraindre au remplacement des polylignes par des "entités covadis" ... Et accessoirement que l'édition dans un tableau des valeurs se fait vraiment par tâtonnement puisque non graphique. D'où ma recherche d'une solution pour dessiner rapidement les segments, enlever les quelques derniers, re-dessiner / re-tester en ayant changer d'angle, etc. Une seule chose à dire : MERCI CADxp !
lili2006 Posté(e) le 3 septembre 2019 Posté(e) le 3 septembre 2019 Bonsoir à toutes et tous,N'ayant pas le temps de plancher sur ton pb mais pensant aussi que ce que tu demandes est faisable avec Covadis, je me permet de déplacer ce Topic dans le forum Covadis (mais il se pourrait qu'il soit mieux encore dans le forum Lisp ?!,..) Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Seb Posté(e) le 17 septembre 2019 Posté(e) le 17 septembre 2019 Bonjour,Pontam a édité un petite barre d'outils nommé PAMCAD; celle-ci permet d'obtenir des pièces déjà dessinée pour faliciter le dessin de canalisations mais ce n'est pas là ce qui nous intéresse.Dans cette barre d'outils, il y a une fonction "étude de déviation angulaire" qui permet, à partir d'un tuyau dessiné, de coller d'autres tuyaux à la suite avec une déviation de 4° max en plus ou en moins.C'est pas une solution à ton problème mais une piste...
Babat Posté(e) le 17 septembre 2019 Posté(e) le 17 septembre 2019 Peut être tracer des polylignes classiques comme "trajectoire" au préalable, puis réaliser ton bloc et utiliser le réseau le long d'une trajectoire pour chaque polyligne en indiquant tes espacements?
bonuscad Posté(e) le 18 septembre 2019 Posté(e) le 18 septembre 2019 Merci pour ta réactivité ... mais non ça ne répond pas du tout à ma demande :unsure: Et je ne sais pas si c'est vraiment possible ... Une image sera sans doute plus parlante : Bonjour Azerty D'après ton image j'imaginerais bien ce style de code... En ayant fixé ton point de départ, suivant ou sera positionné ton curseur plusieurs possibilités: Si celui ci a une position en X supérieur à 3 unité par rapport au dernier point mis en place il sera tracéEt ci celui ci se trouve au dessus du segment tracé une déviation de 4% et appliquée, si en dessous il conserve la dernière orientation. Si tu déplace le curseur à gauche du dernier segment tracé, tu l'efface et tu reprend l'orientation du dernier segment en place. (defun c:azerty ( / pt pt_lst l_ang pt_tmp key el lst_pt) (initget 9) (setq pt (getpoint "\nPoint de départ: ")) (setq pt_lst (list pt) l_ang (list 0.0)) (setq pt_tmp (car pt_lst)) (redraw) (princ "\n<Déplacer Curseur> pour définir la trace; <Entrée>/[Espace]/Click+droit pour finir!.") (while (and (not (member (setq key (grread T 4 2)) '((2 13) (2 32)))) (/= (car key) 25)) (cond ((eq (car key) 5) (cond ((and (> (distance (cadr key) pt_tmp) 3.0) (>= (caadr key) (car pt_tmp))) (if (> (cadadr key) (cadr pt_tmp)) (setq l_ang (cons (+ (car l_ang) (atan 0.04)) l_ang)) (setq l_ang (cons (car l_ang) l_ang)) ) (setq pt_lst (cons (polar pt_tmp (car l_ang) 3.0) pt_lst)) (setq pt_lst (cons (car pt_lst) pt_lst) pt_tmp (car pt_lst)) (redraw) (grvecs (cdr pt_lst)) ) ((and (> (distance (cadr key) pt_tmp) 3.0) (< (caadr key) (car pt_tmp)) (> (length pt_lst) 3)) (setq pt_lst (cddr pt_lst) l_ang (cdr l_ang) pt_tmp (car pt_lst)) (redraw) (grvecs (cdr pt_lst)) ) ) ) ) ) (if pt_lst (progn (setq el 0) (repeat (length pt_lst) (if (zerop (rem el 2)) (setq lst_pt (cons (nth el pt_lst) lst_pt)) ) (setq el (1+ el)) ) (entmakex (vl-list* (cons 0 "LWPOLYLINE") (cons 100 "AcDbEntity") (cons 100 "AcDbPolyline") (cons 90 (length lst_pt)) (cons 70 0) (mapcar '(lambda (p) (cons 10 p)) (reverse lst_pt)) ) ) ) ) (prin1) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
GEGEMATIC Posté(e) le 18 septembre 2019 Posté(e) le 18 septembre 2019 Salut,pamcad fait ça avec la commande "déviation angulaire"mais il faudrait pouvoir modifier les définitions de tuyaux, qui sont des .txt, à ta convenance.et là, c'est pas gagné ...heureusement que bonus est là ...a+Gégé ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com
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