Zobrazit plnou verzi příspěvku: Uprava prikazu v ikonce

orlik
24.01.2006, 10:40
Kdyz mi preinstalovavali PC s ACAD 2002, znavu mi zanesli chybu povelu z ikonky [Přeruš]. Ja jsem to asi kdysi opravoval, ale nedelam to kazdy den abych upravoval menu
Jakym zpusobem se upravi povel v teto ikonce, kde ma byt spravne PRERUS <vyber> P P ?
Hlavne jakym povelem, kombinaci klaves se k tomu dostanu?

Diky

Seiner
24.01.2006, 10:45
V 2002 je to ještě snadné :-)
Pravým myšítkem na panel nástrojů - vybrat vlastní...Levým myšítkem na ikonku - ukáže se text příkazu. 

orlik
24.01.2006, 11:50
v puvodnim prikazu je retezec

^C^C_break \f \@

a stale se mi nadari zapsat takovy retezec, aby ikona spravne prezentovala [Prerusit v bode].

Seiner
24.01.2006, 11:55
myslim ^C^C_break \_f \@

PepaR
24.01.2006, 12:00

Ja jsem si to dal do lispu nebot to velmicasto pouzivam a vadilo mi, ze to nelze vyvolat opakovanim prikazu pri klepnuti pravym tklacitkem mysi. ;=========================================================== ==============; Prerusit.lsp    Přerušit objekt v daných bodech; (c) Copyright 2005 PepaR ;----------------------------------------------------------- --------------; Description:;; Přeruší objekty ve zvolených bodech.;; Command options:;  "PRERUSJED"   Přerušit 1 bod výběr;  "PRERUSDVA"    Přerušit 2 body výběr; ;=========================================================== =================; Přerušit 1 bod výběr ;=========================================================== =================(defun C:PRERUSJED ()  (prompt "\nVyberte objekt :")  (command "_break" pause "_f" pause "@")) ;=========================================================== =================; Přerušit 1 bod výběr ;=========================================================== =================(defun C:PRERUSDVA ()  (prompt "\nVyberte objekt :")  (command "_break" pause "_f"))
PepaR2006-1-24 12:1:4

orlik
24.01.2006, 12:27
Dik obema, chyba byla v tom podtrzitku pred f.(angl. verze?). Ze zakomponovanim Lispovskych programu do ikonek jsem jiz take uvazoval, ale nevim jakym povelem(textem)?, jestli je to jen zadanim nazvu lispovskeho programu do retezce, tak dekuji za natrknuti.

PepaR
24.01.2006, 12:45

[QUOTE=orlik]Ze zakomponovanim Lispovskych programu do ikonek jsem jiz take uvazoval, ale nevim jakym povelem(textem)?[/QUOTE]Postaci, kdyz si zkopirujete mnou uvedeny text do poznamkoveho bloku, soubor ulozite, prepisete priponu na *.lsp. Pak soubor nacetete pres _appload a bud ten lisp date nacitat pri spusteni nebo jen tehdy kdyz potrebujete. Nu a do ikonky pak napisete jen ^C^CPRERUSJED nebo ^C^CPRERUSDVA a je to... pokud jste zvykly na opakovani prikazu pres prave tlacitko, tak Va to praci neobycejne usnadni.

valík
25.01.2006, 07:24
Zajímavé, již delší dobu totiž hledám něco podobného, kdy příkaz přeruš v jednom bodě entitu po přerušení neodřízne od bodu určení ke konci, ale ponechá ji celou - zůstanou vlastně dvě navazující entity spojené rozdělovacím bodem (měli jsme to v každé verzi Profi). Očekával jsem tento postup podle Vašeho zápisu, u mne ale odřezává. Příkaz, o který mi jde, se tenkrát choval takto: určete entitu pro přerušení v jednom bodě - zvolte bod přerušení entity - následovala možnost volit druhý bod přerušení nebo ukončit příkaz. Neumím toto zapsat, poradíte? Děkuji.

PepaR
25.01.2006, 07:33

[QUOTE=valík]zůstanou vlastně dvě navazující entity spojené rozdělovacím bodem[/QUOTE]To by mel zajistit ten samy lisp, avsak prikaz PRERUSJED.

