CADsite forum

AutoCAD => Autolisp => Topic gestart door: EddyBeerke op di 11 06 2013, 08:32:54

Titel: Instelling veranderen na (command "pline") [Opgelost!!!]
Bericht door: EddyBeerke op di 11 06 2013, 08:32:54
Ik wil een bestaand programma aanpassen.
In het kort het volgende:
(defun c:PLW ()
  (setq plwOld (getvar "PLINEWID")) ;vraag de plinewid op
  (setvar "PLINEWID" 0.25) ; geef nieuwe plinewid op
  (command "pline")
  (princ)
)

De gebruiker moet een pline tekenen, of commando pline afbreken.
De pline wordt nu met de instelling "PLINEWID" op 0.25 getekend.
Nu werkt deze code goed maar ik wil de "PLINEWID" weer op de oude instelling terug zetten als de gebruiker klaar is met deze lisp.
Dit zou ik dan doen met:
(setvar "PLINEWID" plwOld)
Maar als ik deze regel zet na (command "pline") dan wordt (setvar "PLINEWID" plwOld) eerst uitgevoerd.

Kan het en zo ja hoe moet ik dat aanpakken?
Titel: Re: Instelling veranderen na (command "pline")
Bericht door: roy_043 op di 11 06 2013, 09:05:43
Als de Lisp niet wordt afgebroken dan werkt dit:
(command "_.pline")
(while (/= (getvar 'cmdactive) 0)
  (command pause)
)
(setvar 'plinewid plwOld)


Als je wilt dat het ook goed gaat als de gebruiker de Lisp afbreekt dan zul je een *error* functie moeten inzetten of eventueel van reactors gebruik moeten maken.
Titel: Re: Instelling veranderen na (command "pline")
Bericht door: HofCAD op di 11 06 2013, 09:10:05
Beste Eddy,

Probeer uit de bijlage: Plw.lsp

Met vriendelijke groet, HofCAD CSI

PS: Had maar naar reactie 14 gekeken in "Bepaalde comando's in een bepaalde layer ?"
http://www.cadsite.be/smf/index.php?topic=5708.0 (http://www.cadsite.be/smf/index.php?topic=5708.0) in het bestand MyLayCom2.lsp met het programma MyLayRev. :pintje:
Titel: Re: Instelling veranderen na (command "pline")
Bericht door: EddyBeerke op di 11 06 2013, 09:54:50
Alvast bedankt ga het straks even bekijken.   :vreegoe:
Titel: Re: Instelling veranderen na (command "pline") [Opgelost!!!]
Bericht door: EddyBeerke op di 11 06 2013, 10:31:51
 Bedankt roy_043 en HofCAD  :ole:  :pintje: