Positionnement en Z d'un bloc avec attributs dans AutoCAD

Anonymous

Positionnement en Z d'un bloc avec attributs dans AutoCAD

Anonymous
Non applicable

Bonjour,

Je souhaite placer en Z des blocs avec Attributs possédant déjà les informations ALTimétriques en texte, mais pas en coordonnées réelles.

J'ai vu par ci, par là qu'il existerait un LISP, mais je n'arrive pas à remettre la main dessus.

J'ai AUTOCAD 2019.

Mon but étant de générer simplement des points 3D via ces blocs renseignés.

Auriez-vous une solution simple ?

A vous lire,

Merci d'avance pour vos réponses

 

sujet edité par un modérateur pour une meilleure compréhension et un meilleur référencement; sujet original: Positionnement en Z d'un bloc avec attributs

0 J'aime
Répondre
Solutions acceptées (1)
2 215 Visites
6 Réponses
Replies (6)

_gile
Mentor
Mentor
Solution acceptée

Salut,

 

Tu peux essayer ça :

 

(defun c:PTALT (/ ss i blk pt)
  (if (setq ss (ssget "_X" '((0 . "INSERT") (2 . "TCPOINT") (410 . "Model"))))
    (repeat (setq i (sslength ss))
      (setq blk	(ssname ss (setq i (1- i)))
	    pt	(getpropertyvalue blk "Position")
      )
      (setpropertyvalue blk "Position" (list (car pt) (cadr pt) (atof (getpropertyvalue blk "ALT"))))
    )
  )
  (command-s "_attsync" "_name" "TCPOINT")
  (princ)
)


Gilles Chanteau
Programmation AutoCAD LISP/.NET
GileCAD
GitHub

0 J'aime

Anonymous
Non applicable

Bonjour et merci,

Seule petite question (qui n'est pas négligeable) comment utiliser ce code ?

SVP ?

Merci

0 J'aime

Anonymous
Non applicable
J'ai trouvé et cela fonctionne parfaitement MERCI !!!
0 J'aime

Anonymous
Non applicable

Bonjour, j'ai le même besoin de transférer la valeur d'un attribut de bloc de point topo dans le Z des coordonnées du point, en sélectionnant les blocs concernés dans le plan topo 2D. Mais je cherche une solution en macros+diesel pour autocadLT, le lisp n'étant pas supporté. Je ne sais pas ci cela est réellement possible, je n'arrive déjà pas à récupérer la valeur de l'attribut du bloc en utilisant -attedit et modemacro pour stocker la variable. Si quelqu'un a une réponse, merci d'avance. Cordialement.

0 J'aime

edouareo
Community Visitor
Community Visitor

Bonjour, Pourrais tu nous expliquer la marche à suivre pour utiliser ce code ? 

 

Merci d'avance ! 

 

Edouard

 

0 J'aime

Y.AUBRY
Advisor
Advisor

Bonjour @edouareo ,

 

Lorsque le code d'un lisp est donné comme ceci, il suffit de copier le code en question et de le coller dans un bloc note

 

La future commande associée à ce lisp se trouve toujours après "(defun c:" donc pour ce fichier c'est "PTALT"

(defun c:PTALT (/ ss i blk pt)

 

Du coup je te conseille d'enregistrer le texte que tu as mis dans le blocs note avec un nom en rapport avec la commande et d'ajouter l'extension en .lsp (donc pour ce fichier "PTALT.lsp")

 

Je t'ai mis en pièce jointe le fichier lisp.

 

Pour pouvoir l'utiliser, il faut une version complète d'AutoCAD (ne fonctionne pas avec AutoCAD LT)

 

Ensuite, une fois le fichier enregistré :

Taper la commande "APPLOAD" (ou aller dans le menu "Outils\Charger une application")

Sélectionner le fichier lisp (PTALT.lsp)

Taper la commande ("PTALT")

 

A+ Yoan

 

Yoan AUBRY

EESignature

0 J'aime