Vytisknout stránku | Zavřít okno

cstrip

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: CAD programování
Popis fóra: Otázky programování - nadstavby a utility pro CAD a GIS aplikace Autodesk (VBA, AutoLISP, ARX/C++, .Net, JavaScript, Python, MEL...)
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=5373
Datum vytištění: 11.čer.2026 v 00:14


Téma: cstrip
Odeslal: Ferdinand
Předmět: cstrip
Datum odeslání: 31.říj.2007 v 10:47
Kdysi jsem objevil lisp cstrip - pro odstranění duplicitních čar (tj. když čára je nakopírována "na sobě" vícekrát). Chtěl jsem tam doplnit sekci, kde by se "odstraňované" linky sečetly a ten počet by mi pak vypsal na přík. řádek. Ale nevím si s tím rady...
http://www.iproject.cz/get.asp?/Soubory/CAD%5FForum/U%9Eivatelsk%E9%2Dupload/CSTRIP.LSP - Tohle je celý lisp
Šlo by to rozšířit pro všechny entity, aby to nefungovalo pouze pro čáry? (Že by mi to hlásilo: "Bylo odstraněno nnn duplicitních entit"). Ve výkresové databázi se až tak moc nevyznám...


-------------
-FerTh-



Odpovědi:
Odeslal: Vladimír Michl
Datum odeslání: 31.říj.2007 v 10:54
To je nějaká podivná metoda/funkce vyžadující další aplikace. Nestačil by standardní příkaz OVERKILL (Express Tools)? Počet odstraněných entit vypisuje a funguje nejen na úsečky.

-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz emea.support.arkance.world)


Odeslal: Ferdinand
Datum odeslání: 31.říj.2007 v 16:19
Ano, to jsem k tomu nedodal - patří k tomu i aplikace strip.exe. Takže ď. za připomenutí ET - to mi vyhovuje.

-------------
-FerTh-


Odeslal: Ferdinand
Datum odeslání: 20.lis.2007 v 15:46

V dialogu příkazu overkill je defaultně přednastavená hodnota Numeric fuzz=0.000001 .  Která proměnná to řídí? Pokaždé přepisuji tuto hodnotu na např. 1 ale ta nezůstává zachována - při otevření dalšího výkresu je to opět 0.000001 Clown



-------------
-FerTh-


Odeslal: Vladimír Michl
Datum odeslání: 20.lis.2007 v 16:23
To řídí vnitřní proměnná Express Tools - můžete ji přednastavit (např. na 0.3456) pomocí:
 
(acet-setvar (list "ACET-OVERKILL-FUZZ" 0.3456 1))


-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz emea.support.arkance.world)


Odeslal: Ferdinand
Datum odeslání: 21.lis.2007 v 14:17

Děkuji Vám, Vladimíre. Ovšem to funguje jen v rámci aktuálního výkresu. Lze docílit, aby ta proměnná byla "natvrdo" nastavena pro AutoCAD (globálně)? Zkusil jsem to tak, že jsem to nastavil ve vzorovém výkresu acadiso.dwt a uložil - bohužel, při otevření nového výkresu hodnota je opět na defaultním 0.000001 Confused

Teď jsem se podíval do Registrů - tam je nějaký klíč v HKCU-Software-Autodesk-AutoCAD-R16.0-ACAD201:409-FixedProfile-General (ale také ještě jinde - celkem na třech místech):
ACET-OVERKILL-IGNORE   REG_SZ    STR__62
což nevím, co znamená. Nemělo tam (všude, kde je výše citovaný klíčQuestion) být ještě něco jako
ACET-OVERKILL-FUZZ 0.3456 1
ale nevím, jestli má být typu REG_SZ anebo REG_DWORD Question


-------------
-FerTh-


