lisp help

Creat de phibrizzo, Feb 05, 2009, 10:57 AM

« precedentul - următorul »

alezu

#15
Buna,
Am si eu o mica problema, folosesc autocad si autolisp. mi-am instalat autocad 2010 si im merg toate comenzile mai putin cea de generare a tabelului de coordonate a unei polilinii: TABPOL.
In restul versiunilor de autocad functioneaza in varianta de 2010 imi da eroare. Command: lin
File name to load? : tabpol
STRX
Command:
Command: tabpol
Polylinia:; error: bad list: 0

astept niste sfaturi.
va multumesc


283/299px 14.6KB

John Doe

Poate stie cineva: de ce nu vrea Lisp-ul sa execute comanda NEW, sau QNEW ? (AutoCAD 2007). Vreo variabila de sistem, ceva, sau lispul functioneaza intr-un singur desen si atat?
Nu am pus bifa la "Single compatibility drawing mode" in optiuni.

@alezu: nu te pot ajuta concret, dar stiu ca TopoLT are mai multe versiuni, care functioneaza pe diverse versiuni de AutoCAD. Uita-te pe site si vezi care pe ce merge.

advex

#17
Citat din: John DoePoate stie cineva: de ce nu vrea Lisp-ul sa execute comanda NEW, sau QNEW ? (AutoCAD 2007). Vreo variabila de sistem, ceva, sau lispul functioneaza intr-un singur desen si atat?
Nu am pus bifa la "Single compatibility drawing mode" in optiuni.

Cand lansezi Autocad-ul, setarile implicite sunt cuprinse in fisierul acaddoc.lsp.
Cred ca este necesar sa redefinesti in programul tau autolisp, calea catre fisierele "template" care se incarca cu NEW sau QNEW.

John Doe

Nu cred ca asta e. Pur si simplu, LISP returneaza nil si atât daca îi scriu la cmdline (command "open" ) , sau new, qnew, indiferent de sintaxa folosita (cu sau fara cale). Si indiferent ce setari îi tot modific la Tools->Options.
Sau poate nu stiu eu cum sa-i definesc calea pentru template. Cum se face asta ?

Ca sa nu incurc lumea: voiam sa fac un DXF pentru un contur de parcela, cat mai automat cu putinta. Am luat in clipboard conturul cu (command "copyclip" "l" "" ) si voiam sa deschid un desen nou unde sa-i spun, din acelasi Lisp (command "pasteorig" ) (command "zoom" "ob" "l" ) si pe urma (command "saveas" "DXF" <cale de salvare dxf> ) .

Ma mai gandeam ca data selectez conturul, cunosc toate coordonatele si sa incerc sa scriu DXF-ul din Lisp dar e cam prea multa bataie de cap.
Ar fi si alte variante ?


In alta ordine de idei: se poate face fisierul CP din Lisp . Fisierul e facut in limbajul XML, care e un fel de HTML. Se poate deschide cu Notepad - e de fapt text cu multe paranteze ascutite.

advex

#19
Citat din: John DoeNu cred ca asta e. Pur si simplu, LISP returneaza nil si atât daca îi scriu la cmdline (command "open" ) , sau new, qnew, indiferent de sintaxa folosita (cu sau fara cale). Si indiferent ce setari îi tot modific la Tools->Options.
Sau poate nu stiu eu cum sa-i definesc calea pentru template. Cum se face asta ?

John, cel mai bine ar fi sa postezi tot fisierul lisp. Greu de dat cu parerea pentru o astfel de eroare.
Ai declarat variabila filedia=0 ?
de ex.
(setvar "filedia" 0)
(command "_.open" "c:\\temp\\xxx.dwg")
(setvar "filedia" 1)
....

John Doe

Da, am incercat. Si cu o gramada de alte variabile de sistem, nici nu mai stiu care. Asta de exemplu merge:

(setq pct (getpoint "\nUn punct in interior:" ) ) ;;;asta e un contur inchis
(command "-boundary" pct "" )
(command "_copyclip" "l" "" )

