CADsite forum

AutoCAD => Autolisp => Topic gestart door: derockere op zo 04 03 2018, 10:26:04

Titel: Hoe op eenvoudige manier kan ik een script file aanmaken [Opgelost]
Bericht door: derockere op zo 04 03 2018, 10:26:04
Recentelijk heb ik Autocad symbolen die gemaakt zijn onder Autocad 10 moeten openen en saven.
Zodat ik nu ook die symbolen kan zien in het preview venster wanneer ik een symbool wil inserteren.
Zodoende heb ik een Lisp routine gemaakt om de boel op te zuiveren, alsook een script bestand om alle tekenigen een voor een te openen en te bewerken met deze Lisp routine.
Alvorens de script samen te stellen heb ik een batch gemaakt die alle info uit de map in tekstformaat omzet.
Nu ben ik op zoek naar een systeem waarmee ik deze tekst kan aanpassen zodat er automatisch een script mee word gemaakt. Want dit was wel héél wat kopie en plakwerk alvorens dit gemaakt was.
Ik heb er een zip bestandje bijgevoegd, want meerdere dingen kon ik niet uploaden.
Titel: Re: Hoe op eenvoudige manier kan ik een script file aanmaken
Bericht door: derockere op zo 04 03 2018, 10:39:14
In het zip bestandje zit natuurlijk de Lisp routine niet in.
Titel: Re: Hoe op eenvoudige manier kan ik een script file aanmaken
Bericht door: EddyBeerke op di 06 03 2018, 08:30:15
Dit lijkt op een BaBe actie.
Kijk eens naar de volgende post:
https://www.cadsite.be/smf/index.php?topic=2811.0

Wat betreft de purge actie:
Vergeet niet de regaps te purgen.
Misschien eerst de active Layer, TextStyle e.d. op de default instellingen zetten.
Daarna purgen.
Titel: Re: Hoe op eenvoudige manier kan ik een script file aanmaken
Bericht door: derockere op do 08 03 2018, 08:30:55
Als ik "babe" intik dan krijg ik de melding 'ARXLOAD failed'.
Kan er me misschien iemand uitleggen hoe ik de DOSLib17.arx kan installeren?
Ik heb via "Options" de map waarin alles staat onder 'Trusted' geplaatst.
Verder weet ik echt niet hoe ik verder kan met "Babe".
Titel: Re: Hoe op eenvoudige manier kan ik een script file aanmaken
Bericht door: EddyBeerke op do 08 03 2018, 14:02:22
Citaat van: derockere op do 08 03 2018, 08:30:55
Als ik "babe" intik dan krijg ik de melding 'ARXLOAD failed'.
Kan er me misschien iemand uitleggen hoe ik de DOSLib17.arx kan installeren?
Welke versie van Autocad gebruik je?
Je kunt de DOSLib hier downloaden:
https://wiki.mcneel.com/doslib/home
Titel: Re: Hoe op eenvoudige manier kan ik een script file aanmaken
Bericht door: gery op do 08 03 2018, 14:21:22
Ik gebruik deze freeware regelmatig, simpel maar handig:
http://www.cadig.com/products/autocad-script-pro.php (http://www.cadig.com/products/autocad-script-pro.php)

Je kiest de script en de tekeningen waarop je de script wil toepassen, en het programma doet de rest.
Titel: Re: Hoe op eenvoudige manier kan ik een script file aanmaken
Bericht door: derockere op vr 09 03 2018, 20:25:16
Ik heb versie 2018 van Autocad.
De DOSLib22x64.arx is de juiste Arx voor deze versie.
Ik heb dus wel degelijk die van 'mcneel' gedownload.
Deze ARX heb ik in de map geplaatst waar dat mijn Lisp-routines staan.
Daarna heb ik via "appload" die bewuste ARX in de "Contents" gestopt.
Na het intikken van "Babe" deed deze direct wat moest.
Tot hier ben ik dus al geraakt. De rest zal voor het weekend of later worden.
In ieder geval het werkt. Daarvoor mijn DANK!
Titel: Re: Hoe op eenvoudige manier kan ik een script file aanmaken
Bericht door: derockere op za 10 03 2018, 07:59:20
Als Lisp-routines heb ik nu de volgende:
Babe_vuller5en6
Babe_printA4_all
Babe_Plot-All-Layouts
Babe_MakeSlide
Babe_DxfToDwg
Met deze op zichzelf kan ik persoonlijk niet veel doen.
Kan ik in dit geval een eigen gemaakte Lisp-routine ervoor gebruiken?
Moet ik deze hernoemen met "Babe_" ervoor?
En moet dan iedere hervormde Lisp beginnen met ' (defun c:DoIt () '?
Titel: Re: Hoe op eenvoudige manier kan ik een script file aanmaken
Bericht door: gery op za 10 03 2018, 10:37:57
derockere, dit is perfect voor wat u wil bereiken, echter zonder de tussenstap van een "volledige" script te schrijven, die functionaliteit doet het programma nl. zelf:

