Aller au contenu

Modifier DXF 43 et 44 ?


Messages recommandés

Posté(e)

Salut,

je n'arrive pas à modifier les valeurs des délimitation avant et arrière en passant par entmod... c'est-y-normal ???

 

mon code de travail :

 

(defun c:ttt ()

(if (= (getvar "TILEMODE") 1) 
   (princ "\n ** Cette commande n'est valable que dans l'espace papier. **")
   
   ;Sélection Fenêtre
   (progn
  (if (= (getvar "CVPORT") 1)
    (progn
      (while
	(not (and (setq sel (car (entsel "\n Sélectionner une fenêtre :")))
		  (or (equal (cdr (assoc 0 (entget sel))) "VIEWPORT")
		      (equal (cdr (assoc 0 (entget (cdr (assoc 330 (entget sel)))))) "VIEWPORT")
		      )
		  )
	     )
	)
      (setq sel (entget sel)
	    id_fenetre (cdr (assoc 69 sel)))
      
      (if (= id_fenetre nil)
	(progn
	  (setq sel (entget (cdr (assoc 330 sel)))
		id_fenetre (cdr (assoc 69 sel)))
	)
	)
      
      (command "_.MSPACE")
      (setvar "CVPORT" id_fenetre)
      )
    )     
     )
   )

(command "_.PSPACE")

[b](setq dxf-AV-43 (cdr (assoc 43 sel)))
(setq dxf-AR-44 (cdr (assoc 44 sel)))

(setq dec (getreal "Délimitation à décaler de :"))
 
(setq sel (subst (cons 43 (+ dxf-AV-43 dec)) (assoc 43 sel) sel)
     sel (subst (cons 44 (+ dxf-AR-44 dec)) (assoc 44 sel) sel))

(entmod sel)[/b]

(princ)

 ) 

... merci....

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

Posté(e)

Salut,

 

Extrait de l'aide pour la fonction entmod :

You cannot use the entmod function to modify a viewport entity.

 

Tu peux peut-être remplacer :

 

(setq dxf-AV-43 (cdr (assoc 43 sel)))
(setq dxf-AR-44 (cdr (assoc 44 sel)))

(setq dec (getreal "Délimitation à décaler de :"))

(setq sel (subst (cons 43 (+ dxf-AV-43 dec)) (assoc 43 sel) sel)
sel (subst (cons 44 (+ dxf-AR-44 dec)) (assoc 44 sel) sel))

(entmod sel) 

 

par :

 

(setq dec (getreal "Délimitation à décaler de :"))
(entmake
 (append (vl-remove-if
    '(lambda (x) (member (car x) '(-1 5 43 44)))
    sel
  )
  (list	(cons 43 (+ dxf-AV-43 dec))
	(cons 44 (+ dxf-AR-44 dec))
  )
 )
)
(entdel (cdr (assoc -1 sel)))

 

C'est pas très élégant, mais ça devrait fonctionner (pas testé).

 

[Edité le 13/3/2007 par (gile)]

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

Posté(e)

Merci,

mais ça ne fonctionne pas ....i (il ne me crée pas la fenêtre...)

 

You cannot create viewport objects with entmake.

 

J'ai regardé en vla- mais je ne trouve pas de commandes touchant aux délimitations....

 

 

[Edité le 14/3/2007 par Bred]

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é