Zobrazit plnou verzi příspěvku: Lisp

krtecek1600
18.11.2012, 21:45
Dobrý den,mam dotaz ohledně programu LISP. Pomocí LISPU mám napsat program pro vytvoření koule drátového modelu nebo objemového modelu.Mělo by to fungovat, tak že si ten program vyvolám pomocí auto cadu a tam zapíši poloměr koule a koule se mi vykreslí.bohužel vůbec nevím, jak na to. prosím poraďte jsem ochotný i zaplatit odměnu tomu kdo ten program napíše a vysvětlí mi těch 15 řádků příkazů na co který je.jsem totiž úplně z jiného oboru a věřím, že ten kdo se živí cadem tak to bude pro něho otázka pár minut. s Pozdravem.


Vladimír Michl
18.11.2012, 22:25


Proč 15 řádků? Tohle je "program" pro objemový model: [CODE](command "_SPHERE" pause (getdist "Poloměr:"))[/CODE]

hoboj
19.11.2012, 15:59


Potřeboval bych Lisp na přeukládání na starší verzi-> na R14.  Super by bylo, když by šlo takhle přeuložit více souborů najednou... že by se zadala pouze cesta čtení a cesta uložení.

Vladimír Michl
19.11.2012, 16:06
Jedna z možností je použití automatického reaktoru PreSave - ten vždy uloží kromě normálního DWG i jeho kopii ve starším formátu (do zadaného adresáře).
Viz:
http://www.cadforum.cz/cadforum/automaticke-ukladani-kopie-vykresu-ve-starsim-formatu-dwg-tip7324

hoboj
19.11.2012, 16:11


stránka se mi nezobrazuje  Lze to použít na více souborů najednou? Jedná se mi o to, že mám výkres v Inventoru, který dám exportovat do AutoCADu a potom ještě musím uložit do starší verze a chtěl bych nějak docílit, abych tento krok z AutoCADu do starší verze urychlil...

splonk
19.11.2012, 16:35


Dobry den,Neco podobneho pouzivam pro eoprt vykresu z AutoCAD Architecture do holeho AutoCADu...LISP kery otevira vsechny DWGcka ve slozce (i v podslozkach) jsem kdysi tady vyvesil... Pak stacilo do Startupu AutoCADu dat LISP pro export do xzy a je to (vyexportovana DWGcka to ukladalo do stejne slozky jako originaly)... Sice je to delane hodne "na kolene" a Pro ACA 2012... myslim si ale, ze by i ve Vasem pripade toto slo aplikovat. V pripade zajmu mi napiste... budu se tomu moct venovat az zitra... pokud to uz neni pozde??? ZdravimJASponza

hoboj
19.11.2012, 16:55


To by mi stačilo. Děkuji , ozvu se

vbehun
20.11.2012, 12:23

[QUOTE=hoboj]

stránka se mi nezobrazuje Lze to použít na více souborů najednou? Jedná se mi o to, že mám výkres v Inventoru, který dám exportovat do AutoCADu a potom ještě musím uložit do starší verze a chtěl bych nějak docílit, abych tento krok z AutoCADu do starší verze urychlil...[/QUOTE]Možná by postačil obyčejný Autodesk ScriptPro s příkazem "SaveAs"

hoboj
20.11.2012, 12:35


To neznám, co to umí?

Seiner
20.11.2012, 13:08
ScriptPro je generátor scriptů. Jeho výhoda oproti jiným je, že do určité míry je schopen řešit selhání, nevýhoda podle mého je, že toto řešení vyžaduje prodlevy v zavírání výkresů.
  Jednoduché scripty /dema jde v podstatě tvořit pomocí notepadu, když si třeba za základ vezmete výstup příkazu Dir. Ale generátor má tu výhodu, že může (bez znalosti syntage Dir) prolézt adresářovou strukturu a "vysbírat" soubory, a že můžete mít připravené vyzkoušené sekvence příkazů pro různé účely.Seiner2012-11-20 13:09:06

