Aller au contenu

Création de pts et Extraction


christian31

Messages recommandés

Bonjour,

 

je suis nouveau sur le forum et je suis tres impressionné par la qualité des routines,

 

je suis a la recherche d'une ou plusieurs routine qui me permettrai de faire:

 

1: créer des points yxz avec une croix sur un plan comme symbole et numéroté

2 Ensuite pouvoir fire une extraction de ces points en fichier pont-virgule pour ensuite les implanters

 

je pense que cela ne devrais pas etre trop difficle pour des as comme vous

 

peut etre qu'il exsite deja un produit du genre mais je ne le trouve pas

 

merci d'avance

Lien vers le commentaire
Partager sur d’autres sites

Bonjour

 

Voici un petit bout de code qui peut te servir je pense.

Il n'est certes pas parfait mais ca marche sur Acad2010.

 

(defun c:imp1 (/ i file pt)
(princ "\nEXPORTATION DE POINTS D'IMPLANTATION")

(setvar "CMDECHO" 0)
(setvar "ATTREQ" 1)
(setvar "ATTDIA" 0)
(command "SCU" "G")
(setvar "INSUNITS" 0)
(setvar "OSMODE" 65)
(setvar "PDSIZE" 0.5)
(setvar "PDMODE" 3)

(if (not (tblsearch "LAYER" "PT_IMP")) (command "_layer" "_N" "PT_IMP" "_CO" "3" "PT_IMP" ""))
(if (not (tblsearch "LAYER" "NUM_IMP")) (command "_layer" "_N" "NUM_IMP" "_CO" "2" "NUM_IMP" ""))
(if (not (tblsearch "STYLE" "Garamond")) (command "-style" "Garamond" "Garamond" 0 1 0 "N" "N"))
(setvar "TEXTSTYLE" "Garamond")
(setvar "CLAYER" "PT_IMP")
(setvar "CECOLOR" "DUCALQUE")

(if (not (tblsearch "BLOCK" "PT_IMP")) 
(progn
(entmake '((0 . "BLOCK") (2 . "PT_IMP") (70 . 2) (10 0.0 0.0 0.0)))
(entmake '((0 . "ATTDEF")
(67 . 0)
(8 . "NUM_IMP")
(10 1 1 0.0)
(40 . 2)
(1 . "")
(50 . 0.0)
(41 . 1.0)
(51 . 0.0)
(7 . "Garamond")
(71 . 0)
(72 . 0)
(11 0.0 0.0 0.0)
(210 0.0 0.0 1.0)
(3 . "Matricule")
(2 . "MAT")
(70 . 0)
(73 . 0)
(74 . 0)
)
)
(entmake '((0 . "POINT")
(67 . 0)
(8 . "PT_IMP")
(10 0.0 0.0 0.0)
(50 . 0.0)
(210 0.0 0.0 1.0)
)
)
(entmake '((0 . "ENDBLK")))
)
)

(setq file (open "C:\\TMP\\IMPLANTATION.txt" "w")) 
(princ "\nChoisissez les points d'implantation à exporter")

(setq i 1)
(while (setq pt (getpoint "\nIndiquer le point à implanter <Entrée pour terminer> : "))
(setvar "OSMODE" 0)
(command "_.insert" "PT_IMP" pt 1 1 0 (strcat "P" (rtos i 2 0)))
(write-line (strcat "P" (rtos i 2 0) "," (rtos (car pt) 2 5) "," (rtos (cadr pt) 2 5) "," (rtos (caddr pt) 2 5)) file)
(setq i (1+ i))
(setvar "OSMODE" 65)
)

(close file)
(command "_.shell" "start notepad C:\\TMP\\IMPLANTATION.txt")
(princ (strcat "\n" (itoa (1- i)) " objets exportés"))
(setvar "CMDECHO" 1)
(prin1)
)

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

Je vous remercie infiniment pour ces codes, savez comment je pourrai creer une liste d'extraction en ascii ?

 

Bonjour

 

Voici un petit bout de code qui peut te servir je pense.

Il n'est certes pas parfait mais ca marche sur Acad2010.

 

(defun c:imp1 (/ i file pt)
(princ "\nEXPORTATION DE POINTS D'IMPLANTATION")

(setvar "CMDECHO" 0)
(setvar "ATTREQ" 1)
(setvar "ATTDIA" 0)
(command "SCU" "G")
(setvar "INSUNITS" 0)
(setvar "OSMODE" 65)
(setvar "PDSIZE" 0.5)
(setvar "PDMODE" 3)

(if (not (tblsearch "LAYER" "PT_IMP")) (command "_layer" "_N" "PT_IMP" "_CO" "3" "PT_IMP" ""))
(if (not (tblsearch "LAYER" "NUM_IMP")) (command "_layer" "_N" "NUM_IMP" "_CO" "2" "NUM_IMP" ""))
(if (not (tblsearch "STYLE" "Garamond")) (command "-style" "Garamond" "Garamond" 0 1 0 "N" "N"))
(setvar "TEXTSTYLE" "Garamond")
(setvar "CLAYER" "PT_IMP")
(setvar "CECOLOR" "DUCALQUE")

(if (not (tblsearch "BLOCK" "PT_IMP")) 
(progn
(entmake '((0 . "BLOCK") (2 . "PT_IMP") (70 . 2) (10 0.0 0.0 0.0)))
(entmake '((0 . "ATTDEF")
(67 . 0)
(8 . "NUM_IMP")
(10 1 1 0.0)
(40 . 2)
(1 . "")
(50 . 0.0)
(41 . 1.0)
(51 . 0.0)
(7 . "Garamond")
(71 . 0)
(72 . 0)
(11 0.0 0.0 0.0)
(210 0.0 0.0 1.0)
(3 . "Matricule")
(2 . "MAT")
(70 . 0)
(73 . 0)
(74 . 0)
)
)
(entmake '((0 . "POINT")
(67 . 0)
(8 . "PT_IMP")
(10 0.0 0.0 0.0)
(50 . 0.0)
(210 0.0 0.0 1.0)
)
)
(entmake '((0 . "ENDBLK")))
)
)

(setq file (open "C:\\TMP\\IMPLANTATION.txt" "w")) 
(princ "\nChoisissez les points d'implantation à exporter")

(setq i 1)
(while (setq pt (getpoint "\nIndiquer le point à implanter <Entrée pour terminer> : "))
(setvar "OSMODE" 0)
(command "_.insert" "PT_IMP" pt 1 1 0 (strcat "P" (rtos i 2 0)))
(write-line (strcat "P" (rtos i 2 0) "," (rtos (car pt) 2 5) "," (rtos (cadr pt) 2 5) "," (rtos (caddr pt) 2 5)) file)
(setq i (1+ i))
(setvar "OSMODE" 65)
)

(close file)
(command "_.shell" "start notepad C:\\TMP\\IMPLANTATION.txt")
(princ (strcat "\n" (itoa (1- i)) " objets exportés"))
(setvar "CMDECHO" 1)
(prin1)
)

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

No comprendo !

 

_dataextraction

 

Tu demandes a traiter seulement le/les Bloc(s) concerne(s)

et tu auras automatiquemnent en extraction le Nom du bloc

 

Quand tu es a la case de selection des proprietes du Bloc

Clic droit puis Tout Deselectionner

Puis tu selectionnes par exemple :

Attribut_1, Attribut_2, etc

Eventuellement le Calque d'Insertion

Position X et Y et eventuellement Z

Eventuellement : Echelle, Rotation

 

lecrabe

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

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é