Citaat van: gery op do 08 03 2018, 14:21:22
Ik gebruik deze freeware regelmatig, simpel maar handig:
http://www.cadig.com/products/autocad-script-pro.php (http://www.cadig.com/products/autocad-script-pro.php)

Je kiest de script en de tekeningen waarop je de script wil toepassen, en het programma doet de rest.
Titel: Re: Hoe op eenvoudige manier kan ik een script file aanmaken
Bericht door: derockere op za 10 03 2018, 16:28:10
Dag Gerry,
Ik zoek in feite een handige manier om een zelfstandige script te maken, een die gebruik maakt van een Lisp-routine die ik zelf aanwijs.
Titel: Re: Hoe op eenvoudige manier kan ik een script file aanmaken
Bericht door: EddyBeerke op za 10 03 2018, 22:55:20
Citaat van: derockere op za 10 03 2018, 07:59:20
Als Lisp-routines heb ik nu de volgende:
Babe_vuller5en6
Babe_printA4_all
Babe_Plot-All-Layouts
Babe_MakeSlide
Babe_DxfToDwg
Met deze op zichzelf kan ik persoonlijk niet veel doen.
Kan ik in dit geval een eigen gemaakte Lisp-routine ervoor gebruiken?
Moet ik deze hernoemen met "Babe_" ervoor?
En moet dan iedere hervormde Lisp beginnen met ' (defun c:DoIt () '?
Ja, ja en ja.
Het script dat gemaakt wordt roept een commando aan dat luistert naar "doit".
Zo kun je een bepaalde handeling (een lisp routine) uitvoeren over meedere tekeningen.
Dat bereik je door een routine te schrijven met :
(defun c:doit ()
; Roep hier je eigen routines aan met bv:
(C:joueigencommando)
; of
(joueigenfunctie)
(princ)
)

(defun C:joueigencommando ()
(princ "jou eigen commando")
(princ)
)

(defun joueigenfunctie ()
(princ "dit is jou eigen functie")
)
Titel: Re: Hoe op eenvoudige manier kan ik een script file aanmaken
Bericht door: derockere op zo 11 03 2018, 07:21:25
Citaat van: EddyBeerke op di 06 03 2018, 08:30:15
Dit lijkt op een BaBe actie.
Kijk eens naar de volgende post:
https://www.cadsite.be/smf/index.php?topic=2811.0

Wat betreft de purge actie:
Vergeet niet de regaps te purgen.
Misschien eerst de active Layer, TextStyle e.d. op de default instellingen zetten.
Daarna purgen.

