Aller au contenu

Olivier Eckmann

Membres
  • Compteur de contenus

    2 354
  • Inscription

  • Dernière visite

  • Jours gagnés

    120

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

  1. Olivier Eckmann

    Plateforme Marche

    Salut @GEGEMATIC, passe un coup de fil au support Geomedia (à moins que Thierry passe dans le coin), il me semble que l'on avait eu le problème au département des alpes maritime pour les études de route (Autopiste) en pied de falaise avec des surplombs. Je ne me souviens plus si on avait réussi à le gérer à l'époque. Olivier
  2. Par le menu Fichier / Gestionnaire de traçage ou bien par le bouton application / imprimer / Gestionnaire de traçage On affiche la liste des traceurs, puis lancer "Assistant ajouter un traceur", choisir tracé électronique PDF Olivier
  3. Bonjour, S'il ne fallait modifier que les matricules, il valait mieux utiliser la commande ATTOUT (si les ExpressTools sont installés). On récupère un fichier TXT que l'on glisse/dépose sous Excel. On modifie les matricules, on sauvegarde le TXT et dans AutoCAD on lance ATTIN pour réimporter les modifs et mettre à jour les attributs. Sinon, sous MAP, il y a la commande MAPIMPORT qui permet d'importer un fichier CSV ou TXT sous forme de Bloc avec attribut MAT et éventuellement CODE. Olivier
  4. Olivier Eckmann

    Plateforme Marche

    Aucun problème pour créer des plateformes contigües à des Z différents. Il y aura un calque nommé Verticales qui sera créé pour raccorder ces dénivelées. Olivier
  5. Bonjour, Quand on ajoute un hyperlien, on peut choisir un fichier ou une page web, mais aussi une vue ou une présentation Donc si tu as une 1ère présentation qui contient ton sommaire, où chaque texte pointe sur une présentation, quand tu publies en PDF multipages, les hyperliens vers les présentations deviennent des hyperliens vers les pages de ton PDF. Olivier
  6. Bonjour, Effectivement, j'avais mal lu le but du déplacement et j'étais parti sur une permutation au lieu d'un déplacement. Dans ce cas l'algo est un peu différent ; définit comme variable d'entrée : la liste MaListe , la variable Old : ancienne position dans la liste, la variable New : nouvel position ; Je pars sur les indices en base 0 pour simplifier (defun DeplElemList (MaListe Old New / i NewList) ; stocke le nombre d'élémentde MaListe dans la variable NbElt (setq NbElt (length MaListe)) ; stocke/initialise la valeur 0 dans un compteur/indice nommé I (setq I 0) ; stocke/initialise une liste vide dans la variable NewList ; (inutile dans ce cas car définie comme variable locale donc initialiser à nil, ; mais avant de construire une nouvelle liste par append bien penser à l'initialiser à nil) (setq NewList nil) ; boucle sur les nombre d'élément de la liste (repeat NbElt ; teste la valeur de I ; SI le compteur (indice) est égal à New ALORS (cond ((= I New) ; Ajoute l'élément d'indice Old à la nouvelle liste (setq NewList (append NewList (list (nth Old MaListe)))) ; Ajoute l'élément d'indice courant à la nouvelle liste (setq NewList (append NewList (list (nth I MaListe)))) ) ; SI le compteur est égal à Old ALORS ne fait rien ; SINON ajoute l'élément courant ; Ces 2 dernières conditions peuvent être remplacées par celle ci ; SI le compteur (indice) est différent de Old ALORS ((/= I Old) ; Ajoute l'élément d'indice courantà la nouvelle liste (setq NewList (append NewList (list (nth I MaListe)))) ) ) ; passe à l'élément suivant (setq I (1+ I)) ) ; renvoie la nouvelle liste NewList ) Ca pourrait être ma version "piou piou qui apprend le chasse neige" 🙂 Olivier
  7. OK, juste un hyperlien sur des textes (on se fout des rectangles) et l'hyperlien est constitué de la chaine du texte + .DWG (defun C:TXT2HL ( / I ssText oText) (if (setq ssText (ssget (list (cons 0 "TEXT")))) (progn (setq I 0) (repeat (sslength ssText) (setq oText (ssname ssText I)) (setq I (1+ I)) (seturl oText (strcat (cdr (assoc 1 (entget oText))) ".DWG")) ) ) ) ) Olivier
  8. Le calque 0 ne serait pas inactif ou gelé? Olivier
  9. Bonjour @William44850, A moins que l'on parle d'un objet carroyage type COVADIS, mais sinon l'objet carroyage n'existe pas dans AutoCAD. Est une polyligne? un bloc? une présentation? est-ce qu'il y a bien 1888 carroyages? Chaque carroyage possède un "identifiant unique". Sous quelle forme? un attribut de bloc? une donnée d'objet Map? le nom de la présentation? Un hyperlien vers un fichier fonctionne selon le principe des chemins relatif ou absolu? Est-ce que tu veux un chemin absolu ou relatif? Si j'ai renvoyé sur cette discussion, c'est que le programme lisp contient l'instruction permettant d'affecter un hyperlien à un objet via la commande (seturl ... Olivier
  10. Bonsoir, Si je reprends : écrire la fonction en "français" c'est à dire comme un algorithme ça pourrait donner ça ; définit comme variable d'entrée : la liste MaListe , la variable Old : 1er indice à permuter, la variable New : 2nd indice à permuter ; les indices dans une liste commence à 0, mais tu souhaites compter à partir de 1 donc on enlève 1 pour convertir ton indice en indice base 0 ; stocke le nombre d'élémentde MaListe dans la variable NbElt ; stocke/initialise la valeur 0 dans un compteur/indice nommé I ; stocke/initialise une liste vide dans la variable NewList ; boucle sur les nombre d'élément de la liste ; SI le compteur (indice) est égal à Old-1 ALORS ; Ajoute l'élément d'indice New-1 à la nouvelle liste ; SINON, SI le compteur (indice) est égal à New-1 ALORS ; Ajoute l'élément d'indice Old-1 à la nouvelle liste ; SINON Ajoute l'élément d'indice courant à la nouvelle liste ; passe à l'élément suivant ; renvoie la nouvelle liste Ensuite sous chaque ligne de commentaire tu écris la fonction lisp correspondante ; définit comme variable d'entrée : la liste MaListe , la variable Old : 1er indice à permuter, la variable New : 2nd indice à permuter ; les indices dans une liste commence à 0, mais tu souhaites compter à partir de 1 donc on enlève 1 pour convertir ton indice en indice base 0 (defun DeplElemList (MaListe Old New / i NewList) ; stocke le nombre d'élémentde MaListe dans la variable NbElt (setq NbElt (length MaListe)) ; stocke/initialise la valeur 0 dans un compteur/indice nommé I (setq I 0) ; stocke/initialise une liste vide dans la variable NewList (setq NewList nil) ; boucle sur les nombre d'élément de la liste (repeat NbElt ; SI le compteur (indice) est égal à Old-1 ALORS (if (= I (1- Old)) ; Ajoute l'élément d'indice New-1 à la nouvelle liste (setq NewList (append NewList (list (nth (1- New) MaListe)))) ; SINON, SI le compteur (indice) est égal à New-1 ALORS (if (= I (1- New)) ; Ajoute l'élément d'indice Old-1 à la nouvelle liste (setq NewList (append NewList (list (nth (1- Old) MaListe)))) ; SINON Ajoute l'élément courant à la nouvelle liste (setq NewList (append NewList (list (nth I MaListe)))) ) ) ; passe à l'élément suivant (setq I (1+ I)) ) ; renvoie la nouvelle liste NewList ) Et voilà ... Ce beaucoup moins fun à écrire que la fonction récursive de @(gile), mais comme dirait @didier autant commencer à apprendre à marcher avant de courir 🙂 Il n'y a que 11 lignes que l'on peut encore raccourcir sans problème (remplacer les if par un cond par ex), mais comme chaque étape est décortiquée à son maximum, peu de risque de s'embrouiller les pinceaux. Olivier
  11. Bonjour, Tu peux essayer de t'inspirer de cette discussion : https://forums.autodesk.com/t5/autocad-tous-produits-francais/import-en-masse-d-hyperliens-vers-des-blocs/td-p/10523126 Olivier
  12. Je ne t'ai jamais dit d'utiliser subst, il suffit d'avoir un compteur qui s'incrémente et créer un nouvelle liste dans laquelle tu ajoutes soit l'élément courant, soit le OLD, soit le NEW. Olivier
  13. Ecris le en français, puis passe au code ensuite quand c'est bien clair. "Problème clairement exposé à 90% résolu" Olivier
  14. Je suis sûr que l'on peut faire mieux, mais en version la plus simple (et intuitive peut-être) pour une permutation : Tu crées une boucle pour parcourir ta liste avec un indice courant qui s'incrémente de 0 à n-1 Et 3 conditions : - si l'indice courant est égal à l'indice OLD tu ajoutes à la nouvelle liste, l'élément d'indice NEW - si l'indice courant est égal à l'indice NEW tu ajoutes à la nouvelle liste, l'élément d'indice OLD - sinon tu ajoutes l'élément d'indice courant Olivier
  15. Bonjour, ici : https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/dcl-button-images/td-p/9863170 il y a une discussion intéressante, mais c'est un "subterfuge" compliqué pour simuler quelque chose non prévue, donc c'est compliqué à mettre en œuvre. Soit l'interface permet juste d'obtenir des infos, et quand tu cliques OK, ça fait le boulot. Dans ce cas tu fais le dialogue dans le langage que tu souhaites (VBA) puis tu lances la commande lisp avec tous les paramètres issus du dialogue. Soit tu dois interagir avec AutoCAD pendant ton dialogue, et là, soit tu fais tout en VBA soit tu passes à quelque chose de plus robuste DotNet (C# de préférence, éventuellement VB.Net si tu es allergique aux points virgules🙂 ) et tu fais tout avec 1 seul langage. Faire du DCL pour avoir de joli interface, ça ne fonctionne pas ou bien au prix d'effort "quasi insurmontable" Olivier
  16. Olivier Eckmann

    ChatGPT

    Bonjour, Je n'y connais rien, donc je vais dire des bêtises, mais tant pis, je me lance. Si j'ai tout bien compris, l'IA apprend à partir de données (grandes quantités d'info). Ces informations sont-elles contrôlées par les humains pour les valider, ou bien est-ce qu'elle pioche toute seule dans tout ce qui existe sur internet, réseau sociaux... Car dans ce cas, on sait qu'il y a beaucoup de fake news relayées par les réseaux sociaux : la dernière en date qui m'a assis par terre "1 jeune sur 6 croit que le terre est plate" : https://www.europe1.fr/societe/la-terre-est-plate-les-contreverites-scientifiques-gagnent-du-terrain-chez-les-jeunes-4164999 Si l'IA se base sur ces informations pour se "construire" est-ce qu'un jour si je lui demande la forme de la terre, elle risque de me répondre que la terre est plate? A partir de quand un humain saura que c'est une erreur? Dans quelque années, un jeune qui n'aura "appris/vécu" que grâce à l'IA, n'aura plus aucune culture/connaissance pour démêler le vrai du faux? Si un humain publie un texte (ou une information) généré par l'IA, est-ce qu'elle va les utiliser comme des données "humaines" pour apprendre? Donc elle apprend de ce qu'elle produit elle-même? Ca me laisse perplexe. Olivier
  17. Salut @Steven, C'est ça que tu veux? Olivier BLOCS_AVEC_ATT_COUL_FORCEES.dwg
  18. Bonjour, Il y a cette discussion à voir : https://cadxp.com/topic/41480-dessiner-un-pavage-en-arc-de-cercle/ Olivier
  19. Bonjour, Dans ton espace Dessin, tu n'as aucun menu affiché, seulement les onglets du ruban. Ci-joint la vidéo pour les remettre en place : https://autode.sk/3WSrPKX Olivier
  20. Bonjour, Pour les points 2 (et peut-être 3), à la ligne de commande, taper MAPIOPTIONS (attention, il y a bien un i entre MAP et OPTIONS) Puis décocher la dernière option (sélection d'image par Maj+click) dans l'onglet préférences Olivier
  21. Bonjour, Le nom de la XRef correspond par défaut au nom du DWG, par contre, on peut la renommer comme on le veut. Donc : Nommer la XREF n°1 par exemple XREFV1, puis faire son état de calque et l'exporter en .LAS Renommer la XREFV1 en XREFV0, puis la seconde XRef en XREFV1, importer le LAS Renommer XREFV1 en XREFV2 Renommer XREFV0 en XREFV1 Olivier
  22. Bonjour, Jamais rencontré ce problème, mais tu peux éventuellement mettre la variable SAVETIME dans la liste des variable à suivre, comme ça tu auras une notification quand elle change et tu pourras peut-être l'associer à une commande ou une action spécifique. Olivier
  23. Bonjour, Dans la barre d'assainissement, dernier menu déroulant. Olivier
  24. Bonjour, Tu as Cov3D / Visualisation du relief / Création maillage régulier. Ca permet de créer un MNT carré à la taille de grille souhaitée. Olivier Eckmann
  25. Olivier Eckmann

    Liseuse / Viewer REVIT

    Salut @GEGEMATIC, A priori si tu utilises Revit en mode viewer, pas de souci, tu peux installer la version que tu veux, sans être en infraction sur ta licence 2021. 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é