grand_sapin Posté(e) le 29 avril 2013 Posté(e) le 29 avril 2013 Bonjour à tous, Est-il possible d'isoler un calque sans cliquer dessus, juste en écrivant son nom dans la ligne de commande ?J'ai fait des recherches sans rien trouver, mais je m'étonne qu'une requête si simple n'ai jamais été demandée.Sapin
bryce Posté(e) le 29 avril 2013 Posté(e) le 29 avril 2013 Bonjour, Tu peux le faire avec la commande -CALQUE, option INactif, et ~nomducalqueàisoler. ;) Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
lovecraft Posté(e) le 29 avril 2013 Posté(e) le 29 avril 2013 Bryce ....Désolé mais A coté... il veut isoler et non rendre inactif le calque. Personnellement, j'ai pas trouvé de solution native. Cordialement, Laurent http://www.youtube.com/user/CADMINATOR?feature=mhee
grand_sapin Posté(e) le 29 avril 2013 Auteur Posté(e) le 29 avril 2013 non, mais c'est bon car a la question "voulez vous rendre inactif le calque courant ?", je répond non, et c'est parfait !
bryce Posté(e) le 29 avril 2013 Posté(e) le 29 avril 2013 Bryce ....Désolé mais A coté... il veut isoler et non rendre inactif le calque. Désolé, mais à côté... :P Relis-bien ma réponse (et note le ~ devant le nom du calque). ;) 1 Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
lovecraft Posté(e) le 29 avril 2013 Posté(e) le 29 avril 2013 Hello, Franchement respect, je ne connaissais pas. Very good ;) Laurent http://www.youtube.com/user/CADMINATOR?feature=mhee
grand_sapin Posté(e) le 30 avril 2013 Auteur Posté(e) le 30 avril 2013 Re, Dans le même esprit, j'ai fait une macro avec laquelle je souhaite que mon calque CONT soit isolé avec mon calque HACH, HACH est courant, et lance la fonction hachure, mais ce que je n'arrive pas à faire c'est cliquer sur plusieurs contours avant de rétablir l'état de calque précédent. ^C^C_-Color;ducalque;_-Linetype;A;;;_-lweight;ducalque;LWDISPLAY;0;-calque;L;01_HACH_BBSG;e;01_HACH_BBSG;co;252;01_HACH_BBSG;tl;continuous;;;-calque;in;~01_CONT_BBSG;;;-h;;\;_layerp; Sapin
bryce Posté(e) le 30 avril 2013 Posté(e) le 30 avril 2013 Bonjour, C'est le moment de te lancer avec un Lisp simple. ;)Par exemple:(defun c:HH ( / ) (setvar "CECOLOR" "ByLayer") (setvar "CELTYPE" "ByLayer") (setvar "CELWEIGHT" -1) (setvar "LWDISPLAY" 0) (command "-CALQUE" "L" "01_CONT_BBSG" "E" "01_CONT_BBSG" "IN" "~01_CONT_BBSG" "L" "01_CONT_BBSG" "E" "01_HATCH_BBSG" "CO" 252 "01_HATCH_BBSG" "TL" "Continuous" "01_HATCH_BBSG" "") (command "-HACHURES") (while (> (getvar "CMDACTIVE") 0) (command pause) ) (command "_LAYERP") (princ) ) Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
grand_sapin Posté(e) le 30 avril 2013 Auteur Posté(e) le 30 avril 2013 Héhéhé ! Il n'y a aucun moyen de faire ça en macro ? c'est un peu la loose quand même !Autrement, c'est vrai que ça n'a pas l'air compliqué lorsque ce sont des opérations de commandes.juste comme ça, sans bouquin ça à l'air de ressembler à :defun c:name : nom du prog, ça OK(/) : pas de variables en jeu ?CECOLOR : 256 pour dire ducalque ?celtype :idemcelweight :idemcommand : je reprend mon script macro, adapté en écriture pour le lispwhile: pause ? cela sous entends que contrairement au script, un lisp permet d'attendre d'avoir fini avec une boite de dialogue et reprendre sa lecture après ?(princ) : c'est fini ?Sapin
bryce Posté(e) le 30 avril 2013 Posté(e) le 30 avril 2013 Oui, c'est ça. :)Utilisé de manière basique, le Lisp te permet de faire la même chose que des macros, mais avec plus d'interactivité.Ici par exemple, on lance la commande Hachures, puis la boucle while permet de mettre en pause tant qu'une commande est active (variable CMDACTIVE > 0), ce qui n'est pas possible avec une simple macro. Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
grand_sapin Posté(e) le 28 août 2013 Auteur Posté(e) le 28 août 2013 Re, Je sais que ça fait un petit bail depuis la dernière réponse, mais en me replongeant dans ce bout de code super amateur, il y a un truc que je pige pas : Pourquoi lorsque la commande _hatch est lancée, je ne peux que sélectionner mes polylignes-contour une par une ? comment activer la fenêtre de capture ? dans le même esprit, je n'arrive pas non plus à faire que les hachures soient séparées. Merci pour votre aide (defun c:HHBBSG150 ( / ) (setvar "CECOLOR" "ByLayer")[/size] (setvar "CELTYPE" "ByLayer") (setvar "CELWEIGHT" -1) (setvar "LWDISPLAY" 0) (command "-CALQUE" "L" "01_VOI_CONT_P_BBSG_150KG" "E" "01_VOI_HACH_P_BBSG_150KG" "IN" "~01_VOI_CONT_P_BBSG_150KG" "N" "") (command "_hatch" "_solid") (while (> (getvar "CMDACTIVE") 0) (command pause) ) (command "_LAYERP") (princ)) HHBBSG150 Sapin
-Olivier- Posté(e) le 28 août 2013 Posté(e) le 28 août 2013 Bonjour grand_sapin, Tu as un soucis dans le choix des options de la commande hachure.Lance la commande -hatch pour afficher les options dans la ligne de commande.Tu obtiendras alors la ligne (command "_hatch" "_P" "_solid" "_s") Vérifie aussi la commande -calque car elle pose un problème chez moi avec tes options. Pour obtenir des hachures séparées, il faut modifier la variable HPSEPARATE. Tu vas pouvoir en apprendre un peu plus sur lisp. :D Avant la commande hachure, ajoute les 2 lignes suivantes :(setq h_sep (getvar 'HPSEPARATE)Enregistre la valeur actuelle de la variable HPSEPARATE sous la variable h_sep à ajouter au début du programme. (/ hsep) (setvar "HPSEPARATE" 1)Met la valeur de la variable à 1 Puis après la boucle (While ...) la ligne : (setvar "HPSEPARATE" h_sep)Remet la valeur de la variable à sa position d'origine. Olivier
grand_sapin Posté(e) le 28 août 2013 Auteur Posté(e) le 28 août 2013 Merci Olivier, malheureusement, je suis un cas assez désespéré, et la routine mise à jour ne fonctionne pas. Enfin, elle n'est pas prise en compte, : erreur: Fonction annulée c'est bien comme ça qu'il fallait l'écrire ? je suis sûr qu'il y a une parenthèse qui foire (defun c:HHBBSG150 ( / ) (setvar "CECOLOR" "ByLayer") (setvar "CELTYPE" "ByLayer") (setvar "CELWEIGHT" -1) (setvar "LWDISPLAY" 0) (command "-CALQUE" "L" "01_VOI_CONT_P_BBSG_150KG" "E" "01_VOI_HACH_P_BBSG_150KG" "IN" "~01_VOI_CONT_P_BBSG_150KG" "N" "") (setq h_sep (getvar 'HPSEPARATE) (setvar "HPSEPARATE" 1) (command "_hatch" "_P" "_solid" "_s") (while (> (getvar "CMDACTIVE") 0) (command pause) ) (setvar "HPSEPARATE" h_sep) (command "_LAYERP") (princ))) HHBBSG150
-Olivier- Posté(e) le 28 août 2013 Posté(e) le 28 août 2013 Comme déjà dit, j'ai une erreur sur la commande -calque qui vient du "N" en fin de ligne.Cela lance une demande de nouveau calque qui plante le programme. La nouvelle erreur viens de moi, comme tu le fait remarquer, il manque une parenthèse à la fin de la ligne : (setq h_sep (getvar 'HPSEPARATE)) N'oublis pas d'ajouter la nouvelle variable au début du programme. Olivier
grand_sapin Posté(e) le 28 août 2013 Auteur Posté(e) le 28 août 2013 Super ! tout fonctionne. Pour info, le "N" sert à ça :Entrez une option [?/Etablir/CHoisir/Nouv/Renommer/ACtif/INactif/COuleur/TLigne/EPaisseurl/TRANsparence/MAtériau/Tracé/Geler/Libérer/Verrouiller/Déverrouiller/étAt/deScription/RApprocher]: IN Entrer la liste des noms de calque de désactiver ou <sélection d'objets>: ~01_VOI_CONT_P_BBSG_150KG Voulez-vous réellement désactiver "01_VOI_HACH_P_BBSG_150KG" (le calque COURANT)? <N> N et voici donc le code fini (si l'on peut dire !)(defun c:HHBBSG150 ( / h_sep ) (setvar "CECOLOR" "ByLayer") (setvar "CELTYPE" "ByLayer") (setvar "CELWEIGHT" -1) (setvar "LWDISPLAY" 0) (command "-CALQUE" "L" "01_VOI_CONT_P_BBSG_150KG" "E" "01_VOI_HACH_P_BBSG_150KG" "IN" "~01_VOI_CONT_P_BBSG_150KG" "N" "") (setq h_sep (getvar 'HPSEPARATE)) (setvar "HPSEPARATE" 1) (command "_hatch" "_P" "_solid" "_s") (while (> (getvar "CMDACTIVE") 0) (command pause) ) (setvar "HPSEPARATE" h_sep) (command "_LAYERP") (princ))Merci encore Sapin
grand_sapin Posté(e) le 4 septembre 2013 Auteur Posté(e) le 4 septembre 2013 Bonjour, désolé de remettre une Nième fois ce sujet en avant, mais je ne pige pas pourquoi quand je lance les hachures via le code, je n'ai pas de fenêtre de capture de mes polylignes, alors que quand je passe par la ligne de commande tout va bien. Y a-t-il une variable dans le coup à prendre en compte ? D'avance merciSapin
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant