Olivier Eckmann
Membres-
Compteur de contenus
2 360 -
Inscription
-
Dernière visite
-
Jours gagnés
120
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Olivier Eckmann
-
[Challenge]Paramètres de l'ellipse
Olivier Eckmann a répondu à un(e) sujet de (gile) dans Programmer en s'amusant
Salut Gilles, Je te propose ça (sans aucun contrôle) (defun paramToAngle (ellipse param / dA dB X Y ) (setq dA (distance '(0 0 0) (cdr (assoc 11 (entget ellipse))))) (setq dB (* dA (cdr (assoc 40 (entget ellipse))))) (setq X (* dA (cos param))) (setq Y (* dB (sin param))) (atan Y X) ) Par contre je n'arrive pas dans AutoCAD à créer une ellipse avec un grand axe plus petit que le petit axe. Dans ton exemple, avec une ellipse 60 grand rayon et 10 petit rayon, il faut un paramètre de 64.3° pour obtenir un angle de 19.1° Olivier -
Les nouveautés d’AutoCAD 2022
Olivier Eckmann a répondu à un(e) sujet de Eric dans AutoCAD 2020-2024
Bonjour, Très grosse nouveauté pour la partie Map 3D, c'est enfin le support d'une version récente de PostGreSQL 12.2 et PostGis 3.0. On aurait aimé la version 12.4 de PostGres (sortie au mois d'août 2020), mais bon. Sur le reste, je ne me prononce pas, on verra à l'usage. Olivier -
Que préférez-vous comme environnement? Clair (actuel) ou Sombre (fond noir et typo claire)
Olivier Eckmann a répondu à un(e) sujet de Cadmin dans CADxp, comment ça marche?
Bonjour, Clair pour moi, je déteste cette tendance à tout mettre en thème sombre ou noir. Olivier -
Vous aimez les challenges ? ? ?
Olivier Eckmann a répondu à un(e) sujet de DenisHen dans Programmer en s'amusant
Bonjour, Si tu veux apprendre sérieusement, prends un bon MOOC de plusieurs heures avec une vraie progression pédagogique. Je ne le connais pas, mais au vu du programme celui-ci semble intéressant : https://openclassrooms.com/fr/courses/218202-apprenez-a-programmer-en-c-sur-net Il y a aussi la plateforme Learn chez microsoft : https://docs.microsoft.com/fr-fr/learn/ Ne vas surtout pas te jeter sur 3 minutes de tuto youtube pour régler un problème de "bidouille". Olivier -
Calques imbriqués dans des blocs
Olivier Eckmann a répondu à un(e) sujet de rrobert dans AutoCAD 2020-2024
Bonjour, Il me semble que depuis AutoCAD 2020, la commande purger à évoluer pour afficher (onglet "non purgeable") la raison de "non purgeabilité" d'un objet (par exemple un calque) en indiquant où il est utilisé (dans un bloc par ex). Olivier -
Vous aimez les challenges ? ? ?
Olivier Eckmann a répondu à un(e) sujet de DenisHen dans Programmer en s'amusant
Bonjour Denis, Je ne peux que confirmer ce que Gilles et Didier ont déjà dit et insisté, il faut décomposer et ne pas essayer de brûler les étapes. A mon avis, si c'est difficile en Lisp, c'est surtout un manque de rigueur et trop de bidouille. Il y a aussi un manque de compréhension des (types d') objets manipulés, que ce soit dans les variables, ou les paramètres transmis à une fonction et ceux retournés par cette même fonction. Le fait de disposer d'un IDE (Visual Studio) plus moderne et performant au lieu de l'IDE VL d'AutoCAD ne comblera pas le manque de rigueur et ne permettra pas de régler les problèmes rencontrés sur le Lisp. Pour le C# c'est bien de s'y mettre, mais il faut procéder par étape. Inutile de vouloir modifier la base de données du DWG avec les API d'AutoCAD avant d'être à l'aise sur la programmation .Net Si tu veux appréhender tu peux partir d'un exemple simple. Ton message pour lire et décoder ton fichier de liste de calque avec ton séparateur # pourrait être une bonne base de d'apprentissage. Dans Visual studio, tu crées un EXE Windows simple: - 1 dialogue avec un bouton pour sélectionner ton fichier - 1 textbox pour afficher le nom du fichier sélectionné - 1 bouton analyser avec lequel tu lis le fichier et tu affiches chaque ligne dans un messagebox - ensuite tu remplaces le messagebox par une listbox dans ton dialogue pour afficher chaque ligne de ton fichier - ensuite tu crées une struct avec 3 membres (nom, couleur, description) pour stocker chaque données de ton fichier texte - puis une List<> de ta struct pour charger tout le contenu du fichier texte, puis tu utilises ta list pour remplir ta Listbox - ensuite tu remplaces ta struct par une classe avec 3 membres privés, tu prévois 2 constructeurs (1 simple et 1 pour initialiser les 3 membres, dont la couleur avec une valeur par défaut 7), et les fonctions de lectures/écriture de tes variables membres - ensuite tu crées un second dialogue auquel tu passes ta liste de classe en paramètre, et tu affiches les données dans un datagridview (3 colonnes). - tu interprètes la couleur : si c'est une couleur simple, tu affiches le contenu de la cellule en vert et si c'est une couleur vraie, tu utilises cette couleur pour colorier le fond de la cellule - tu laisses la cellule du nom de calque éditable pour pouvoir modifier le nom et quand ta cellule perd son focus, tu valides le nom (pas de caractères spéciaux, pas de nom en double dans la liste...) sinon tu refuses la modif et tu rétablis l'ancienne valeur - Si les modif sont bonnes, tu valides ton dialogue et tu reviens dans ton 1er dialogue - tu ajoutes un nouveau bouton pour sélectionner/créer un nouveau fichier texte et tu réécris ta structure modifiée dans ce nouveau ficher avec un autre séparateur (par ex ";") Voilà, lorsque tu seras à l'aise avec ça et que tu nous auras mis une petite vidéo de la démonstration, on pourra s'attaquer à l'étage supérieur. Olivier -
Vous aimez les challenges ? ? ?
Olivier Eckmann a répondu à un(e) sujet de DenisHen dans Programmer en s'amusant
Bonjour, Toujours pour m'amuser, plutôt qu'un grip rond tout basique pour la rotation, j'ai dessiné un grip en forme de tête de cheval (bah oui quand la passion vous tient) https://autode.sk/2ONyPMc Olivier -
Vous aimez les challenges ? ? ?
Olivier Eckmann a répondu à un(e) sujet de DenisHen dans Programmer en s'amusant
Aïe aïe aïe, je n'ai pas tout vert dans mes habitudes de nommage. Mais ça fait des années que j'ai l'habitude d'indiquer sur le 1er ou les 2 premiers caractères le type de la variable. Ca va être dur de changer ça. Merci pour ces explications en tout cas. Olivier -
Drone pour zones "compliquees/encombrees"
Olivier Eckmann a répondu à un(e) sujet de lecrabe dans CAO, généralités
Bonjour, En France aussi on fait des choses sympa avec le drone. Dans la grande cascade du parc des Buttes Chaumont : pilotage à vue, tout dispositif d'évitement déconnecté, pour faire des prises de vues qui permettront de reconstruire le maillage 3D par photogrammétrie. J'ai filmé ça avec mon portable, donc pas terrible, mais c'est impressionnant à voir et surtout la stabilité du drone, alors qu'il ne reçoit plus aucune données GPS. Olivier -
Vous aimez les challenges ? ? ?
Olivier Eckmann a répondu à un(e) sujet de DenisHen dans Programmer en s'amusant
Merci Giles. Je me permet une question pour toi. Dans tes codes, je vois souvent que tu déclares tes variables en var et non pas dans son type explicite. Pour quelle raison (quel intérêt), utilises tu la déclaration de type implicite? Il me semble avoir lu une réponse de ta part dans une autre discussion, mais je ne retrouve plus. Olivier -
Vous aimez les challenges ? ? ?
Olivier Eckmann a répondu à un(e) sujet de DenisHen dans Programmer en s'amusant
Bonsoir, Comme les messages de début de semaine ont été supprimés, je reposte. Comme je le disais, je suis hors sujet et j'ai très honteusement plagié le code de Gilles, mais j'ai joué avec les overrule pour surcharger le graphisme d'un cercle par celui du challenge. J'ai ajouté un grip de rotation pour modifier l'orientation des polygones. Il y a 2 commandes (dans le ZIP - à débloquer si nécessaire): LAPOSTE qui permet de créer l'objet cercle par centre / bord (le 2nd point donnant le diamètre et al rotation initiale) LAPOSTEUPD qui permet de mettre à jour/transformer un cercle existant avec le nombre de cercle et de sommet. Voilà la mise en œuvre : ICI Olivier LaPoste.zip -
Chemin d'un Lisp selon la commande lancée
Olivier Eckmann a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Ca se crée à la main. C'est un dossier windows qui contient un fichier "PackageContents.xml" et un sous-dossier Contents dans lequel tu organises comme tu veux des données (Lisp, menu, DWG...) Il faut juste que ton XML explique à AutoCAD où trouver ses infos. Tu as un exemple de Gilles ICI Ensuite le .BAT ne fait que copier/écraser tes fichiers lors de la première installation et des mises à jour successives Olivier -
Chemin d'un Lisp selon la commande lancée
Olivier Eckmann a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Bonjour, Il y a 3 dossiers dans lesquels tu peux mettre un Bundle "C:\Program Files\Autodesk\ApplicationPlugins" "C:\ProgramData\Autodesk\ApplicationPlugins" "%USERPROFILE%\AppData\Roaming\Autodesk\ApplicationPlugins" Au lancement d'AutoCAD, celui ci explore ces 3 répertoires à la recherche de dossiers nommés XXXXX.bundle Dans chaque dossier, il cherche un fichier "PackageContents.xml" dans lequel il cherche les infos relatif à sa version pour savoir quoi charger : Lisp, ARX, DLL, menu, palette... Ensuite à toi de mettre ce que tu veux dans ton sous-dossier Contents Olivier -
Chemin d'un Lisp selon la commande lancée
Olivier Eckmann a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Voir ICI pour créer un plugin bundle qui se chargera via le mécanisme d'autoloader tu crées un dossier DH.bundle qui contient tout ce dont tu as besoin et un fichier MiseAJour.BAT qui contient xcopy DH.bundle\*.* %USERPROFILE%\AppData\Roaming\Autodesk\ApplicationPlugins\DH.bundle\*.* /S/E/H/C/K/R/Y Olivier -
Chemin d'un Lisp selon la commande lancée
Olivier Eckmann a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Denis, Donc il te faut la seconde solution avec le principe de l'autoloader (dossier .bundle) mis en place depuis la version AutoCAD 2012. Sur ta clé tu mets un .BAT qui met à jour le dossier : %USERPROFILE%\AppData\Roaming\Autodesk\ApplicationPlugins Et au lancement suivant d'AutoCAD, tout se met à jour et se charge automatiquement. Olivier -
Chemin d'un Lisp selon la commande lancée
Olivier Eckmann a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Bonjour, Non, la commande SUBST consiste à donner une lettre de lecteur à n'importe quel dossier. Par ex SUBST W: "C:\Mes données\Mon dossier de travail" tu obtiens un disque W: qui est un "raccourci" pour accéder à ton répertoire (et tous ses sous-répertoires). Ce n'est pas conservé après reboot, donc il faut le lancer à chaque fois, mais il va bien falloir que l'utilisateurs te dise où il a dézippé ton fichier. Si il l'a dézippé sur son disque et qu'il l'a ensuite copié sur sa clé USB (branchée donc avec une lettre), il aura tes programmes à 2 endroits accessibles sur son PC. Il faut qu'il te dise où ça se trouve, surtout s'il fait une mise à jour que dans 1 seul endroit, tu seras bien embêté pour savoir lequel charger. Tu peux très bien avoir un BAT sur ta clé qui initialise ce SUBST , à lancer à chaque démarrage du PC ou chaque fois que tu branches ta clé. Sinon, il faut utiliser la technique de chargement depuis le .bundle Tu dois avoir les droits d'écriture au moins sur "C:\Users\Nom_d_utilisateur\AppData\Roaming\Autodesk\ApplicationPlugins" A la rigueur un .BAT sur ta clé qui mette à jour ce dossier pour un chargement automatique. L'avantage, c'est que AutoCAD s'occupe de tout : Lisp, menu, palette... De toute manière, si tu dois "gérer" pas mal de PC et qu'il n'y a aucune rigueur, ni aucune similitude dans les installations/droit/config tu vas passer ton temps à essayer de comprendre pourquoi ça marche chez toi et pas chez eux. Moi j'ai 50 stations AutoCAD depuis la version 2012 à 2021, et ça fonctionne, mais c'est carré sur le déploiement et tout le monde travaille de la même manière. Olivier -
Chemin d'un Lisp selon la commande lancée
Olivier Eckmann a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Bonjour, Pourquoi ne pas faire un "subst" pour affecter la même lettre à un répertoire différent pour chaque PC. SUBST Olivier -
"rettlee èrmire plae imprup seu jontincfoa "
-
Bonjour, Eventuellement, avec la commande REGION tu convertis tes sous-masses en région, puis avec la commande UNION, tu sélectionnes toutes tes sous masses. Dans les propriétés de la nouvelle région créée tu disposes de sa surface à comparer à la surface de ta masse. Attention, selon la valeur de la variable DELOBJ, tes polylignes originales seront effacées ou conservées. Si tu as un écart (masse > somme des sous masse) et que tu veux savoir où, tu convertis ta masse en région, puis avec la commande SOUSTRACTION tu soustraies de ta masse, la région unifiée des sous masses. Là où il reste un peu "d'objet" c'était un trou. Olivier
-
[RESOLU] Exporter des surfaces
Olivier Eckmann a répondu à un(e) sujet de Hydro8 dans Débuter en LISP
Et bah ça dépend du géomètre , c'est comme les Olivier -
[RESOLU] Exporter des surfaces
Olivier Eckmann a répondu à un(e) sujet de Hydro8 dans Débuter en LISP
Bonsoir, Le géomètre est toujours un peu compliqué dans ses arrondis, bien que ce soit l'homme de la "juste" mesure Sans compensation "mathématique", la vie n'est rien. Voilà un exemple Pour savoir quel chiffre doit basculer du coté obscur, il te faut la décimale suivante. Olivier -
Astuce pour dessiner les polylignes avec une élévation à 0
Olivier Eckmann a répondu à un(e) sujet de G_P_TP dans Covadis
Salut Patrice, Je savais bien qu'en évoquant Automap, tu allais me rafraîchir mes neurones vieillissants. Olivier -
Bonjour, Il faut que le séparateur décimal dans le fichier soit un point et non pas une virgule. Olivier
-
Problème d'impression avec PDF Creator depuis AutoCAD (2019)
Olivier Eckmann a répondu à un(e) sujet de hmezan dans AutoCAD 2019
Bonjour, En fait c'est le même driver, ce sont juste 4 PC3 qui ont été ajoutés par copie du DWG to PDF Olivier -
Astuce pour dessiner les polylignes avec une élévation à 0
Olivier Eckmann a répondu à un(e) sujet de G_P_TP dans Covadis
Bonjour, Il faut enlever le \n dans le texte de demande du 1er point. Avec ce nouveau code ça doit fonctionner ^C^C(command "_PLINE" ".XY" (getpoint "Point de départ") 0) Il y a longtemps dans Covadis, il y avait une commande (à l'issue de l'intégration d'Automap) qui permettait de faire une poly à 0, mais je ne l'ai pas retrouvé. Olivier
