Aller au contenu

Modification d\'attributs


totodupolo

Messages recommandés

Bonjour,

 

J'ai réaliser un plan avec des points topo "projet" en utilisant le bloc par défaut d'Autocad TCPOINT.

Pour réaliser le fond de forme, j'ai besoin de retrancher à l'attribut "altittude" une valeur qui depend de la structure mise en place (une dizaine de cm).

 

J'aimerai savoir si il existe un lisp me permettant de modifier cette valeur altittude pour un groupe de bloc avec une valeur donnée.

 

D'avance merci

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir à toutes et tous,

 

totodupolo,

le bloc par défaut d'Autocad TCPOINT
.

Non, TCPOINT est un point covadis.

 

Patrick_35, c'est marrant que tu parles de MAT car je voulais te demander si il était possible de rajouter un bouton pour pouvoir selectionner à l'écran le bloc (je suis sur un plan avec plus de 200 blocs, ouf !).

 

Merci d'avance.

Civil 3D 2025 - COVADIS_18.3a

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Avec ce lisp peut-être ?

 

(defun C:AJOUTRAD(/ Sel Nb i txt)
(setq const (getreal "\nEntrez la constante:"))
(setq Sel (SSget '((0 . "TEXT")) ))
(setq Nb (sslength Sel))
(setq i 0)
(while (	(setq e (ssname Sel i))
(setq Ent (entget e))
(Setq txt (cdr (assoc 1 Ent)))
       (setq nomb (substr txt 3))
       (setq nombr (atof nomb))
       (setq deb (substr txt 1 2))
       ;(setq col (cdr (assoc 2 Ent)))
       (setq tot (+ const nombr))
       (setq Ent (subst (cons 1 (strcat deb (rtos tot 2 2)))(assoc 1 Ent) Ent))
       ;(setq Ent (subst  (cons 62 8) (assoc 67 Ent) Ent)) 
(entmod Ent)
(setq i (+ 1 i)) 
)
) 

 

Tu peux aussi faire un tour ici,...

 

[Edité le 27/2/2008 par lili2006]

Civil 3D 2025 - COVADIS_18.3a

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

si il était possible de rajouter un bouton pour pouvoir selectionner à l'écran le bloc

Tu as une case à cocher pour faire la sélection.

 

Bravo pour ton lisp. Ce serait bien maintenant de l'adapter pour travailler avec un attribut pour répondre à totodupolo.

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Bravo pour ton lisp.

 

Oh là, on se calme, ce n'est pas de moi mais d'un étudiant qui c'est fait aider par son prof d'info suite à un besoin sur son dossier de fin d'étude. J'ai formulé le besoin et regardé l'écriture pour essayer de comprendre mais je suis encore bien inccapable d'en arriver là, forcément j'ai pas encore pris le temps de bosser tout ça alors,...

 

Tu as une case à cocher pour faire la sélection.
oui, mais elle est grisé tant que l'on a pas selectionné un bloc depuis le menu déroulant. Au lieu d'utiliser le menu, faire la selection graphiquement aurait été pratique.

Ou alors, j'ai mal compris le fonctionnement de ce lisp, ce qui ne m'étonnerai pas non plus d'ailleurs,....

 

Merci d'avance.

 

[Edité le 27/2/2008 par lili2006]

Civil 3D 2025 - COVADIS_18.3a

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Salut lili

C'est moi qui n'ai pas compris ta demande.

Donc MAT a été mis à jour et passe en V4.00

 

Pour ton lisp, je me doutais bien que tu en étais pas l'auteur, car il me semble qu'il a la même structure que celui que tu as déjà publié récemment et dont tu disais qu'il était de l'un de tes élèves. C'est juste pour t'inciter un peu ;)

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

bonjour,

 

Déjà, merci de vous préoccuper de mon sort... c'est super sympa

 

Avec ce lisp peut-être

 

Lili2006, j'ai essayé ton lisp mais il ne fonctionne pas avec les blocs! (ou alors c mon soft qui bug!)

D'autre part, ce que je voudrais, c'est (désolé si je me repète!) soustraire à la valeur existante une valeur donnée (ou l'ajouter).

 

Pour ce qui est de mon projet, je l'ai fait à la main :P ... mais pour la prochaine fois! Cela servira surement à d'utre bougre que moi, j'en suis sûr!

 

Merci

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir à toutes et tous,

 

Patrick_35, un grand merci, ça marche du tonnère, en plein dans le mille !!!

 

C'est juste pour t'inciter un peu

 

Ce n'est toujours pas l'envie qui manque Mais le temps,... !

 

Lili2006, j'ai essayé ton lisp mais il ne fonctionne pas avec les blocs! (ou alors c mon soft qui bug!)

 

Pourtant Patrick_35 l'avais testé et pas de problème (lien donné message N° 4).

 

Sur Covadis v2007-8 du lycée sur le bloc point TCPOINT, pas de pb non plus,...

 

Désolé, je ne comprend pas,...

 

Quelqu'un d'autre peut-être.[Edité le 28/2/2008 par lili2006]

 

[Edité le 28/2/2008 par lili2006]

Civil 3D 2025 - COVADIS_18.3a

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Bonjour lili,

 

J'ai bien essayé ton lisp. Je rentre ma valeur, mais lorsque je selectionne mes blocs, la ligne de commande reste

Choix des objets: 0 trouvé(s)

puis quand je tape entrée, il marque.

; erreur: type d'argument incorrect: lselsetp nil

 

au fait, j'utilise Covadis 9.1g mais je ne pense pas que ce soit lié à la version (quoi que).

Lien vers le commentaire
Partager sur d’autres sites

Salut totodupolo,

 

J'ai bien essayé ton lisp. Je rentre ma valeur, mais lorsque je selectionne mes blocs, la ligne de commande reste

Le LISP donné par lili2006 ne fonctionne qu'avec des textes aucun autre type d'entité ne peut être sélectionné, et il ne vérifie pas la validité du jeu de sélection, d'où le message :

 

; erreur: type d'argument incorrect: lselsetp nil

Qui veut dire que le jeu de sélection est vide.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Un petit truc vite fait :

 

(defun c:adat	(/ att lst tag nam add ss n)
 (if (and
(setq att (car (nentsel "\nSélectionnez un attribut à modifier: ")))
(setq lst (entget att))
(= (cdr (assoc 0 lst)) "ATTRIB")
(numberp (read (cdr (assoc 1 lst))))
(setq tag (cdr (assoc 2 lst)))
(setq nam (cdr (assoc 2 (entget (cdr (assoc 330 lst))))))
     )
   (if	(and
  (setq add (getreal "\nEntrez la valeur à ajouter ou soustraire: "))
  (princ "\nSélectionnez les blocs à modifier.")
  (setq ss (ssget (list '(0 . "INSERT") (cons 2 nam))))
  (setq n 0)
)
     (while (setq blc (ssname ss n))
(setq att (entnext blc)
      lst (entget att)
)
(while (= (cdr (assoc 0 lst)) "ATTRIB")
  (if (and (= (cdr (assoc 2 lst)) tag)
	   (numberp (setq val (read (cdr (assoc 1 lst)))))
      )
    (progn
      (entmod (subst (cons 1 (rtos (+ val add)))
		     (assoc 1 lst)
		     lst
	      )
      )
      (entupd blc)
    )
  )
  (setq	att (entnext att)
	lst (entget att)
  )
)
(setq n (1+ n))
     )
   )
   (princ "\nL'objet sélectionné n'est pas un attribut.")
 )
 (princ)
) 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

 

Hello Gilles

 

A partir de ton ADAT, j'ai realise le MUAT

en modifiant simplement le nom du DEFUN, l'invite / message

et surtout la ligne critique :

 

;; (entmod (subst (cons 1 (rtos (+ val add)))

 

(entmod (subst (cons 1 (rtos (* val add)))

 

Merci beaucoup Gilles, c TIP-TOP, Le Decapode

 

 

 

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

ADAT.lsp fonctionne bien, mais [surligneur] est ce normal[/surligneur] que si on modifie un (des) bloc avec ce programme, le Z du point reste à son altitude d'origine ?

 

exemple : un point placé en X,Y,101.00 et modifié avec ADAT de -1.00 est bien modifié à l'écran et indique 100.00 mais reste toujours en X,Y,101.00

 

A+

Lien vers le commentaire
Partager sur d’autres sites

 

Hello

 

Qq remarques sur les suggestions de Richard-C ... C curieux, mais pourquoi pas !?

 

Mais bon, si l'attribut (ou texte) choisi représente bien l'altitude Z du bloc (ou texte), en effet

on pourrait éventuellement poser la question sur le déplacement "Oui" ou "Non" !

 

Par contre, il serait éventuellement sympa de poser une question du genre:

 

Voulez vous modifier les blocs existants ou bien générer une copie des blocs (avec la modification) sur le calque courant ? :cool:

(Sous entendu, on s'est placé sur un calque différent du calque d'origine des blocs)

 

Autre amélioration de la routine : traiter aussi les textes / multi-textes

et poser la question addition/soustraction ou bien multiplication/division par une valeur

numérique réelle positive ou négative, ainsi on aura une seule routine pour "tout" faire ! :D

 

Le Decapode (Générateur de Boulot) :P

 

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

ADAT.lsp fonctionne bien, mais [surligneur] est ce normal[/surligneur] que si on modifie un (des) bloc avec ce programme, le Z du point reste à son altitude d'origine ?

 

exemple : un point placé en X,Y,101.00 et modifié avec ADAT de -1.00 est bien modifié à l'écran et indique 100.00 mais reste toujours en X,Y,101.00

 

A+

 

Salut,

 

Je ne sais si c'est "normal" mais adat essaye de répondre à la demande qui était de modifier la valeur d'un attribut, pas de déplacer les blocs...

Il me semble bien que des routines on été publiées pour changer l'altitude de blocs, il faut faire une recherche.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

répondre à la demande qui était de modifier la valeur d'un attribut, pas de déplacer les blocs...

 

Absolument ! C'est uniquement une info de plan, c'est la raison pour laquelle l'attribut n'est pas obligatoire.

 

Mais, pour d'autres utilisations, les demandes de richard-c et de lecrabe ne sont pas ininteressantes,...

 

Bonne journée.

Civil 3D 2025 - COVADIS_18.3a

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

je suis d'accord avec toi (gile), tuas bien répondu à la question,

c'étas juste une contatation de ma part en ce qui concerne le déplacement des points et le changement de calque,

 

je me suis amusé à essayer ce programme, pour voir, car je n'en ai pas l'utilité pour le moment.

 

A+

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é