Hirdetés

2024. június 9., vasárnap

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Autolisp - autocad programozása (téma lezárva)

Hozzászólások

(#1) stevve


stevve
nagyúr

Sziasztok!

Afősulin AutoCAD-et kell programoznunk, de a tanár valahogy nem ''közérthető''.
Jó lenne, ha akadna valaki, aki ért az AutoLisp nyelvhez, mert lenne pár kérdésem a témakörben.

(#2) stevve


stevve
nagyúr

UP!

Senki? Valaki biztosan ért ehhez. Nem lehet ekkora baromság az AutoCAD programozása, hogy senkit nem érdekel és senki nem foglalkozik vele.:O

(#3) beeboy válasza stevve (#2) üzenetére


beeboy
addikt

mi kéne?

Nem vagyok intelligens. Én AMDligens vagyok...

(#4) beeboy válasza stevve (#2) üzenetére


beeboy
addikt

''Nem lehet ekkora baromság az AutoCAD programozása...''

amúgy: de, az! ;] legalábbis kicsit furi
holnap nem leszek netközelben, de majd idenézek

Nem vagyok intelligens. Én AMDligens vagyok...

(#5) stevve


stevve
nagyúr

Én még csak most kezdem tanulni ezt a nyelvet és láma vagyok benne.
akkor egy feladat kezdésnek:

Megadjuk egy négyzet két tetszőleges pontját (lehet, hogy átlóban) és a proginak meg kell tudnia rajzolni a teljes négyzetet.
Ha esetleg megnéznéd hogyan lehet megcsinálni...megköszönném
Légyszi kommentezz, mert szeretném megérteni. Van ehhez szakirodalom a neten?

(#6) beeboy válasza stevve (#5) üzenetére


beeboy
addikt

szakirodalom? passz
akartam is kérdezni, miből tanultok, könyv nélkül gondolom
a súgóban vannak dolgok, nézd meg hátha segít
(sajnos itt nem elég hosszú egy sor, ezért tördeltem így)
a macskakörmök kicserélődnek két db felülvesszőre, azt vissza kell cserélned!
ezt meg tedd be egy akarmi.lsp fájlba, gondolom betölteni, be tudod:
-------------------------------------------------------------------

; komment jele
; listákkal dolgozunk
; () - mindig párban legyen
; (setq xxxx) - értékadás!
; (defun C:pARANCSNEVE() ...) - parancs definiálás
; (defun függvénynév() ) - függvény definiálás -
; meghívható más függvényből, parancsból

;kezdődik a program


(defun C:VVV() ;defun = VVV nevű parancs definiálása

(setq p1 (getpoint ''\nMutasson egy pontot: '') )
;eredmény: x,y,z koordinátájú pont

(terpri)(princ p1)(princ)
;kiírjuk a p1 értékét, (terpri) sortörést jelent, (princ)-el zárjuk, NEM FONTOS

(setq p2 (getpoint p1 ''\nMutassa a másik pontot: '') )
;;;eredmény: x,y,z koordinátájú pont
;;;ha getpoint-ot p1-el hívod, lesz egy segítő vonal
;;;(setq p2 (getpoint ''\nMutassa a másik pontot: '') ) - így nem

(setq pontx (nth 0 p1))
;nth - listaelemet ad vissza, itt az elsőt (x koordináta)
(setq ponty (nth 1 p1))
;nth - listaelemet ad vissza, itt a másodikat (y koordináta)

(setq átlópontx (nth 0 p2))
;nth - listaelemet ad vissza, itt az elsőt (x koordináta)
(setq átlóponty (nth 1 p2))
;nth - listaelemet ad vissza, itt a másodikat (y koordináta)

(setvar ''CMDECHO'' 0)
;;letiltjuk a kiírást, mert bizonyos függvények megjelenítik az értéküket

(setq MAKELWPOLYLINE ;rajzelem leírólistáját létrehozzuk
(list
(cons 0 ''LWPOLYLINE'') ; rajzelem típus
'(100 . ''AcDbEntity'')
'(100 . ''AcDbPolyline'')
(cons 90 4) ;csúcspontok száma
(cons 70 1) ;legyen zárt, ha 0 nyitott
(cons 62 256) ; a rajzelem színe 1-255-ig, ha 256 akkor fóliaszín
(cons 8 ''fóliám'') ;milyen fólián készüljön el

(list 10 pontx ponty) ;jönnek sorban a csúcskoordináták
(list 10 átlópontx ponty)
(list 10 átlópontx átlóponty)
(list 10 pontx átlóponty) ;elsőt nem ismételjük, úgyis zárt

) ; list
) ; MAKELWPOLYLINE - leírólista elkészült

(entmake MAKELWPOLYLINE) ; ez alapján létrehozzuk a vonalláncot

(setvar ''CMDECHO'' 1) ;visszakapcsoljuk a kiírást
(princ); sikeres visszatérés miatt kiírna egy ''1''-est, ezt elnyomjuk

); defun (parancs) vége

[Szerkesztve]

Nem vagyok intelligens. Én AMDligens vagyok...

(#7) beeboy


beeboy
addikt

most éppen anyázok:
; (defun C;)ARANCSNEVE() ...) - helyett ;]
; (defun C : pARANCSNEVE() ...) - parancs definiálás

Nem vagyok intelligens. Én AMDligens vagyok...

(#8) stevve válasza beeboy (#6) üzenetére


stevve
nagyúr

wow! Elhaltam. Köszönöm a programot. Így már értek egy-két dolgot, amit órán csak nézek.
Még nem próbáltam, de rövidesen arra is sor kerül.
Hogy ebből hogyan fogok zh-t írni... majd még kérek tőled segítséget, ha nem zavar.
Megyek és kipróbálom...
:C:C:C:C:DD

(#9) stevve válasza beeboy (#6) üzenetére


stevve
nagyúr

azt írja: hiba, túl sok jobb zárójel a bemeneten - mitől van ez?

(#10) beeboy válasza stevve (#9) üzenetére


beeboy
addikt

nem tudom, nálam működik
rosszul másoltad át?

Nem vagyok intelligens. Én AMDligens vagyok...

(#11) beeboy válasza beeboy (#10) üzenetére


beeboy
addikt

kipróbáltam:
ctrl+c
új szöveges dokumentum
átnevezés lsp-re
beillesztés
szerkesztés->csere erről: '' erre: ''

és működik, jó kell hogy legyen

Nem vagyok intelligens. Én AMDligens vagyok...

(#12) Atlantis válasza stevve (#5) üzenetére


Atlantis
veterán

Szerintem van hozzá könyv, nézz körbe. Nekem van egy LISP könyvem még a R12-13-as verzió programozásához.

>>>>>>>> Creo Parametric ; Allplan Engineering ; McLaren F1 Team <<<<<<<< "A gondolkodás a lehető legkeményebb munka, valószínűleg ezért gyakorolják oly kevesen." - Henry Ford

(#13) stevve válasza beeboy (#11) üzenetére


stevve
nagyúr

ok, megy csak a ''cserét'' elfelejtettem. Kösz mégegyszer. Még kérdezek majd

(#14) beeboy válasza stevve (#13) üzenetére


beeboy
addikt

OK. majd idenézek

ha hosszabbak a sorok, lehet hogy dobom inkább emailben

Nem vagyok intelligens. Én AMDligens vagyok...

(#15) Shorine


Shorine
csendes tag

Hello,

Lenne egy kérdésem, remélem tud valaki segíteni benne: lehet-e olyan programot írni Lisp-ben,
- olvassa be egy txt-ből a benne szereplő adatokat (pl. szelvényszám, keresztmetszethez tartozó távolság-magasság, a távolság azonos tengelytől mind2 irányba)
- rajzolja fel ezeket pl egymás alatt bizonyos távolságra
-a felrajzolt szabálytalan vonallánchoz illesszen hozzá egy szabályos (azonos esésű) vonalat
- számítsa ki a két tipus közti területet és írja ki
röviden ennyi :)) remélem van megoldás rá... :))

Gigabyte UD4P I7 920 D0 6GB Corsair XMS 1600 Mhz

(#16) Tussky


Tussky
tag

Sziasztok!

Olyan kérdésem lenne,hogy találkozott-e valaki már a következő problémával:Space helyett a gép általában entert,vagy az utoljára kiadott parancsot érti és így nem tudok beírni gyakorlatilag semmit.Sajnos a ctrl-c ctrl-v se működik,ugyanis a sorokban lévő spacet is enterként értelmezi.

Valakinek van erre ötlete ?

(#17) dcsabesz válasza Tussky (#16) üzenetére


dcsabesz
tag

Szia!

Az Auto CAD így münködik. Miért akarsz szóközt beütni?

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Autolisp - autocad programozása (téma lezárva)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.