Zobrazit plnou verzi příspěvku: isolate/end isolate objects

mikeborecek
26.10.2017, 14:52
Zdravím, vo vytvaraní klávesových skratiek som uplný začiatočník a tak by som sa rád informoval ako si vytvorím skratku napr. "ctrl+pravé tlač. myši"  na isovate objects a tou istou klávesovou skratkou ukončil isoláciu objektov.. ?

johny
26.10.2017, 15:19
Normálně něco takového nejde. A pokud byste našel nějakou fintu, tak by byla složitá a nestálo by to za to.CTRL+Pravé tlačítko je standardně pro jednu z variant místního menu. Do něj si obě funkce můžete přidat, ale pořád to bude jen součást menu. Druhý problém je, že LAYISO a LAYUNISO jsou dvě funkce. Obtížně by se to dávalo pod jedno tlačítko.Rozumím vám, že to jsou jedny z nejčastějších operací co děláte, tak je dobré to mít po ruce. Osobně tím mám předefinované klávesy F5 a F6. (Tedy nepoužívám přímo tyto příkazy, používám LISPy s vylepšenou izolací tím, že můžete udělat kolik chcete kroků... ne jen jediný. Používám to leta letoucí, takže mohu jen doporučit kdyby byl zájem)


johny2017-10-26 15:24:46

mikeborecek
26.10.2017, 16:02
Ďakujem za info:predbežne som si dal [CMD]ISOLATEOBJECTS[/CMD] (_ISOLATEOBJECTS) ako ctrl+pravé tl. myši a[CMD]UNISOLATEOBJECTS[/CMD] (_UNISOLATEOBJECTS) ako ctrl+shift+pravé tl. myši.s triafaním do kláves F1-F12 mám trochu problém, lebo mám apple klávesnicu a tam je to od esc až do F12 spolu v jednom rade bez stĺpových predelov :D Takže ak idem stisnúť F3 alebo F8, čo sú pre mňa mega časté klávesy, tak musím pozrieť na klávesnicu :(Ale zasa musím pochváliť klávesnicu, výborne sa na nej píše aj pracuje :)

mikeborecek
26.10.2017, 16:08
Pozerám, že to LISPy - sú vlastne naprogamovateľné príkazy. Osobne som sa  s tým ešte nestretol, resp. nepoužíval.To môže mať celkom fajn využitie..

johny
26.10.2017, 16:33
Hmm, tak pardon, zdá se že to je možné vcelku jednoduše v CUI.OK. Jestli vás LISP zajímá, tak tady máte jeden jednoduchý pro spojení obou funkcí do jednoho příkazu LayIsoBoth(defun c:LayIsoBoth nil (command (cond ((ssget "_I") (setq *isolated* T) "_.LAYISO") (*isolated* (setq *isolated* nil) "_.LAYUNISO") ((setq *isolated* T) "_.LAYISO"))))Když byste chtěl izolovat podruhé (tedy nikoliv ukončit izolaci), pak to lze jen když ty objekty vyberete předem. Tady máte nějaký návod jak LSP použít: http://www.lee-mac.com/runlisp.html


johny2017-10-26 17:30:41

splonk
26.10.2017, 16:40
Jojo, presne tak, jak pise Johny... A davat to pod stejnou zkratku by bylo i neprakticke... Urcite narazite na pripad, kdy si ve vykrese neco odizolujete, a pak potrebujete odizolovat jeste neco... se stejnou zkratkou to neudelate...A, pro upresneni, k temto dvema prikazum bych nezapominal na treti... _HIDEOBJECTS... prikaz inverzni _ISOLATE...Osobne to pouzivam se zkartkamiCtrl+HCtrl+ICtrl+U

mikeborecek
27.10.2017, 15:03
Vyzerá to zaujímavo, len tak na rýchlo som skúsil urobiť súbor s názvom LayIsoBoth.lsp, nakopíroval som tam spomenutý tex:(defun c:LayIsoBoth nil (command (cond ((ssget "_I") (setq *isolated* T) "_.LAYISO") (*isolated* (setq *isolated* nil) "_.LAYUNISO") ((setq *isolated* T) "_.LAYISO"))))appload v autocade, ale pri vybratí objektov a spustení layisoboth sa nič neudialo - asi to bude o niečo zložitejšie ako som si to predstavoval :) ale na riešenie toho teraz moc nemám čas, ale určite sa k tomu v blízkej budúcnosti vrátim. Zatiaľ mi bude musieť stačiť klávesová skratka ctrl+tlač. myši - čo je v celku rýchle

