Aller au contenu

Classement

Contenu populaire

Affichage du contenu avec la meilleure réputation le 27/09/2024 dans Messages

  1. Pourquoi ne pas passer par les filtres des propriétés ? Tu te crées un filtre des propriétés dans lequel tu y mettras tous les calques avec ECL et CFO, par exemple. De ce fait, quand tu iras dans une fenêtre où tu souhaites tous les geler, tu fais un clic droit sur le non du filtre des propriétés --> Fenêtre --> Geler. L'avantage du filtre des propriétés, est que si tu crées de nouveaux calques avec ECL ou CFO, ils s'ajouteront automatiquement dans le filtre correspondant, contrairement aux filtres de groupes.
    2 points
  2. Bonjour @ben_f20 j'utilise ChatGPT, qui, j'ai l'impression, est aussi perdu que moi, mais bref.) Pour ce qui est d'utiliser ChatGPT, personne ne peut guère vous blâmer, car des grands génies du marketing cherchent à vous faire croire qu'ils savent répondre à vos soucis, et quand vous serez assez asservis par ce nouveau maître, ils vous obligeront à payer leurs services, et vous le ferez. La solution gratuite est d'apprendre par vous-même, je fais partie des humains qui cherchent à diffuser du savoir, pas des chimères (voir ma signature). Quant à être aussi perdu que vous, il l'est bien plus, car contrairement à ce qu'il revendique, il n'a pas d'intelligence. Ça, c'était mon coup de gueule, maintenant, je réponds : Pour faire ce que vous demandez, il n'y a pas besoin de LSP, une simple gestion du clavier et les outils simples que sont vos doigts, on y arrive. Dans la fenêtre de présentation, se mettre en EO puis Commande : FCALQUE Entrée G Entrée * Entrée L Entrée CF* Entrée. Amicalement Vidéo pour exemple d'utilisation : Lien pour Vidéo
    1 point
  3. Coucou @DessProj429, En complément des réponses de Didier et Olivier, je te suggère dans un premier temps de consulter ce post (>>ici<<) concernant le chargement d'un fichier .lsp dans AutoCAD. Car, comme le souligne si bien Olivier, avant même de parler de programmation il faut savoir comment implémenter ces programmes LISP dans AutoCAD et pouvoir les utiliser. Une fois ces différentes solutions maîtrisées (chargement ponctuel, chargement automatique, utilisation de fichiers LISP définis par AutoCAD ou des fichiers personnels, etc..), on peut alors s'attaquer aux bases de la programmation. Pour cela, de nombreux sites très bien fait peuvent t'aider à explorer le monde de la programmation AutoLISP : https://www.da-code.fr/ https://programmation.developpez.com/tutoriels/autolisp/introduction-autolisp/ Maintenant si l'on rentre un peu plus dans le vif du sujet, il n'existe jamais une seule et unique solution de programmation pour un problème bien défini. Avant même de parler d'AutoLISP (qui est un langage permettant d'écrire des programmes complexes), on peut déjà considérer des solutions beaucoup plus adaptées lorsqu'on débute en programmation AutoCAD, au même titre que les macros Excel. Pour cela, rien de bien compliqué puisqu'il suffit de réaliser la manipulation manuellement et de noter l'ensemble des commandes, options, données utilisateurs nécessaires à la suite d'instructions. Dans ton cas, il suffit de comprendre ton besoin : Tracer une polyligne Décaler la dernière polyligne crée d'une valeur rentrée par l'utilisateur Ajouter un sommet depuis le dernier sommet de la polyligne n°1 vers le dernier sommet de la polyligne n°2 Joindre les 2 polylignes Clore la polyligne L'ensemble de ces manipulations font appel à des commandes et des entrées utilisateur, donc cela peut être traduit par une suite d'instruction qui fait appel aux commandes. On appelle cela des macros, comme par exemple la macro donnée par Olivier qui répond aux points 3 et 4 (si je ne dis pas de bêtises). Évidemment, plus on progresse en programmation et plus on va chercher à optimiser notre programme pour améliorer sa performance, étendre son principe de fonctionnement, gestion des erreurs, etc... C'est d'ailleurs pour cela qu'il faut prendre les problèmes comme un ensemble de sous-problèmes, plus simple à traiter individuellement puis de les mettre bout à bout. Viendra ensuite l'optimisation de la programmation (par exemple, commencer par écrire une macro qui n'est rien d'autre que la suite d'instructions que tu effectues manuellement, puis ensuite d'essayer de traduire cela en AutoLISP simple, avec des (command) et ensuite on pourra encore améliorer avec des (entget), (entmake), ...), mais chaque choses en son temps. Si je comprends ta démarche d'utilisateur, tu désires apprendre/comprendre le code que tu comptes utiliser et donc pour cela, il ne faut pas partir d'une programmation complexe dès le début. Je pense donc en effet que la meilleure démarche pour ce genre de demande est de commencer par écrire la suite d'instructions que tu fais en ligne de commande, voir quelles options peuvent être directement renseignées (par exemple par le biais de variables système ou des constantes) et lesquelles requiert une intervention utilisateur. Cela permettra donc de connaître et d'identifier rapidement l'ensemble des informations requises pour faire fonctionner le programme et parmi ces informations, lesquelles sont déjà accessibles et lesquelles ne le sont pas. Ensuite lorsque tu voudras optimiser le programme tu verras que tu pourras supprimer certaines interventions utilisateur. Bref, donc pour la partie "joindre" 2 polylignes, tu as déjà la macro proposée par Olivier mais si on s'amuse à la décrypter on a : ^C^C correspond à un double Echap (permet de s'assurer qu'aucun programme n'est en cours d'utilisation à l'exécution de notre macro), cf. https://help.autodesk.com/view/OARXMAC/2024/FRA/?guid=GUID-D991386C-FBAA-4094-9FCB-AADD98ACD3EF _PEDIT; Lancement de la commande PEDIT en langue internationale grâce au caractère "_" (la commande _PEDIT est ici nommée PEDIT aussi bien international qu'en FR, mais par exemple la commande COPIER en FR est _COPY en international). Cela est une "convention" en programmation afin de s'assurer que quelque soit la langue locale de l'AutoCAD utilisant notre programme, le résultat soit identique (pas d'erreur car la commander COPIER par exemple n'est pas reconnue sur un AutoCAD anglophone). Le caractère ";" est équivalent à une validation (ENTER). _M; correspond à l'option _Multiple de la commande _PEDIT, afin de sélectionner plusieurs entités, cf. https://help.autodesk.com/view/ACD/2024/ENU/?guid=GUID-0C422AA9-23DD-4650-AD66-68E9D7989E3F \\; correspond à une pause, indiquant ici que l'utilisateur doit répondre à la question de la commande (en l'occurrence ici il s'agit de la sélection des 2 polylignes que l'on souhaite joindre). Je tiens tout de même signaler que cela peut poser un problème syntaxique, car comme le souligne Olivier, il n'y a pas de contrôle. Par exemple l'option _Multiple peut poser une question supplémentaire si certains objets sélectionnés ne sont pas des polylignes (en effet, _PEDIT va alors demander si Oui ou Non on désire convertir les objets en polylignes, à condition évidemment que la variable PEDITACCEPT est à 0). _J; correspond à l'option _Join de la commande _PEDIT. ... Bref tu vois le principe. En conclusion, décortiquer un problème en sous-problèmes simples ; commencer par des instructions basiques et compréhensibles ; améliorer au fur et à mesure que tu maîtrises les bases. Si tu as des questions, n'hésite pas ! Comme tu peux le voir tu trouveras toujours des personnes qui accepteront de t'aider, sous réserve que la demande est claire, concise et que tu précises le type d'aide que tu souhaites (pistes de recherche, solution toute faite et "parfaite", documentation, etc...). Bisous, Luna
    1 point
×
×
  • 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é