youpla Posté(e) le 18 novembre 2019 Posté(e) le 18 novembre 2019 Bonjour à tous Je recherche un LISP qui permet de décaler un objet en attribuant à l'objet décalé, le calque 0, la couleur jaune, et le type de ligne continuous. Merci:)
lecrabe Posté(e) le 18 novembre 2019 Posté(e) le 18 novembre 2019 Hello SVP il ne faut jamais RIEN dessiner ou inserer sur le calque ZERO !Ou alors juste temporairement ... Bye, lecrabe "triste" Autodesk Expert Elite Team
youpla Posté(e) le 18 novembre 2019 Auteur Posté(e) le 18 novembre 2019 Hello SVP il ne faut jamais RIEN dessiner ou inserer sur le calque ZERO !Ou alors juste temporairement ... Bye, lecrabe "triste" Salut oui calme toi !!! c'est temporaire sur un fichier temporaire meme ca va aller on se détent :)
PHILPHIL Posté(e) le 18 novembre 2019 Posté(e) le 18 novembre 2019 hello + 1 ( fois 100 000 000 ) avec Lecrabe d'ou est ce que deja ca vient cette idée de vouloir dessiner sur un calque qui s'appelle "zero" = 0 = rien = que dalle y'en a meme qui dessine sur "defpoint" meme les entités d'un bloc sur "zero" ca signifie que l'on ne sait pas ce que l'on dessine. quand vous récuperer les fichers des autres le nom du calque vous renseigne de se a quoi ce trait correspond.surtout quand certains se chevauche. quand on bossait sur calque, le type de trait, son épaisseur, signifiait quelque chose. et surtout ramener un fichier en xref, le calque zero du fils se superpose avec le calque zero du perealors quand vous avez 25 xref, geler le calque zero, se répercute sur 25 fichiers, vrai ou faux ? petit coup de chaud du matin detendu B) haaa ca va mieux bonne journée Phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
youpla Posté(e) le 18 novembre 2019 Auteur Posté(e) le 18 novembre 2019 Bon les copains, c'est pour faire une manip particulière, sur un fichier temporaire, bref...
PHILPHIL Posté(e) le 18 novembre 2019 Posté(e) le 18 novembre 2019 hello Youpla petit lisp le premier copiele deuxieme décale sur le calque "0" et force en "jaune" tu rentres la liste des décalages et tappe "0" pour en sortir ;;;;------------------ ;;;; copier des entites suivant une liste de valeur qui s'additionne ;;;;------------------ (defun c:licpazerojaune () (prompt "COPIE DES ENTITES SUIVANT UNE LISTE DONNEES QUI S'ADDITIONNENT :") (setvar "cmdecho" 0) (setq osm (getvar "osmode")) (listedecalage) (prompt "DONNER DEUX POINT POUR LA DIRECTION DES COPIES :") (initget 1) (setq p1 (getpoint "\nPOINT DE LA BASE DE LA DIRECTION :")) (initget 1) (setq p2 (getpoint p1 "\nPOINT DE DIRECTION :")) (setq direct (angle p1 p2)) (prompt "\nCLIQUER SUR LES OBJETS A COPIER :") (setq entites nil) (while (null entites) (setq entites (ssget))) (setvar "osmode" 0) (setq compt 0) (setq com (sslength entites)) (while (< compt com) (progn (setq obj (ssname entites compt)) (setq decalageadd 0) (foreach elem listedeca (setq decalageadd (+ decalageadd elem)) (command-s "COPIER" obj "" p1 (polar p1 direct decalageadd)) (vla-put-layer (vlax-ename->vla-object (entlast)) "0") (vla-put-color (vlax-ename->vla-object (entlast)) 2) ) ) (setq compt (1+ compt)) ) (setvar "osmode" osm) (princ) ) ;;;;------------------ ;;;; decaler des entites suivant une liste valeur de decalage qui s'additionne et un point de direction en changeant la calque ;;;;------------------ (defun c:likpazerojaune () (prompt "DECALE DES ENTITES SUIVANT UNE LISTE DONNEES QUI S'ADDITIONNENT ET CHANGEANT LA CALQUE:") (setvar "cmdecho" 0) (setq osm (getvar "osmode")) (listedecalage) (prompt "\nCLIQUER SUR LES OBJETS A DECALER :") (setq entites nil) (while (null entites) (setq entites (ssget))) (setvar "osmode" 0) (setq poi1 nil) (while (null poi1) (setq poi1 (getpoint "\nPOINT DE DECALAGE"))) (setq compt 0) (setq com (sslength entites)) (while (< compt com) (progn (setq obj (ssname entites compt)) (setq decalageadd 0) (foreach elem listedeca (setq decalageadd (+ decalageadd elem)) (command "DECALER" decalageadd obj poi1 "") (vla-put-layer (vlax-ename->vla-object (entlast)) "0") (vla-put-color (vlax-ename->vla-object (entlast)) 2) ) ) (setq compt (1+ compt)) ) (setvar "osmode" osm) (princ) ) (defun listedecalage () (setq sortie 1) (setq listedeca nil) (setq element nil) (setq compt1 1) (setq decalage1 (atof (getcfg "APPDATA/DECALAGE1"))) (while (/= sortie 0) (setq element (getreal (strcat "\nENTRER LA VALEUR DE DECALAGE [ 0 pour sortir ]" (rtos compt1 2 0) " <" (rtos decalage1 2 8) ">: ") ) ) (if (= element 0) (setq sortie 0) (progn (if (/= element nil) (setq decalage1 element) ) (setq listedeca (cons decalage1 listedeca)) ) ) (setq compt1 (1+ compt1)) ) (setcfg "APPDATA/DECALAGE1" (rtos decalage1 2 8)) (setq listedeca (reverse listedeca)) ) phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
youpla Posté(e) le 18 novembre 2019 Auteur Posté(e) le 18 novembre 2019 Merci, je vais regarder ca Bonne journée :)et à la fin les objets resteront pas sur le calque 0 et auront la couleur ducalque ! je le jure :)
youpla Posté(e) le 18 novembre 2019 Auteur Posté(e) le 18 novembre 2019 Phil tu m'a envoyé l'artillerie lourde ! <img src='http://cadxp.com/public/style_emoticons/<#EMO_DIR#>/laugh.gif' class='bbc_emoticon' alt=':(rires forts):' /> je voyais plutôt une commande bien plus simple avec exactement le fonctionnement de la commande "décaler" d'AutoCAD avec juste en plus le changement de calque, de couleur, et de type de ligne...(0, jaune, continuous) bah oui je suis chiant , je sais...j'essai de trifouiller le lisp mais j'ai jamais été doué en programmation...
PHILPHIL Posté(e) le 18 novembre 2019 Posté(e) le 18 novembre 2019 hello Youpla on ne sait pas de combien tu veux décalé, et combien de fois aussi j'avoue dans le lisp je n'ai pas forcé la ligne en continuous, il te suffit de mettre le calque "0" en continuous, les entités dedans qui doivent etre en "ducalque" seront en continuous de fait a+Phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
didier Posté(e) le 19 novembre 2019 Posté(e) le 19 novembre 2019 Coucou Je ne vais pas rentrer dans la polémique du calque 0 et du forçage des entitésD'ailleurs on ne sait pas, c'est récurrent les explications partielles, si ce JAUNE est la couleur du calque 0 (zéro) ou si c'est un forçage, idem pour le type de ligneDu coup YOUPLA je te propose de l’ultra simple de chez basiqueTu décales de la valeur que tu veux ton entité avec la commande classique d'autoCAD Puis tu lances cette routine juste aprèsLe nom de la commande est ZJC comme ZéroJauneContinuousEn souhaitant rendre service... (defun c:zjc () (command "_chprop" (entlast) "" "CA" "0" "CO" "jaune" "T" "continuous" "") ) Éternel débutant… Mon site perso : Programmer dans AutoCAD
youpla Posté(e) le 19 novembre 2019 Auteur Posté(e) le 19 novembre 2019 Salut, Oui c'est du forcage (tout ce qu'il faut pas faire) j'en vois les cheveux qui se dressent :(rires forts): Mais comme dit c'est pour faire une manip bien particulière sur un fichier temporaire. Merci pour votre aide je vais me débrouiller avec tout ca :)
didier Posté(e) le 19 novembre 2019 Posté(e) le 19 novembre 2019 Coucou Mais tu ne dis pas si ce que je t'ai donné est recevable ?Tu ne dois pas tout lire, si ? Éternel débutant… Mon site perso : Programmer dans AutoCAD
youpla Posté(e) le 20 novembre 2019 Auteur Posté(e) le 20 novembre 2019 Bonjour didier, Comme dit plus haut, ce que j'aurais aimer, c'est la commande "décaler" d'origine Autocad, avec en plus le fait que l'objet décalé soit dans le calque 0 forcé en jaune et forcé en continuous.en une seule commande car des décalages j'en ai des dizaines et des dizaines à faire.
didier Posté(e) le 20 novembre 2019 Posté(e) le 20 novembre 2019 Coucou On reste dans le simplissimePour moi n'est pas de la programmation mais à la limite du fichier batch mais si ça te va ça m'ira aussiAvec cette commande DZJCDécalerZéroJauneContinuous on va te demander les renseignements classiques de la commande décalerUne fois qu'elle est terminée l'entité décalée va se trouver dans le calque 0 (zéro) de couleur forcée Jaune et de type de ligne forcé Continuous Tiens-moi au courant.(defun c:dzjc ()(command "_offset" pause pause pause pause)(command "_chprop" (entlast) "" "CA" "0" "CO" "jaune" "T" "continuous" "")) Éternel débutant… Mon site perso : Programmer dans AutoCAD
youpla Posté(e) le 20 novembre 2019 Auteur Posté(e) le 20 novembre 2019 Super c'est exactement caca va me faire gagner un temps fou Merci
youpla Posté(e) le 20 novembre 2019 Auteur Posté(e) le 20 novembre 2019 A quoi correspondent les 4 "pause" ?
DenisHen Posté(e) le 20 novembre 2019 Posté(e) le 20 novembre 2019 Salut.Les quatre "pause" signifient que le LISP attend quatre saisis (chaine, clique...) dans AutoCAD. 1 Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
didier Posté(e) le 20 novembre 2019 Posté(e) le 20 novembre 2019 Coucou Je confirme la réponse de DenisHenContent d'avoir rendu service. Amicalement 1 Éternel débutant… Mon site perso : Programmer dans AutoCAD
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