Aller au contenu

Bloc qui donne sa distance par rapport à un bloc de référence


Perline

Messages recommandés

Bonjour,

Après un sacré paquet d'années à bricoler sur Autocad, en empruntant des LISP (merci à tous les lispeurs!!!) par ci par là, je découvre l'utilité de faire ses blocs dynamiques soi même.

Pour la petite histoire, je ne suis pas dessinatrice mais metreuse, jusqu'à présent je n'avais qu'à me débrouiller pour metrer. de temps en temps je bricole un fond de plan pour modifier deux trois choses pour en faire un plan d'exe, mais vu que en ce moment c'est calme niveau métrés, on me demande de plus en plus de plans et j'aimerai me simplifier la tache pour les niveaux.

 

Donc dans l'ordre il faudrai que je crée un bloc qui me donne la distance par rapport au bloc que je lui aurai indiqué (oui je sais je peux utiliser, cote, distance ou même longeur polyligne)

au pire je peux dessiner une polyligne entre ces deux blocs et récuperer la distance de la polyligne. mais comment?

Ensuite, je voudrais récupérer la valeur d'attribut "niveau" que j'aurai donné à ce premier bloc

je voudrais également donner un attribut "pente" (à taper)

Enfin je voudrai que dans la ligne niveau il me fasse l'opération : "niveau bloc de référence"+"longueur"*"pente" et l'enregistre dans l'attribut niveau.

Autant je sais faire ça avec des formules dans excel, autant faire ca dans autocad...

 

En bref quand je poserai mon bloc il dirait :

0_Donnez un nom

1_indiquez votre bloc de référence ou donnez une valeur

2_donnez votre pente

3_(si il ne sais pas la calculer depuis le bloc de référence ou si il n'y a pas de bloc de reference) Indiquez votre longueur ou donnez une valeur

4_ il me noterai le niveau

 

Et evidemment otu se modifie automatiquement si je change une valeur, sinon, autant continuer sur excel.

(en ce moment je fais ces calculs sur excel et je les tapes dans une ligne de référence multitexte)

 

Merci d'avance si vous acceptez m'apprendre à nager.

Lien vers le commentaire
Partager sur d’autres sites

Coucou,

Serait-il possible d'avoir un DWG d'exemple avec les blocs impliqué et des textes expliquant les différentes données d'entrée ? Faut-il essayer de trouver une solution en LISP ou bien réfléchir sous forme de bloc dynamique ?

Bisous, Luna

Lien vers le commentaire
Partager sur d’autres sites

Bonjour bonjour,

 

En gros, tu veut faire du nivellement?

En lisant ta demande, ca ressemble vachement à un simple bloc avec deux attributs (ALT et PENTE), et un champs.

Il te faudra une routine qui t'invite à sélectionner un bloc à calculer, un bloc de référence. En suite, ca te remplie ALT du bloc calculé comme : [ALT du point de référence] + [Distance entre les deux points] * [Pente du point à calculer].

J'y ajouterais bien un 3eme attribut DELTA qui te permettrais de coter une vue de bordure (PENTE =0 et DELTA=0.14), une hauteur de mur ect...

Lispeur débutant!

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Exactement @Vincent P., Ca servirai à la fois au nivellement de voirie et aux fils d'eau pour les réseaux.

Alors je vois où tu veux en venir. Mais je ne sais pas du tout faire ça.

 

@Luna Bloc ou lisp ou mélange des deux... Ce qui serais le mieux ou ce qu'on saurais faire.

Lien vers le commentaire
Partager sur d’autres sites

Voici un exemple des deux utilisations

avec le reseau on peu éventuellement utiliser la longueur de la polyligne reliant deux points

avec le nivellement on a pas cette possiblité "de base" mais on peu imaginer un calque invisible sur lequel poser ces lignes si on ne peu pas avoir la distance entre deux points automatiquement.

exemple dwg.dwg

Lien vers le commentaire
Partager sur d’autres sites

Bonjour @Perline

Merci de la livraison du dessin, je comprends mieux.


À première vue, je ne pense pas que des calculs dans des attributs sont nécessaires.
Je suis plutôt partisan de "dessiner" correctement et ensuite d'interroger le dessin pour obtenir des renseignements,
c'est plus "DAO".

Dans le cas proposé, je dessinerais des lignes de pentes en 3D parfaitement renseignées en Z et ensuite,
je déposerais un bloc interrogeant la valeur Z pour inscrire l'altitude du fil d'eau.

Si par exemple, en fin de projet, tu dois descendre ou remonter le fil d'eau originel, il est possible de mettre à jour tous les fils d'eau en dépendant.

Que penses-tu de cette approche, dois-je travailler plus avant ou restes-tu dans ta première idée ?

Amicalement

 

 

Lien vers le commentaire
Partager sur d’autres sites

@didier

3D... je n'ai jamais appris ni testé (sauf pour pester sur des dessins mal fait) est-ce qu'on peu dessiner en donnant une pente plutot qu'un Z? (j'y ai pensé)

Ensuite le soucis est que je peux me retrouver avec au bout du fil le chef de chantier qui me dit "c'est pas à la bonne hauteur, je fais quoi" ou : "je dois déplacer ça 2m plus loin tu peux me confirmer que ça passe?"

