Aller au contenu

Olivier Eckmann

Membres
  • Compteur de contenus

    2 348
  • Inscription

  • Dernière visite

  • Jours gagnés

    119

Tout ce qui a été posté par Olivier Eckmann

  1. Olivier Eckmann

    Inversion des altitudes

    Dans le même ordre d'idée. ATTOUT des points topo Ouvrir le fichier TXT sous Excel et calculer Z*-1 ATTIN pour mettre à jour les attributs ALT négatifs Cov Edition / Point topo / Attribut ALT -> Z point Olivier
  2. Olivier Eckmann

    Lignes vers points topo

    Si c'est pour faire un MNT, pas besoin de point topo, des points (AutoCAD) suffisent. S'il faut absolument des points topo, c'est COV2D / Point topo / Immatriculation des entités. Olivier
  3. Bonjour @didier, Je ne crois pas que la remarque concernait le fait de diviser en 2 l'écran, mais de verrouiller l'une des 2 fenêtres. Effectivement, je ne vois pas trop l'intérêt non plus. Si tu coupes l'écran en 2 que que tu verrouilles 1 fenêtre, ça veut dire que si tu es au dessus et que tu fait rouler la molette il ne doit rien se passer. Or pour pouvoir zoomer, il faut que le fenêtre soit active. Donc tant que tu n'actives pas le fenêtre, aucun risque de changer le zoom. En gros une fois verrouillée tu as une capture d'écran sur laquelle tu ne peux rien faire. Si tu l'actives, tu peux faire un zoom, et dès que tu réactives l'autre fenêtre tu ne peux plus faire de zoom. Donc je ne vois pas trop l'usage de cette demande. Olivier
  4. Olivier Eckmann

    Lignes vers points topo

    puis Affectes selon Z
  5. Il faut installer Revit 2024. Dans le menu des applications, cela installe un icone Revit 2024 qui nécessite une licence, ET un icone Revit2024 viewer qui peut être lancé même sans licence. Cela permet d'ouvrir et de consulter les fichiers .RVT Olivier
  6. Même si le script est la seule solution dans ce cas, il est normalement possible de passer des variables d'un dessin à l'autre via le blackbord et les commande vl-bb-set et vl-bb-ref : https://documentation.help/AutoLISP-Functions/WS1a9193826455f5ff1a32d8d10ebc6b7ccc-68eb.htm Perso, je ne l'ai jamais mis en œuvre. Olivier
  7. En ligne de commande, taper ARX C * Il n'y a peut-être pas tout, mais il y a pas mal de commandes cachées (interne pour développeurs) et non documentées Olivier
  8. On peut faire beaucoup mieux, mais rapidement, on arrive à un résultat. https://dai.ly/k4FIY9ryyoyupIzQpBw Olivier
  9. Covadis 3D / Visualisation du relief / Transformation en solide AutoCAD Olivier
  10. Avec AutoCAD MAP, tu pourras aussi faire une thématique de type hachure en choisissant le modèle, couleur... selon la valeur d'un attribut. Olivier
  11. Olivier Eckmann

    bonne année 2024

    Salut, Ca en serait pas plutôt 1996 au lieu de 2016 qui est identique à 2024 https://www.tf1info.fr/international/les-internautes-s-emballent-sur-internet-pour-les-calendriers-de-1996-reutilisables-pour-l-annee-2024-2281750.html Olivier
  12. Bonjour Avec AutoCAD MAP3D (inclus dans l'abonnement) pas besoin de développement, c'est tout en natif. 1. Séparer les identifiants dans 2 calques différents (style de texte différent, donc pas compliqué) 2. Ne garder à l'écran que les polylignes englobantes et 1 calque d'identifiant 3. Créer une table de données d'objets contenant 1 champ de type caractère 4. Avec la commande ADEGENLINK en choisissant l'option Texte délimité, puis en sélectionnant tous les textes à l'écran, chaque texte va être "transféré" (copié) en tant que donnée attributaire sur la polyligne englobant chaque texte. 5. Refaire les étapes 2, 3 et 4 avec le second calque d'identifiant. 6. Créer un gabarit d'annotation avec 3 attributs recevant chacun un identifiant et la surface dans le 3ème. 7. Utiliser ce gabarit pour étiqueter toutes les polylignes fermées. 8. ATTOUT pour sortir les 3 infos par pièce en format TXT ouvrable sous Excel. Compter 2 minutes sur le fichier d'exemple, mais il y aurait 3000 ou 10 000 pièces ça ne serait guère plus long. Olivier UNCH-LS-1-1-Basement.dwg UNCH-LS-1-1-Basement.txt UNCH-LS-1-1-Basement.xlsx
  13. peut-être : DRAGMODE à 2 Olivier
  14. Bonjour, Tu as la méthode proposé par @lecrabe. Si tu lis un peu l'anglais, tu as cette méthode native avec AutoCAD Map : https://forums.autodesk.com/t5/autocad-map-3d-forum/contour-with-elevation-properties-cad-map-3d-to-autocad-dwg/m-p/8822441/highlight/true#M54596 Si tu veux installer mon plug-in, tu auras une autre méthode : https://apps.autodesk.com/MAP3D/fr/Detail/Index?id=7146835859656784994&appLang=fr&os=Win64 , soit avec le fonction dédiée, soit avec la fonction de copie propriétés Olivier
  15. Olivier Eckmann

    Bonnes Fêtes

    Joyeuses fêtes et bonnes vacances à ceux qui en ont (ou en auront). 🎅
  16. essaie ISAVEPERCENT à 0 Sinon vérifie bien les droits sur ton dossier de sauvegarde automatique Olivier
  17. regarde du côté de UCSXDIR, (setq oXVec (getvar "UCSXDIR")) (setq dUcsRot (atan (cadr oXVec) (car oXVec))) Olivier
  18. Salut @didier, Le point de débordement n'est pas sur le profil en travers, mais sur le profil en long. Je ne remplis pas mon fossé jusqu'à son point de débord en travers, mais sur le redans du profil en long. Une solution, serait de refaire la courbe de débordement sur mon PL, puis d'utiliser cette altitude pour un point typé sur mon PT. mais il faut penser systématiquement à recaler la courbe de débordement sur ma courbe de fossé à chaque modif, ce qui reste assez long quand même. Olivier
  19. Salut @didier, Merci de réfléchir à mon problème, mais pas sûr d'avoir tout compris sur la 1ère ligne. Que vient faire le test déblai/remblai? Olivier
  20. Bon finalement, je passe par l'analyse de bassin versant de mon MNT pour traiter uniquement les cuvettes et dessiner le contour en poly3D et le texte. J'ai écrit un programme qui prend chaque poly3D, récupère le Z Min qui correspond à l'altitude de surverse, je recrée une poly2D à cette altitude, que je maille en face 3D. A partir de là : - MNT depuis un calque de face, - cubature 2MNT multi emprise entre les 2 MNT avec - le calque des contours 2D et - le calque des textes comme identifiant. => ça me donne une cubature par cuvette et totale aussi. Ce n'est pas complètement automatique, mais ça va quand même plus vite qu'à la main. Je ne pense pas pouvoir me passer de l'analyse de bassin versant, mais je pourrais reprogrammer le calcul de cubature pour éviter les dernières étapes sous Covadis.
  21. Bonjour @Minocia, En gros le projet est comme ça (en très exagéré) Le problème, c'est que selon les changements de pente, de largeur de la chaussée (+ le reste de mon profil qui est beaucoup plus compliqué), mon fossé change, donc le volume stockable aussi. D'autre part, selon le volume à stocker, je vais jouer sur le PL de mon fossé, donc le fossé change donc son volume. Si à chaque fois que je change quelque chose, j'ai 1h de manip pour déterminer le nouveau volume, ce n'est pas rentable (et surtout très pénible) Olivier
  22. Salut Vincent, Merci, et oui c'est simple à la main, mais c'est un fossé de projet autopiste de plusieurs kms qui est travaillé en redans pour stocker un maximum d'eau pour infiltration. J'ai donc une centaine de cuvettes qui risquent de changer à chaque recalcul du projet. Donc je cherchais une solution plus automatique en balançant mon MNT fossé et ça me sort le volume de stockage. Olivier
  23. Bonjour, J'aurais besoin de connaître le volume de stockage d'un MNT présentant des cuvettes. Chaque cuvette ayant sa propre altitude de débordement, la hauteur d'eau stockable est spécifique à chaque cuvette. Voilà en coupe ce que ça donnerait. J'ai imaginé des solutions via les bassins versant pour découper mon MNT, puis par les plateformes je récupère mes volumes de stockage par cuvette, mais c'est un peu long et à refaire à chaque fois que le MNT change. Est-ce qu'il y aurait une solution plus rapide? (peut-être les nouveaux objets bassins versants de la dernière version, mais pas encore installée chez moi). Merci Olivier
  24. Bonjour, Ci-joint le code pour choisir poly2D ou 3D (le code de dessin des poly2D et 3D a été repris depuis le site DA-Code de Didier Aveline) : ; Didier Aveline ; https://www.da-code.fr/poly-07/ (defun da:DessPoly2D (listesommets z closed) ; dessin de polyligne 2D depuis liste de sommmets (entmake (append (list '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") '(100 . "AcDbPolyline") (if z (cons 38 z)) (cons 90 (length listesommets)) (if closed (cons 70 1) (cons 70 0)) ;;'(70 . 0) ) (mapcar '(lambda (p) (cons 10 p)) listesommets) ) ) ;_ Fin de entmake ) ; fin de defun da:DessPoly2D (defun da:DessPoly3D (ptlist closed / pt) ; dessin de polyligne 3D depuis liste de sommmets (entmake (list '(0 . "POLYLINE") '(100 . "AcDbEntity") '(100 . "AcDb3dPolyline") (if closed (cons 70 9) (cons 70 8)) ) ) (repeat (length ptlist) (setq pt (car ptlist) ptlist (cdr ptlist) ) (entmake (list '(0 . "VERTEX") '(100 . "AcDb3dPolylineVertex") (cons 10 pt) '(70 . 32) ) ) ) ;_ repeat (entmake '((0 . "SEQEND"))) ) ; fin de defun da:DessPoly3D ;Olivier Eckmann ;https://cadxp.com/topic/60969-routine-pour-créer-une-polyligne-à-partir-de-points-créés-avec-la-fonction-mesurer/ (defun C:Poly2Poly ( / dPas sTypePoly sSupprPoly oPoly oPolyDxf oPolyVla PTF dAbsc PT lsPts) (if (setq dPas (getreal "\nDistance entre sommets:")) (progn (initget "2D 3D") (setq sTypePoly (getkword "\nGénérer une polyligne [2D/3D] <3D> : ")) (if (not sTypePoly) (setq sTypePoly "3D") ) (initget "Oui Non") (setq sSupprPoly (getkword "\nSupprimer la polyligne initiale [Oui/Non] <Oui> : ")) (if (not sSupprPoly) (setq sSupprPoly "Oui") ) (while (and (setq oPoly (car (entsel "\nSélectionner une polyligne : "))) (setq oPolyDxf (entget oPoly)) (member (cdr (assoc 0 oPolyDxf)) (list "POLYLINE" "LWPOLYLINE")) ) (setq oPolyVla (vlax-ename->vla-object oPoly)) (setq dLength (vla-get-length oPolyVla)) (setq bClosed (eq (vla-get-Closed oPolyVla) :vlax-true)) (setq PTF (vlax-curve-getEndPoint oPolyVla)) (setq dAbsc 0.0 lsPts nil) (while (<= dAbsc dLength) (setq PT (vlax-curve-getPointAtDist oPolyVla dAbsc)) (setq lsPts (append lsPts (list PT))) (setq dAbsc (+ dAbsc dPas)) ) ; Ajout du dernier point si pas déjà présent en fin de liste (if (and (not bClosed) (> (distance (last lsPts) PTF) 0.001)) (setq lsPts (append lsPts (list PTF))) ) ; dessin de la poly 2D ou 3D (if (= sTypePoly "2D") (da:DessPoly2D lsPts (caddr (car lsPts)) bClosed) (da:DessPoly3D lsPts bClosed) ) ; Suppression de la poly de base si demandé (if (= sSupprPoly "Oui") (entdel oPoly) ) ) ) ) ) Poly2Poly.lsp
  25. Tu cherches de l'aide pour écrire toi même le Lisp, ou bien tu veux un Lisp tout fait qui fait le boulot? Olivier
×
×
  • 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é