CADsite forum

AutoCAD => AutoCAD probleem => Topic gestart door: jan janssen op do 21 11 2013, 16:50:32

Titel: Purge-commando [Opgelost]
Bericht door: jan janssen op do 21 11 2013, 16:50:32
Ik ben bezig een opstarttemplate aan te maken voor AutoCAD 2014.
Ik wil in deze opstarttemplate een aantal TEXT Styles voorzien zodat we deze standaard kunnen gebruiken.

Wanneer we een nieuwe tekening aanmaken wordt die aangemaakt op basis van de opstarttemplate.
Een probleem stelt zich wanneer bij de aangemaakte tekening het purge-Commando wordt uitgevoerd. TEXT Styles die op dat moment nog niet gebruikt zijn, verdwijnen na het uitvoeren van dit purge-commando (als dit automatisch wordt uitgevoerd).
Is het mogelijk om vb deze TEXT Styles toch te behouden? Is het mogelijk ergens in te stellen dat deze Styles na een purge niet verwijderd worden?
Titel: Re: Purge-commando
Bericht door: hulpje op vr 22 11 2013, 07:54:40
Je zou een script kunnen maken, waarin je de -purge commando uitvoert.
Met de -purge optie, heb je de mogelijkheid om alles, behalve de textstyles te purgen uit je tekening.

Daarnaast kun je in je template al een tabblad aanmaken, waarin je je kader zet, met daarin de textstyles die behouden moeten blijven.
(Ik heb een dynamisch kader, met al mijn benodigde kader formaten. Hoef dus niet elke keer een nieuw kader te inserten, alleen tabblad kopiëren en kader vergroten of verkleinen.
Voorbeeld van een dynamisch kader kun je vinden in de lessen op CADSite.be
http://www.cadsite.be/cursus/les_4/les04.php )
Titel: Re: Purge-commando
Bericht door: EddyBeerke op vr 22 11 2013, 08:36:09
Kort antwoord:
Ja, dat kan.

Beter antwoord:
Bij ons hebben we een menu item dat de template insert als block en deze naar keuze verwijderd.
Hierdoor kunnen gebruikers heel snel weer de 'oude' instellingen van dimstyles, mstyles, talbestyles, textstyles  en layers weer terug krijgen.
Je zou ook een lisp kunnen maken om een textstyle aan te kunnen maken.

Als je, met een lisp hier op deze site, de dingen zo maakt dat je ze niet uit de tekening kan halen, wordt de tekening (en misschien ook xrefs) onnodig 'zwaar'.
Het purgen is niet voor niets gemaakt om de tekening op te schonen van niet gebruikte dingen.
Een aantal opdrachtgevers eisen zelfs dat niet gebruikte dingen uit de tekening verwijderd moet worden.
Zelfs layers die uitstaan mogen niet in de opgeleverde tekening zitten.

Mijn advies: Vast zetten... niet doen!
Titel: Re: Purge-commando
Bericht door: jan janssen op vr 22 11 2013, 08:39:44
@Hulpje:
Een script of iets dergelijks is idd een oplossing die ik zelf ook voor ogen had, ben alleen niet zo thuis in die dingen.
De tweede optie met het BIB-tabblad lijkt me een handig en eenvoudig alternatief. Bedankt voor de tip!

@EddyBeerke:
Insert als block?
BEdoeling is van deze tekening dat deze altijd gestart wordt wanneer een nieuwe tekening gemaakt wordt. Je zou deze tekening dan altijd bij aanmaak van een nieuwe tekening, inserten als block in die nieuwe tekening?
Titel: Re: Purge-commando
Bericht door: EddyBeerke op vr 22 11 2013, 09:08:47
Nee, je start met jou template.
Dus bv de "Template.DWT"
Als er door de gebruiker gepurged wordt dan kan de gebruiker later de "Template.DWG" inserten zodat de dingen die eigenlijk niet weg moesten weer terug in de tekening gezet kan worden.
Wij doen dat met een routine die in ons eigen menu zit.
Titel: Re: Purge-commando
Bericht door: hulpje op vr 22 11 2013, 09:10:10
Jan,

Hierbij de script die ik gebruik voor purgen
=================================
;PURGE 14-12-2009
;qsave toegevoegd 22-12-2009
-PURGE
A
*
N
-PURGE
R
*
N
-PURGE
A
*
N
qsave
===================================
De 1e A staat voor All, hier zul je dus de afkortingen van alle opties moeten maken.
Nadat alles ge-purged is, wordt er nog een keer gepurged, nu specifiek de Regapps. (Deze worden niet verwijderd met de normale purge)
Tot slot wordt nog een keer alles ge-purged en afgesloten met een qsave.
Omdat ik deze vaak gebruik, heb ik het op mijn toolpalette gezet.
Titel: Re: Purge-commando
Bericht door: delangstevandestraat op vr 22 11 2013, 10:05:11
Het principe van hulpje doe ik ook, maar dan iets dieper,

Ik heb een knopje aangemaakt, Allin, met een lisp er achter hangen,
Ik heb ook een Allin.dwg met alle blocks die zouden kunnen nodig zijn in hun laatste versie.

Het knopje Allin doet eerst een purge (3 keer ofzo) om alle nested blocks er ook uit te krijgen,

Daarna een insert van de Allin.dwg, en deze delete ik ook onmiddellijk weer, waardoor alles wel in de achtergrond zit, maar er toch met een simpele purge weer uit is.

zalig knopje  8)



