FastFiber

Handig Script-tooltje in verkenner

Gestart door Petperm, za 31 03 2007, 19:14:36

Vorige topic - Volgende topic

Petperm

Handig Script-tooltje:
Omdat ik vond dat het handig zou zijn om autocad af te drukken zoals je bvb. Een Word-document afdrukt vanuit verkenner, heb ik aan mijn systeem de volgende dingen toegevoegd. (Bekijk ook de screenfoto.) Eveneens geschikt voor scripts.
In verkenner ga je naar de mapopties, tab 'Bestandstypen'. Je selecteert het 'DWG' type en drukt op geavanceerd. Een nieuw dialoogvenster opent waarin je het bestandstype kunt bewerken. Je klikt op nieuw.
Onder 'Actie' voeg je de naam van de tool in, bvb ' To script ' en onder 'Toepassing die voor de actie wordt gestart:' vul je het volgende in ' "C:\Program Files\AutoCAD 2005\acad.exe" "%1" "/b" "C:\Dos\Batch.scr" ' (let op de dubbele aanhalingstekens). Het is evident dat je andere versies gebruikt dat je dat overeenkomstig moet aanpassen. De ' %1 ' staat voor de tekening die je hebt aangeduid. De '/b' betekent dat je AutoCAD start met script. Het script bevindt zich (bij mij) in de map ' C:\Dos\ ' en noemt ' Batch.scr '.
Je maakt een snelkoppeling naar je bureaublad zodat je het script snel kan oproepen en aanpassen. Vergeet niet in deze script op het laatst de regels ' qsave ', ' quit ' & ' yes ' toe te voegen. En zo kan je dus een tekening selecteren, rechtsklikken, en een script laten starten. De ' quit ' & ' yes ' zorgen er voor de autoCAD automatisch sluit als de script afgehandeld is.
Dit tooltje is niet echt geschikt op grote hoeveelheden tekeningen te verwerken, maar voor een tiental gaat het goed genoeg. Ideaal als een geïrriteerde werfleider je vraagt om in een klein werfdossier de naam van een contractor in titelhoek moet veranderen of zo. Tiens, klinkt dat te gefustreerd?

Petperm

#1
Het tooltje in verkenner maar dan uitgebreider.

In plaats van het scriptje rechtstreeks op te starten van af de context menu heb ik klein .vbs-prgramma geschreven dat de bestandsnamen in een lijst zet. Daarna start ik de echte bacher de tekeningenlijst afgaat om een voor een de tekeningen te openen.

U doet het volgende:
1° In verkenner ga je naar de mapopties, tab 'Bestandstypen'. Je selecteert het 'DWG' type en drukt op geavanceerd. Een nieuw dialoogvenster opent waarin je het bestandstype kunt bewerken. Je klikt op nieuw. Onder 'Actie' voeg je de naam van de tool in, bvb ' Add to filelist ' en onder 'Toepassing die voor de actie wordt gestart:' vul je het volgende in ' Wscript.exe "C:\VBS\Generate_filelist.vbs" "%1" ' (let op de dubbele aanhalingstekens). Hiermee wordt dus de lijst gegenereerd.
Voor de kenners: dit is eigelijk ook iets dat je rechtstreeks in het register kan doen.
Je kan het VBscript ook in de "Send To" map zetten. Hou er dan rekening mee dat er een maximum is aan het aantal bestandsnamen die je in de lijst kan plaatsen. Het heeft iets te maken met het aantal karakters dat er in de argumenten terecht komen. (Met andere woorden: Ik weet het dus ook niet   :wink: .)
2° Vervolgens start je het batch programma op. Als het programma is afgelopen wordt de filelijst weggeschreven onder een andere naam voor eventueel later de lijst nogmaals te gebruiken.

Geen foutenbehandeling en ook geen vangnetten als het verkeerd gaat. Zover ben ik nog niet.
Alle suggesties welkom

2010-03-31 IK HEB GEMERKT DAT IK EEN VERKEERDE FILE HEB GEUPLOAD. DUS HEB IK DAT GECORRIGEERD

BarryCad

