Màj automatique valeurs d'attributs de bloc

Màj automatique valeurs d'attributs de bloc

Anonymous
Non applicable
2 892 Visites
29 Réponses
Message 1 sur 30

Màj automatique valeurs d'attributs de bloc

Anonymous
Non applicable

Bonjour à la communauté,
Je souhaiterai savoir s'il est possible de créer un simple progr lisp pour automatiser en 2 clics la maj d'attributs d'un bloc vers un autre
 (je sais que c'est possible avec les champs mais c'est plus contraignant (regenerer les champs et pb de liens entre les blocs).Ci-joint image expli + bloc.
 Merci d'avance
 AHG

ps: je n'arrive pas à joindre le fichier dwg (affiche fichier non valide ?? le fichier fait 125ko, est ce que quelqu'un a déjà eu ce pb ? et comment y remedier ?)

 

autocad-forum=maj label reservation.jpg

0 J'aime
Solutions acceptées (2)
2 893 Visites
29 Réponses
Replies (29)
Message 2 sur 30

Anonymous
Non applicable

je rajoute le fichier avec les blocs modeles...

 

0 J'aime
Message 3 sur 30

Anonymous
Non applicable

Pourquoi tu utilises pas un seule bloc au lieu de 2.

 

Celui de droite avec un point d'insertion, et une action de deplacement.

Tu as les valeurs avec un champ dans tes attributs automatiquement.

 

Voir dans l'editeur de bloc lors de la mise en place du champ Catégorie de champ / Objet / EspaceRéservéBloc

 

Sa permet de fonctionner meme avec AutoCAD LT.

0 J'aime
Message 4 sur 30

Anonymous
Non applicable

Salut Didier,

 

oui effectivement c'est une bonne idée mais qui reste difficile pour moi à mettre en place car les etiquettes peuvent avoir aussi une taille plus grande alors que les reservations doivent rester à l'échelle ! (donc cela veut dire qu'il faut que je fasse une usine à gaz de mon bloc dynamique (étirement, agrandissement, rotation et déplacement), alors qu'un lisp avec deux actions me parait plus simple (dans son principe mais peut-etre plus compliqué à la conception)...

merci pour ta proposition

a+

 

0 J'aime
Message 5 sur 30

Anonymous
Non applicable

Par programmation tout est possible, sauf faire le café Smiley heureux

 

Avant de me lancer dans du développement qu'il faut maintenir, Je préfère faire le tour des fonctionnalités AutoCAD.

 

Dans ton cas le bloc dynamique serai pointu, mais il fonctionnerai sur AutoCAD LT

 

http://apps.exchange.autodesk.com/fr/ tu as regardé, il y a peut être qq chose dessus.

0 J'aime
Message 6 sur 30

Anonymous
Non applicable

j'ai regardé sur le lien fournit mais j'ai rien trouvé qui s'en approche (il faut dire que c'est quand meme une demande particuliere)...

mille merci pour tes conseils...

0 J'aime
Message 7 sur 30

Anonymous
Non applicable

pas de solution concrete pour ma demande, svp ?

merci

0 J'aime
Message 8 sur 30

Anonymous
Non applicable

désolé je ne pratique plus le lisp.. mais que du vb.net

 

mais pour moi il n'y a que les blocs dyn qui pourrait faire cela.

Plus pratique, plus simple et pas de prog externe

0 J'aime
Message 9 sur 30

Anonymous
Non applicable
Salut et merci pour la réponse,
plus pratique ok mais plus simple cela reste à voir (parfois c'est une une vraie usine à gaz lorsque on doit gérer rotation/étirement/déplacement etc..)...
bon apparemment aucune solution donc je continu de faire ceci comme d'habitude...
a+
0 J'aime
Message 10 sur 30

Anonymous
Non applicable

J'ai fait un peu la même chose que ce que tu veux : un bloc de porte avec sa largeur modifiable dynamiquement et dans ce bloc, j'ai deux attributs (dont un qui indique la largeur de la porte) avec ligne de rappel vers la porte que je peux déplacer librement dans mon dessin. La taille de ces attributs peut être modifiée en fonction de l'échelle du dessin.

 

Je me suis creusé la tête pour faire ça, mais ça ne fonctionne pas trop mal.

 

Je vais essayer de te faire un exemple lundi quand je serai au boulot si j'ai le temps et si j'y pense.

0 J'aime
Message 11 sur 30

Anonymous
Non applicable

merci pour ton aide,

mais personnellement ce que je ne trouve pas normal c'est qu'on soit toujours obligé , comme tu le dis très bien, de ce "casser la tête" pour créer des blocs dynamiques avec des fois des résultats bizarres !!!

AHBEV

 

0 J'aime
Message 12 sur 30

Anonymous
Non applicable

C'est vrai que c'est un peu galère ces créations de blocs dynamique. Voilà ce que j'ai fait, sachant que :

- je n'ai pas réussi à rendre associatif les hachures dans le bloc (elles sont associatives quand le bloc n'est pas créé, mais dès que je les passe en bloc, elle ne le sont plus et impossible de les forcer à associatives).

- j'ai un problème d'unités, le bloc est en pouce...

 

Mais l'idée étant de te montrer le principe, pas de te faire le boulot !

 

