ARKANCE - globální Platinum partner Autodesk ARKANCE | KONTAKT - CZ | SK | EN | DE
Již 10.000+ CAD tipů. Přes 118.000 registrovaných u nás, celkem 1.092.000 registrovaných (CZ+EN), přes 53.000 CAD/BIM bloků. Vyzkoušejte nový přesný Inženýrský kalkulátor. Kompletní příkazy AutoCADu a proměnné AutoCADu 2026.
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řenoDocasne uchopy na cely prikaz KRIVKA

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

Přihlášen: 24.led.2006
Lokalita: ČR (JM)
Používám:
C3D 2024
Stav: Offline
Bodů: 1741
Přímý odkaz na tuto zprávu Téma: Docasne uchopy na cely prikaz KRIVKA
    Zasláno: 04.led.2009 v 10:27
Zdravim, když šrafuju nějakou oblast, tak ji nejprve oklikavam krivkou... To se nejlip dela jen s uchopy kon a pol. Mam na to jednoduchou lispovou zkratku.

(defun C:uzavři()
  (command "'-uchop"
       "kon,pol"
       "_pline")
  (princ)
)

Nastavi uchopy, spusti přikaz krivka a předá autocadu... Co řeším je, jak docílit toho, aby ta změna uchopu byla docasna-abych to pak nemusel nejaky jinym tlacitek sam obnovovat. Tj. po skončení křivky se zas nastavily původní úchopy.
Dík za radu.
Zpět nahoru
Kackac Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 11.úno.2006
Lokalita: ČR (Pha)
Používám:
AutoCAD
Stav: Offline
Bodů: 469
Přímý odkaz na tuto zprávu Zasláno: 04.led.2009 v 10:43
Před příkaz command vložte řádku
(setq osold (getvar "OSMODE")) ;ta vám uloží aktuální nastavení úchopů

před princ vložte řádku
(setvar "OSMODE" osold) ;nastaví úchopy podle uloženého stavu

osold je libovolný název proměnné, můžete zvolit něco vlastního
Kackac
Zpět nahoru
johny Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 24.led.2006
Lokalita: ČR (JM)
Používám:
C3D 2024
Stav: Offline
Bodů: 1741
Přímý odkaz na tuto zprávu Zasláno: 04.led.2009 v 11:05
No toto znam, ale nefunguje... Proste to není kam napsat. Já bych potřeboval, aby mohl uživatel zadavat kolik bodu chce v ramci prikazu Krivka (něco jako n krát pause - což asi nejde, nebo ano?) No a pak by se dalo využít to co píšete vy, tj. dát to před (princ). ...ale tak jak to je teď, tak to se to proste provede sice po spuštění křivky, ale před zadáním prvního bodu, ukončí se lisp a zbytek příkazu křivka už je jen na Autocadu bez možnosti návratu do lispu... Alepon tak to chapu ja.
Zpět nahoru
alfred Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 04.led.2009 v 13:07
Nemuzu to vyzkouset, ale mozna je to tim jednim prikazem command, kde je jak uchopeni tak _pline

Zkuste uchopeni nastavit pomoci
(setvar "OSMODE" hodnota)

kde hodnota je bitový součet hodnot úchopů, které chcete nastavit. Na hodnoty jednotlivých úchopů se koukněte do nápovědy. Když by například byl (hodnoty si vymýšlím):
koncový = 1
průsečík = 2
tak bitový součet je 3 a tedy
(setvar "OSMODE" 3)

a pak zavolat teprve příkaz na kreslení křivky.hodnota

Jinak, pokud nepoužijete funkci *error* , tak pokud skončíte funkci předčasně (například máčknutím ESC při kreslení křivky), tak se příkaz na zpětné nastavení úchopu neprovede.
Příkaz (setvar "OSMODE" osold)
napíšete i do funkce *error*.

Zpět nahoru
johny Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 24.led.2006
Lokalita: ČR (JM)
Používám:
C3D 2024
Stav: Offline
Bodů: 1741
Přímý odkaz na tuto zprávu Zasláno: 05.led.2009 v 15:13
Obavam se, že ani toho nefunguje. Pořád je problém s tím neukončeným příkazem křivka, ktery je tam proto, že neumím dát vícenásobnou pause. A co jsem si to tak zkousel, tak myslím, že když uprostřed kříkazu křivka dám ESC tak to neprojde přes *error*.
Zpět nahoru
alfred Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 05.led.2009 v 21:52
Ta křivka byla trochu oříšek, ale na google se to dalo najít během minuty.... Wink

Zkopírujte si to do souboru. Pozor, funkce se spouští "UZAVRI" - bez diakritiky.