Ik heb gisteravond mijn originele Lisp-routine aangepast met in de benaming ervan "Babe_" ervoor te zetten en in de commando van deze lisp mijn eigen (defun enz..) te vervangen door (defun c:DoIt ().
Dit werkt dus PRIMA!
Ik heb enkel nog één vraagje. Wat bedoel je juist met 'Regapps' enz..?
Titel: Re: Hoe op eenvoudige manier kan ik een script file aanmaken
Bericht door: derockere op ma 12 03 2018, 12:44:23
Voor de uitleg over 'Regapps' heb ik een gepaste uitleg gevonden op:
https://cadsetterout.com/autocad-tutorials/how-to-optimize-your-autocad-dwg/#regapps
Ik kies bij 'Purge' altijd voor All, dus denk ik wel dat deze erbij zit.
Hierbij bezie ik het als opgelost.
Bedankt om mee te denken!
Titel: Re: Hoe op eenvoudige manier kan ik een script file aanmaken [Opgelost]
Bericht door: gery op ma 12 03 2018, 13:26:55
Purge regapps:

(command "_.-purge" "_Regapps" "*" "_No")
Titel: Re: Hoe op eenvoudige manier kan ik een script file aanmaken [Opgelost]
Bericht door: EddyBeerke op ma 12 03 2018, 14:26:21
Citaat van: derockere op ma 12 03 2018, 12:44:23
Ik kies bij 'Purge' altijd voor All, dus denk ik wel dat deze erbij zit.
Dit heb je verkeerd gedacht!
Bij "ALL" zitten de regapps er niet bij... Die blijven dus in je tekening staan.
Titel: Re: Hoe op eenvoudige manier kan ik een script file aanmaken [Opgelost]
Bericht door: derockere op ma 12 03 2018, 15:51:51
OOPS!
Titel: Re: Hoe op eenvoudige manier kan ik een script file aanmaken [Opgelost]
Bericht door: gery op ma 12 03 2018, 20:05:46
Citaat van: EddyBeerke op ma 12 03 2018, 14:26:21
Citaat van: derockere op ma 12 03 2018, 12:44:23
Ik kies bij 'Purge' altijd voor All, dus denk ik wel dat deze erbij zit.
Dit heb je verkeerd gedacht!
Bij "ALL" zitten de regapps er niet bij... Die blijven dus in je tekening staan.

Daarvoor gebruik ik deze code:

(command "_.-purge" "_Regapps" "*" "_No")
Titel: Re: Hoe op eenvoudige manier kan ik een script file aanmaken [Opgelost]
Bericht door: derockere op di 13 03 2018, 06:49:22
Dag Gery,
Ik heb het regeltje van jou in mijn Lisp filetje geplaatst, en het werkt!
Maar ik heb een bedenking. Als deze instructie werd uitgevoerd heb ik eens via "F2" gekeken wat die nu juist heeft verricht ziehier het resultaat:

Command: _.-purge
Enter type of unused objects to purge [Blocks/DEtailviewstyles/Dimstyles/Groups/LAyers/LTypes/MAterials/MUltileaderstyles/Plotstyles/SHapes/textSTyles/Mlinestyles/SEctionviewstyles/Tablestyles/Visualstyles/Regapps/Zero-length geometry/Empty text objects/Orphaned data/All]: _Regapps Enter name(s) to purge <*>: * Verify each name to be purged? [Yes/No] <Y>: _No Deleting registered application "ACAD_EXEMPT_FROM_CAD_STANDARDS".
Deleting registered application "AcadAnnotative".
2 registered applications deleted.

Ik vind persoonlijk dat er nogal véél commentaar bij te pas komt. Is dit normaal?
Daarna heb ik eens naar het uiteindelijk resultaat in de verkenner gekeken.
Oorspronkelijk had deze tekening een grootte van 90kB nu is het 96kB??
Titel: Re: Hoe op eenvoudige manier kan ik een script file aanmaken [Opgelost]
Bericht door: EddyBeerke op di 13 03 2018, 07:50:29
Zo te zien zijn er 2 regapps verwijderd.
Gaat dus helemaal goed!
Dat de tekening nu iets groter is kan door het opslaan komen.
Misschien versie verschil?
Titel: Re: Hoe op eenvoudige manier kan ik een script file aanmaken [Opgelost]
Bericht door: gery op di 13 03 2018, 07:58:43
Citaat van: derockere op di 13 03 2018, 06:49:22Ik vind persoonlijk dat er nogal véél commentaar bij te pas komt. Is dit normaal?

Dat is normaal.

Citaat van: derockere op di 13 03 2018, 06:49:22Daarna heb ik eens naar het uiteindelijk resultaat in de verkenner gekeken. Oorspronkelijk had deze tekening een grootte van 90kB nu is het 96kB??

In welke versie was de originele tekening bewaard?
Titel: Re: Hoe op eenvoudige manier kan ik een script file aanmaken [Opgelost]
Bericht door: derockere op di 13 03 2018, 09:02:21
De tekening is in de oorspronkelijke versie bewaard.
T.t.z. Autocad 2018.
Toch nog bedankt voor jullie interesse!