valík
25.01.2006, 08:38
Tak škoda, u mne tento příkaz opravdu odřezává až do koncového bodu (bližšího), co víc - u kružnice odřízne až do bodu kvadrantu 1 (východ na kompasu), a to proti směru hodinových ručiček. Používám tedy přerušení ve dvou bodech, kdy musím volit dvakrát ten samý bod (pochopitelně dvakrát se netrefím do stejného bodu při uchopu nejbližší). Chápu, že kružnici nebo plný 360-ti st.oblouk nelze v jednom bodě přerušit, podobně u elipsy, ale u ostatních uzavřených křivek toho lze docílit. Ale děkuji. Jse mi jen o zápis toho příkazu, kdy na jedno určení hned přerušuji bez odříznutí. Vyber-urči bod-možnost volby druhého bodu(pro případ vyříznutí)-konec příkazu.

PepaR
25.01.2006, 08:49
Co máte za AutoCAD? Pravě jsme to testoval na 2005 LT a jede to bez problemu.

Seiner
25.01.2006, 08:51
Nemáte zapnuty uchopovací módy? Jaké máte nastavení v Nástroje - Možnosti -Uživatelské nastavení - Priority pro zadávaní souřadnic ?
Zkuste použít volby _NONE

musil
25.01.2006, 09:01
^C^C_break;\_f;\@;
nevim jak na kružnice ale přímky dělí spolehlivě

valík
25.01.2006, 09:17
Omlouvám se, že jsem opomněl uvést verzi Cadu. Máme AutoCad2005 dodávaný spolu s Inventorem 9 Series, k tomu je i Autocad Mechanical 2005. Ještě než jste reagoval, mne napadlo toto provést i v Mechanicalu. Tam vše funguje, jak potřebujeme i při trvalém uchopu (prů-kon), v holém Cadu - máte pravdu, asi mne to mělo napadnout hned - mám funkční trvalý uchop, takže se entita odřízne (prů-kon ap.). Zápis příkazu je u obou Cadů stejný -
^C^C_break;\_f;\@;
Asi bych tedy musel zavést vypnutí trvalého uchopu (na který jsme zvyklí) pro tento příkaz v holém Cadu tak, aby po provedení příkazu opět vracel prů-kon, ale to neumím. Už tedy vím, čím to a musím na vypnutí myslet. Zajímavé, že v Mechanicalu je to již nějak uzpůsobeno.

Pepa
25.01.2006, 09:22

úchopy zkuste přes proměnnou OSMODE - před _BREAK dejte OSMODE;0;na konec pak OSMODE;<původní hodnota> -zjistíte příkazem OSMODE, na příkazovém řádku vyskočí nějaké číslo - máte-li, jak píšete, průsečík a koncový, mělo by to být 33
Pepa2006-1-25 9:24:34

valík
25.01.2006, 09:35
Bezva!
mnohokráte děkuji všem, netušil jsem, že lze takto snadno spojovat příkazy. Takže zápis je :
^C^Cosmode;0;_break;\_f;\@;osmode;33;
Tomu bych chtěl jednou rozumět...jsme jen uživatelé zvyklí na Profi nadstavbu, která byla super a myšlenek na vylepšení a usnadnění AutoCadu máme mnoho.

Seiner
25.01.2006, 09:43
Já bych viděl jako vhodnější ^C^C_break \_f _NONE \@
To pak není závislé na konkrétním nastavení úchopu a pokud se příkaz nedokončí, nemusíte znovu nastavovat mód. Řešení s přenastavováním OSMODE je spíš pro lisp, ale i tam je to lepší řešit postupem:
před: (IF (<=(GETVAR "OSMODE") 16384)(PROGN(SETQ OSN 1)(SETVAR "OSMODE" (+(GETVAR "OSMODE")16384))))
po:(IF (AND(>=(GETVAR "OSMODE")16384)(= OSN 1))(SETVAR "OSMODE" (-(GETVAR "OSMODE")16384)))
 

Pepa
25.01.2006, 09:54

[QUOTE=Seiner]Já bych viděl jako vhodnější ^C^C_break \_f _NONE \@
To pak není závislé na konkrétním nastavení úchopu a pokud se příkaz nedokončí, nemusíte znovu nastavovat mód.[/QUOTE]to je fakt