Aller au contenu

Propriétés d'une viewport et insertion de bloc


Messages recommandés

Posté(e)

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

Posté(e)

Salut

 

Dans les codes dxf

Le point centre --> 10

La hauteur --> 41

La largeur --> 40

 

En vlisp

Le point centre --> vla-get-center

La hauteur --> vla-get-height

La largeur --> vla-get-width

 

@+

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)

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

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é