hoe lisp beeindigen met een geselecteerd item OPGELOST

Gestart door delangstevandestraat, wo 23 03 2022, 18:44:45

Vorige topic - Volgende topic

delangstevandestraat

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 ?
Ik hou van werken,
ik kan er uuuren naar kijken...
daarom zorg ik ook dat er altijd genoeg overblijft voor morgen :-)

gery

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"?
AutoCAD 2020 - Windows 10

Reimer

Je kunt hiervoor gebruik maken van PSELECT.
(defun c:test ( / OBJ)
  (setq OBJ (entsel "\nSelecteer een object:"))
  (command "_.pselect" OBJ "")
  (princ)
)


Groeten,
Reimer

delangstevandestraat

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
Ik hou van werken,
ik kan er uuuren naar kijken...
daarom zorg ik ook dat er altijd genoeg overblijft voor morgen :-)

delangstevandestraat

@ reimer, bedankt, deze oplossing heeft het juiste resultaat ;-)
Ik hou van werken,
ik kan er uuuren naar kijken...
daarom zorg ik ook dat er altijd genoeg overblijft voor morgen :-)

gery

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.
AutoCAD 2020 - Windows 10

dexus

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))