Aller au contenu

Bloc dynamique avec réseau et rotation de segments !?


Messages recommandés

Posté(e)

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 !

Posté(e)

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:

9tk0.png

- 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:q2dv.jpg

 

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.

Posté(e)

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 :

 

185.31.149.121-5d6e2e65e318c.jpg

Une seule chose à dire : MERCI CADxp !

Posté(e)

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

Posté(e)

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.

Posté(e)

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.

Posté(e)

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 !

  • 2 semaines après...
Posté(e)

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...

Posté(e)

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?

Posté(e)

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 :

 

185.31.149.121-5d6e2e65e318c.jpg

 

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

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é