(defun *error_uzavri* (msg)
  (princ "error: ")
  (setq *error* *old_error*)
  (setvar "OSMODE" osold)
  (princ msg)
  (print)
); defun error

(defun C:uzavri ()
  (setq osold (getvar "OSMODE"))
  (setq *old_error* *error*)(setq *error* *error_uzavri*)
  ;koncový = 1
  ;průsečík = 16
  (setvar "OSMODE" 17)
  (command "_pline")
  (while (> (getvar 'cmdactive) 0) (command pause))
  (setvar "OSMODE" osold)
  (setq *error* *old_error*)
  (princ)
)
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: 06.led.2009 v 10:58
Takhle ale nevytvoří uzavřenou polyline. To chce tam nějak (?) napašovat na konec (po ukončení zadávání bodů) _C (close). Taky jsem se podíval na tu hodnotu osmode - pro <_endp&_mid> je 16387.
-FerTh-
Zpět nahoru
pavelstyl Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 06.říj.2004
Lokalita: Czech Republic
Používám:
AutoCAD Mech 2025, SolidEdgeE 2025
Stav: Offline
Bodů: 226
Přímý odkaz na tuto zprávu Zasláno: 06.led.2009 v 11:34
A nestačilo by toto?
Přikaz KRIVKA1. A když se ukončí ENTERem, tak se i uzavře.
 

(defun C:KRIVKA1 (/ p1 osm)
 (setq osm (getvar "OSMODE"))
 (setvar "OSMODE" 33)
 (setq p1 (getpoint "\nZ bodu: "))
 (command "_pline" p1)
 (setq p1 (getpoint p1 "\nDo bodu: "))
 (while p1
  (command p1)
  (setq p1 (getpoint p1 "\nDo bodu: "))
 )
 (command "_c")
 (setvar "OSMODE" osm)
 (princ)
)
 
Pavel Štyl
Zpět nahoru
alfred Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 06.led.2009 v 11:44
Původně odeslal(a) Ferdinand Ferdinand napsal(a):

Takhle ale nevytvoří uzavřenou polyline. To chce tam nějak (?) napašovat na konec (po ukončení zadávání bodů).


A proč by nevytvořilo? Prostě až budu chtít ukončit a uzavřít pline, tak místo bodu napíšu "U" enter a hotovo, ne?

Úchop jsem nastavoval koncový a průsečík, zdálo se mi to lepší. Polovina a koncový se mi zdálo nepraktické. Ale hodnota se změní snadno.
Zpět nahoru
alfred Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 06.led.2009 v 11:52
Původně odeslal(a) pavelstyl pavelstyl napsal(a):

A nestačilo by toto?


Mát několik nevýhod:
-nelze ukončit příkaz - chybí funkce *error*
-nelze využít možností kreslení křivky - kreslení obloukových částí, tloušťky, vracení se zpět, tloušťka...

Ale jinak to tak jde. :-D

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: 07.led.2009 v 12:45
Anebo
(defun C:KRIVKA2 (/ B1 OSM)
(setq OSM (getvar "osmode"))
(setvar "osmode" 33)
(command "_pline" Pause ^C^C)
(setq B1 (getvar "lastpoint"))
(command "_pline" B1)
(setq B1 (getpoint B1))
(while B1
(command B1 Pause)
(setq B1 (getpoint B1))
)
(command "_C")
(setvar "osmode" OSM)
(princ)
)
...ale tahání provádí z předpředešlého bodu...(?)
Dle mého názoru je to ale zbytečná frajeřina - je lepší kreslit prostě normálně polyline a na konci dát _C - je to jen 1 klávesa...


Upravil Ferdinand - 07.led.2009 v 13:25
-FerTh-
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: 07.led.2009 v 12:51
Původně odeslal(a) alfred alfred napsal(a):

...až budu chtít ukončit a uzavřít pline, tak místo bodu napíšu "U" enter a hotovo, ne?
To je ale úplně stejné, jako při běžném kreslení polyline...Smile


Upravil Ferdinand - 07.led.2009 v 13:23
-FerTh-
Zpět nahoru
alfred Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 07.led.2009 v 13:16
Samozrejme.

U puvodniho dotazu slo o to, ze pri
(command "_pline")

se hned provadely dalsi prikazy a tedy nefungovala docasna zmena uchopu po celou dobu bezneho nakresleni krivky a navrat uchopu zpet po dokonceni krivky.
To je myslim vyreseno radkou
(while (> (getvar 'cmdactive) 0) (command pause))

V automatickem uzavreni krivky namisto rucniho nevidim zadnou vyhodu.
Zpět nahoru
johny Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 24.led.2006
Lokalita: ČR (JM)
Používám:
C3D 2024
Stav: Offline
Bodů: 1741
Přímý odkaz na tuto zprávu Zasláno: 08.led.2009 v 18:05
Zdravim,
děkuji moc za návrhy, omlouvám se ze jsem chvíli pro pracovní vytízení nezasahoval (a bohužel ani nesledoval)... A taky se me podařilo vymyslet nějaké řešení (myslím, že zajímavou fintou-popisu nize)

Nicméně děkuji za řádek   (while (> (getvar 'cmdactive) 0) (command pause))   tohle se dá určitě výhodně využít nejen v tomto případě :)

Předně popíšu motivaci (resp. už to takle pouzívam dlouho a je to velmi velmi rychlé - ted jsem se rozhodl to jeste vylepsit).
V dopravnich situacich se stale vybarvuji plochy - uz jsem zkousel hodne metod, a prestoze autodesk casto ty funkce vylepsuje (srafa bodem, hromande slucovani usecek a oblouku do krivek... však stale trvaji zname problemy - male mezery (nekdy nebere ani kdyz mam mereza s jistotou neni), nebo navazujici oblouky)    
Proste me z toho porad vychazi, ze nejlepsi je to proste oklikat krivkou a pak vybarvit. No a toto oklikavani-hlavne caste stridani usecka-oblouku, resp. oblouky vubec - je dost narocne rekneme na "prstoklad" :)

Cil: Zmenit prstoklad pri zadavani krivky na jinak zridka vyuzivane klavesy F9-F11, F12.
Takle mam makra v _cui pro Klaveskove zkratky F9-F12
F9, která spusti prikaz krivka se spravnymi uchopy a stejnym tlacitkem se na konci uzavre (proto C:Uzavři, ktery tu řešíme)
'-uchop kon,pol,prů,nej Ečka Uzavři;
  - lisp Uzavři je pořád stejny (zatim) (defun C:uzavři() (command "'uchop" "kon,pol") (command "_pline") (princ))
  - jinak je tu ta finta - uchopy se znovu nastavuji při uzavřeni (ano, musim vsechny zavrit, jinak se to nenastavi)
F10, nastavuje usečkove useky
 e (mezera "e" mezera)
F11, nastavuje obloukove useky (rovnou druhy bod)
o d (zas mezera nakonci)
F12 - zde je lisp, ktery vybrane krivky vyšrafuje solidem dle hladiny krivky a obe hodi uplne dospod (v pripadě zájmu mohu lisp poskytnout - reps. chci ho jeste doladit, aby pokud nejsou vybrane zadne krivky, tak vzal posledni objekt, pokud je to krivka)

Jeste detaily k uchopum
pri podrzeni F10 - uzije se uchop kolmo
pri podrzeni F11 - uzije se uchop nejbl

Toť vše. Snad to nekomu pomuze k rychlejsimu srafovani :)

K návrhum
- vyuziti cadovkeho _pline nechava otevreny i dalsi moznosti uprav křivky (zpět)
- nutne potrebuji oblouky (prave k kvuli tomu potrebuji uchop pol; prů se moc nevyuzije, vetsinou stejny s kon.

PS Omlouvam se pokud nejsem ve spravne diskusni skupine, pac rekl bych, ze toto nema s programovanim moc spolecneho, je to spis "vyuzivani" moznosti autocadu :)
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: 08.led.2009 v 18:57
Neznám české zkratky - proto (jen ze zvědavosti) se zeptám:
pol = polovina anebo poloměr? (_mid OR _Radius)
prů = průsečík anebo průměr? (_int OR _Diameter)
kon = koncový bod? (_endp)
-FerTh-
Zpět nahoru
Kackac Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 11.úno.2006
Lokalita: ČR (Pha)
Používám:
AutoCAD
Stav: Offline
Bodů: 469
Přímý odkaz na tuto zprávu Zasláno: 08.led.2009 v 19:39
To Ferdinand: všechno je to nastavení úchopů, takže
pol = polovina (úchop na poloměr není, pouze na kvadrant, ten je česky kva)
prů = průsečík (ta diakritika mi v cadu furt nějak nevoní)
kon = koncový
Kackac
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 3086:VIPZmenšení velikosti dočasných souborů AutoCADu.
Tip 3626:VIPDalší možnosti odfiltrování některých typů objektů při uchopování.
Tip 2367:Nefunguje uchopovací režim Bod (_Node) na body (POINT).
Tip 13213:VIPJak číslovat svary pro celou potrubní větev postupně, s pokračováním na dalších listech?
Tip 3660:Jak uchopit bod ležící uprostřed mezi dvěma body?
Tip 7251:Jak načíst CEL soubory (bloky Microstation) do AutoCADu?


 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,520 sekund.