et il faut que je lui dépatouille en 20mn.

Jusqu'à présent j'utilise un fichier excel mais je remplis tout à la main et ensuite je transfère tout sur le fichier autocad. et vice et versa.

Là mon exemple est vraiment ce qu'il y a de plus simple.

 

calcul pentes.xlsx

Lien vers le commentaire
Partager sur d’autres sites

Bon,

Vu qu'il faut bien commencer par quelque part, j'ai créé un bloc étiquette (inspiré par ce que j'ai lu dans un vieux post) qui va pouvoir être utilisé déjà simplement comme ça.

_il a deux visibilité : niveau et étiquette réseau

_la version étiquette réseau a comme attribut un nom, un TN, un Fe et j'ai réussi a faire le calcul TN-Fe pour avoir la profondeur. on peu également le déplacer presque comme une ligne de repère

_la version niveau avec un "pointeur" et l'attribut "Fe" renommé niveau.

Les deux ont une position commune la position 2.

1/Donc maintenant, je suppose qu'il me faut un attribut supplémentaire qui me permette de noter la distance entre la position 2 d'un bloc et celle d'un autre bloc. c'est faisable ça?

2/Un autre attribut à remplir tout simple avec la pente (ok ça j'ai compris)

3/ Récuperer le Fe du bloc référence? Feref

4/Faire une opération pour que Fe=Feref+(pente*dist)

 

Donc toujours pour apprendre à nager... comment donner un bloc référence pour un autre bloc...🤨

 

 

étiquette.dwg

Lien vers le commentaire
Partager sur d’autres sites

Alors, une chose après l'autre.

Ton bloc, il y a un intérêt particulier à ce que ce soit un seul bloc qui fasse deux choses différentes (étiquette de regard ou point de niveau)?

Dans ton bloc, le Paramètre Position 2 sert à quoi?

Comment utilise tu les attributs? Je voie 4 attributs qui sont remplis par des champs qui appellent des paramètre utilisateur (que j'ai toujours un peut de mal à utiliser personnellement)

Lispeur débutant!

Lien vers le commentaire
Partager sur d’autres sites

1/ l’intérêt de s'entrainer sur les visibilités, et n'avoir qu'un seul calcul à faire (Fe) mais effectivement ça pourrais être 2 blocs

2/ Servir pour la distance entre 2 blocs. on peu peut être simplement utiliser le point de base

3/ J'ai suivi les instructions pour faire le calcul de la profondeur : prof est automatique donc besoin des paramètres utilisateur TN et Fe. pour le nom, il faut le taper.

Lien vers le commentaire
Partager sur d’autres sites

Effectivement, utilise plutôt le point de base du bloc. A l'utilisation, le point 2 et le point de base sont superposés, et lorsque tu déplace ce double point, tu ne déplace que le point 2.

J'ai capté comment tu utilise les paramètre utilisateur! Mais du coup, lorsque tu sélectionne une occurrence de ton bloc, l'info apparait deux fois dans les propriétés.

image.png.18b3f3b722ef2ae0b221e1c3a32fc493.png

Et du coup, lorsque tu utilise ton bloc comme point de niveau, tu as encore dans les propriétés toutes les infos d'une étiquette d'assainissement.

 

Et du coup, dans ton point de niveau, tu utilise da variable FE? Tu les utilise pour mesurer le fils d'eau d'un réseau? Pas pour du nivellement de surface?

 

Lispeur débutant!

Lien vers le commentaire
Partager sur d’autres sites

deux trois truc dont je me sert pour ça, mais j'ai covadis, c'est donc du dépannage

pour coter les coupes, j'ai 2 paires de blocs niv et ref

le 1er marche en SCG, je sais pas trop comment se font les relations, mais si on part d'une paire, on peut faire plusieurs niv qui restent lié à la ref.
les décalages en Y entre la ref et un niv sont reporté dans le champ, il faut faire RG pour mettre à jour

le 2eme même principe relation entre une (seule) ref et des niv, mais ça marche dans un SCU (pour projeter les façades) Il faut lancer un lisp et sélectionner la zone à mettre à jour

Pour balancer des fils d'eau vite fait, j'ai 2 lisp, ZFE qui plase sur chaque sommet d'une poly 2d les alti à partir de son point de départ à la pente donnée

ZFZ pour distribuer une pente régulière entre 2 alti tjs en se basant sur la longueur 2D de la poly

il y a aussi 1 blocs dont l'alti alt est calculé en ft de la position Z (faire RG, ya aussi un calcul de décalage en ft d'un attribut)

nivellement.zip

Lien vers le commentaire
Partager sur d’autres sites

oui effectivement ça apparait deux fois.

sur la version "niveau" c'est pour du nivellement de surface, sur la version regard c'est pour le fil d'eau. encore une fois c'est pour n'avoir qu'un calcul.

On va du coup peut-être resimplifier la chose avec un bloc juste "niveau".

 

Donc

Je pense que là  c'est pas mal.

Manque la relation avec un autre bloc qui permette de remplir niveau ref et distance par rapport à un autre bloc. Et ça je ne sais pas du coup comment m'y prendre. une piste?

niveau.dwg

Lien vers le commentaire
Partager sur d’autres sites

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é