Diskuzní fórum, poradna
CAD diskuze, rady, výměna zkušeností |
epicykloida |
Odpovědět | Stránka 12> archiv |
Autor | |
Honzicek
Diskutér Přihlášen: 27.úno.2006 Stav: Offline Bodů: 32 |
Téma: epicykloida Zasláno: 10.bře.2006 v 09:59 |
oprava: (defun c:tk () ((= word "EP") (setq a(getreal"Zadejte poloměr pevné kružnice:")) ((= word "HYP") (setq a(getreal"Zadejte poloměr pevné kružnice:")) ((= word "EV") (setq r (getreal"Zadejte poloměr:"))
|
|
Honzicek
Diskutér Přihlášen: 27.úno.2006 Stav: Offline Bodů: 32 |
Zasláno: 09.bře.2006 v 17:00 |
(defun c:tk ()
(initget "CY EP HYP EV ARCH ") (setq word (getkword "Zadejte druh krivky:(CYkloida EPicykloida HYPocykloida EVolventa ARCHimedova-spirála)")) (cond ((= word "CY") (setq r(getreal"poloměr tvořící kružnice:")) &nbs p; &nbs p; (setq d(getreal"vzdálenost bodu:")) &nbs p; &nbs p; (setq pocet (getreal"Zadejte pocet cyklu:")) &nbs p; &nbs p; (setq t1 0) &nbs p; &nbs p; (setq t2 (* (pocet) 2. Pi)) &nbs p; &nbs p; (setq int (/ (- t2 t1) 100.0)) &nbs p; &nbs p; (setq bod(getpoint"Zadejte počáteční bod odvalovací úsečky:")) &nbs p; &nbs p; (setq a t1) &nbs p; &nbs p; (setq x (-(* r a)(* d (sin a)))) &nbs p; &nbs p; (setq y (- r (* d (cos a)))) & nbsp; &nbs p; &nbs p; (setq x (+ x (car bod))) &nbs p; &nbs p; (setq y (+ y (cadr bod))) &nbs p; &nbs p; (command "bod" (list x y)) &nbs p; &nbs p; (repeat 100 &nbs p; &nbs p; &nbs p; (setq a (+ int a)) &nbs p; &nbs p; &nbs p; (setq x (-(* r a)(* d (sin a)))) &nbs p; &nbs p; &nbs p; (setq y (- r(* d(cos a)))) &nbs p; &nbs p; &nbs p; (setq x (+ x (car bod))) &nbs p; &nbs p; &nbs p; (setq y (+ y (cadr bod))) &nbs p; &nbs p; &nbs p; (command "úsečka" "@" (list x y) "") &nbs p; &nbs p; &nbs p; &nbs p; ) &nbs p; &nbs p; (command "regen") &n bsp; (setq part 1)) ((= word "EP") (setq a(getreal"Zadejte poloměr pevné kružnice:")) &nbs p; &nbs p; (setq b(getreal"Zadejte poloměr kutálející se kružnice:")) &nbs p; &nbs p; (setq pocet (getreal"Zadejte pocet cyklu:")) &nbs p; &nbs p; (setq bod (getpoint"Zadejte bod")) &nbs p; &nbs p; (setq t1 0) &nbs p; &nbs p; (setq t2 (* (pocet) 2. Pi)) &nbs p; &nbs p; (setq int (/ (- t2 t1) 100.0)) &nbs p; &nbs p; (setq c t1) &nbs p; &nbs p; (setq x (-(* (+ a b) (cos c))(* b( cos (* (/ (+ a b) b) c))))) &nbs p; &nbs p; (setq y (-(* (+ a b) (sin c))(* b( sin (* (/ (+ a b) b) c))))) &nbs p; &nbs p; (setq x (+ x (car bod))) &nbs p; &nbs p; (setq y (+ y (cadr bod))) &nbs p; &nbs p; (command "_POINT" (list x y)) &nbs p; &nbs p; (repeat 100 &nbs p; &nbs p; (setq c (+ int c)) &nbs p; &nbs p; (setq x (-(* (+ a b) (cos c))(* b( cos (* (/ (+ a b) b) c))))) &nbs p; &nbs p; (setq y (-(* (+ a b) (sin c))(* b( sin (* (/ (+ a b) b) c))))) &nbs p; &nbs p; (setq x (+ x (car bod))) &nbs p; &nbs p; (s etq y (+ y (cadr bod))) &nbs p; &nbs p; (command "úsečka" "@" (list x y) "") &nbs p; &nbs p; &nbs p; ) &nbs p; &nbs p; (command "_CIRCLE" (list (car bod) (cadr bod)) a) &nbs p; &nbs p; (command "regen") &n bsp; &n bsp; (setq part 2)) ((= word "HYP") (setq a(getreal"Zadejte poloměr pevné kružnice:")) &nbs p; &nbs p; (setq b(getreal"Zadejte poloměr kutálející se kružnice:")) &nbs p; &nbs p; (setq pocet (getreal"Zadejte pocet cyklu:")) &nbs p; &nbs p; (setq bod (getpoint"Zadejte bod:")) &nbs p; &nbs p; (setq t1 0) &nbs p; &nbs p; (setq t2 (* (pocet) 2. PI)) &nbs p; &nbs p; (setq int (/ (- t2 t1) 100.0)) &nbs p; &nbs p; (setq c t1) &nbs p; &nbs p; (setq x (+(* (- a b) (cos c))(* b( cos (* (/ (- a b) b) c))))) &nbs p; &nbs p; (setq y (-(* (- a b) (sin c))(* b( sin (* (/ (- a b) b) c))))) &nbs p; &nbs p; (setq x (+ x (car bod))) &nbs p; &nbs p; (setq y (+ y (cadr bod))) &nbs p; &nbs p; (command "_POINT" (list x y)) &nbs p; &nbs p; (repeat 100 &nbs p; &nbs p; (setq c (+ int c)) &nbs p; &nbs p; (setq x (+(* (- a b) (cos c))(* b( cos (* (/ (- a b) b) c))))) &nbs p; &nbs p; (setq y (-(* (- a b) (sin c))(* b( sin (* (/ (- a b) b) c))))) &nbs p; &nbs p; (setq x (+ x (car bod))) &nbs p; &nbs p; (setq y (+ y (cadr bod))) &nbs p; &nbs p; (command "úsečka" "@" (list x y) "") &nbs p; &nbs p; &nbs p; ) &nbs p; &nbs p; (command "_CIRCLE" (list (car bod) (cadr bod)) a) &nbs p; &nbs p; (command "regen") &n bsp; &n bsp; (setq part 3)) ((= word "EV") (setq r (getreal"Zadejte poloměr:")) &nbs p; &nbs p; (setq d (getreal"Zadejte průměr:")) &nbs p; &nbs p; (setq pocet (getreal"Zadejte pocet cyklu:")) &nbs p; &nbs p; (setq bod (getpoint"Zadejte bod:")) &nbs p; &nbs p; (setq t1 0) &nbs p; &nbs p; (setq t2 (* (pocet) 2. PI)) &nbs p; &nbs p; (setq int (/(- t2 t1) 100.0)) &nbs p; &nbs p; (setq c t1) &nbs p; &nbs p; (setq x (+(*(+ r d) (cos c)) (* (* r c) (sin c)))) &nbs p; &nbs p; (setq y (-(*(+ r d) (sin c)) (* (* r c) (cos c)))) &nbs p; &nbs p; (setq x (+ x (car bod))) &nbs p; &nbs p; (setq y (+ y (cadr bod))) &nbs p; &nbs p; (command "_POINT" (list x y)) &nbs p; &nbs p; (repeat 100 &nbs p; &nbs p; (s etq c (+ int c)) &nbs p; &nbs p; (s etq x (+(*(+ r d) (cos c)) (* (* r c) (sin c)))) &nbs p; &nbs p; (s etq y (-(*(+ r d) (sin c)) (* (* r c) (cos c)))) &nbs p; &nbs p; (s etq x (+ x (car bod))) &nbs p; &nbs p; (s etq y (+ y (cadr bod))) &nbs p; &nbs p; (c ommand "úsečka" "@" (list x y) "") &nbs p; &nbs p; &nbs p; ) &nbs p; &nbs p; (command "regen") &n bsp; &n bsp; (setq part 4)) ((= word "ARCH") (setq r(getreal"Zadejte poloměr Archimedovy spirály:")) &nbs p; &nbs p; (setq pocet (getreal"Zadejte pocet cyklu:")) &nbs p; &nbs p; (setq bod (getpoint"Zadejte bod:")) &nbs p; &nbs p; (setq t1 0) &nbs p; &nbs p; (setq t2 (* (pocet) 2. PI)) &nbs p; &nbs p; (setq int (/(- t2 t1) 100.0)) &nbs p; &nbs p; (setq c t1) &nbs p; &nbs p; (setq x (* (* r c) (sin c))) &nbs p; &nbs p; (setq y (* (* r c) (cos c))) &nbs p; &nbs p; (setq x (+ x (car bod))) &nbs p; &nbs p; (setq y (+ y (cadr bod))) &nbs p; &nbs p; (command "_POINT" (list x y) ) &nbs p; &nbs p; (repeat 100 &nbs p; &nbs p; &nbs p; (setq c (+ int c)) &nbs p; &nbs p; &nbs p; (setq x (* (* r c) (sin c))) &nbs p; &nbs p; &nbs p; (setq y (* (* r c) (cos c))) &nbs p; &nbs p; &nbs p; (setq x (+ x (car bod))) &nbs p; &nbs p; &nbs p; (setq y (+ y (cadr bod))) &nbs p; &nbs p; &nbs p; (command "úsečka" "@" (list x y) "") &nbs p; &nbs p; &nbs p; &nbs p; ) &nbs p; &nbs p; (command "regen") &n bsp; &n bsp; (setq part 5)) (T (prompt "Chyba:nevybral jste žádnou křivku!!!")) ) ) zatim mám tohle...tedak nevim jestli je to správně protože jsem to upravoval v textáku ... |
|
Honzicek
Diskutér Přihlášen: 27.úno.2006 Stav: Offline Bodů: 32 |
Zasláno: 09.bře.2006 v 16:47 |
možná bych to měl trochu zkrátit...prostě potřebuju,aby po tom co
udělám křivku program dal uživateli na výběr \Konec\změnit
parametry\další\
|
|
Honzicek
Diskutér Přihlášen: 27.úno.2006 Stav: Offline Bodů: 32 |
Zasláno: 08.bře.2006 v 12:52 |
Ok děkuju moc všechno parádně funguje...ještě bych potřeboval udělat u tý epicykloidy toto: zadám parametry a udělá mi to křivku -to mám potom potřebuju,aby se mě to zeptalo,jestli jsem s křivkou spokojen a když dám ne,tak aby mi to tu křivku smazalo a hodilo mě to zpátky na tvorbu křivky
chtěl bych se zeptat,jestli by to šlo řešit funkcí ssget po přečtení co ta funkce vlastně dělá,ale pořád nevím,jestli tato funkce dokáže vybrat křivku v celku(nechci ale,abych to vybíral oknem)....kdyby toto nešlo,tak bych musel funkci naprogramovat tak aby vybrala posledních x(101 v tomto případě)entit...ale tady si nejsem jistý jak by to mělo vypadat.. ?? |
|
Seiner
CAD/BIM manager Přihlášen: 01.říj.2004 Lokalita: ČR (PA) Používám: Mechanical 2017, Inventor 2017 a starší Stav: Offline Bodů: 1662 |
Zasláno: 07.bře.2006 v 16:45 |
To už nevím, ale myslím, že pevná byla 100 a tvořící jednou 50 a jednou 25.
|
|
Vítězslav Seiner
Chrudim |
|
Honzicek
Diskutér Přihlášen: 27.úno.2006 Stav: Offline Bodů: 32 |
Zasláno: 07.bře.2006 v 15:00 |
¨ funguje to..paráda..jeětě bych se chtěl zeptat jaké jste použil poloměry při té první ukázce?? |
|
Seiner
CAD/BIM manager Přihlášen: 01.říj.2004 Lokalita: ČR (PA) Používám: Mechanical 2017, Inventor 2017 a starší Stav: Offline Bodů: 1662 |
Zasláno: 07.bře.2006 v 14:32 |
OK, jenže účelem této diskuse je naučit zmateného studenta programovat v lispu aspoň tak, aby byl schopen udělat domácí úkol :-) |
|
Vítězslav Seiner
Chrudim |
|
Ľubomír Pápay
Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
TOP uživatel Přihlášen: 04.říj.2004 Lokalita: Slovensko Používám: AIS2009, AIS 2012 Stav: Offline Bodů: 954 |
Zasláno: 07.bře.2006 v 14:29 |
Nesledujem túto tému, ale vidím že sa tu moríte s epicykloidou. Ja v
acade na geometricke krivky používam voľný lisp GEOMCURV.LSP
Stiahol som ho v minulosti niekde na webe. Poznáte ho? Možno by vám vyhovoval. Ak je záujem, môžem ho poslať. Lubo |
|
Ľubomír Pápay
Inventor 2009,2012 |
|
Seiner
CAD/BIM manager Přihlášen: 01.říj.2004 Lokalita: ČR (PA) Používám: Mechanical 2017, Inventor 2017 a starší Stav: Offline Bodů: 1662 |
Zasláno: 07.bře.2006 v 13:58 |
Takhle vypadá ta 2/10. Žádný problém. PRACUJETE OPRAVDU S TOU POSLDNÍ VERZÍ, KDE JSEM VÁM OPRAVIL VZORCE? Vkládání obrázku: V AutoCADu zmenšit okno kolem požadovaného obrázku, vybrat do schránky (Ctrl-C), vložit do nějakého grafického malovátka (Irfan), použít tlačítka Nahrát obrázek na této stránce. |
|
Vítězslav Seiner
Chrudim |
|
Honzicek
Diskutér Přihlášen: 27.úno.2006 Stav: Offline Bodů: 32 |
Zasláno: 07.bře.2006 v 13:22 |
jak se vkládá obrázek..?
|
|
Honzicek
Diskutér Přihlášen: 27.úno.2006 Stav: Offline Bodů: 32 |
Zasláno: 07.bře.2006 v 13:21 |
mám třeba problém s tímhle zadán a=2 b=10
a má to dělat: |
|
Honzicek
Diskutér Přihlášen: 27.úno.2006 Stav: Offline Bodů: 32 |
Zasláno: 07.bře.2006 v 13:08 |
nemyslel jsem 0,2PI ale interval od 0 do 2PI.. blbě jsem to napsal
jaké jste použil poloměry kružnic pro tuto křivku? |
|
Seiner
CAD/BIM manager Přihlášen: 01.říj.2004 Lokalita: ČR (PA) Používám: Mechanical 2017, Inventor 2017 a starší Stav: Offline Bodů: 1662 |
Zasláno: 06.bře.2006 v 14:16 |
Výstup u mne
|
|
Vítězslav Seiner
Chrudim |
|
Seiner
CAD/BIM manager Přihlášen: 01.říj.2004 Lokalita: ČR (PA) Používám: Mechanical 2017, Inventor 2017 a starší Stav: Offline Bodů: 1662 |
Zasláno: 06.bře.2006 v 14:09 |
a) mně to kreslí správně. Jaké zadáváte poloměry kružnic? b) jaký interval o,nekonečno? Nerozumím. Parametrem je úlel odvalení a ten je od 0 do 2*PI rozdělený na 100 dílků. c) kde jste přišel na jaké 0,2 PI ??? |
|
Vítězslav Seiner
Chrudim |
|
Honzicek
Diskutér Přihlášen: 27.úno.2006 Stav: Offline Bodů: 32 |
Zasláno: 06.bře.2006 v 14:00 |
problém je v tom že u tý křivky se interval od (0,nekonečno...)jak se to dá zapsat v programu?
|
|
Honzicek
Diskutér Přihlášen: 27.úno.2006 Stav: Offline Bodů: 32 |
Zasláno: 06.bře.2006 v 13:56 |
PS:Moc děkuji ale kreslí mi to nějakou záhadnou křivku i po vypnutí modu uchop
|
|
Honzicek
Diskutér Přihlášen: 27.úno.2006 Stav: Offline Bodů: 32 |
Zasláno: 06.bře.2006 v 13:55 |
Uznávám...že s tím intervalem to nedává moc smysl odečítat od 2*PI nulu ale interval je přece od (0,2Pi) ?Myslim...
|
|
Seiner
CAD/BIM manager Přihlášen: 01.říj.2004 Lokalita: ČR (PA) Používám: Mechanical 2017, Inventor 2017 a starší Stav: Offline Bodů: 1662 |
Zasláno: 03.bře.2006 v 23:16 |
Takže funkční varianta je: (defun c:epicykloida() Ještě upuzornění: až to budete zkoušet, vypněte si uchopovací mód. Nebo nebudete věřit vlastním očím jako já |
|
Vítězslav Seiner
Chrudim |
|
Pro technickou podporu CAD
kontaktujte Helpdesk
Příbuzné CAD tipy: | ||
Tip 2412: | Jak v Inventoru nakreslit evolventu, cykloidu, řetězovku či jinou křivku? |
Odpovědět | Stránka 12> archiv |
Přejít na fórum | Oprávnění fóra Nemůžete vytvářet nová témata v tomto fóru Nemůžete odpovídat na témata v tomto fóru Nemůžete vymazávat vaše příspěvky v tomto fóru Nemůžete upravovat vaše příspěvky v tomto fóru Nemůžete vytvářet ankety v tomto fóru Nemůžete hlasovat v anketách v tomto fóru |
Stránka byla vygenerována za 1,849 sekund.