yoin

RobenAd

Wij lopen op kantoor tegen een probleem aan wat we niet verholpen krijgen bij het aanpassen van een attribute.
We hebben een attribute aangemaakt en deze vele keren gekopieerd in de tekening. Nu willen we de ingevulde waarde van de attribute veranderen. Echter, het is dan wel de bedoeling dat ALLE attirbutes met dezelfde naam, dezelfde ingevulde waarde gaan krijgen. Ook moet de plaats waar de tekst staat van de attribute het zelfde blijven. Wanneer we bijvoorbeeld het commando ATTSYNC gebruiken dan verspringen alle teksten van de attribute naar oorspronkelijke positie. Dit is niet de bedoeling. Ook met het commando BATMAN komen we niet veel verder.

Heeft iemand van jullie misschien een oplossing voor dit probleem? Zoals het er nu uit ziet moeten we heel erg veel attributes opnieuw gaan vernoemen wat een erg tijdrovende bezigheid is.

Alsvast bedankt voor jullie reacties!

bart

Probeer het commando Find (en replace) eens
als je deze volledig open klapt heb je een heel scala aan mogelijkheden
Domme vragen bestaan niet.
Domme antwoorden wel.

m.vr. groet Bart

roy_043

... Of je gebruikt het ouderwetse commando ATTEDIT:
: ATTEDIT
Edit attributes one at a time? <Y> N
Global edit of attribute values.
Edit only attributes visible on screen? <Y> N
Edit attributes of which blocks? <*>:
Edit attributes with these names <*>: diam
Edit attributes with this text <*>:
Number of attributes selected: 10
Text to change: 900
New text: 650


RobenAd

Met het FIND AND REPLACE commando behalen we niet het gewenste resultaat. Hij past hierbij alleen de attributes aan welke zicht niet in een block bevinden. Het is de bedoeling dat ook de attirbutes in een block aangepast worden.

Met het commando ATTEDIT krijgen wij niet de instellingen te zien. Bij het intypen van dit commando krijgen we het zelfde scherm te zien als bij het commando DDATTE. Hiermee kan de attinute ingevuld worden maar verder niets. Waar is het mogelijk om de ATTEDIT variabelen in te vullen. Wij krijgen deze helaas nog niet gevonden...

Alvast bedankt voor jullie hulp!

Reimer

Het voorstel van Roy werkt wel wanneer je -ATTEDIT gebruikt. Dus met het minteken (-) ervoor.

Reimer

JMD

Dag,

volgens mij kan dit met het commando GATTE

Groet JMD

bart

Als de juiste opties aan staan werkt find ook in blocks

zie ook schermafdruk
Domme vragen bestaan niet.
Domme antwoorden wel.

m.vr. groet Bart

RobenAd

#7
Bedankt voor jullie reacties, echter hebben we nog steeds niet het gewenste resultaal. Het commando GATTE werkt erg mooi (bedankt voor de tip) alleen kunnen we hiermee geen attributes aanpassen welke zich in een block bevinden.

