ayoubrq Posté(e) le 15 décembre 2017 Posté(e) le 15 décembre 2017 Bonjour , je me demande si qlq un connais un moyen facile de créer des point sur autocad sur différent layer et affiché leur (Nom,X,Y) sur un tableau sur autocad comme sur l'image ci-dessous merci : https://ibb.co/e2qPn6
rebcao Posté(e) le 15 décembre 2017 Posté(e) le 15 décembre 2017 Bonjour, Le mieux c'est passer par un BLOC + ATTRIBUTS qui sera placé sur un calque précis ! Avec EXCEL on peut faire des merveilles avec un système de relation pour le choix du calque. Mais comme tu es sur CIVIL, il doit certainement y avoir une fonction toute prête ?! Voir avec les spécialistes CIVIL... Christian 1 Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
bonuscad Posté(e) le 15 décembre 2017 Posté(e) le 15 décembre 2017 Bonjour, Pas très précise la demande, comme évoqué par rebcao les solutions sont multiples (blocs, point3d...) ainsi que les importations dans Autocad.Quelle est la source (type de fichier) des coordonnées? Un exemple avec un fichier CSV sous la forme: Numéro du point ; X du point ; Y du point ; Z du point Ce qui suit te permettra l'import facilement (defun c:readCSV ( / input f_open l_read num_data x_data y_data z_data naw_pt) (setq input (getfiled "Select a CSV file" "" "csv" 2) f_open (open input "r") ) (while (setq l_read (read-line f_open)) (setq num_data (atoi (substr l_read 1 (vl-string-position 59 l_read))) l_read (substr l_read (+ 2 (vl-string-position 59 l_read))) x_data (atof (substr l_read 1 (vl-string-position 59 l_read))) l_read (substr l_read (+ 2 (vl-string-position 59 l_read))) y_data (atof (substr l_read 1 (vl-string-position 59 l_read))) l_read (substr l_read (+ 2 (vl-string-position 59 l_read))) z_data (atof (substr l_read 1 (vl-string-position 59 l_read))) new_pt (list x_data y_data z_data) ) (entmake (list '(0 . "POINT") '(100 . "AcDbEntity") (cons 8 "POINTS-3D") (cons 10 new_pt) '(210 0.0 0.0 1.0) '(50 . 0.0) ) ) (entmake (list '(0 . "TEXT") '(100 . "AcDbEntity") (cons 8 "NUM-POINTS") (cons 10 new_pt) (cons 40 (getvar "TEXTSIZE")) (cons 1 (itoa num_data)) '(50 . 0.0) '(41 . 1.0) '(51 . 0.0) '(7 . "Standard") '(71 . 0) '(72 . 0) '(11 0.0 0.0 0.0) '(210 0.0 0.0 1.0) '(100 . "AcDbText") '(73 . 0) ) ) ) (close f_open) (prin1) ) Pour le tableau, j'avais publié sur un forum US ce qui suit (je le copie-colle tel quel): (vl-load-com) (defun c:points2cell ( / js AcDoc Space nw_style oldim oldlay ins_pt_cell h_t w_c lst_id-seg lst_pt n obj dxf_10 nb nw_obj ename_cell n_row n_column) (princ "\nSelect points.") (while (null (setq js (ssget '((0 . "POINT"))))) (princ "\nSelection empty, or is not a point!") ) (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) Space (if (= 1 (getvar "CVPORT")) (vla-get-PaperSpace AcDoc) (vla-get-ModelSpace AcDoc) ) ) (cond ((null (tblsearch "LAYER" "Table-Points")) (vla-add (vla-get-layers AcDoc) "Table-Points") ) ) (cond ((null (tblsearch "STYLE" "Text-Cell")) (setq nw_style (vla-add (vla-get-textstyles AcDoc) "Text-Cell")) (mapcar '(lambda (pr val) (vlax-put nw_style pr val) ) (list 'FontFile 'Height 'ObliqueAngle 'Width 'TextGenerationFlag) (list (strcat (getenv "windir") "\\fonts\\arial.ttf") 0.0 (/ (* 15.0 pi) 180) 1.0 0.0) ) (command "_.ddunits" (while (not (zerop (getvar "cmdactive"))) (command pause) ) ) ) ) (setq oldim (getvar "dimzin") oldlay (getvar "clayer") ) (setvar "dimzin" 0) (setvar "clayer" "Table-Points") (initget 9) (setq ins_pt_cell (getpoint "\nLeft-Up insert point of table: ")) (initget 6) (setq h_t (getdist ins_pt_cell (strcat "\nHigth text <" (rtos (getvar "textsize")) ">: "))) (if (null h_t) (setq h_t (getvar "textsize")) (setvar "textsize" h_t)) (initget 7) (setq w_c (getdist ins_pt_cell "\nWidth of cells: ")) (setq lst_id-seg '() lst_pt '() nb 0 ) (repeat (setq n (sslength js)) (setq obj (ssname js (setq n (1- n))) dxf_10 (cdr (assoc 10 (entget obj))) lst_pt (cons dxf_10 lst_pt) nb (1+ nb) lst_id-seg (cons nb lst_id-seg) ) ) (mapcar '(lambda (p tx) (setq nw_obj (vla-addMtext Space (vlax-3d-point p) 0.0 tx ) ) (mapcar '(lambda (pr val) (vlax-put nw_obj pr val) ) (list 'AttachmentPoint 'Height 'DrawingDirection 'InsertionPoint 'StyleName 'Layer 'Rotation) (list 5 h_t 5 p "Text-Cell" "Table-Points" 0.0) ) ) lst_pt lst_id-seg ) (vla-addTable Space (vlax-3d-point ins_pt_cell) (+ 2 nb) 3 (+ h_t (* h_t 0.25)) w_c) (setq ename_cell (vlax-ename->vla-object (entlast)) n_row (1+ nb) n_column -1) (vla-SetCellValue ename_cell 0 0 (vlax-make-variant (strcat "Summary of " (itoa (sslength js)) " POINTS") 8 ) ) (vla-SetCellTextStyle ename_cell 0 0 "Text-Cell") (vla-SetCellTextHeight ename_cell 0 0 (vlax-make-variant h_t 5)) (vla-SetCellAlignment ename_cell 0 0 5) (foreach n (mapcar'list (append lst_id-seg '("N°")) (append (mapcar 'rtos (mapcar 'car lst_pt)) '("Coordinates X")) (append (mapcar 'rtos (mapcar 'cadr lst_pt)) '("Coordinates Y")) ) (mapcar '(lambda (el) (vla-SetCellValue ename_cell n_row (setq n_column (1+ n_column)) (if (or (eq (rtos 0.0) el) (eq (angtos 0.0) el)) (vlax-make-variant "_" 8) (vlax-make-variant el 8)) ) (vla-SetCellTextStyle ename_cell n_row n_column "Text-Cell") (vla-SetCellTextHeight ename_cell n_row n_column (vlax-make-variant h_t 5)) (if (eq n_row 1) (vla-SetCellAlignment ename_cell n_row n_column 5) (vla-SetCellAlignment ename_cell n_row n_column 6) ) ) n ) (setq n_row (1- n_row) n_column -1) ) (setvar "dimzin" oldim) (setvar "clayer" oldlay) (prin1) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
DenisHen Posté(e) le 15 décembre 2017 Posté(e) le 15 décembre 2017 Salut. Pour l'import de points topo, il y a l'excellent InsTopo de Maître (gile)... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
ayoubrq Posté(e) le 15 décembre 2017 Auteur Posté(e) le 15 décembre 2017 Bonjour merci pour vos réponse je m'explique d'avantage , je travail sur un petit projet routier sur C3D , a la fin de mon projet je devrai choisir des points sur l’extrémité de mon corridor et les affichés sur plan pour permettre une implantation facile a l’exécution ( nom ,X,Y) voici une image https://ibb.co/fs3HQR Donc j'aimerai bien créer un nouveau Layout ( calque ) , qui contient des points posé par moi même sur dessin , et puis les extraire et les afficher sur un tableau comme sur l'image du plan imprimé voici une autre image d'un projet qui n'es pas le mien plan d'implantation :https://ibb.co/icyHQR
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant