Aller au contenu

[Résolu] Créer lisp \"zoom etendu\"


Messages recommandés

Posté(e)

Bonjour,

 

Je n'y connais rien du tout en lisp, la seul chose que j'arrive a faire c'est créer un bouton pour en lancer une...

 

Je voudrais créer une lisp qui fais un zoom étendu de chaque présentation du dessin (pour contourner ce foutu bug sur les ole lors de l'impression)

 

J'ai deja un début, dans un bouton j'aurai mi ^^ZOOM;ET;^c^c , mais ca ne marche que pour la présentation en cours de visualisation, c'est pourquoi il me faut du lisp.

 

Merci d'avance

A+

KC

 

[Edité le 30/11/2006 par Circus]

Autocad Architecture

Inventor

3d Viz

Paint

Posté(e)

Salut

 

(defun c:zet(/ def doc lay)
 (setq doc (vla-get-activedocument (vlax-get-acad-object)) def (vla-get-activelayout doc))
 (vlax-for lay (vla-get-layouts doc)
   (if (not (eq (vla-get-name lay) "Model"))
     (progn
       (vla-put-activelayout doc lay)
       (vla-zoomextents (vlax-get-acad-object))
     )
   )
 )
 (vla-put-activelayout doc def)
 (princ)
)

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

Merci beaucoup, je vais tester cela.

 

A première vue, je comprend rien du tout !

Je vais me pencher sur le sujet histoire de me dévelloper le cerveau.

 

encore merci Patrick !

A+

KC

 

Autocad Architecture

Inventor

3d Viz

Paint

Posté(e)

Salut,

Patrick_35 t'as fait une proposition en "Visual-Lisp", ce qui est une logique un peu différente du "lisp" : les fonction sont réalisés d'après les fonctions VBA (les noms sont sensiblement pareil, et la logique y ressemble)

Si tu veux te mettre au lisp, je te conseil d'abord l'auto-lisp.

Tu as dans ce forum beaucoup d'exemple servant à débuter (et un cours pour débutant dans la section téléchargement).

 

 

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)

J'aimerai bien me mettre a la programmmation, car sur autocad j'en aurai fortement besoin.

Apres, quel language, je pense que le VBA vu ce que je voudrais faire serait l'ideal...bref, j'ai beaucoup de chose a voir et apprendre, je sais pas par ou commencer !

Autocad Architecture

Inventor

3d Viz

Paint

Posté(e)

je pense que le VBA vu ce que je voudrais faire serait l'ideal

Tu as beaucoup de post dans ce site qui parle du choix entre vba et lisp... fait une recherche et jettes-y un coup d'oueil !

 

Perso, je trouve le lisp beaucoup plus souple à utiliser...

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)

Ok, et merci

 

En tout cas ca fonctionne nikel, seul hic, faut une sacrée machine <acronym class=dict title=, mais c'est SUPER !!! plus de problème d'impression des objets OLE !!

Autocad Architecture

Inventor

3d Viz

Paint

Posté(e)

Salut

C'est le problème de changer d'onglet. Il faut regénérer à chaque fois et je n'ai pas trouvé le moyen de le bloquer

 

Pour Bred

Tu peux refaire le lisp en pur autolisp

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

Pour Bred

Tu peux refaire le lisp en pur autolisp

 

Une manière

(avec commentaires pour comprendre)

 

 (defun c:zpr (/ list_Presentation x)  
 (setq list_Presentation (layoutlist) ; lister noms présentations dans variable list_Presentation
x 0) ; variable x = 0
 (repeat (length list_Presentation) ; répéter nombre d'élément dans list_Presentation
   (command "presentation" "E" (nth x list_Presentation)) ; rend courant la "x'ième" présentation dans list_Presentation  
   (command "zoom" "et") ; zoom étendu
   (setq x (+ 1 x))  ; incrémente vriable x de +1
   )
 (princ)
 )

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)
Juste une remarque s'il tu le permet

 

... ça va... je permet ... ;)

 

Tu n'utilises pas le langage international pour les command

 

C'est (un peu) fait exprès pour faire comprendre... mais il est vrais que je ne le fait pas automatiquement (et encore moins pour les options !...) ... je vais me soigner....

 

Pour Circus : (getcname "nomcommande") retourne le nom local de la commande (français - Anglais ou l'inverse)

... mais pas les options ... :(

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

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é