fabcad Posté(e) le 24 janvier 2012 Posté(e) le 24 janvier 2012 Propriétés d'une viewport et insertion de bloc. Pour avancer dans la requete de M. Pelloux : http://cadxp.com/ind...netresviewport/car ces routines m'intéressent aussi. Je souhaiterais savoir comment récupérer le point centre, la hauteur et la largeur d'une viewport rectangulaire ou polygonale et d'affecter ces paramètres lors de l'insertion d'un bloc viewport composé d'un rectangle de 1x1 unités sur une layout d'un dwg pour ensuite le modifier d'espace (layout vers espace objet-Model) en visualisp ou en autolisp ou en mix. Merci d'avance, Fabcad
Patrick_35 Posté(e) le 24 janvier 2012 Posté(e) le 24 janvier 2012 Salut Dans les codes dxfLe point centre --> 10La hauteur --> 41La largeur --> 40 En vlispLe point centre --> vla-get-centerLa hauteur --> vla-get-heightLa largeur --> vla-get-width @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
fabcad Posté(e) le 26 janvier 2012 Auteur Posté(e) le 26 janvier 2012 Bonjour à tous, Voici mon 1er jet de la routine d'insertion du bloc "viewport", j'ai du ajouter un command resol car la routine active la résolution.La routine fonctionee sur AutoCAD MAP 2007 mais je souhaiterais la rendre plus opérationnelle par d'autres utilisateurs.De l'aide serait la bienvenue. (defun C:insert_bloc_viewport (/ calque calque_vl centre centre_vl hauteur hauteur_vl longueur longueur_vl objet_acad_viewport objet_vl_viewport ss_viewport ) (vl-load-com) (setq block "viewport") (foreach layout (layoutlist) (command "presentation" "Etablir" layout) (command "espacep") (command "resol" "in") ;select viewport boundary (setq ss_viewport (ssget (list '(0 . "VIEWPORT")))) (setq objet_acad_viewport (entget (ssname ss_viewport 0))) (setq objet_vl_viewport (vlax-ename->vla-object (ssname ss_viewport 0))) ;Get Viewport height with (setq hauteur (cdr (assoc 41 objet_acad_viewport))) ;Get Viewport width with (setq longueur (cdr (assoc 40 objet_acad_viewport))) ;Get Viewport Number (setq centre (cdr (assoc 10 objet_acad_viewport))) ;Get Viewport Calque (setq calque (cdr (assoc 8 objet_acad_viewport))) ;Get Viewport height with (setq hauteur_vl (vla-get-height objet_vl_viewport)) ;Get Viewport width with (setq longueur_vl (vla-get-width objet_vl_viewport)) ;Get Viewport Centre ;(setq centre_vl (vla-get-center objet_vl_viewport)) ;(setq pointlist (vlax-3d-point centre_vl) ;Get Viewport Calque (setq calque_vl (vla-get-layer objet_vl_viewport)) (command "_.insert" block centre longueur hauteur "0") (command "_chspace" (entlast) "") (setq objet_vl_bloc_viewport (vlax-ename->vla-object (entlast))) (setq calque_bloc (strcat "print_zone-" (getvar "CTAB"))) (if (not (tblobjname "LAYER" calque_bloc)) (vla-add (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))) calque_bloc) ) (vla-put-layer objet_vl_bloc_viewport calque_bloc) (command "espacep") );fin foreach (princ) );fin defun
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