Vytisknout stránku | Zavřít okno

Ikony a ich opakovani?!

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=5841
Datum vytištění: 29.čer.2026 v 04:04


Téma: Ikony a ich opakovani?!
Odeslal: michaelflyer
Předmět: Ikony a ich opakovani?!
Datum odeslání: 20.led.2008 v 15:59
Dobrý deň,

verím tomu, že táto vec sa stáva každému a má stým problém. V autocade je veľa ikon, ktoré zastupujú nejaký príkaz so svojimi špecifickými príkazmi napr.: „Break 1 Point Select“ je zapísaná v tvare ^C^C_break \_f \@. Ale keď dáte opakovať príkaz tak už to je len obyčajný “Break“. A tak zase musíte stlačiť príslušnú ikonu aby to bol zase „Break 1 Point Select“. Keď to musíte zopakovať aj 20x tak vás to po čase prestane baviť! Ako by sa to dalo zapísať tak aby to malo svoj iný príkaz a nie „_breake“ s danou špecifikáciou. Ako si to predstavujem:
(defun c:BP ()
(command „_break“ pause „_f“ pause „a ten istý bod ako naposledy ale aby som ho nemusel zase zadávať“ )
)

Používam Autocad 2000 ale páčia sa mi niektoré veci vo vyšších verziách. Zase budem konkrétny. Napríklad TRIM má vo vyšších verziách výhodu vyberania objektov pomocou okna. Áno, prvý výber je rovnaký, ale už ten druhý nie. Musíte klikať na každý objekt a okno tu už nefunguje. Snažil som sa to nejako oklamať, ale ako náhle som dal prvý výber viac ako jeden objekt (napr.: dva objekty) tak mi to urezalo vždy po prvý objekt a nie medzi nimi :-(

Vopred ďakujem za rady...



Odpovědi:
Odeslal: PepaR
Datum odeslání: 20.led.2008 v 16:19
Zkoušel jste http://www.cadforum.cz/cadforum/CAD-Standardy/ - GGmenu ? Tam jsou Vámi požadované příkazy zahrnuty, včetně násobného ořezávání.
 
Namátkou zasílám řešení pro BREAK přímo v LISPu:
http://www.cadforum.cz/forum/uploads/20080120_161930_Prerusit.lsp - uploads/20080120_161930_Prerusit.lsp
 
Samozřejmě pro AutoCAD LT nezbyde než udělat si variantu do tlačítka tak jako to máte nyní.


-------------
PepaR
https://www.jremes.cz" rel="nofollow - jremes.cz | https://www.stavlab.cz" rel="nofollow - stavlab.cz


Odeslal: Vladimír Michl
Datum odeslání: 20.led.2008 v 16:35
Tohle se řeší jinak, není potřeba hned programovat. Stačí před příkaz (menu makro) dát hvězdičku, bude pak automaticky opakované celé. Tedy v tomto případě:
 
*^C^C_break;\_f;\@;


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


Odeslal: PepaR
Datum odeslání: 20.led.2008 v 16:39
Zse jste me dostal, ja myslel, že to nejde udělat jinak než LISPem. Holt jak to bylo v jedné reklamě na prací prášek: musím se mooooc učit, moooc učit ;)

-------------
PepaR
https://www.jremes.cz" rel="nofollow - jremes.cz | https://www.stavlab.cz" rel="nofollow - stavlab.cz


Odeslal: michaelflyer
Datum odeslání: 20.led.2008 v 17:00
Ďakujem. Vám obom.
Mám ešte jednu otázku. Ako by sa dalo namieto toho "@" alebo "pause" získať súradnice toho bodu tak aby mi ich vypísalo na obrazovku.
Ďakujem


Odeslal: zisoun
Datum odeslání: 20.led.2008 v 21:22
Co se týká opakování příkazu, je hvězdička dobré a rychlé řešení. Mám ji použitou u hodně příkazů.Příkaz se pak opakuje pořád dokola, než ho zruším ESC. Pokud ho ale zruším a dám opakování příkazu (např. pravýn tl. myši), tak už samozřejmě udělá zase jen samotný break. To jen tak pro úplnost.
Ten "@" v makru říká, že se má použít poslední zadávaný bod (hodnota LASTPOINT), v tomto případě bod přerušení, na který se ukáže. Pokud chcete vědět jeho souřadnice jen informativně pak stačí na konec makra dopsat ještě příkaz na zjištění souřadnic bodu a pak by to vypadalo takto :
*^C^C_break;\_f;\@;_id;@;
Po tomto zadání se vypíšou souřadnice bodu přerušení do příkazového řádku (nebo textového okna). Pokud byste chtěl zapsat souřadnice jako text do výkresu, tak by to šlo samozřejmě taky,jen by to bylo trochu delší a složitější makro.


-------------
Zisounek


Odeslal: michaelflyer
Datum odeslání: 21.led.2008 v 16:04
Zaujímavé....
Dalo by sa to aj implementovať na lisp tá "_id"? Ako to treba zapísať do lipu?
Ďakujem za vaše postrehy...



Vytisknout stránku | Zavřít okno