Donc, tu places le bloc là où il doit être (point d'insertion = centre de la découpure)

Avec la fenêtre Propriétés affichée, tu indiques la largeur et longueur de la découpure (ou tu le fais dynamiquement)

Ensuite, en haut à droite du rectangle de repérage tu sélectionnes l'échelle de ta vue

Avec la poignée, au bout de la ligne de rappel, coté rectangle de repérage, tu places ton repérage là où ça t'arrange.

 

Mise à jour du champ après un Regen (ou suivant tes paramètres de régénération des champs).

 

Si tu exportes la liste des blocs, tu pourras ainsi avoir :

-sa position précise dans le dessin

-les dimensions

-le repérage avec les 4 attributs complémentaires.

 

JM

0 J'aime
Message 13 sur 30

Anonymous
Non applicable

Edit : dans cet exemple, le repère ne peut être placé qu'à gauche de la découpure. Si tu le veux à droite, il faut que tu rajoutes un nouveau paramètre de symétrie, pour symétriser le repérage et les poignées associées. Ca fonctionne très bien.

Edit 2 : voir l'exemple sur le fichier joint

0 J'aime
Message 14 sur 30

Anonymous
Non applicable
merci beaucoup pour ce bloc que je vais essayer d'adapter, les unités sont facilement modifiables (edit bloc puis dans fenêtre propriété ligne unités: changer pouce en cm) mais là ou j'ai un gros problème c'est justement avec les hachures, elles sont primordiales pour la compréhension du plan...
c'est dommage que je sois mauvais en lisp ou vba car cela aurait été plus simple....
De toute maniere ce que tu as fais n'est pas perdu , on peut l'améliorer mais cela demande trop de temps !!!
Milles merci.
AHBevi
0 J'aime
Message 15 sur 30

Anonymous
Non applicable

Modifier les unités, ce n'est pas si simple... Regarde ce que ça donne suivant ta méthode, le bloc est beaucoup plus petit qu'il ne devrait quand tu en insère un.

0 J'aime
Message 16 sur 30

Anonymous
Non applicable

Bon c'est peut être un peu tard, mais pour la hachure associative, je ne vois pas où est le problème, je vous joins le bloc.

 

Cordialement

0 J'aime
Message 17 sur 30

Anonymous
Non applicable

merci Vincenz_pz,

tu as raison cela fonctionne effectivement , par contre si tu t'y connais en bloc dyn pourrais tu me dire/montrer comment faire pour que la ligne qui pointe la reservation reste "collé" et suive le pourtour du rectangle quelquesoit l'étirement horizontal/vertical, et aussi, si cela n'est pas trop compliqué, quelle modif faut-il apporter pour que les points d'étirements (fleche bleue) restent sur leur point d'origne ??

merci d'avance

AHGautocad-RD-maj.jpg

 

0 J'aime
Message 18 sur 30

Anonymous
Non applicable
Bon alors, je vais copier ton bloc en le renommant pour garder ton bloc d'origine au cas où.

> pour les poignées d'étirement, pas de soucis, je te le fais.

> pour la ligne de repère qui resterait collée sur le contour de la réservation, j'ai bien une idée voilà pourquoi je copie ton bloc pour bosser dessus, car oui je m'y connais un peu en bloc dynamique mais bon ... il y a peut etre encore plus pratique et plus simple que ce que je peux faire !

j'y bosse et je t'envoie ça.
0 J'aime
Message 19 sur 30

Anonymous
Non applicable
merci infiniment !!
0 J'aime
Message 20 sur 30

Anonymous
Non applicable

Voilà ci joint le dwg. 

Le bloc en rouge c'est celui que j'ai modifié et renommé en "REP RD".

 

Premier point :

Pour que tes poignées d'étirement reste dans les coins, j'ai simplement changé l'Emplacement de base dans les propriétés des paramètres d'étirement - au lieu de "point de départ" j'ai mis "milieu".

Ca a le même effet que ce que tu avais avant, c-à-d un étirement par symétrie, sauf que j'ai pas trop compris pourquoi toi tes poignées partaient dans le cosmos... bref. c'est réglé.

 

Deuxieme point :

Pour que la ligne du repère reste sur le pourtour de la réservation, j'ai mis l'extémité de la ligne au centre du rectangle, mais pour cela j'ai donc dû rajouter un pochage 255 de façon à ce que quand ta ligne ira vers le bas à droite, elle sera cachée par le 255 et donc ne sera visible qu'en dehors du rectangle. (j'espère être plus ou moins clair)...

 

Idem pour ton repère avec les dimensions, j'ai rajouté un pochage 255 et déplacé le tout pour que l'extrémité de ta ligne soit au centre. donc peu importe dans quel sens tu tourne / étire ton bloc , en toute logique la ligne sera toujours collée aux 2 éléments.

 

SAUF QUE ... et là c'est moi qui vais avoir besoin de ton savoir faire :

Je t'avoue ne jamais m'être encore trop intéressé par les paramètres de consultation etc. mais j'ai à peu près vu comment tu l'as fait et donc comment ça marche. sauf qu'avec l'étirement polaire et le déplacement je n'ai pas réussi à faire en sorte que les différentes échelles restent centrées sur l'extrémité de la ligne ????

 

Et d'ailleurs, je ne sais pas comment tu fais pour appliquer un déplacement Et un étirement polaire sur une seule poignée ??? peux tu me dire comment ça marche ?

 

Voilà merci !

 

0 J'aime