Vladimír Michl
20.11.2012, 13:18
Myslím že pro tento účel bohatě poslouží i standardní příkaz [CMD]PŘEVEĎDWG[/CMD], resp. TrueView - viz starší tip:
http://www.cadforum.cz/cadforum/qaID.asp?tip=4705

krtecek1600
20.11.2012, 21:08
potřeboval bych aby ten program pro tu kouli vypadal nějak takto.... tenhle prográmek je pro vytvoření krychle. program je napsany v lispu. a pak použitý v cadu. (defun C:KRYCHLE (/ bod1 bod2 bod3 bod4
len ang bod5 bod6 bod7 bod8)
           
        (setq bod1 (getpoint "\nBod prvního vrcholu
krychle: "))
           
        (setq bod2 (getpoint "\nBod druhého vrcholu
krychle: "))
           
        (setq len  (distance bod1 bod2))
           
        (setq ang  (angle bod1 bod2))
           
        (setq bod3 (polar bod2 (+ ang (/ pi 2.0)) len))
           
        (setq bod4 (polar bod3 (+ ang pi) len))
           
        (setq bod5 (list (car bod1) (cadr bod1) len))
           
        (setq bod6 (list (car bod2) (cadr bod2) len))
           
        (setq bod7 (list (car bod3) (cadr bod3) len))
           
        (setq bod8 (list (car bod4) (cadr bod4) len))
           
        (command "3DKŘIVKA" bod1 bod2 bod3
bod4 bod1 bod5 bod8 bod4 bod3 bod7 bod8 bod7 bod6 bod5 bod6 bod2 "U"))


Vladimír Michl
22.11.2012, 14:30
Takže třeba (nezkoušeno):
 
[CODE]
(defun C:COULE ( / p1 r)
 (setq p1 (getpoint "\nStřed koule: "))
 (setq r (getpoint p1 "\nPoloměr koule: "))
 (command "_SPHERE" p1 r)
 (princ)
)
[/CODE]

chlebovsky
22.11.2012, 16:02
A jako vždy pozor na uchopování.  _OSNAP aby se koule nechytala tam kde nemá, takže osnap vypnout, kouli nakreslit a osnap zapnot..

krtecek1600
10.03.2013, 21:20
Děkuju za odezvu, a za program pro objemový model.Mohl byste mi prosím ještě poradit jak bude vypadat program pro vytvoření drátového modelu.
krtecek16002013-03-10 21:32:13

Vladimír Michl
11.03.2013, 08:23
Přímo drátové modely AutoCAD negeneruje, ale můžete si pomoci např. přes posloupnost:
 
[CODE]_MESH _SPHERE_EXPLODE3DF2L _P[/CODE]
 
(3DF2L je naše utilita - viz download)

krtecek1600
13.03.2013, 22:55
Dobrý den,dnes jsem mluvil s profesorem, který mi řekl, že to chce celé dát dohromady a to tak, že bude vytvořen program v lispu a ja si ho budu moct z autocadu zavolat. s tím že to celé bude začínat bodem... z bodu udělám půlkruh a ten orotuji a budu mít drátový model a následně pak udělám objemový model. na tohle opravdu nejsem  tak mi odpuste dotazy pro Vás možná absolutně základní věci,ale pro mne totálně španělská vesnice.dik za odpověd

Vladimír Michl
14.03.2013, 07:35
Celý domácí úkol za vás asi nikdo dělat nebude, ale rádi poradíme. Projděte si také příklady LISP programů na http://www.cadforum.cz/cadforum/Vyvojove-prostredky-AutoCADu/
 
Všechny LISP programy (i ty výše uvedené) se dají volat v AutoCADu, bez něj ani nefungují (pro definici příkazu použijte (defun C:MUJPRIKAZ). Pro nakreslení oblouku slouží příkaz _ARC, pro jeho orotování můžte použít OTOČ3D nebo POLE. V LISPu jen zapisujete to co byste prováděl v AutoCADu ručně. Objemový model z drátového jde udělat jen těžko, tam použijte kód z druhého příspěvku v této diskusi.