Aller au contenu

Messages recommandés

Posté(e)

bonsoir,

 

je vous ais mis un partie du programme que j'essais de terminer, la partie qui ne marche pas, c'est uniquement lors de l'utilisation de 'Target, si vous avez une idée de mon erreur ?

 

(vl-load-com)

;;; Début Defun c:Présentation
(defun c:présentation (/ sel lsel i ent att listatt lst gabarit fichier ltab htab
       lay liste_bloc bloc_name n0 n lesfenetres ii dir)
 (alert "Selectionner uniquement les bloc sig")
(setq ltab (getreal "Largeur tablette [mm] :")
      htab (getreal "Hauteur tablette [mm] :")
)
(if (= "local_sig " (substr (cdr (assoc 2 (setq n0 (tblnext "block" T)))) 1 10))
  (setq liste_bloc (list (cons (cdr (assoc 2 n0)) (cdr (assoc -2 n0)))))
  )
 ;;; debut while
  (while (setq n (tblnext "block" nil))
    ;;;debut if
   (if (= "local_sig " (substr (cdr (assoc 2 n)) 1 10))
     (setq liste_bloc (cons (cons (cdr (assoc 2 n)) (cdr (assoc -2 n))) liste_bloc))
     ))
 ;;; fin while
(setq sel  (ssget)
      lsel (sslength sel)
      i    0
)
 ;;;début while
 (while (< i lsel)
   (setq ent	  (ssname sel i)
  att	  (GetAttribs ent))
   (setq bloc_name (cdr (assoc 2 (entget ent))))
   (setq ente (cdr (assoc bloc_name liste_bloc)))
; Effacer les présentations
(vlax-for lay (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object)))
 (or (eq (vla-get-name lay) "Model")
   (vla-delete lay)))
   (command "presentation" "n" (cdr (assoc "NOM" att)))
   (command "presentation" "e" (cdr (assoc "NOM" att)))
   ;;;debut suppression des fenetres
   (setq lesfenetres (vla-get-paperspace (vla-get-activedocument
				(vlax-get-acad-object))))

     (vla-delete (vla-item lesfenetres "0"))

   ;;;fin suppression des fenetres
   (command "-fenetres" '(0.0 0.0 0.0) (list ltab htab 0.0))
   (setq entf (entlast))
   (command "_.MSPACE")
   (setq centre-fenetre (getvar "VIEWCTR"))
   (command "_.PSPACE")
   (setq entfe (vlax-ename->vla-object entf))
;;; Gis : routine renvoyant l'angle, le point cible..
   (setq regl_fen (Gis ltab htab ente)
  Target (vlax-get entfe 'Target))

   (vlax-put entfe 'TwistAngle (nth 0 regl_fen))
   (setq centrebloc (mapcar '+ (nth 1 regl_fen) (cdr (assoc 10 (entget ent)))))
(setq centrebloc
      (cons (car centrebloc) (cons (car (cdr centrebloc)) '(0.0)))
)
   (vlax-put entfe 'Target centrebloc)
   (vlax-put entfe 'CustomScale (* 1 (/ ltab (nth 3 regl_fen))))

   (command "presentation" "ef" "présentation1")
   (setq fichier (strcat (getvar "DWGPREFIX") (cdr (assoc "NOM" att)) ".dwg"))
   (command "_SAVEAS" "2010" fichier)
 ;;;fin while
   (setq lst (cons listatt lst)
  i (1+ i))
   )
)
;;; Fin Defun c:psig

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é