Aller au contenu

Demande d\'éssais


Messages recommandés

Posté(e)

Bonjour,

 

Suite à mon message

j'aimerais savoir si le lisp de Philphil fonctionne chez vous!

 

Merci

 

 

 

 	; -------------------------------------------------------
				; MODIFICATION DE L EMPLACEMENT DU TEXTE DE COTE A DROITE
				; -------------------------------------------------------
(defun C:CD ()
 (setvar "cmdecho" 0)
 (setq OSM (getvar "osmode"))
 (setq DECATEXTECOTE (atof (getcfg "APPDATA/DECATEXTECOTE")))
 (setq TMP (getdist (strcat "\nENTRER LE DECALAGE DE TEXTE DE COTE <" (rtos DECATEXTECOTE 2 8) ">: ")))
 (if TMP
   (setq DECATEXTECOTE TMP)
 )
 (setvar "osmode" 0)
 (prompt "\nCLIQUER SUR LE(S) COTE(S) A MODIFIER :")
 (setq ENTX NIL)
 (while (null ENTX) (setq ENTX (ssget (list (cons -4 "")))))
 (setq COMPT 0)
 (setq COM (sslength ENTX))
 (while (< COMPT COM)
   (progn (setq SJ2 (entget (ssname ENTX COMPT)))
   (setq POINT10  (cdr (assoc 10 SJ2))
	 POINT13  (cdr (assoc 13 SJ2))
	 POINT14  (cdr (assoc 14 SJ2))
	 ANGCOTE  (cdr (assoc 50 SJ2))
	 LONGCOTE (cdr (assoc 42 SJ2))
	 CODEMPLA (cdr (assoc 70 SJ2))
   )
   (command "scu" "z" POINT10 (polar POINT10 ANGCOTE 10))
   (if (> (car (trans POINT13 0 1)) (car (trans POINT10 0 1)))
     (progn (setq DIST (+ LONGCOTE DECATEXTECOTE)))
     (progn (setq DIST DECATEXTECOTE))
   )
   (command "scu" "p")
   )
   (if	(or (= CODEMPLA 33) (= CODEMPLA 161))
     (progn (setq ANGLECOTE2 (angle POINT13 POINT14))
     (setq POINT11 (polar POINT10 ANGLECOTE2 DIST))
     (setq SJ2 (subst (cons 70 160) (assoc 70 SJ2) SJ2))
     (entmod SJ2)
     (setq SJ2 (subst (cons 11 POINT11) (assoc 11 SJ2) SJ2))
     (entmod SJ2)
     )
   )
   (if	(or (= CODEMPLA 32) (= CODEMPLA 160))
     (progn (setq POINT11 (polar POINT10 ANGCOTE DIST))
     (setq SJ2 (subst (cons 70 160) (assoc 70 SJ2) SJ2))
     (entmod SJ2)
     (setq SJ2 (subst (cons 11 POINT11) (assoc 11 SJ2) SJ2))
     (entmod SJ2)
     )
   )
   (entmod SJ2)
   (setq COMPT (1+ COMPT))
 )
 (setvar "osmode" OSM)
 (setcfg "APPDATA/DECATEXTECOTE" (rtos DECATEXTECOTE 2 8))
 (princ)
)

 

 

 	; -------------------------------------------------------
				; MODIFICATION DE L EMPLACEMENT DU TEXTE DE COTE A GAUCHE
				; -------------------------------------------------------