Het commando -ATTEDIT krijgen we ook niet werkend  :(

Met het commado FIND and REPLACE hebben we niet zoveel instellings mogelijkheden. Wij gebruiken hier Autocad versie 2007. Binnenkort stappen we over naar Autocad 2010. Hiermee kunnen we dus wel attributes in een dieper gelegen block aanpassen, met dit commando???

Voor de duidelijkheid heb een voorbeeld tekening gemaakt met daarin; een attribute, een attribute in een block én een attribute in een dubbel block. Met de kennis die we nu hebben kunnen we alleen niet alle attributes in één keer aanpassen?

Hebben jullie misschien nog een andere mogelijkheid om dit te doen?

JMD

De manier van Bart werkt wel in 2010 hoor, dus dit is de goede manier.
GATTE werkt dus niet in nested blocks.

Gr JMD

roy_043

Citaat van: RobenAd op do 18 02 2010, 16:29:11Het commando -ATTEDIT krijgen we ook niet werkend  :(
Leg uit wat je doet. Zie command history in mijn vorige bericht. Het is overigens wel een probleem als de oude waarde van het attribuut niet steeds dezelfde is.

In hoeveel verschillende blocks heb je het attribuut genest. Dat zullen er toch niet ontelbaar veel zijn? :roll:

Overigens: een vraagteken als tag name is een erg slecht idee. Het vraagteken wordt immers ook gebruikt als wildcard character.

cetacad

#10
Hoi Rob en Ad,

Ik heb een aantal van mijn lisponderdelen samengevoegd om het gewenste resultaat te bereiken.
Lisp-technisch ziet het er niet uit, maar bij mij werkt het en daar gaat het om.

Opstarten door deel1.lsp te laden.
Een basis-attribute selecteren (losse attribute, niet in een block) . Deze wordt uitgelezen.
Te wijzigen regel selecteren en de nieuwe tekst invullen.
Vervolgens wordt dezelfde regel in alle attributes (attribute met of zonder gelijke naam) aangepast.

Let op: Alle bestanden (deel1, deel2 en wijz-attribute1) gebruiken. Anders werkt het niet !

succes, Fred

RobenAd

Bedankt voor jullie reacties.

We werken erg veel met blocks dus het commando -ATTEDIT werkt waarschijnlijk niet. Het probleem is dat we geen blocks geselcteerd krijgen met het commando. Misschien dat het in autocad 2010 beter werkt dan in Autocad 2007. We stappen binnenkort over dus dan proberen we het nogmaals.

Citaat van: cetacad op do 25 02 2010, 08:52:23
Ik heb een aantal van mijn lisponderdelen samengevoegd om het gewenste resultaat te bereiken.
Lisp-technisch ziet het er niet uit, maar bij mij werkt het en daar gaat het om.

Wij hebben geen ervaring met het werken met LISP. Kun je misschien een korte omschrijving geven hoe we deze LISP kunnen gebruiken. Het ziet er erg veel belovend uit! Alvast onze dank hiervoor!

Ad en Rob

cetacad

Citaat van: RobenAd op do 25 02 2010, 11:12:52
Wij hebben geen ervaring met het werken met LISP. Kun je misschien een korte omschrijving geven hoe we deze LISP kunnen gebruiken. Het ziet er erg veel belovend uit! Alvast onze dank hiervoor!

Ad en Rob


Let op: Alle bestanden (deel1, deel2 en wijz-attribute1) downloaden. Anders werkt het niet !

1-
Deze bestanden dienen in een directory geplaatst te worden die AutoCAD automatisch kan vinden. Deze directory kan je als zoekpad toewijzen via Tools-Options-support file search path.

2-
Commandoregel:  appload;

3-
Bestand deel1.lsp opzoeken en laden.

4-
Commandoregel: deel1;

5-
Een basis-attribute selecteren (losse attribute, niet in een block) . Deze wordt uitgelezen en je krijgt een invulscherm te zien. Vakje aanvinken om de te wijzigen regel te selecteren en de nieuwe tekst invullen.
Vervolgens wordt dezelfde regel in alle geselecteerde attributes (attribute met of zonder gelijke naam) aangepast.


succes, Fred

roy_043

@RobenAd: Waarom nesten jullie inserts met attributen in blocks? Hier zijn attributen eigenlijk niet voor bedoeld: ze gedragen zich dan als vaste teksten.

RobenAd

Citaat van: cetacad op do 25 02 2010, 11:28:24

Let op: Alle bestanden (deel1, deel2 en wijz-attribute1) downloaden. Anders werkt het niet !

1-
Deze bestanden dienen in een directory geplaatst te worden die AutoCAD automatisch kan vinden. Deze directory kan je als zoekpad toewijzen via Tools-Options-support file search path.

2-
Commandoregel:  appload;

3-
Bestand deel1.lsp opzoeken en laden.

4-
Commandoregel: deel1;

5-
Een basis-attribute selecteren (losse attribute, niet in een block) . Deze wordt uitgelezen en je krijgt een invulscherm te zien. Vakje aanvinken om de te wijzigen regel te selecteren en de nieuwe tekst invullen.
Vervolgens wordt dezelfde regel in alle geselecteerde attributes (attribute met of zonder gelijke naam) aangepast.


succes, Fred

Bedankt Fred het is gelukt! We zullen deze LISP regelmatig gaan gebruiken.

Citaat van: roy_043 op do 25 02 2010, 11:58:27
@RobenAd: Waarom nesten jullie inserts met attributen in blocks? Hier zijn attributen eigenlijk niet voor bedoeld: ze gedragen zich dan als vaste teksten.
We proberen de attributes niet in een block te stoppen, maar doordat we veel met blocks werken komen we er niet altijd onderuit dat er toch een aantal attributes in een block komen te staan. De attribute is dan inderdaad niet veel meer dan een tekst.