CADsite forum

AutoCAD => Autolisp => Topic gestart door: delangstevandestraat op wo 08 04 2020, 09:59:33

Titel: viewports tellen geeft niet het juiste antwoord: UITGELEGD=OPGELOST
Bericht door: delangstevandestraat op wo 08 04 2020, 09:59:33
Ik heb een dwg met slechts 1 layout en daarop staat er 1 viewport,

als ik kijk via quickselect krijg ik ook als antwoord 1 viewport

echter als ik dit vanuit lisp tel via
(setq aantalvp (sslength (ssget "x" (list (cons 0 "viewport")))))
dan zegt ie 2 ?

dit is iets dat autocad blijkbaar doet, want in bijlage een lege tekening met enkele lijnen
en ook hier zelfde telfout vanuit lisp

iemand een idee waar lisp die tweede viewport gevonden heeft ?
Titel: Re: viewports tellen geeft niet het juiste antwoord
Bericht door: EddyBeerke op wo 08 04 2020, 10:35:18
Je layout is toch ook een viewport?

CiteerCommand: (ssget "x" (list (cons 0 "viewport")))
<Selection set: 1445>

Command: SELECT

Select objects: p 2 found
1 was the paper space viewport.

Select objects: *Cancel*

Command: *Cancel*
Titel: Re: viewports tellen geeft niet het juiste antwoord
Bericht door: bart op wo 08 04 2020, 11:47:51
Wat gebeurd er als een extra vieuwport aanmaakt
je layout een keer kopieer heb je dan 6 of 8 vieuwports?

Weet de oorzaak niet al is deze waarschijnlijk met wat zoekwerk wel te achterhalen.

maar als het structureel is kan je het simpel oplossen door het aantal layouts er af te halen.
of het getelde aantal door 2 te delen als hij ze allemaal dubbel telt

ps. als testtekening zou ik echt een simpele line gebruiken geen x-line


Titel: Re: viewports tellen geeft niet het juiste antwoord: UITGELEGD=OPGELOST
Bericht door: delangstevandestraat op do 09 04 2020, 10:51:14
@eddy

dus een layout is een viewport op zich? maar die niet reageert als een viewport die kijkt naar modelspace.

@bart
een extra vieport geeft 3
enkele xlines vind je altijd makkelijk terug van paper naar model en terug als het een drukke tekening is.

maar goed dus : in lisp moet je in gedachten er eentje aftrekken eigenlijk dan ;-)

bedankt voor de uitleg beerke ;-)