Aller au contenu

Messages recommandés

Posté(e)

Bonjour

 

je dois mettre en place un outil SIMPLE de DAO afin de construire un plan. Cet outil devra permettre de positionner sur un plan, des blocs rapidement issues d'une bibliothèque.

 

Que me proposez-vous ?

 

Merci

Posté(e)

Moi j'avais fais ce petit programme

 

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;                                                                           ;;
;;   Permet de créer une planche contenant tous les fichiers présent dans    ;;
;;   dans une destination donnée                                             ;;
;;                                                                           ;;
;;                                                                           ;;
;;                                                                           ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(defun c:scr (/ fic lst n x y w chemin pos name alpha dcx dcy dct nbc); Pour lancer le programme, Charger le .lsp, et taper scr dans la ligne de commande d'autocad
 (setq x 0 y 0)

 ;;Variables ci dessous à modifier si nécessaire
 (setq dcx 200 dcy 200 dct 10 nbc 11)
 
 ;;dcx = Taille des cases en x
 ;;dcy = Taille des cases en y
 ;;dct = Taille de la case contenant le texte en y
 ;;nbc = Nombre de colonne

 (vl-load-com)
 
 ;;Partie du programme servant à selectionner le dossier contenant tous les fichiers *.dwg
 
(if (setq fic (getfiled "Sélectionnez un fichier cible: " "" "dwg" 16))
   (progn
     (setq lst (acad_strlsort (vl-directory-files (vl-filename-directory fic) "*.dwg" 1)) n 0)
     
;;Compte le nombre de bloc
     
     (setq w 0)
      (while (nth w lst)
	(setq w (+ w 1)))
     (princ "\n")
      (princ w)
     (princ "\n")
     
;;Compte le nombre de bloc (FIN)
     
     (while (nth n lst)
(setq chemin (strcat (vl-filename-directory fic) "\\" (nth n lst))
      pos (list x y)	      

;;Recherche du nom de fichier et insertion du bloc
      
      size (strlen (nth n lst))
      alpha (- size 4)			   
      name (substr (nth n lst) 1 alpha ))
(setvar "CLAYER" "0")
(command "_insert" chemin pos "1" "" "" "" "" "" "" "" "" "" "" "" "" "" "")

;;Positionnnement et Ecriture du texte
(setq y (+ y (+ (/ dcy 2) (/ dct 2)))
      pos (list x y 0.0))
(setvar "CLAYER" "TEXTE")
(command "texte" "j" "MC" pos "4" "" name "");; 4 est la taille de la police du nom de bloc
(setq y (- y (+ (/ dcy 2) (/ dct 2)))
      pos (list x y 0.0))

;;Suite du programme (Modification des positions et bouclage)

     (setq x (+ x dcx))
(setq n (+ n 1))
(if (= x (* nbc dcx))
  (progn
    (setq y (+ y (+ dcy dct))
	  x 0
	  pos (list x y 0.0))
  )
)
)
     
;;Tracer les droites horizontales
     
     (setq n 0
    x 0
    y (- 0 (/ dcy 2))
    pos (list x y 0.0))
     (setvar "CLAYER" "CACHE")
 (command "droite" "h" pos "")
     (while (/= n (+ nbc 1))
(setq y (+ y dcy)
      pos (list x y 0.0))
(command "droite" "h" pos "")
(setq y (+ y dct)
      pos (list x y 0.0))
(command "droite" "h" pos "")
(setq n (+ n 1))
)
     
;;Tracer les droites verticales
     
     (setq n 0
    x (- 0 (/ dcx 2))
    y 0
    pos (list x y 0.0))
     (while (/= n (+ nbc 1))
(command "droite" "v" pos "")
(setq x (+ x dcx)
      pos (list x y 0.0)
      n (+ n 1))
)
 )
  )
 ) 

 

[Edité le 17/3/2009 par Arcasdk]

<IMG SRC=http://peronfrederic.free.fr/banniere.jpg></IMG>

 

<a href=www.formu-lan.net>www.FormuLan.net

</a>

Posté(e)

 

Salut,

 

Ben déjà ça dépend des plans de quoi et pour quel usage....

 

"Charon, nocher des enfers, faisait traverser aux morts les fleuves des enfers, le Styx et l'Acheron, moyennant une obole"

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é