Odeslal: Vladimír Michl
Datum odeslání: 21.lis.2007 v 14:22
Problém je, že tyto ExpressTools proměnné se neukládají do výkresu (ani šablony). Navíc s nimi lze pracovat až když jsou v paměti načtené Express Tools.
Nezkoušel jsem to a nejsem si jist, jestli to bude správné pořadí a okamžik pro načítání, ale zkusil bych do ACADDOC.LSP popř. ACAD.LSP přidat řádky:
 
(arxload "ACETUTIL")
(acet-setvar (list "ACET-OVERKILL-FUZZ" 0.3456 1))
 


-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz emea.support.arkance.world)


Odeslal: Ferdinand
Datum odeslání: 22.lis.2007 v 10:12
To mne nenepadlo. Ano, takhle to funguje (tj. dopsat to do acad2004.lsp). Ď.

-------------
-FerTh-


Odeslal: Ferdinand
Datum odeslání: 06.pro.2007 v 08:41
...anebo také lze uložit nastavení do vzorového výkresu Lamp
Další dotaz: při průběhu fce overkill se na stavovém řádku dole zobrazuje proužek s "naplňovadlem" (počítá, kolik % je hotovo) - to je efektní a dává přehled, jak dlouho to potrvá. Poněvadž se v programování nejsem až tak zběhlý, zajímalo by mne, jestli to zobrazení by bylo možné použít všeobecně resp. u některých "pracnějších" aplikacích - aby tam nezůstala "trčet" příkazový řádek bez odezvy ev. s banálním oznámením "zpracovávám..." či podobně. Question Tak by uživatel hned věděl, že se program nezasekl, ale že opravdu ještě probíhá... Sice jsem se díval na samotný lisp overkill.lsp, ale nic jsem z toho nevyčetl Confused


-------------
-FerTh-


Odeslal: Vladimír Michl
Datum odeslání: 06.pro.2007 v 09:08
Asi nejefektnější a nejsnazší je acet funkce z Express Tools - viz:
http://www.cadforum.cz/cadforum/qaID.asp?tip=5890 - http://www.cadforum.cz/cadforum/qaID.asp?tip=5890
ale Express Tools musí být načteny.
Jinak se to dá řešit přes DCL nebo jen odpočítáváním procent na příkazovém řádku.


-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz emea.support.arkance.world)


Odeslal: Ferdinand
Datum odeslání: 06.pro.2007 v 14:21
Ještě jednou se k tomu vracím... To uložení v template nefunguje tak jak jsem si myslel - po ukončení sezení CADu a znovaspuštění výkresu (dvojklikem na název v TC) je tam zpátky ta default 0.000001 Ouch. Vyřešil jsem to nakonec tak, že do menu acetmain.mns jsem doplnil "moje" volby na konec řádku
iD_AcetOverkill  [Remove Duplicate Entities]^C^Coverkill pause _I * _F 0.1 _P "_Y" _T "_Y" _E "_Y"
(i za posledním "_Y" je mezera pro potvrzení).
Dotaz: Dají se v souborech mns "vynechat" řádky/vkládat kommentáře stejně jako do lsp (tj. za ; ), nebo se to dělá jinak?


-------------
-FerTh-


Odeslal: Vladimír Michl
Datum odeslání: 06.pro.2007 v 14:29
ET proměnné nejsou ukládány ve výkresu (ani šabloně) - proto onen "nastavovací" LISP. Pokud jej máte v support cestě, načte se i při spuštění AutoCADu poklepáním na DWG. Ale ta cesta přes tlačítko menu je také dobrá.
 
Komentáře v MNS souboru jsou uvozeny lomítky "// komentář".


-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz emea.support.arkance.world)


Odeslal: Ferdinand
Datum odeslání: 06.pro.2007 v 17:58
Akorát že není funkční... Opravil jsem to do podoby
iD_AcetOverkill  [Remove Duplicate Entities]^C^C-overkill _Crossing \\ _Ignore * _Fuzz 0.1 _Plines _Y _parTial _Y _Endtoend
_Y;
a už to chodí Thumbs%20Up


-------------
-FerTh-



Vytisknout stránku | Zavřít okno