(defun C:CG ()
 (setvar "cmdecho" 0)
 (setq OSM (getvar "osmode"))
 (setq DECATEXTECOTE (atof (getcfg "APPDATA/DECATEXTECOTE")))
 (setq TMP (getdist (strcat "\nENTRER LE DECALAGE DE TEXTE DE COTE <" (rtos DECATEXTECOTE 2 8) ">: ")))
 (if TMP
   (setq DECATEXTECOTE TMP)
 )
 (setvar "osmode" 0)
 (prompt "\nCLIQUER SUR LE(S) COTE(S) A MODIFIER :")
 (setq ENTX NIL)
 (while (null ENTX) (setq ENTX (ssget (list (cons -4 "")))))
 (setq COMPT 0)
 (setq COM (sslength ENTX))
 (while (< COMPT COM)
   (progn (setq SJ2 (entget (ssname ENTX COMPT)))
   (setq POINT10  (cdr (assoc 10 SJ2))
	 POINT13  (cdr (assoc 13 SJ2))
	 POINT14  (cdr (assoc 14 SJ2))
	 ANGCOTE  (cdr (assoc 50 SJ2))
	 LONGCOTE (cdr (assoc 42 SJ2))
	 CODEMPLA (cdr (assoc 70 SJ2))
   )
   (command "scu" "z" POINT10 (polar POINT10 ANGCOTE 10))
   (if (> (car (trans POINT13 0 1)) (car (trans POINT10 0 1)))
     (progn (setq DIST DECATEXTECOTE))
     (progn (setq DIST (+ LONGCOTE DECATEXTECOTE)))
   )
   (command "scu" "p")
   )
   (if	(or (= CODEMPLA 33) (= CODEMPLA 161))
     (progn (setq ANGLECOTE2 (angle POINT13 POINT14))
     (setq POINT11 (polar POINT10 ANGLECOTE2 (- DIST)))
     (setq SJ2 (subst (cons 70 160) (assoc 70 SJ2) SJ2))
     (entmod SJ2)
     (setq SJ2 (subst (cons 11 POINT11) (assoc 11 SJ2) SJ2))
     (entmod SJ2)
     )
   )
   (if	(or (= CODEMPLA 32) (= CODEMPLA 160))
     (progn (setq POINT11 (polar POINT10 ANGCOTE (- DIST)))
     (setq SJ2 (subst (cons 70 160) (assoc 70 SJ2) SJ2))
     (entmod SJ2)
     (setq SJ2 (subst (cons 11 POINT11) (assoc 11 SJ2) SJ2))
     (entmod SJ2)
     )
   )
   (entmod SJ2)
   (setq COMPT (1+ COMPT))
 )
 (setvar "osmode" OSM)
 (setcfg "APPDATA/DECATEXTECOTE" (rtos DECATEXTECOTE 2 8))
 (princ)
)

"Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."

J-C Van Damme

Posté(e)

Salut,

 

L'erreur est (encore) due au problème de formatage des codes dans CADxp : le caractère "

Voir ce sujet

 

Tu peux remplacer, dans les 2 LISP, la ligne :

(while (null ENTX) (setq ENTX (ssget (list (cons -4 ""))))) 

par :

(while (null ENTX) (setq ENTX (ssget '((0 . "DIMENSION")))))

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Salut Gile et un grand merci!

 

Ton souhait sera peut être exhaussé un jour et je le souhaite

 

Donc essai du lisp ça fonctionne, mais le problème c'est qu'il me déplace la cote tout en la descendant sur l'axe des Y, alors qu'il faudrait seulement la déplacer sur l'axe des X!!

Dommage, car très pratique sinon, il y aurait il un moyen de résoudre ce petit soucis??

 

"Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."

J-C Van Damme

Posté(e)

De plus, il m'enlève tout mes accrochages objets prédéfinis!!!

"Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."

J-C Van Damme

Posté(e)

hello

 

j'ai modifie le code dans le message original

enfin presque y'a une tite manip a faire

 

sinon le decalage sur Y est du justement au fait que dans les propriétés des cotes

déplacement du texte tu dois avoir tes cotes avec

 

"conserver la ligne de cote avec le texte"

ou inversement

 

 

j'ai pas trouver la solution en LISP pour forcer une ou l'autre des ses options pour regler le probleme une fois pour toute

 

a+

 

phil

 

[Edité le 5/2/2009 par PHILPHIL]

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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é