johny
27.10.2017, 15:12
Pokud máte vysoké SECURITYOPTIONS, pak běžte do Options/Files/Trusted Locations a přidejte tam tu cestu kam jste to nakopíroval.
Jinak jen tak na test můžete ten lsp. file přetáhnout přímo do výkresu (drag'n drop)...

mikeborecek
27.10.2017, 15:17
už som pár lsp cez appload spúšťal, a nebol problémešte taká otázka k pírkazu to "c:" neznamená, že konkrétny súbor *.lsp musí byť uložený na c:\

johny
27.10.2017, 15:27
Nee, c: znamená, že to je command. Kdyby bylo jméno té funkce bez toho c:, pak by to taky fungovalo, ale muselo by se to spoustět se závorkami (LayIsoBoth). Jméno souboru může být jakékoliv a umístěné kdekoliv. Většinou se to však pojmenovává shodně kvůli snadnější orientaci. Nicméně v jednom *.lsp můžete mít kolik chcete příkazů.Zkuste lisp v příloze uploads/1045/LayIsoBoth.lspV tom APPLOADu nezapoměňt dát tlačítko LOAD.


johny2017-10-27 15:33:05

mikeborecek
27.10.2017, 15:37
Ono mi to vlastne fungovalo, len som to skúšal na novom výkrese, kde bola len jedna hladina. Čakal som že mi zmiznú mnou označené objekty (preto som vlastne zakladal túto tému), čo sa vlastne ani nemohlo stať (keďže som vybral pár objektov z rovnakej hladiny). Keď som to vyskúšal na rozsiahlejšom výkrese, tak mi došlo, že je to na izolovanie vybraných objektov v konkrétnych hladinách.Ale ďakujem za rozšírenie obzorov v tomto smere. Určite sa na to zamerám, a niektoré veci, aj keď zatiaľ ešte neviem ktoré :) si takto poriešiť.Ak by ste mali typy, z vlastnej praxe, kde ste si takouto formou uľahčili činnosť, bolo by to super

mikeborecek
27.10.2017, 15:42
Mimochodom pravé tl. myši mám nastavené s časovou odozvou, takže to izolovanie objektov "ctrl+mouse2" a koniec izolácie objektov "ctrl+shift+mouse2" funguje pre tento prípad vcelku rýchlo.

johny
27.10.2017, 15:54
Určitě si to nastavte tak jak vám to vyhovuje. Ten lisp jsem vám napsal just for fun... Byl to váš nápad, tak si to zkoušejte jak by to fungovalo. Já to používám oddělené, mám to tak naučené.Úplně nejjednodušší kódy se v LISPu nechají naučit velmi rychle, protože prakticky kopírují mimiku příkazového řádku. Jsou to v zásadě takový macra, která zkracují nebo drobně vylepšují standardní příkazy. Např.(defun c:Dy () (command "_.lengthen" "_dy"))...ale je to lepší jak marco, páč se to chová jako jeden příkaz, takže můžete to opakovat třeba mezerníkem.Nebo moje oblíbené... rovnou zadávat rádius při fillet(defun c:R () (command "_.fillet" "_r" pause "_.fillet"))Nebo rychlá rotace třemi body:(defun c:Ot () (command "_select" pause "_rotate" "_p" "" pause "_r" "@" pause pause))...tak bych mohl pokračovat, záleží co děláte... já takových zkratek mám stovky..
johny2017-10-27 15:57:06

mikeborecek
27.10.2017, 16:07
ou, takto ma to v tú chvíľu nenapadlo, ale po týchto, Vami zadaných príkladových príkazoch to začnem používať o dosť skôr - to bude efektivita ! Ktorá síce zamestnávateľom nebude ohodnotená, ale aspoň bude dobrý pocit z ušetreného času 
Ešte raz Ďakujem za rozšírenie obzorov  v tejto problematike