Merge si:

(command "_pasteorig" )
(command "saveas" "DXF" "16" "D:\\proba" )


Dar daca vreau sa deschid un desen nou, surprize-surprize ca nu face nimic:

(command "_qnew" )

Sau cu "new" , "_new" , cu FILEDIA 0 sau 1. Calea pentru template e definita in Tools->Options->Files->Template settings, la comanda QNEW de la tastatura sau meniu nu ma intreaba nimic indiferent de FILEDIA.
Uneori am reusit sa obtin mesajul de eroare "Can't reenter AutoLisp" ; cum se controleaza daca sa tina minte sau nu ce are de facut in LISP si in desenul urmator ?
Pe de alta parte, daca LISP nu stie efectiv sa functioneze decât intr-un desen, mi se pare normal din partea lui sa nu execute comanda NEW, adica sa se anuleze singur. Adica sa se ...sinucida.

advex

Mai verifica setarea implicita pentru QNEW

Options > Files tab > Template Settings > Default Template File Name for QNEW >...
eventual schimba fisierul *.dwt folosit

Pe alt calculator face la fel?!

Eventual, poti evita comanda qnew cu altceva:

(command "_.vbastmt" "Application.Documents.Add(\"DwtFileName\";)";)


Spor!

Modificat de advex (26-02-2010 15:11:45)

John Doe

Da, asta merge. Mersi mult.

John Doe

La compilare LISP cu Visual Lisp din AutoCAD 2007 (cu optiunea "Expert" fiindca am DCL, LSP si TXT), la un moment dat am optiunea "Separate name space", si putin mai incolo optiunile de compilare "Standard" sau "Optimize and Link". Stie cineva cam ce sunt astea ? Spune el Vlisp-ul ceva in engleza, dar la cunostintele mele nu prea inteleg.

cosin

salut, sunt nou pe forum, am si eu o problema, poate cineva sa ma ajute, lucrez cu civil 3d 2009, nu de foarte mul timp si am proble cu scara, dava import un block, sa zicem scara 1:1000, il importa cu totul la alta scara. astept raspuns merci

John Doe


                  Vezi daca nu ai unitati de masura diferite la desen si la blocul inserat (la unul inci si la altul milimetri, de exemplu). La AutoCAD le gasesti in meniu la Format -> Units... , la Civil 3D nu stiu sigur unde sunt.


               

cosin


                  merci, am reusit pana la urma


               

John Doe


                  Am o carte, se numeste "AutoLISP - manual de programare". Scrisa de un dr. ing. Tiparita de editura "FAST 2000" Bucuresti.
Din cartea asta am invatat eu LISP iar in timp, dupa mult rasfoit, am inceput sa am impresia ca am mai citit undeva cam aceleasi expresii, formulari, etc. Culmea e ca si am dreptate: este aproape exact Help-ul din Visual LISP de sub AutoCAD 2007, tradus in lb. româna (pentru curiosi: nu am licenta de 2007 si nu folosesc, helpul de VLISP este pe Net).

Ce parere aveti ? Se pot face bani din asemenea traduceri ?



               

advex


                  
John Doe a scris:


Ce parere aveti ? Se pot face bani din asemenea traduceri ?


John: avand in vedere costurile ridicate de editare, tiparire, drepturi de autor, taxe etc este putin probabil ca se pot face bani pentru un numar extrem de redus de exemplare vandute. Nu sunt convins ca este o cerere mare pentru astfel de lucrari chiar in conditiile in care aparitiile unor lucrari de specialitate in domeniul programarii autolisp sunt rarisime.
Incearca sa iei legatura cu Mircea Badut, autor de lucrari cu tematica GIS, Autocad - lucreaza in domeniul topo, pe la OJCPI Valcea si poate vei primi informatii mai optimiste.
vezi http://www.geocities.ws/mirceabadut/" target="_blank">http://www.geocities.ws/mirceabadut/


_______________________________________
http://info-topograf.blogspot.ro/" target="_blank">http://info-topograf.blogspot.ro/