exceeded maximum number of selection sets
Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: AutoCAD
Popis fóra: Otázky kolem aplikací AutoCAD a AutoCAD LT, AutoCAD web, prohlížečů, DWG a DXF, Design Review, Navisworks, nadstavby, Drive a cloud Autodesk
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=7434
Datum vytištění: 05.čer.2026 v 00:34
Téma: exceeded maximum number of selection sets
Odeslal: PetrKonecny
Předmět: exceeded maximum number of selection sets
Datum odeslání: 23.říj.2008 v 08:39
Zdravím. Mám problém s AutoCADem...
Po cca hodinové práci v AutoCADu mi to vyhodí tuto hlášku "exceeded maximum number of selection sets" (překročen maximální počet výběrů) a pak už nemůžu používat nějaké příkazy (jako například izolace hladiny), pokud něco vyberu, tak ve vlostnostech mám "no selection"...
Na anglickým fóru jsem se dočetl, že problém je v tom, že je omezen maximální počet výběrů na 128. Byl tam nějaký lisp (od DotSoftu) na vymazání výběrů, ale ten bohužel nefunguje. Nevíte někdo, jak to vyřešit - resetovat každou hodinu CAD je fakt otravný 
PS: Mám WinXP, ACAD 2007 SP2 EN PSS: Omlouvám se za anglické výrazy - v CZ CADu jsem nikdy nedělal, tak přesné české ekvivalenty neznám...
|
Odpovědi:
Odeslal: alfred
Datum odeslání: 23.říj.2008 v 09:08
Asi nejaka utilita, ktera neustale pridava selekce. V napovede k funkci (ssget) je:
If the maximum number of selection sets is reached, you must call the (gc) function to free unused memory before another ssget will work.
Takze, neni treba restartovat AutoCad, staci spustit
(gc)
Jinak, pokud zjistite jaka utilita to dela a mate od ni zdrojovy kod tak to muzete zkusit opravit tak, ze se bud promena pro selekci po pouziti nastavi jako nil a nebo ze se promenne se selekci nastavi pouze jako lokalni a budou zapomenuty po skonceni funkce.
|
Odeslal: PetrKonecny
Datum odeslání: 23.říj.2008 v 12:31
On to nejspíš dělá prográmek, co jsem psal já... Zkusil bych nastavit proměnné jako lokální, jen nevím, jak se to dělá - pokud to teda není to, že mám vypsané proměnné za defun C:xxx ( / proměnná1 proměnná2) - v tom případě jsem asi nějakou zapoměl vymazat...
|
Odeslal: alfred
Datum odeslání: 23.říj.2008 v 13:10
Presne tak, musi byt v
(defun c:xxx ( / lokalni promenne)
)
za lomitkem.
Mozna jste na neco zapomnel. Nepredpokladam, ze by jste v jedne rutine mel vice nez 128 vyberu.
Take by slo po pouziti vyberu nastavit hodnotu promenne na nil.
|
Odeslal: Ferdinand
Datum odeslání: 23.říj.2008 v 13:14
To by nemělo vadit, když je uvedeno více proměnných za lomítkem než jsou ve skutečnosti v lispu použity. Myslím, že to nevadí ani opačně - pokud za lomítkem nejsou napsány žádné proměnné, i když jsou použity.
ED: ...A není tomu náhodou ve Vašem případě naopak? Že by byla použita jako globální proměnná (tj. uvedeno před lomítkem)?
------------- -FerTh-
|
Odeslal: PetrKonecny
Datum odeslání: 23.říj.2008 v 13:35
|
Tak jsem si kontroloval prográmek a všechny proměnné mám napsané za lomítkem). Tak to asi bude dělat nějaká jiná - což je problém, páč aktivně používám velkou spoustu lispů - nedá se nějak zjistit které proměnné jsou ve výběru?
|
Odeslal: PetrKonecny
Datum odeslání: 23.říj.2008 v 14:23
Tak mi o5 AutoCAD hlásí vyčerpání výběrů a (gc) bohužel vůbec nepomáhá.
Když zadám (mem), tak mi to vypíše toto...
"; GC calls: "104"; GC run time: "393" ms" "\nDynamic memory segments statistic:\n"" PgSz Used Free FMCL Segs Type\n" 512 14 494 123 4 lisp stacks 256 6329 982 291 17 bytecode area 4096 598 2 2 40 CONS memory 32 1278 705 351 1 ::new 4096 104 346 14 30 DM Str 4096 620 10 2 42 DMxx memory 128 4 507 506 1 bstack body "Segment size: "65536", total used: "135", free: "3
|
Odeslal: Vladimír Michl
Datum odeslání: 23.říj.2008 v 17:08
|
Zřejmě nerušíte proměnné/symboly vašich výběrových množin (setq SS nil) nebo neuzavíráte a nerušíte vaše soubory otevřené z LISPu.
Viz: http://www.cadforum.cz/cadforum/qaID.asp?tip=3418 - http://www.cadforum.cz/cadforum/qaID.asp?tip=3418
Pokud ale vzhledem k profesi používáte AutoCAD Civil (ne AutoCAD), může být příčina ještě v nějaké doplňkové nadstavbě.
------------- Vladimír Michl (moderátor) ARKANCE CZ - https://arkance.world - arkance.world (podpora viz emea.support.arkance.world)
|
Odeslal: alfred
Datum odeslání: 23.říj.2008 v 18:05
To jsem nevěděl, že "selection sets" je i pro otevřené soubory. Když otevřu soubor, tak ho samozřejmě musím zavřít (close file)
jinak zůstane otevřený a nemají na to lokální/globální proměnné nemají vliv. Ale selekce se chová jinak, nebo ne? Na tu by stačilo použít lokální proměnnou, pouze když bych měl v jenom lispu mnoho výběrů, tak bych na limit narazil a musel bych ho rušit tím (setq SS nil). Nebo se pletu?
|
Odeslal: Vladimír Michl
Datum odeslání: 23.říj.2008 v 19:35
Výběrové množiny i soubory sdílejí stejnou sadu "slotů". Proměnné (popisovače) souborů je potřeba uzavřít a ještě uvolnit přiřazením na prázdnou hodnotu (nil) - pokud tedy nejsou uvolněny automaticky v rámci ukončení procedury.
------------- Vladimír Michl (moderátor) ARKANCE CZ - https://arkance.world - arkance.world (podpora viz emea.support.arkance.world)
|
Odeslal: PetrKonecny
Datum odeslání: 07.lis.2008 v 09:53
|
Dá se podle nějakého výpisu (např: (mem) ) zjistit kde je chyba? Lispů používám velkou spoustu a všechny je procházet a kontrolovat je prakticky nemožný (už jen kvůli tomu, že jsem většinou nepsal já a moc se v nich nevyznávám).
|
Odeslal: Vladimír Michl
Datum odeslání: 07.lis.2008 v 10:19
Kde je chyba asi nezjistíte, ale že se chyba "blíží" (nebo po jaké funkci se stav zhorší), to z výpisu poznáte. Třeba z (mem) - lispstack/Used.
------------- Vladimír Michl (moderátor) ARKANCE CZ - https://arkance.world - arkance.world (podpora viz emea.support.arkance.world)
|
Odeslal: PetrKonecny
Datum odeslání: 07.lis.2008 v 10:26
|
OK. Děkuji. Zkusím se podívat jak se mění hodnota lisp stacks - used po jednotlivých lispech...
|
Odeslal: PetrKonecny
Datum odeslání: 07.lis.2008 v 12:32
Tak to moc nechápu. Po startu ACADu 2007 mi (mem) vypíše toto:
"; GC calls: "21"; GC run time: "32" ms" "\nDynamic memory segments statistic:\n"" PgSz Used Free FMCL Segs Type\n" 512 51 203 105 2 lisp stacks 256 2201 718 291 9 bytecode area 4096 230 10 10 16 CONS memory 32 840 1143 1108 1 ::new 4096 165 90 10 17 DM Str 4096 275 10 10 19 DMxx memory 128 4 507 506 1 bstack body "Segment size: "65536", total used: "65", free: "0
a ve chvíli, kdy mi to píše přečerpání "exceeded maximum number of selection sets", tam mi (mem) vypíše toto:
"; GC calls: "21"; GC run time: "32" ms" "\nDynamic memory segments statistic:\n"" PgSz Used Free FMCL Segs Type\n" 512 8 119 86 1 lisp stacks 256 2178 741 291 9 bytecode area 4096 231 9 9 16 CONS memory 32 840 1143 1108 1 ::new 4096 80 175 14 17 DM Str 4096 280 5 3 19 DMxx memory 128 4 507 506 1 bstack body "Segment size: "65536", total used: "64", free: "1
Buď jsem buď úplně blbej, nebo nevím, ale nevidím v tom nic, co by mi říkalo, že jsem přečerpal "selection sets". Začínám mít pocit, že je to chyba AutoCADu 2007, páč si neuvědomuji, že by mi to někdy udělalo ve verzi ACAD 2006...
|
Odeslal: Vladimír Michl
Datum odeslání: 07.lis.2008 v 13:19
Nevím - můžete ještě zkusit uvolnit globální symboly pomocí funkce SSCLEAN z tipu 3418.
------------- Vladimír Michl (moderátor) ARKANCE CZ - https://arkance.world - arkance.world (podpora viz emea.support.arkance.world)
|
Odeslal: PetrKonecny
Datum odeslání: 07.lis.2008 v 13:26
|
To jsem už taky zkoušel. :-( Ale díky moc za pomoc. Zkusím zas testovat který lisp to dělá a uvidím...
|
|