CADsite

  • do 21 02 2019, 01:49:19
  • Welkom, gast
Log in of registreer jezelf.

Login met gebruikersnaam, wachtwoord en sessielengte
Geavanceerd zoeken  

Nieuws:

Pagina's: [1]   Omlaag

Auteur Topic: lijst met geopende tekeningen  (gelezen 846 keer)

gery

  • vaste forumklant
  • *****
  • Offline Offline
  • Berichten: 457
    • Bekijk profiel
lijst met geopende tekeningen
« Gepost op: wo 17 10 2018, 20:13:32 »

Met LISP code (vlax-map-collection (vla-get-documents (vlax-get-acad-object)) '(lambda (x) (setq #lst (reverse (cons (vla-get-name x) #lst))))) kan ik een lijst maken met daarin alle op dat moment geopende tekeningen. Echter, deze staan in een willekeurige volgorde. Hoe kan ik diezelfde lijst bekomen maar met de tekeningen in de volgorde zoals ze geopend zijn?
Gelogd
AutoCAD 2017 - Windows 10

roy_043

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 1430
  • BricsCAD 18
    • Bekijk profiel
    • www.b-k-g.nl
Re: lijst met geopende tekeningen
« Reactie #1 Gepost op: do 18 10 2018, 09:09:50 »

In de lambda gebruik je reverse. Dus jouw code gooit e.e.a. door elkaar.
Gelogd

gery

  • vaste forumklant
  • *****
  • Offline Offline
  • Berichten: 457
    • Bekijk profiel
Re: lijst met geopende tekeningen
« Reactie #2 Gepost op: do 18 10 2018, 09:46:06 »

In de lambda gebruik je reverse. Dus jouw code gooit e.e.a. door elkaar.
Inderdaad, was me nog niet opgevallen, normaal keert "reverse" de lijst gewoon om, maar dat blijkt niet zo te zijn.
Bedankt!
Gelogd
AutoCAD 2017 - Windows 10

roy_043

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 1430
  • BricsCAD 18
    • Bekijk profiel
    • www.b-k-g.nl
Re: lijst met geopende tekeningen
« Reactie #3 Gepost op: do 18 10 2018, 09:57:10 »

Reverse werkt naar behoren...
Gelogd

gery

  • vaste forumklant
  • *****
  • Offline Offline
  • Berichten: 457
    • Bekijk profiel
Re: lijst met geopende tekeningen
« Reactie #4 Gepost op: do 18 10 2018, 10:39:01 »

Zonder "reverse" staan alle open tekeningen netjes opgelijst, maar in omgekeerde volgorde van opening. Met "reverse" wordt de lijst niet correct omgekeerd. Raar.
Gelogd
AutoCAD 2017 - Windows 10

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2331
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Gelogd

roy_043

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 1430
  • BricsCAD 18
    • Bekijk profiel
    • www.b-k-g.nl
Re: lijst met geopende tekeningen
« Reactie #6 Gepost op: do 18 10 2018, 15:14:14 »

@Gery: Je stapelt reverse op reverse:

(setq lst (reverse (cons 1 lst))) => (1)
(setq lst (reverse (cons 2 lst))) => (1 2)
(setq lst (reverse (cons 3 lst))) => (2 1 3)
...

Probeer dit:
(reverse (vlax-for doc (vla-get-documents (vlax-get-acad-object)) (setq lst (cons (vla-get-name doc) lst))))
Gelogd

gery

  • vaste forumklant
  • *****
  • Offline Offline
  • Berichten: 457
    • Bekijk profiel
Re: lijst met geopende tekeningen
« Reactie #7 Gepost op: vr 19 10 2018, 08:59:58 »

Klopt Roy, 'k had het ondertussen ook ontdekt.

Bedankt voor het meedenken allen!
Gelogd
AutoCAD 2017 - Windows 10
Pagina's: [1]   Omhoog