CADsite forum

AutoCAD => Autolisp => Topic gestart door: delangstevandestraat op wo 23 03 2022, 18:44:45

Titel: hoe lisp beeindigen met een geselecteerd item OPGELOST
Bericht door: delangstevandestraat op wo 23 03 2022, 18:44:45
Ik heb een stukje code waarmee ik een bepaald item opzoek.
Ik zou graag op t einde van de routine dit item in een selectie nemen zodat de gebruiker er dan indien gewenst onmiddellijk mee aan de slag kan.
Ik heb de ent in een variabele blocksel zitten

(command "SELECT" blocksel "")

maar dit werkt niet..

echter in acad zelf

"select"
!blocksel


werkt wel ?
Titel: Re: hoe lisp beeindigen met een geselecteerd item
Bericht door: gery op wo 23 03 2022, 21:55:38
Als ik je goed begrijp, heb je in de ene lisp routine het gewenste item als selection set in een globale variabele "blocksel" gezet, en in een andere lisp routine wil je die variabele verder gebruiken? Dat kan, maar wat ik niet begrijp, is waarom je het item wil selecteren met "select"?
Titel: Re: hoe lisp beeindigen met een geselecteerd item
Bericht door: Reimer op do 24 03 2022, 09:26:22
Je kunt hiervoor gebruik maken van PSELECT.
(defun c:test ( / OBJ)
  (setq OBJ (entsel "\nSelecteer een object:"))
  (command "_.pselect" OBJ "")
  (princ)
)


Groeten,
Reimer
Titel: Re: hoe lisp beeindigen met een geselecteerd item
Bericht door: delangstevandestraat op do 24 03 2022, 09:54:54
Nee gery,

ter verduidelijking : er is maar één routine en op het einde van de routine wil ik terug in acad werken maar 't zou handig zijn dat als de routine klaar is dat het item dan reeds in de selectie zit.

dus idd, als de gebruiker dan "select" en de global var invult werkt dit, maar deze laatste actie had ik graag nog geautomatiseerd => minder typwerk voor de gebruiker
Titel: Re: hoe lisp beeindigen met een geselecteerd item
Bericht door: delangstevandestraat op do 24 03 2022, 10:33:16
@ reimer, bedankt, deze oplossing heeft het juiste resultaat ;-)
Titel: Re: hoe lisp beeindigen met een geselecteerd item
Bericht door: gery op do 24 03 2022, 13:09:35
Citaat van: delangstevandestraat op do 24 03 2022, 09:54:54
Nee gery,

ter verduidelijking : er is maar één routine en op het einde van de routine wil ik terug in acad werken maar 't zou handig zijn dat als de routine klaar is dat het item dan reeds in de selectie zit.

dus idd, als de gebruiker dan "select" en de global var invult werkt dit, maar deze laatste actie had ik graag nog geautomatiseerd => minder typwerk voor de gebruiker
Ah, oké, dan had ik je verkeerd begrepen, mijn excuses.

Maar ik heb wel weer iets bijgeleerd.
Titel: Re: hoe lisp beeindigen met een geselecteerd item OPGELOST
Bericht door: dexus op ma 30 05 2022, 13:11:29
Je kan het ook met sssetfirst doen, dus zonder command.
Moet het wel eerst een selectieset zijn, maar dat is te doen met ssadd.
Dus dan krijgt je onderstaande regel:
(sssetfirst nil (ssadd blocksel))