Aller au contenu

_stretch \"Alignee\"


Messages recommandés

Invité ingoenius
Posté(e)

Bonjour, je voudrais faire fonctionner le lisp ci dessus, mais pas avec la commande "_Move" qui est utilisee maintenat, mais avec la commande " _Stretch" en fr _etirer

 

Le lisp devrait permettre d'etirer des element en s'alignant on orthogonale par rapport a deux point selectionnes dans un dessin,

 

 

Exemple on a un rectangle incliné par rapport au scu generale et on veut l'allonger donc il faut aligner le scu par rapport a ces cotes et ensuite en mode ortho utiliser la comande etirer ici le but du lisp automatiser cette manip

 

Par contre j'ai un probleme soit de gestion da la fenetre de selection soit autra car j'arrive pas a corriger correctement

 

ici le lisp avec la commande _move

 

 
(defun C:GLo ()
(SETQ OSN (GETVAR "OSMODE"));salva gli snap
(SETQ OMO (GETVAR "ORTHOMODE"));salva gli snap


(setq sel (ssget ))
 
(SETVAR "OSMODE" 3) 
 
(setq P1 (getpoint "\nPremir point"))
(setq P2 (getpoint "\nDeuxieme point"))
(SETVAR "OSMODE" 0) 
(setq ANG (angle P1 P2))
(command "_ucs" P1  "") 
(setq ANG_G (angtos ANG 0 3))
(command "_ucs" "z"  ANG_G "") 
(SETVAR "ORTHOMODE" 1) 
;(command "_stretch" pause pause pause   P1 P2  "")  
(command "_move" sel  "" pause pause "" "")  

(command "_UCS" "p"  "")
(command "_UCS" "p"  "")
 
(SETVAR "OSMODE" OSN) ;rimette snap
(SETVAR "ORTHOMODE" OMO) ;toglie gli snap  
 
)  

Posté(e)

Bonjour ingoenius

 

Regarde ci ceci peut t'inspirer...

 

((lambda ( / e p1 p2 v1 v2 js_all)
 (setq e (entsel))
 (cond
   ((and (setq p1 (osnap (cadr e) "_mid") p2 (osnap (cadr e) "_end")))
     (setq v1 (getvar "SNAPANG") v2 (getvar "ORTHOMODE"))
     (setvar "SNAPANG" (angle p1 p2)) (setvar "ORTHOMODE" 1)
     (setq js_all (ssdel (car e) (ssget "_C"  (polar p1 (+ pi (angle p1 p2)) (distance p1 p2)) p2)))
     (command "_STRETCH" "_crossing" (polar p1 (+ pi (angle p1 p2)) (distance p1 p2)) p2 "_remove" js_all "" p1 pause)
     (setvar "SNAPANG" v1) (setvar "ORTHOMODE" v2)
   )
 )
))

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Invité ingoenius
Posté(e)

Merci de la suggestion je vais cherche de comprendre le code ;-)

 

J'ai esseyé la partie directement sur un dessin, ça ma modifie le scu general, et j'arrive plus a le remettre comme le General d'avant ;-(

 

 

Ca j'ai trouvé SNAPANG

 

 

[Edité le 8/10/2010 par ingoenius]

Invité ingoenius
Posté(e)

ici mes modifs , mais la routine s'interromp apres la commande _stretch et elle me remet pas le scu comme au debut ou est l'erreur??

 

(defun C:GLo2 ()
(SETQ OSN (GETVAR "OSMODE"))
(SETQ OMO (GETVAR "ORTHOMODE"))

(setq sel (entsel ));select obj to SCU
(command "_UCS" "OB"  sel)

(SETVAR "ORTHOMODE" 1)   
(command "_stretch" "_crossing"  "" pause "")
 
(command "_UCS" "p"  "")
(SETVAR "OSMODE" OSN)
(SETVAR "ORTHOMODE" OMO)  

)

Posté(e)

Salut

ou est l'erreur??

 

(defun C:GLo ()
(SETQ OSN (GETVAR "OSMODE"))
(SETQ OMO (GETVAR "ORTHOMODE"))

(setq sel (entsel ));select obj to SCU
(command "_UCS" "OB"  sel)

(SETVAR "ORTHOMODE" 1)   
(command "_stretch" "_crossing"  pause pause "" pause pause)   ;;;  <<<<<<
 
(command "_UCS" "p")       ;;;;;;  <<<
(SETVAR "OSMODE" OSN)
(SETVAR "ORTHOMODE" OMO)
 
(princ)  

) 

 

 

A noter : que les modes d'accrochage "extension" ou "parallèle" peuvent te dispenser de ce bricolage.

 

[Edité le 8/10/2010 par usegomme]

Invité ingoenius
Posté(e)

@usergomme

Merci ;-) je comprenais plus rien avec les pause et les ""

 

 

 

Posté(e)

Avec une boucle sur la cde étirer ,il y a pas mal d'exemple de ce genre sur le forum, tu pourras

modifier la sélection d'objets si nécessaire.

 


(defun C:GL (/ osn omo sel)
(SETQ OSN (GETVAR "OSMODE"))
(SETQ OMO (GETVAR "ORTHOMODE"))

(setq sel (entsel ));select obj to SCU
(command "_UCS" "OB"  sel)

(SETVAR "ORTHOMODE" 1)   
(command "_stretch" "_crossing"  ) 
(while (not (zerop (getvar "cmdactive")))(command pause))
 
(command "_UCS" "p")  
(SETVAR "OSMODE" OSN)
(SETVAR "ORTHOMODE" OMO)
 
(princ)  
)  

 

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é