Netparty Posté(e) le 12 décembre 2021 Posté(e) le 12 décembre 2021 Bonjour à tous Je cherche à personnaliser ma palette. Exemple, j'ai placé dans ma palette l'outil ligne mais est-il possible que le point d'insertion de ma ligne soit à 0,0 Dans la chaine de commande j'ai mis : ^C^C_line;0 0 mais cela ne fonctionne pas. Si vous pourriez aussi me dire ou je peux trouver les paramètres disponibles pour personnaliser les commandes Merci d'avance pour votre aide Bonne journée Citer
Eric Posté(e) le 12 décembre 2021 Posté(e) le 12 décembre 2021 Bonjour, Dans la macro il manque une virgule entre les deux 0 et un point-virgule après. ^C^C_line;0,0; Je vous invite aussi à consulter ce document : https://knowledge.autodesk.com/fr/support/autocad-lt/learn-explore/caas/CloudHelp/cloudhelp/2020/FRA/AutoCAD-LT/files/GUID-D991386C-FBAA-4094-9FCB-AADD98ACD3EF-htm.html 1 Citer Eric est formateur, revendeur sur AutoCAD LT, DraftSight, ZWCAD, SketchUp et PDF2CAD
Netparty Posté(e) le 12 décembre 2021 Auteur Posté(e) le 12 décembre 2021 Merci Eric Bonne journée Citer
Netparty Posté(e) le 12 décembre 2021 Auteur Posté(e) le 12 décembre 2021 Il y a 1 heure, Eric a dit : Bonjour, Dans la macro il manque une virgule entre les deux 0 et un point-virgule après. ^C^C_line;0,0; Je vous invite aussi à consulter ce document : https://knowledge.autodesk.com/fr/support/autocad-lt/learn-explore/caas/CloudHelp/cloudhelp/2020/FRA/AutoCAD-LT/files/GUID-D991386C-FBAA-4094-9FCB-AADD98ACD3EF-htm.html J'ai encore une question Aprés que la commande ^C^C_line;0,0; est terminée peut-on lancer une deuxième commande Merci Citer
Eric Posté(e) le 12 décembre 2021 Posté(e) le 12 décembre 2021 Oui, c'est possible. Dans le cas de la commande ligne il faut ajouter un \ pour faire une pause et permettre à l'utilisateur de sélectionner le deuxième point puis ensuite on peut enchaîner sur une autre commande. ^C^C_line;0,0;\;_move; 1 Citer Eric est formateur, revendeur sur AutoCAD LT, DraftSight, ZWCAD, SketchUp et PDF2CAD
Netparty Posté(e) le 13 décembre 2021 Auteur Posté(e) le 13 décembre 2021 Il y a 23 heures, Eric a dit : Oui, c'est possible. Dans le cas de la commande ligne il faut ajouter un \ pour faire une pause et permettre à l'utilisateur de sélectionner le deuxième point puis ensuite on peut enchaîner sur une autre commande. ^C^C_line;0,0;\;_move; Merci Citer
Netparty Posté(e) le 18 décembre 2021 Auteur Posté(e) le 18 décembre 2021 Le 12/12/2021 à 16:03, Eric a dit : Oui, c'est possible. Dans le cas de la commande ligne il faut ajouter un \ pour faire une pause et permettre à l'utilisateur de sélectionner le deuxième point puis ensuite on peut enchaîner sur une autre commande. ^C^C_line;0,0;\;_move; Bonjour Eric J'ai encore une question, j'ai essayé de personnaliser une commande qui dessine une polyligne avec une épaisseur de 50 ^C^CPLINEWID;50;_pline jusque la cela fonctionne mais est-il possible quand j'ai terminé ma polyligne de revenir sur le calque 0. Merci Citer
Luna Posté(e) le 18 décembre 2021 Posté(e) le 18 décembre 2021 Coucou, Essaye avec la variable système CLAYER (comme tu l'as fait pour PLINEWID) soit ^C^CPLINEWID;50;_PLINE;\;CLAYER;"0"; ? Bisous, Luna Citer
Netparty Posté(e) le 18 décembre 2021 Auteur Posté(e) le 18 décembre 2021 il y a une heure, Luna a dit : Coucou, Essaye avec la variable système CLAYER (comme tu l'as fait pour PLINEWID) soit ^C^CPLINEWID;50;_PLINE;\;CLAYER;"0"; ? Bisous, Luna Bonjour Luna J'ai testé mais cela ne fonctionne pas Merci quand même Citer
Luna Posté(e) le 18 décembre 2021 Posté(e) le 18 décembre 2021 une autre solution serait par de la prog pure est simple ^^" (defun c:NOMDELACOMMANDE () (setvar "PLINEWID" 50) (command "_PLINE" pause) (setvar "CLAYER" "0") (princ) ) Tu définis le nom de la commande que tu désires (il faut remplacer NOMDELACOMMANDE par le nom de la commande que tu souhaites, en conservant le 😄) et tu enregistres le fichier en .lsp Après chat, tu fais APPLOAD dans AutoCAD et tu spécifies ton fichier .lsp dans les fichiers à charger au démarrage (le bouton "Contenu" sous la valise). Tu peux même créer un bouton ou un alias de commande pour cela et chat fera ce que tu as demandé. Sinon, tu attends qu'une personne qui maîtrise davantage le script que moi passe par là et trouve une solution si solution il y a... 🙂 Bisous, Luna Citer
Netparty Posté(e) le 19 décembre 2021 Auteur Posté(e) le 19 décembre 2021 Il y a 11 heures, Luna a dit : une autre solution serait par de la prog pure est simple ^^" (defun c:NOMDELACOMMANDE () (setvar "PLINEWID" 50) (command "_PLINE" pause) (setvar "CLAYER" "0") (princ) ) Tu définis le nom de la commande que tu désires (il faut remplacer NOMDELACOMMANDE par le nom de la commande que tu souhaites, en conservant le 😄) et tu enregistres le fichier en .lsp Après chat, tu fais APPLOAD dans AutoCAD et tu spécifies ton fichier .lsp dans les fichiers à charger au démarrage (le bouton "Contenu" sous la valise). Tu peux même créer un bouton ou un alias de commande pour cela et chat fera ce que tu as demandé. Sinon, tu attends qu'une personne qui maîtrise davantage le script que moi passe par là et trouve une solution si solution il y a... 🙂 Bisous, Luna Bonjour Luna Super c'est impeccable. Est-il possible aussi de définir l’échelle du type de ligne? Un tout grand merci Bonne journée Citer
Luna Posté(e) le 19 décembre 2021 Posté(e) le 19 décembre 2021 Bien sûr, aide-toi du fichier réalisé par rebcao faisant la liste des variables systèmes AutoCAD : Liste des variables systèmes. Pour l'échelle il me semble que c'est LTSCALE. Il te suffit d'ajouter une ligne (setvar) là où tu le souhaites (avant le lancement de la (command) ou après). Bisous, Luna Citer
Netparty Posté(e) le 19 décembre 2021 Auteur Posté(e) le 19 décembre 2021 Il y a 4 heures, Luna a dit : Bien sûr, aide-toi du fichier réalisé par rebcao faisant la liste des variables systèmes AutoCAD : Liste des variables systèmes. Pour l'échelle il me semble que c'est LTSCALE. Il te suffit d'ajouter une ligne (setvar) là où tu le souhaites (avant le lancement de la (command) ou après). Bisous, Luna Re bonjour J'y suis presque mais quand je termine la commande Pline le reste du code (setvar "CPLINEWID" 0) n'est pas pris en compte. Aurais-tu une idée. merci (defun c:ZONE-TD-PLAN () (setvar "PLINEWID" 50) ; Largeur global de la polyligne (setvar "CELTSCALE" 25) ; Echelle du type de ligne (command "_layer" "_new" "COL_3_Tableaux-zonage" "") ; Création du calque (setvar "CLAYER" "COL_3_Tableaux-zonage") ; Se place sur le calque pour dessiner la polyligne (command "_PLINE" pause) ; Dessiner la polyligne (setvar "CLAYER" "0") ; Se place sur le calque 0 (setvar "CELTSCALE" 1) ; Redéfinit l'échelle à 1 (setvar "CPLINEWID" 0) ; Redéfinit la largeur global à 0 <------ Ne fonctionne pas (princ) Citer
Olivier Eckmann Posté(e) le 20 décembre 2021 Posté(e) le 20 décembre 2021 Bonjour, Tu as écrit CPLINEWID au lieu de PLINEWID Olivier Citer
Netparty Posté(e) le 20 décembre 2021 Auteur Posté(e) le 20 décembre 2021 Il y a 1 heure, Olivier Eckmann a dit : Bonjour, Tu as écrit CPLINEWID au lieu de PLINEWID Olivier Bonjour Olivier Malgré cela je n'arrive pas à redéfinir la largeur à 0 après la commande Pline Merci Citer
Luna Posté(e) le 20 décembre 2021 Posté(e) le 20 décembre 2021 Coucou, Déjà si je me base uniquement sur ce que tu as publié, il manque la dernière parenthèse pour le (defun) mais je suppose tout de même que c'est uniquement une erreur de sélection lors du copier/coller. Autrement je pense avoir compris le soucis. De manière générale on utilise une boucle (while) avec les (command "_PLINE") afin de s'adapter au nombre variable de sommets. Ici le programme créé une polyligne avec un sommet unique, puis essaye de redéfinir les variables "CLAYER", "CELTSCALE" et "PLINEWID" alors qu'AutoCAD est toujours en train de créer une polyligne. Donc pour CLAYER et CELTSCALE pas de problème il arrive à gérer, par contre pour PLINEWID il est obligé de conserver la valeur à 50 pour continuer à tracer la polyligne correctement 😉 Essaye plutôt comme ceci : (defun c:ZONE-TD-PLAN (/ pt0 pt) (setvar "PLINEWID" 50) ; Largeur global de la polyligne (setvar "CELTSCALE" 25) ; Echelle du type de ligne (command "_layer" "_new" "COL_3_Tableaux-zonage" "") ; Création du calque (setvar "CLAYER" "COL_3_Tableaux-zonage") ; Se place sur le calque pour dessiner la polyligne (command "_PLINE" (setq pt0 (getpoint "\nSpécifiez le point de départ : "))) ; Dessiner la polyligne (while (setq pt (getpoint pt0 "\nPoint suivant : ")) (command pt) (setq pt0 pt) ) (command) (setvar "CLAYER" "0") ; Se place sur le calque 0 (setvar "CELTSCALE" 1) ; Redéfinit l'échelle à 1 (setvar "PLINEWID" 0) ; Redéfinit la largeur global à 0 (princ) ) Une autre solution serait celle-ci pour conserver toutes les options prévue par une commande grâce aux options pause (autrement dit, cela simule un lancement de commande parfaitement classique) : (command "_PLINE" pause) (while (/= (getvar "CMDACTIVE") 0) (command pause) ) en remplacement de : (command "_PLINE" (setq pt0 (getpoint "\nSpécifiez le point de départ : "))) (while (setq pt (getpoint pt0 "\nPoint suivant : ")) (command pt) (setq pt0 pt) ) (command) Bisous, Luna 1 Citer
Netparty Posté(e) le 20 décembre 2021 Auteur Posté(e) le 20 décembre 2021 Il y a 2 heures, Luna a dit : Coucou, Déjà si je me base uniquement sur ce que tu as publié, il manque la dernière parenthèse pour le (defun) mais je suppose tout de même que c'est uniquement une erreur de sélection lors du copier/coller. Autrement je pense avoir compris le soucis. De manière générale on utilise une boucle (while) avec les (command "_PLINE") afin de s'adapter au nombre variable de sommets. Ici le programme créé une polyligne avec un sommet unique, puis essaye de redéfinir les variables "CLAYER", "CELTSCALE" et "PLINEWID" alors qu'AutoCAD est toujours en train de créer une polyligne. Donc pour CLAYER et CELTSCALE pas de problème il arrive à gérer, par contre pour PLINEWID il est obligé de conserver la valeur à 50 pour continuer à tracer la polyligne correctement 😉 Essaye plutôt comme ceci : (defun c:ZONE-TD-PLAN (/ pt0 pt) (setvar "PLINEWID" 50) ; Largeur global de la polyligne (setvar "CELTSCALE" 25) ; Echelle du type de ligne (command "_layer" "_new" "COL_3_Tableaux-zonage" "") ; Création du calque (setvar "CLAYER" "COL_3_Tableaux-zonage") ; Se place sur le calque pour dessiner la polyligne (command "_PLINE" (setq pt0 (getpoint "\nSpécifiez le point de départ : "))) ; Dessiner la polyligne (while (setq pt (getpoint pt0 "\nPoint suivant : ")) (command pt) (setq pt0 pt) ) (command) (setvar "CLAYER" "0") ; Se place sur le calque 0 (setvar "CELTSCALE" 1) ; Redéfinit l'échelle à 1 (setvar "PLINEWID" 0) ; Redéfinit la largeur global à 0 (princ) ) Une autre solution serait celle-ci pour conserver toutes les options prévue par une commande grâce aux options pause (autrement dit, cela simule un lancement de commande parfaitement classique) : (command "_PLINE" pause) (while (/= (getvar "CMDACTIVE") 0) (command pause) ) en remplacement de : (command "_PLINE" (setq pt0 (getpoint "\nSpécifiez le point de départ : "))) (while (setq pt (getpoint pt0 "\nPoint suivant : ")) (command pt) (setq pt0 pt) ) (command) Bisous, Luna Bonjour Luna C'est top Un tout grand merci Bonne journée Citer
Messages recommandés