Aller au contenu

Copie info "géométrique" dans DO d'une polyligne


Messages recommandés

Posté(e)

Bonjour à tous!

Je vais essayer de vous poser mon problème de manière claire...

J'ai un grand nombre d'éléments (polylignes et blocs) qui ont des tables attributaires avec des données objet.

Un certain de nombre de champs DO sont renseignés automatiquement à l'aide d'un module. Mais j'ai beaucoup de DO à remplir manuellement notamment la longueur des polylignes.

C'est super long à remplir et j'ai plein de petits tronçons de l'ordre de 30cm qui souvent passe à la trappe car peu visibles.

Quelqu'un aurait une manip' (mode opératoire ou LISP) pour prendre la valeur géométrique de la longueur de la polyligne et la renseigner automatiquement dans la donnée objet souhaitée?

image.png.4a1e4e869b690adf27d191db0a9e600a.png

Je vous joint également un dwg pour visualiser les objets et les champs de ma table attributaire.

Merci d'avance!

Bien cordialement. 

DWG_Exemple.dwg

Posté(e)
il y a 5 minutes, Eric a dit :

C'est raté. 🤣

On attend la suite 😉

Haaha oui j'ai pas réussi à maîtriser mon clavier!

Posté(e)

Je travail sur Autocad Map 3D.

Désolé j'ai pensé que c'était l'endroit adéquat pour poser ma question...je devrais déplacer mon post vers quel rubrique selon toi?

Posté(e)

Merci Lili2006!

Je n'ai pas vu la rubrique quand j'ai fais mon post sorry...😅

J'ai déjà réussi à trouver ce qu'il fallait pour transférer les coordonnées x,y et z vers les données attributaire de blocs mais ne parlant pas le langage des LISPs je n'arrive pas reporter ça pour l'info longueur à renseigner dans les DO d'une polyligne.

 

Posté(e)

J'ai réussi en partie à faire ce que je voulais grâce au module magique d'Olivier!

On va dériver du sujet du post donc je te mp Lili au sujet de ta réponse.

Posté(e)

Hello @CT_Ko

En effet la DLL de Olivier est MAGIQUE !

Sinon voici un vieux Lisp / VLisp "OD_Longueur " frustre mais qui marche sur les LWPOLYLINEs ...

Bye, lecrabe

 

 
;; 
;; http://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/updating-an-entity-s-object-data/m-p/5451473#M328535
;; 
;; Micro-Adaptation v3 par Patrice B.
;; 
;; ATTENTION: aucune gestion d'erreur !!!
;; 
 
;; 
;; Routine v2 : Recuperation de la LONGUEUR par OE en VLisp - RAPIDE 
;; 
;; Routine OD_Longueur par CADaStroumph pour MAP & CIVIL 
;; 
;; --- Interrogation Entite/Objet en Lisp : (entget (car (entsel)) '("*")) 
;; 
 

(vl-load-com) 

(defun C:OD_Longueur ( / js_pl n_pl ent dxf_ent z_pl LONG Table_OD Champ_OD) 

   (princ "\n------ ATTENTION : AUCUNE Gestion d Erreurs ! ------ ")

;;;;;;;; Nom de la Table OD CONCERNEE ;;;;;;;;
;; ( setq Table_OD "BRANCHEM" ) 
   ( setq Table_OD (getstring T "\nNom EXACT de la Table OD    (Par exemple: ASS_CANA/etc) : "))

;;;;;;;; Nom du Champ    OD CONCERNE  ;;;;;;;;
;; ( setq Champ_OD "long_mes" ) 
   ( setq Champ_OD (getstring T "\nNom EXACT du Champ OD Numerique (Par exemple: LONG/etc) : "))


  (setq js_pl (ssget '((0 . "LWPOLYLINE") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (100 . "AcDbPolyline"))))
  (cond
    (js_pl
      (repeat (setq n_pl (sslength js_pl))
        (setq ent (ssname js_pl (setq n_pl (1- n_pl))))
        (setq dxf_ent (entget ent)) 


;;; Recuperation de la LONGUEUR par Patrice en Lisp par AREA - LENT
;;; (command "_.area" "_o" ent)
;;; (setq LONG (getvar "perimeter")) 

;;; Recuperation de la LONGUEUR par OE en VLisp - RAPIDE
    (setq LONG (vla-get-length (vlax-ename->vla-object ent)) )


    (setq z_pl LONG)

        (if z_pl
          (progn 

;;;;;;;; Affectation de la Longueur de la Polyligne dans le champ LONGUEUR de "Table_OD" ;;;;;;;;
            ( ade_odsetfield  ent   Table_OD      Champ_OD   0  z_pl )
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

          )
        )
      )
    )
  ) 
(princ)
)

 

Autodesk Expert Elite Team

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é