Bedankt voor dit tooltje.  :vreegoe:
Heb hem inmiddels een paar dagen in gebruik en het bevalt me echt prima. Dit werkt makkelijk en snel.

Heb nog wel een vraag over hetvolgende:

CiteerDit tooltje is niet echt geschikt op grote hoeveelheden tekeningen te verwerken, maar voor een tiental gaat het goed genoeg.

Wat moet ik verstaan onder grote hoeveelheden?  100, 200?
AutoCad 2012

Petperm

#3
Euh...
Eigenlijk weet ik het niet. Het argument "%1" is een string dat de paden van de bestanden bevat. Deze string heeft een maximum. Dat kan evengoed 32768 als 65536 tekens lang zijn. Dat is nu net wat ik niet weet. Als u veel bestanden gebruikt met een kort pad en een korte bestandsnaam dan kan u dus meer bestanden verwerken en anders minder.
Maar als u uitgebreidere bestandslijsten wilt maken kan ik u het volgende aanraden: 'Clickie 1.1' Dit tooltje kopieert het pad & bestandsnaam van alle geselecteerde bestanden met een rechter muisklik naar het clipbord. Die plak je dan in de fileslijst. Dit bestand is te vinden in 'C:/Temp/Fileslist.txt'. Op Clickie zit blijkbaar geen beperking. En ik maak toch geregeld lijsten van enkele honderden bestanden.
Een tweede tooltje dat ik zelf probeerde is in de bijlage. Je selecteert de bestanden die je wilt hebben. Drukt 'CTRL+C' en activeert Filenames2list.exe. Dit gaat in Filenames2list.ini kijken waar hij de lijst moet aanmaken. En daar genereert hij dan de lijst van de geselecteerde bestanden. Je kan dus het pad van die lijst laten overeenkomen met die van de lijst in ScriptAcadFilesInFileslist.vbs.
Normaal gesproken kan je 'Filenames2list.exe' & 'Filenames2list.ini' eender waar op je computer zetten, zolang ze maar in hetzelfde pad staan.
2010-04-12. Dezelfde bestanden maar dan in een zip, hopelijk werkt dit beter.

BarryCad

Dankje, ik zal er eens mee gaan stoeien.  :vreegoe:
AutoCad 2012

sschevers

Ik vermoed dat het argument "%1"  niet langer dan 256 karakters mag zijn. Dit zo'n beetje de maximale string lengte die windows goed kan behappen. Overigens het nadeel van vbs script is dat niet iedereen deze mag starten. Bij ons in het bedrijf is vbs standaard gekoppeld aan notepad. Dus bij dubbel klikken zit ik tegen een script aan te kijken ipv dat het wordt gestart. Dit ivm veiligheid. VBS kan nogal eens wat kwalijke code bevatten. Er is overigens wel een workaround voor. Op de commandline  wscript.exe <naam van script> en dan start het script als nog.

Wil je toch batch plotten kijk dan eens naar BABE van Joop (heb ik overigens geen ervaring mee). Daar kun je precies hetzelfde mee maar dan vanuit de context van autocad.

Ik moet wel zeggen dat ik het een zeer creatieve oplossing vind voor het plotten van tekeningen

greetz stephan

Petperm

#6
Stephan
Bij ons in het bedrijf zijn er ook wat veranderingen geweest. We hebben een Document Management Systeem (blablabla) gekregen. Dat betekent dat ik mijn tekeningen niet meer vanuit Verkenner kan starten. Dus al deze tooltjes die ik hier heb geplaatst zijn eigenlijk voor mij onbruikbaar geworden.
Ik ben in een andere richting gaan zoeken. Nu heb ik een nieuw programma gemaakt in VBA. Ja, ik weet het. In AutoCAD 2010 wordt dat niet meer bijgeleverd, maar ObjectArx ligt op dit moment buiten mijn bereik. En VisualLisp ging ook niet niet.
De bedoeling van het programma is om alle tekeningen die in de AutoCAD sessie geopend zijn te batchen. Dat is in elk geval de default instelling. Via een aantal opties kan je dan een script (snel) maken of selecteren, de geopende tekeningen of de tekeningen uit een lijst batchen, etc... Enfin, meer uitleg in de zip file.
Het is enkel te gebruiken via de command line. Ik ben niet zo'n toolbar fanaat.
Ik nodig iedereen uit voor commentaar.
PetPerm

