Již 10.000+ CAD tipů.
Přes 118.500 registrovaných u nás, celkem 1.094.000 registrovaných (CZ+EN), přes 53.000 CAD/BIM bloků.
Vyzkoušejte nový přesný Inženýrský kalkulátor.
Kompletní příkazy AutoCADu a proměnné AutoCADu 2026.
Diskuzní fórum, poradna
?CAD diskuze, rady, výměna zkušeností

Fórum nenahrazuje technický support firmy ARKANCE (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.arkance-systems.cz
|
Odpovědět ![]() |
archiv |
Autor | |
johny ![]() TOP uživatel ![]() Přihlášen: 24.led.2006 Lokalita: ČR (JM) Používám: C3D 2024 Stav: Offline Bodů: 1741 |
![]() Zasláno: 24.lis.2009 v 14:27 |
Zdravim,
dělám si jednoduchý filtr na výběr objektů. Pointa je takováto: (1) spustím filtr - (2) vyberu objekty pro určení hladin - (3) vyberu objekty pro další příkaz - (4) spustím příkaz (např. copy) (defun C:FR ( / ss-flt hld index) (princ "\nVyber objekty pro filtr hladin <nic=aktuální>:") (setq ss-flt (ssget) index 0 hld "") (if ss-flt (progn (setq n (sslength ss-flt)) (repeat n (setq hld (strcat hld "," (cdr (assoc 8 (entget (ssname ss-flt index)))))) (setq index (+ 1 index)))) (setq hld (getvar "CLAYER"))) (cadr (sssetfirst nil (ssget (list (cons 8 hld))))) ) Ten program je obdobou prográmku dle tipu 6364 http://www.cadforum.cz/cadforum/qaID.asp?tip=6364 jen chci, aby těch hladin bylo možné i víc než jedna. Program dělá co potřebuju, ale s jedním nepřirozeným detailem - že výběr v kroku 3 musím neprve ukončit (enter) a pak teprve spustit příkaz, který pracuje s tímto výberem. Asi to je jen detail, ale jednoduše je to nepřirozené... a už se vidím, kolikrát se zapomenu a nekliknu. dík Upravil johny - 24.lis.2009 v 14:37 |
|
![]() |
|
Vladimír Michl ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
Moderátor ![]() ![]() Arkance Systems Přihlášen: 09.zář.2004 Lokalita: ČR (JČ) Používám: Implementujeme řešení Autodesk Stav: Offline Bodů: 21907 |
![]() |
![]() |
|
johny ![]() TOP uživatel ![]() Přihlášen: 24.led.2006 Lokalita: ČR (JM) Používám: C3D 2024 Stav: Offline Bodů: 1741 |
![]() |
Jj, pravda. Dokonce jsem ji i kdysi stáhnul a zkoušel... ale nezvykl jsem si na tu převrácenou logiku - vybírej a pak filtruj...
|
|
![]() |
|
alfred ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
TOP uživatel ![]() Přihlášen: 14.říj.2004 Lokalita: ČR (JČ) Používám: AutoCad MAP 2011 Stav: Offline Bodů: 1675 |
![]() |
Máte dvakrát (SSGET)
Poprvé vybíráte Podruhé jste také nezadal "sel-method" tak vybíráte znovu. Kdybyste si to projel debugrem, tak Vám je to hned jasné. Řešení - u druhého (ssget) zadejte způsob výběru - "sel-method" . Např. (cadr (sssetfirst nil (ssget "X" (list (cons 8 hld))))) |
|
![]() |
|
Vladimír Michl ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
Moderátor ![]() ![]() Arkance Systems Přihlášen: 09.zář.2004 Lokalita: ČR (JČ) Používám: Implementujeme řešení Autodesk Stav: Offline Bodů: 21907 |
![]() |
Ne, v SELLAY se nefiltruje, ale rovnou vybírá hladina ukázáním na "příklady" objektů. Buď můžete objekty vybrat předem - např.:
SELLAY ... POSUN
nebo během příkazu:
POSUN 'SELLAY ...
|
|
![]() |
|
johny ![]() TOP uživatel ![]() Přihlášen: 24.led.2006 Lokalita: ČR (JM) Používám: C3D 2024 Stav: Offline Bodů: 1741 |
![]() |
No myslim, že to je asi správně...
první výběr je jen pro určení filtrovaných hladin (těch zůstávajích) druhý pak už pro výběr objektů... na který bude aplikován filtr sel-methodu pro druhý výběr bych nechal obyčejnou - běžně oknem Upravil johny - 24.lis.2009 v 16:35 |
|
![]() |
|
alfred ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
TOP uživatel ![]() Přihlášen: 14.říj.2004 Lokalita: ČR (JČ) Používám: AutoCad MAP 2011 Stav: Offline Bodů: 1675 |
![]() |
Pak tedy nerozumim co chcete. Pokud chcete vybirat vic entit v prvnim vyberu pak je jasne, ze toto vybirani musite ukoncit odkliknutim. Pokud by jste vybiral jinou metodou - napriklad jednu entitu pak si prislusne nastavte "sel-method" u prvniho vyberu (ssget). To same pro druhou selekci.
|
|
![]() |
|
johny ![]() TOP uživatel ![]() Přihlášen: 24.led.2006 Lokalita: ČR (JM) Používám: C3D 2024 Stav: Offline Bodů: 1741 |
![]() |
To p. Michl
Asi je to jenom o slovech. SELLAYS i můj program, v obou případech se vybírají příklady objektů, které pak zůstanou. Rozdíl je v pořadí. Já vyberu nejdřív příklady a pak samotné objekty (mám nad nimi aktuální vizuálni kontrolu), kdyžto SELLAYS naopak (filtr aplikuje se "naslepo"). To alfred: S prvním výběrem máte pravdu a já s tím nemám problém. Problém, který řeším souvisí s tím druhým výběrem. Tady tento bych nechtěl ukončovat entrem, páč při normální práci to taky neděláte - jednoduše se ten výběr ukončí se spuštěním následujícího příkazu (kopie, posun)... Asi je to opravdu chiméra... jednoduše enter musí zůstat. Díky za snahu. Upravil johny - 24.lis.2009 v 18:28 |
|
![]() |
Pro technickou podporu CAD
kontaktujte Helpdesk
Odpovědět ![]() |
|
Přejít na fórum | Oprávnění fóra ![]() Nemůžete vytvářet nová témata v tomto fóru Nemůžete odpovídat na témata v tomto fóru Nemůžete vymazávat vaše příspěvky v tomto fóru Nemůžete upravovat vaše příspěvky v tomto fóru Nemůžete vytvářet ankety v tomto fóru Nemůžete hlasovat v anketách v tomto fóru |
Stránka byla vygenerována za 1,332 sekund.