Hallo,
Hoe kan ik een lisproutine aan een icoontje koppelen?
Groetjes,
met welke AutoCAD versie werk je?
VERSIE 2005
sorry, ik werk in AutoCAD2000.. ik weet dus niet of de gevraagde procedure onveranderd is gebleven.... misschien vindt je de procedure in de Help-functie..?
succes!
^C^C^P(cond ((null c:staal-lig) (load "staal-lig")) (T (princ))) ^Pstaal-lig
deze lisp heet staal-lig.lsp
boven zie je de macro die nodig is om hem met een button te starten
waarbij de lisp indien nodig eerst geladen wordt
(de lisp diend in het zoekpad van autocad te zijn opgeslagen)
ps de menu structuur is al vanaf de eerste versie waarmee ik begon (10)
nauwelijks gewijzigd er zijn alleen een paar dingentjes bijgekomen
Dit werkt perfect THX!!!!
Wat dacht je hiervan ^C^C_gear
Waar <gear> de naam van het lisp progamma is.
Guus
Citaat van: AnonymousWat dacht je hiervan ^C^C_gear
Waar <gear> de naam van het lisp progamma is.
Guus
Dit is correct als gear.lsp geladen wordt via acad.lsp.
Citaat van: AnonymousWat dacht je hiervan ^C^C_gear
Waar <gear> de naam van het lisp progamma is.
Guus
dat is mogelijk maar zoals julien ook al zie moet je lisp dan wel geladen zijn
Ik heb er met de tijd ca. 400 lispen (geschreven / verzameld / aangepast) deze kan je met de huidige hardware waarschijnlijk ook nog wel zonder probleemen allemaal in het geheugen laden
Maar voorheen was dit echt niet te doen (mijn eerste cad systeem had iets van 8 of 12 MB intern geheugen en dan moest je echt een beetje rustig aan doen met dergelijke zaken)
Maar ook nu geld nog hoe minder ballast hoe sneller je systeem werk.
Sorry even niet verder nagedacht, dacht dat het even ging om een enkelvoudige lisp.
Guus
Je kunt eigenlijk beter geen code achter je buttons plaatsen.
Hiervoor bestaat je lisp omgeving (Vlisp) .. defun c: etc etc
Als je alle code achter buttons verschuilt is het geheel niet beheersbaar onoverzichtelijk en niet transparant
Achter je button staat eigenlijk alleen een commando..
:wink:
Citaat van: [email]cadtools@gmail.com[/email]Je kunt eigenlijk beter geen code achter je buttons plaatsen.
Hiervoor bestaat je lisp omgeving (Vlisp) .. defun c: etc etc
Als je alle code achter buttons verschuilt is het geheel niet beheersbaar onoverzichtelijk en niet transparant
Achter je button staat eigenlijk alleen een commando..
:wink:
:?:
Er staat ook geen code achter.
er wordt alleen getest of de lisp is geladen. Zo ja dan wordt de lisp uitgevoerd.
Zo nee dan wordt hij geladen en vervolgens uitgevoerd.
Bart schrijft:
CiteerIk heb er met de tijd ca. 400 lispen (geschreven / verzameld / aangepast) deze kan je met de huidige hardware waarschijnlijk ook nog wel zonder probleemen allemaal in het geheugen laden
Maar voorheen was dit echt niet te doen (mijn eerste cad systeem had iets van 8 of 12 MB intern geheugen en dan moest je echt een beetje rustig aan doen met dergelijke zaken)
Je moet er wel aan denken dat met oudere versies van LISP programmas je de kans loopt dat ze niet meer goed draaien.
Je krijgt dan de b.v. foutmelding:
CiteerProtected Acad symbol!
De oorzaak ligt in het feit dat in oudere versies variabelenamen gebruikt zijn die nu als LISP of SYSTEM variabelen gebruikt worden.
Dit oplossen kan wat speurwerk kosten. :?
Waarom laat je lips in achter de button ..?
Waarom niet gewoon een .vlx voor routines en plaats alleen een commando achter je button .. vlx laat sneller, lichter, beter
Beheer van je lsip (achter je buttons) lijkt niet overzichtelijk.
cadtools@gmail.com schreef:
CiteerWaarom niet gewoon een .vlx voor routines en plaats alleen een commando achter je button .. vlx laat sneller, lichter, beter
Elke keer dat je een tekening opent worden de in acaddoc.lsp, acad.lsp en eventueel eigenmenu.lsp gedefinieerde lisp, arx en vlx routines geladen.
Nog afgezien van de in appload gedefineerde routines.
Uitzondering kan acad.lsp zijn indien je dit in de opties aangeeft .
Als je veel routines hebt en je opent op een dag veel tekeningen, dan duurt het allemaal "erg" lang. Vooral elektro tekenaars weten wat ik
bedoel.
Het gros van deze routines wordt over het algemeen zelden gebruikt.
juistem.. en precies om deze rede is vlx compressie bedacht ;-)
Probeer het eens. Ik heb zelf mijn eigen verzamelwerk (ca. 5 jr.) gecompileerd. Het duurt denk ik nog geen 0.4 sec. om routines.vlx in te lade (startup suite) !!!
kijk eens elders op deze site onder : applicatie beschrijving !!!!!
Met vriendelijke groet
CADTOOLS@GMAIL.COM