Aller au contenu

Edition d'attributs


Messages recommandés

Posté(e)

Bonjour, et meilleurs voeux à tous,

 

Je me rapproche de CadXP pour un petit problème qui me prend quand même pas mal de temps quand on a 650 plans à gérer.

 

Nous travaillons sur Inventor et le client nous réclame des plans autocad. Pas de problème, inventor convertit ca très très bien. Autocad reconnait toutes les entités, les cercles, les lignes, les blocs, les cotations.....

 

Sauf que, quand je cherche à éditer un des attributs de mon bloc "Indice" par exemple, si je passe par la fenêtre de propriété (ce que je fais d'habitude avec un bloc autocad classique) je peux voir les attributs de mon bloc.

 

Si je cherche à changer la date, je ne peux pas la changer directement dans le champ de la fenêtre des propriétés.

 

http://img80.imageshack.us/img80/7341/001uf.png.

 

Je dois d'abord cliquer sur les "..." et alors une nouvelle fenêtre s'ouvre

 

http://img14.imageshack.us/img14/5960/002bco.png.

 

Ensuite je dois re-sélectionner l'attribut à éditer, recliquer sur "..." et enfin seulement il m'est possible de modifier la date. valider. OK. c'est fait!!!

 

Bref bcp de chose pour pas grand chose.

 

Ce matin j'ai bien essayé de faire une macro avec ddedit, ou attedit ou tblobjname mais je passe tout le temps par ces foutu fenêtres.

 

Avec (entget(car(nentsel))) j'ai réussi à sélectionner directement mon objet mais je n'ai pas envie de passer par un (subst cons assoc) si vous voyez ce que je veux dire. J'aimerai avoir le même genre de réaction que quand on lance ddedit sur un TEXT ou un MTEXT directement aprés avoir lancé la commande puis sélectionner l'attribut.

 

Des idées?

 

Merci à tous

<IMG SRC=http://peronfrederic.free.fr/banniere.jpg></IMG>

 

<a href=www.formu-lan.net>www.FormuLan.net

</a>

Posté(e)

Avec mat, il y a toujours autant de clic à faire pour juste éditer un attribut et de plus, il renomme tout les blocs portant le nom "indice".

 

Ca va pas!

 

Merci quand même.

<IMG SRC=http://peronfrederic.free.fr/banniere.jpg></IMG>

 

<a href=www.formu-lan.net>www.FormuLan.net

</a>

Posté(e)

Avec mat, il y a toujours autant de clic à faire pour juste éditer un attribut

Pour un, je suis d'accord, mais je pensais que tu voulais propager une valeur ?

 

et de plus, il renomme tout les blocs portant le nom "indice".

Non, tu as la possibilité de choisir les blocs auxquels tu veux propager ta valeur.

 

@+

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

Posté(e)

Bonjour,

 

Et au lieu de passer par la palette Propriétés, tu ne peux pas double-cliquer sur le bloc tout simplement ? :unsure:

 

Le double-clic sur un bloc avec attributs lance directement l'éditeur d'attributs (ta 2e capture), tu gagnes déjà une étape.

Si en plus tu penses à te positionner sur le bon attribut avant de double-cliquer, sa valeur sera déjà sélectionnée lors de l'affichage de l'éditeur (sauf si c'est un attribut multilignes, ce qui semble être le cas).

Posté(e)

Oui effectivement bryce, en double-cliquant sur le bon attribut, je gagne une étape mais j'ai vraiment envie de toute les brûler.

 

Jifi, j'ai bien cherché mais je ne trouve rien qui touche à cela.... :/

 

Je me suis quand même décidé à utiliser le fonction SUBST. Mais même avec une macro qui ne présente pas d'erreur, il n'y a rien qui change...

 

(defun c:dda (/ tex newtex paire)
 
 (setq tex (entget(car(nentsel)))
 (setq newtex (getstring))
 (setq paire (cons 1 (strcat "\\W0.75000;" newtex)))
 (setq tex (subst paire (assoc 1 tex) tex))
 (entmod tex)
 (command "regen")
 )

 

j'ai uploadé un plan avec ma référence de bloc insérer. Si vous êtes curieux, vous pouvez y jeté un oeil.

 

Merci encore.

Dessin2.zip

<IMG SRC=http://peronfrederic.free.fr/banniere.jpg></IMG>

 

<a href=www.formu-lan.net>www.FormuLan.net

</a>

Posté(e)

Bonjour,

 

J'ai regardé vite fait, et ton problème vient du fait que pour un attribut multilignes il y a plusieurs codes 1, et le premier contient une chaîne vide... :huh:

 

Du coup, je pense que c'est bien plus facile à faire en ActiveX.

Exemple vite fait, sans aucune vérification du type d'objet cliqué:

 

(defun c:dda (/ att newtex)
 (vl-load-com)
 (setq att (vlax-ename->vla-object (car(nentsel))))
 (setq newtex (getstring "\nNouveau texte : "))
 (vla-put-TextString att newtex)
)

Posté(e)

Bonjour à tous,

 

Très bonne surprise en arrivant ce matin, J'ai trouvé en réponse exactement ce que je cherchais.

 

Merci Bryce et merci à tous.

<IMG SRC=http://peronfrederic.free.fr/banniere.jpg></IMG>

 

<a href=www.formu-lan.net>www.FormuLan.net

</a>

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é