ARKANCE - globální Platinum partner Autodesk ARKANCE | KONTAKT - CZ | SK | EN | DE
Registrujte se na 22. ročník konference CADfórum 2025 - 30.9. Zámek Valeč.
Přes 119.000 registrovaných u nás, celkem 1.098.000 registrovaných (CZ+EN), přes 53.000 CAD/BIM bloků. Vyzkoušejte nový přesný Inženýrský kalkulátor a aktualizovaný Generátor čarových kódů.
Registrujte se na konferenci CADfórum 2025 - automatizace navrhování
RSS kanál - CAD tipy RSS tipy
RSS diskuze

Diskuze Diskuzní fórum, poradna

?
CAD diskuze, rady, výměna zkušeností

CAD Fórum - Homepage Veřejné diskuzní fórum k CAD aplikacím - ptejte se na libovolné otázky týkající se oboru CAx, podělte se o vaše znalosti a zkušenosti s programy AutoCAD, Inventor, Revit, Fusion, 3ds Max, Vault a s dalšími CAD/BIM/PDM aplikacemi. Zaregistrujte se nebo se přihlašte a zašlete váš příspěvek do odpovídajícího fóra. Viz další informace o CAD Fóru. Nechcete se registrovat? Zeptejte se v naší Facebook poradně.
Fórum nenahrazuje technický support firmy ARKANCE (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.arkance-systems.cz
  FAQ FAQ  Prohledat fórum   Události   Registrovat Registrovat  Přihlásit Přihlásit

Téma uzavřenovýpis hladin-2

 Odpovědět Odpovědět archiv
Autor
Ferdinand Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 01.říj.2004
Lokalita: ČR (JM)
Používám:
AutoCAD2004 (EN) na Windows XP
Stav: Offline
Bodů: 1906
Přímý odkaz na tuto zprávu Téma: výpis hladin-2
    Zasláno: 17.srp.2009 v 14:11
Poněvadž téma je již uzavřeno, a potřebuji opět prodebatovat:
Příklad od p. Seinera je opravdu inspirující (až na nějaké nejasnosti: k čemu tam slouží prom. "t" a "typ" ?).
Nyní jsem narazil na nutnost vytvoření "filtrovaného" seznamu hladin, tj. ze všech hladin udělat dílčí seznam pouze začínajících stejným kódem.
Příklad:
Existující sada hladin je s názvy
R6.00-build, R6.00-dim, R6.00-el, ...
k tomu ještě samozřejmě existuje mnoho dalších (i podobných - např. R6.25-build, R6.25-dim, ...). Celkem je jich dejme tomu 75 .
Předpona R6.00- (prom. PREDP) je zvolena při založení nové sady hladin (pomocí lispu).
Mým cílem je seznam, který bude obsahovat pouze ty které jsou R6.00-*
Stávající rutinka - na zákl. vzoru p. Seinera:
;;seznam hladin
;;-bez filtru
(defun C:layerlist (/ LAY LYRL i tt)
  (setq LAY  0
 LYRL nil
  )
  (tblnext "LAYER" LAY)
  (while LAY
    (setq LAY (cdr (assoc 2 (tblnext "LAYER"))))
    (if LAY
      (setq LYRL (append LYRL (list LAY)))
    )
  )
)
 
Pro ten filtr se nedá použít proměnné PREDP jako argumentu:
(if (wcmatch LAY PREDP)
...
 
-FerTh-
Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 17.srp.2009 v 14:52
Už moc nevím, o co šlo, ale zřejmě jsem Vám tenkrát jen vypreparoval kousek kódu z nějakého mého staršího prográmku a ty proměnné tam prostě zůstaly. Myslím, že jsem to požíval v projektu, který vytvářel zadání pro prográmek pro výpočet prutových a rámových konstrukcí a typ byl druh prvku.
Nevím, jestli jsem úplně pochopil dotaz, ale filtrovat podle začátku názvu hladiny by šlo primitivně třeba takto:
 
;;seznam hladin
;;-bez filtru
(defun C:layerlist (/ LAY  i tt)
  (setq LAY  0
 LYRL nil
  )
  (tblnext "LAYER" LAY)
  (while LAY
    (setq LAY (cdr (assoc 2 (tblnext "LAYER"))))
    (if LAY
      (if (=(SUBSTR LAY 1 (STRLEN PREDP))PREDP)
      (setq LYRL (append LYRL (list LAY))))
    )
  )
)
 
(Seznam hladin jsem vyhodil z lokálních proměnných, abych to mohl testovat)
Vítězslav Seiner

Chrudim
Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 17.srp.2009 v 15:08
1. Nevidím důvod, proč by nešel použít wcmatch
2. Asi by bylo dobré odstranit "case-sensitivity" pomocí fce STRCASE
Vítězslav Seiner

Chrudim
Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 17.srp.2009 v 15:36
;;seznam hladin
;;-bez filtru
(defun C:layerlist (/ LAY  i tt)
  (setq LAY  0
 LYRL nil
  )
  (tblnext "LAYER" LAY)
  (while LAY
    (setq LAY (cdr (assoc 2 (tblnext "LAYER"))))
    (if LAY
       (if (WCMATCH  (STRCASE LAY) (STRCAT (STRCASE PREDP) "*"))
      (setq LYRL (append LYRL (list LAY))))
    )
  )
)
Vítězslav Seiner

Chrudim
Zpět nahoru
Ferdinand Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 01.říj.2004
Lokalita: ČR (JM)
Používám:
AutoCAD2004 (EN) na Windows XP
Stav: Offline
Bodů: 1906
Přímý odkaz na tuto zprávu Zasláno: 18.srp.2009 v 08:03
To jsem pak špatně pochopil fci wcmatch - měl jsem za to, že slouží právě k tomu, aby se zohlednily jakékoliv znaky v řetězci (bez ohledu na malá/velká písmena).
Nechápu, k čemu je dobré ve výrazu to zdvojení:
(if (wcmatch  (strcase LAY) (strcat (strcase PREDP) "*"))
Doposud jsem používal takhle:
(strcase "aBcD123eF");vrací aBcD123eF
(strcat "aBcD123eF");vrací ABCD123EF
Proměnná PREDP může být jakýkoliv řetězec (jsou tam malá/velká písmena, čísla, znaky...):
(setq PREDP
    (getstring
      "\nZadejte předponu názvu sady hladin vč. oddělovače [-/./_] <R6_Fx-> : "
    )
    )
-FerTh-
Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 18.srp.2009 v 08:09
No, jde o to, jestli to chcete mít case sensitiv nebo ne. Osobně bych se tomu snažil vyhnout - uživatelé to dost těžko chápou.
To "zdvojení" je IMHO triviální - zkonvertuji oba porovnávané řetězce na velká písmena.
Co se týká wcmatch - snadno otestujete, když vyhodíte to strcase.
Vítězslav Seiner

Chrudim
Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 18.srp.2009 v 08:50
IMHO jste to ve vaší odpovědi zpřeházel - STRCAT je zřetězení a NEMŮŽE měnit velikost písmen. Je tam proto, abyste na hodnotu proměnné PREDP přilepil tu hvězdičku a udělal z toho vzor pro hledání.
Vítězslav Seiner

Chrudim
Zpět nahoru
Ferdinand Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 01.říj.2004
Lokalita: ČR (JM)
Používám:
AutoCAD2004 (EN) na Windows XP
Stav: Offline
Bodů: 1906
Přímý odkaz na tuto zprávu Zasláno: 18.srp.2009 v 16:24
Aha, fakt, omluva... jak jsem to chtěl rychle napsat, tak se mi to pomotalo (i mně se to stává...Geek).
Výsledný efekt používání m/v písmen názvů tkví v tom, že 1.
KDYŽ NAPIŠU VŠE VELKÝMI PÍSMENY tak to zabere více místa v tabulce editoru hladin, ale
Když napišu vše 1malými písmeny tak to zabere místa méně...(což se může zdát jako prkotina, ale při delším řetězci je markantní - na obrazovce je při maximalizaci okna cca. 10 cm místa pro popis a stává se, že to nestačí).
2. popis je jednoznačný. Příklad:  1Lo1o (jedna_el_o_jedna_o) vs. 1lo10 anebo 11010, B86 (bé_osm_šest) vs. 886, Z0na (zet_nula_en_a) vs. zona ...atd. Ale to je už tak trochu na jiné téma.
-FerTh-
Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 18.srp.2009 v 21:40
Ale to jste mne poněkud nepochopil. Já vůbec nezpochybňuji praktičnost nebo nepraktičnost používání velkých/malých písmen v názvech hladin. Šlo mi čistě o ten filtr hladin. Pokud jsou voleny minusky a verzály jen z důvodu čitelnosti, viděl bych jako vhodné, aby filtr nebral ohled na velikost písma. Jestli to připravujete nejen pro sebe, vyhnete se opakovaným reklamacím, že program špatně pracuje: "Vždyť jsem zadal předponu KLM a ono mi to nenašlo hladinu Klmxy!" Ale to je opravdu jen na okraj a mimo téma dotazu. Jinak doufám, že jsem Vám aspoň trochu pomohl postrčit řešení Vašeho problému.
Vítězslav Seiner

Chrudim
Zpět nahoru
Ferdinand Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 01.říj.2004
Lokalita: ČR (JM)
Používám:
AutoCAD2004 (EN) na Windows XP
Stav: Offline
Bodů: 1906
Přímý odkaz na tuto zprávu Zasláno: 19.srp.2009 v 11:29
Dobře; děkuji.
-FerTh-
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 4411:Seřazení hladin podle barvy, typu čáry, viditelnosti.
Tip 3858:Jak potlačit výpis hladin xrefů v panelu hladin?
Tip 4710:Snadný tisk a uložení seznamu hladin AutoCADu.
Tip 1021:Jak exportovat seznam hladin AutoCADu LT do textového souboru?
Tip 1671:Nevýznamné desetinné nuly se nezobrazí funkcí (rtos).
Tip 12871:Jak vypnout vypisování hladin z xrefů?


 Odpovědět Odpovědět

Přejít na fórum Oprávnění fóra Zobrazit panel



Stránka byla vygenerována za 0,381 sekund.