(defun c:allin (/ blockName)
  (setq blockName "H:\\eigen blocks\\allin.dwg")
  (command "-purge" "all" "*" "no")
  (command "-purge" "all" "*" "no")
  (command "-purge" "all" "*" "no")
  (command "_.insert" blockname "1000,1000,0" "1" "1" "0")
  (command "erase" "last" "")
)
(princ)
Titel: Re: Purge-commando
Bericht door: jan janssen op vr 22 11 2013, 10:27:18
Allemaal bedankt voor de oplossingen. Oplossingen zijn duidelijk.

@delangstevandestraat: heerlijk citaat btw
Titel: Re: Purge-commando [Opgelost]
Bericht door: hulpje op vr 22 11 2013, 11:26:53
Ik ben gek op zalige knopjes  :D

Alleen werkt dit knopje niet als je LT hebt  :mrgreen:

Gelukkig kun je wel deze acties nog verwerken in een script.
Titel: Re: Purge-commando [Opgelost]
Bericht door: EddyBeerke op vr 22 11 2013, 15:15:38
Zo jammer dat de meeste mensen niet alles purgen wat er te purgen valt.
Dit is een stukje van mijn code.
Ik wil met name wijzen op de Empty text objects, Zero-length geometry, maar vooral de Regapps.
Deze laatste worden van de xrefs in de hoodtekening meegenomen waardoor de tekening met een paar lijnen heel groot kan worden. Soms heb ik uit een bestand de regapps verwijderd en had ik nog ongeveer 10% van de bestandsgrote over:

(command "-purge" "DE" "" "n") ; DEtailviewstyles *** ac2013
(command "-purge" "G" "" "n") ; Groups *** ac2013
(command "-purge" "D" "" "n") ; Dimstyles *** ac2007
(command "-purge" "B" "" "n") ; Blocks *** ac2007
(command "-purge" "LA" "" "n") ; LAyers *** ac2007
(command "-purge" "LT" "" "n") ; LTypes *** ac2007
(command "-purge" "MA" "" "n") ; MAterials *** ac2007
(command "-purge" "MU" "" "n") ; MUltileaderstyles *** ac2010
(command "-purge" "SH" "" "n") ; SHapes *** ac2007
(command "-purge" "ST" "" "n") ; textSTyles *** ac2007
(command "-purge" "M" "" "n") ; Mlinestyles *** ac2007
(command "-purge" "T" "" "n") ; Tablestyles *** ac2007
(command "-purge" "V" "" "n") ; Visualstyles *** ac2007
(command "-purge" "PL" "" "n") ; Plotstyles *** ac2007
(command "-purge" "Z") ; Zero-length geometry *** ac2010
(command "-purge" "E") ; Empty text objects *** ac2010
(command "-purge" "B" "" "n") ; Blocks *** ac2007 2e keer
(command "-purge" "LA" "" "n") ; LAyers *** ac2007 2e keer
(command "-purge" "R" "" "n") ; Regapps *** ac2007
Titel: Re: Purge-commando [Opgelost]
Bericht door: hulpje op vr 22 11 2013, 16:30:28
Eddy,

In mijn scriptje worden ook de Regapps ge-purged  :wink:
Titel: Re: Purge-commando [Opgelost]
Bericht door: bart op vr 22 11 2013, 20:10:32
het is alle een tijdje niet meer nodig om purge all te herhalen.
ik geloof vanaf acad 2008

de regapss moet je er nog well appart uithalen
Titel: Re: Purge-commando [Opgelost]
Bericht door: EddyBeerke op ma 25 11 2013, 08:51:27
Citaat van: bart op vr 22 11 2013, 20:10:32
het is alle een tijdje niet meer nodig om purge all te herhalen.
ik geloof vanaf acad 2008

de regapss moet je er nog well appart uithalen
Dat is niet helemaal correct.
Als in een dimstyle een bock wordt gebruikt dan wordt deze er met de eerste keer "all" niet gepurged.
Dat kan alleen als het bock niet meer bestaat en blocks worden eerst verwijderd.
In z'n block zouden ook nog layers gebruikt kunnen worden ook die staan dan nog in de tekening.

Twee keer purgen is dus heel gebruikelijk.
Titel: Re: Purge-commando [Opgelost]
Bericht door: bart op ma 25 11 2013, 13:38:30
Als je het vinkje purge nested items aanzet gaat dit vanzelf.
mogelijk is deze optie echter niet beschikbaar vanaf de commandline