yoin

Manu

In een aangeleverde tekening bemerk ik tal van 'lege blocks'..
Om die weg te krijgen moet ik ze eerst zichtbaar maken. Dat doe ik via de blockeditor : ik open elke block en teken er een giga-grote cirkel in. In het model kan ik dan deze ongewenste blokken uiteindelijk gaan erasen..  :roll:
Kent er iemand echter een vlottere manier .. of een lisp?

groeten,

Manu

PS : het wegschrijven van de tekening middels WBLOCK neemt die 'lege blokken' ook mee, dus dat is geen oplossing..

PPS : in bijlage de gestripte tekening.. niets te zien in MODEL of PSPACE... maar check de blockeditor voor de blocks...
AutoCad 2000 - 2007 - 2008
Sketchup 4-5-6

bart

eerste erase -> all  > zichtbare zaken deselcteren ->enter
vervolgens purge
en je blocken zijn weg

superpurge kan ook maar dan moet je wel de te bewaren blocken van de lege weten te scheiden

Domme vragen bestaan niet.
Domme antwoorden wel.

m.vr. groet Bart

Manu

Prima denkpiste Bart.. doch wellicht zijn de lege blocks genest in 1 of meerdere blocks.. of misschein wel in elkaar..?
Dus je oplossing werkt voor de 'lege' tekening die ik postte doch niet voor de echte tekening..  :(

Manu
AutoCad 2000 - 2007 - 2008
Sketchup 4-5-6

bart

Erase all vind in de voorbeeld tekening 3464 elementen.

heb je het deselecteren met een window gedaan ?
(een crossing pakt mischien ongewild meer dan de bedoeling is)

kan je een niet lege tekening posten ?
Domme vragen bestaan niet.
Domme antwoorden wel.

m.vr. groet Bart

Reimer

Citaat van: Manu op ma 13 07 2009, 16:33:02
Prima denkpiste Bart.. doch wellicht zijn de lege blocks genest in 1 of meerdere blocks.. of misschein wel in elkaar..?
Dus je oplossing werkt voor de 'lege' tekening die ik postte doch niet voor de echte tekening..  :(

Manu

En wat doe je dan als er een leeg-block in een niet-leeg-block zit (welke wel moet blijven)? Als je alle giga circels selecteerd en verwijderd dan verwijder je misschien ook blocken waar het lege block in voor komt.

Reimer.

roy_043

Beste Manu,

Probeer deze lisp:
RemoveEmptyBlocks.lsp

Maar let op: jij bent de tweede gebruiker van deze lisp (als je begrijpt wat ik bedoel  :wink:).

Groet, Roy.

Manu

De originele tekening is te groot om te posten..
Nu, blijkbaar waren alle 'lege blokken' genest in 1 block (die van de architectuur)... dus na het exploderen kon ik -middels de methode van Bart- alle rommel erasen.. maar het exploderen van blokken schiet in feite het doel van een block aanmaken voorbij.. toch?
En Reimer heeft gelijk.. ook mijn methode houdt nogal wat risico in...
Het probleem is bij deze tekening wel opgelost.. :vreegoe: maar ik zie wel uit naar een tool die (ondermeer) dergelijke 'rommel' selectief uit een tekening kan halen.... zonder alles te moeten exploderen....
Enne Bart : ook ik ben hevige fan van SuperPurge doch lijkt het me in dit geval wel erg gevaarlijk om 'blind' te gaan erasen..

Anyway, bedankt voor de reacties ! en indien iemand die 'magic tool' weet te vinden... je  weet waar je hem kan posten he!

groeten,

Manu
AutoCad 2000 - 2007 - 2008
Sketchup 4-5-6

Manu

Citaat van: roy_043 op di 14 07 2009, 09:48:09
Beste Manu,

Probeer deze lisp:
RemoveEmptyBlocks.lsp

Maar let op: jij bent de tweede gebruiker van deze lisp (als je begrijpt wat ik bedoel  :wink:).

Groet, Roy.

Hey Roy.. dankjewel voor de lisp,
... maar bij het commando RemoveEmptyBlocks of DoIt ik krijg volgende foutmelding : ; error: bad DXF group: nil
.. het commando REB copieert die block architectuur 'ergens' in model en geeft daarna dezelfde foutmelding.. :shock:

Dus ik vermoed dat de lisp nog niet helemaal op punt staat.. :mrgreen:

PS : eugh... vergeef me.. maar ik heb geen idee waar die 'tweede gebruiker' op slaat... :?

groeten,

Manu
AutoCad 2000 - 2007 - 2008
Sketchup 4-5-6

roy_043

Beste Manu,

"Jij bent de tweede gebruiker" wil zeggen: deze lisp is nog maar getest door één persoon (de maker) er zullen nog wel foutjes in zitten.
En ... inderdaad. :mrgreen:

De lisp werkt in Bricscad 7 maar dus niet in Autocad 2008. Debuggen wordt dus moeilijk.
Maar als je zin/tijd hebt ...

Doe dan volgende:
Open een nieuwe lege tekening en teken daarin 2 dingen.
Laad de bijgevoegde proefje.lsp.
Geef het commando proefje.
Het resultaat is nu: of een foutmelding of je hebt een kopie van het laatste element (op dezelfde plaats).

Groet, Roy.

Manu

Haha Roy...... :D

Anyway, waar je precies heen wilt met de lisp 'testje' is me wel nog niet helemaal duidelijk.. maar bij gebruik wordt inderdaad een copie van het laatste element gemaakt op dezelfde plaats... maareugh.. en nu?

groeten,

Manu
AutoCad 2000 - 2007 - 2008
Sketchup 4-5-6

roy_043

Beste Manu,

Toen bleek dat de lisp niet werkte in AutoCad 2008 kon dat volgens mijn eerste inschatting twee oorzaken hebben. Omdat proefje.lsp werkt denk ik dat ik het probleem (althans dat hoop ik :roll:) nu weet. Dat probleem is op twee manieren op te lossen. De snelle/makkelijke oplossing tref je hier aan.

Groet, Roy.

Manu

Knap werk Roy... de lisp doet het perfect  :vreegoe: :vreegoe: :vreegoe:

Deze topic wordt afgerond .. met vermelding van Roy in de topictitel!!

Heel erg bedankt !  :ole: :pintje: :ole: 

groeten,

Manu

AutoCad 2000 - 2007 - 2008
Sketchup 4-5-6