sschevers

#7
PetPerm,

check onderstaande link eens
http://through-the-interface.typepad.com/through_the_interface/2010/03/marchs-plugin-of-the-month-live-on-autodesk-labs-batch-publish-for-autocad.html

Hiermee kun je tekeningen aan batch omzetten naar dwf en afhankkelijk van je autocad versie ook naar PDF.

Heeft je Document Management Systeem geen optie voor het plotten van je tekeningen?

Overigens als je bezig bent met vba is de stap naar vb.net  redelijk  te doen. Dit zou een mooie vinger oefening zijn. Ik moet toegeven het is behoorlijk wennen maar er gaat een wereld voor je open als je ziet wat voor extra mogelijkheden je tot je beschikking krijgt.

stephan

HofCAD

Beste Petperm,

Als ik het programma Filenames2List.exe opstart, krijg ik de melding
C:\test\Filenames2List.exe is geen geldige Win32-toepassing.

Met vriendelijke groet, HofCAD CSI.
ACADcadabra

Petperm

Citaat van: sschevers op ma 12 04 2010, 10:13:27
Hiermee kun je tekeningen aan batch omzetten naar dwf en afhankkelijk van je autocad versie ook naar PDF.
Heeft je Document Management Systeem geen optie voor het plotten van je tekeningen?

Wel, over het algemeen gebruik ik een batch tool als een manier om scripts te runnen. Het omzetten van dwg's naar dwf of pdf is slechts één van de dingen die ik met dit kan doen. Plotten gaat natuurlijk ook. Ik heb gewoon veel tekeningen waar veel het zelfde moet gebeuren: purgen, titels exporteren naar excel, kaders uit de tekeningen van de leveranciers halen, de kader van de klant erin, titels importeren, etc... En dan zijn die scripts, en tegenwoordig die 'Action Recorder', erg handig.
Over dat DMS systeem: Eigenijk is dat een systeem voor Microstation. Tja management, hé. Dus de links voor AutoCAD zijn wat minimaal, als ik zo mag stellen.
PetPerm

Petperm

#10
Citaat van: HofCAD op ma 12 04 2010, 11:15:13
C:\test\Filenames2List.exe is geen geldige Win32-toepassing.

Geen idee, eigenlijk. Ik heb die toepassing gemaakt in VB 2008 Express Edition voor WindowsXP. En alles leek wonderwel te werken. Op het werk heb ik deze .exe ook verdeeld en daar zijn geen problemen opgedoken.
Gebruikt u misschien Windows7 of Vista?

PetPerm

HofCAD

Citaat van: Petperm op ma 12 04 2010, 12:52:41
Geen idee, eigenlijk. Ik heb die toepassing gemaakt in VB 2008 Express Edition voor WindowsXP. En alles leek wonderwel te werken. Op het werk heb ik deze .exe ook verdeeld en daar zijn geen problemen opgedoken.
Gebruikt u misschien Windows7 of Vista?

PetPerm
Beste Petperm,

Nee, gewoon Windows XP.

Met vriendelijke groet, HofCAD CSI.
ACADcadabra

Petperm

Citaat van: HofCAD op ma 12 04 2010, 13:10:06
Nee, gewoon Windows XP.

Ik had ook problemen met de files die ik downloadde. Als u teruggaat naar het oorspronkleijke berichtje staan er dezelfde files maar dan in een zip.
PetPerm

HofCAD

Beste PetPerm,

Het werkt via de zip wel.
Bedankt.

Met vriendelijke groet, HofCAD CSI.
ACADcadabra

BarryCad

Heb nog een 'probleem'  gevonden.

Als ik 10 pagina's (genummerd van 1 tot 10) af laat drukken via de verkenner dan komen ze in een compleet andere volgorde uit de printer.

Is dit op te lossen??
AutoCad 2012

FastFiber