yoin

D13

Hopelijk kan iemand me na lang zoeken helpen...

Hoe kan ik als ik bv blocks v stopcontacten (± 150st), met als attributes kringnummer en type opnieuw moet nummeren en benamen, sneller doen zonder dat ik elk stopcontact moet aanklikken en in het block dit aan moet passen. Ik weet niet, misschien in een lijst met geselecteerde blocks ofzo.

Alvast bedankt om me tijd te besparen en acad-slimmer te maken  :D

roy_043

#1
Jouw vraag roept vragen op:
1.
Stopcontact als dynamic block? Waarom: wat is er dynamisch aan een stopcontact?
2.
Hoe heb je de 150 stopcontact genummerd etc. Met de "hand" of met een hulpprogramma? Is een hulpprogramma gebruikt overweeg dan of het sneller is om de stopcontacten opnieuw te plaatsten.
3.
Gemene vraag: waarom heb je de stopcontacten verkeerd genummerd en benaamd? Is het een eenmalige vergissing of betreft het een wijziging die vaker voorkomt? Als dat laatste het geval is dan zou je daarop in jouw werkwijze moeten anticiperen.
4.
Is er een logisch verband tussen de oude en de nieuwe namen en nummers?
5.
Gebruik jij LT of een volledige versie?

Als het antwoord op vraag 4 "Ja" is, dan kun je i.i.g het commando -ATTEDIT gebruiken:
: attedit (in BC7: attedit; in AC:-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 <*>:
Edit attributes with this text <*>: baalklaag
16 attributes were selected.
Text to change: baalk
New text: balk

D13

Oei nu voel ik mij nog meer een 'dummie'  :wink:

1. idd een stopcontact is nu niet dynamisch, dacht dat dat de omschrijving was voor een block met attributes
2. met de hand, het zijn stopcontacten, lichtpunten enz. in de kamers v e hotel op telkens verschillende kringen
3. het is een wijziging die vaker voorkomt, na laatste aanpassingen door architecten of klanten dus het is voorlopig nog
    geen verkeerde nummering of benaming  :)
4. nee er is geen logisch verband tussen de oude nummers, benaming kan wel zijn dat deze hetzelfde blijft
5. versie Acad 2009

-ATTEDIT had ik al gevonden maar dan veranderen alle stopcontacten naar hetzelfde wat dus niet mag

alvast fel bedankt voor het reageren!

roy_043

#3
Dat jij vraag 4 met "Nee" beantwoordt maakt het probleem niet gemakkelijker. Als jij gebruikmaakt van een volledige versie van AutoCad (dus niet de LT versie) dan moet een lisp te schrijven zijn in de trant van:
Kies een attribuut met de doeltekst:
Kies een of meer attributen die vervangen moeten worden door de doeltekst:

Dus terugkomend op vraag 5: Gebruik jij LT of een volledige versie?

D13

Het is idd geen makkelijk probleem denk ik, heb er ook nergens iets over gevonden buiten misschien Acad 2009 MEP -versie (voor techniek-ontwerpen) maar daar heb ik helemaal geen ervaring mee.

Ik maak gebruik van een volledige versie van Acad 2009...

Over Lisp heb ik al dingen gelezen maar er is misschien toch een andere manier daarmee mijn vraag hier  :)

roy_043

#5
Probeer de lisp uit de bijlage. Plaats de lisp in het zoekpad van het cad-programma (de map waarin de huidige tekening zich bevindt is ook onderdeel van het zoekpad). En doe het volgende:
: (load "chattp")
: chattp
New text for attributes: KringNr. 5.1
Select attribute to change to "KringNr. 5.1" or [Enter] to quit:

<EDIT1>Klein schoonheidsfoutje in lisp</EDIT1>
<EDIT2>Opmerking: de lisp is geen ideale oplossing: als je 30 stopcontacten moet wijzigen in "KringNr. 5.1" moet je 30 attributen aanklikken. Maar goed, daarmee is de lisp toch nog efficiënter dan met de "hand".</EDIT2>

D13

Dan zal ik dat eens proberen...

Ik laat wel iets weten hoe t gelukt is als ik het op de wereld gekregen heb.
Maar het zal idd wel sneller zijn dan alles met de hand aan te passen.



Dikke merci!

H@rm

#7
D13,

Je kunt het met de hand iets versnellen door steeds die stopcontacten te selecteren die bij een gelijke groep/kring horen.
Je kunt dan met properties (CTRL+1) in 1 keer het kringnummer aan passen.

Dat scheelt al heel veel typewerk.

Verder zou je kunnen stoeien met een layer voor ieder kring. In het block een atribuut maken met een field die verwijst naar de layer. Dan heb je helemmal geen typ werk meer. <Edit Zie bijlage>

Voor het vervangen van de ene naam in een ander naam kun je ook gebruikmaken van het commande FIND. (zoek&vervang)

Michel
Acad 10 t/m 2015
Revit 2010 t/m 2015
autodidact lisp