Đến nội dung


Hình ảnh
5 stars - based on 24598 reviews
* * * - - 3 Bình chọn

Hướng dẫn lập trình Lisp


  • Please log in to reply
493 replies to this topic

#121 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2161 Bài viết
Điểm đánh giá: 1371 (rất tốt)

Đã gửi 04 September 2009 - 05:15 PM

Mình muốn viết 1 đoạn lisp để nó đọc các thông số như layer, linetype scale, màu của đôí tượng đó (nếu màu là by layer thì đọc màu cuả layer đó) mà không biết viết thế nào mong các bạn chỉ giáo!

Bạn xem lisp này của mình và tự rút ra cái bạn cần nhé!
;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;
(Defun c:dxem ( ) (setq metxem (getstring "\nGia tri mot met:")) (Princ))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(Defun c:xem ( )

(if (null metxem)(setq metxem "1"))
(setq metxemt (atof metxem))
(setq noidungthongbaotrong (strcat "\n"
"\n---------------o Viet boi Kts: Duy o---------------"))

(princ "\nChon doi tuong muon xem thuoc tinh")
(setq doituong1 (entsel))
(while
(null doituong1)
(princ "\nChon doi tuong muon xem thuoc tinh")
(setq doituong1 (entsel))
)

(setq doituong (car doituong1))
(setq doituong (entget doituong))

(setq KIEUDOITUONG (cdr (assoc 0 doituong)))
(setq TILEDANGDUONG (cdr (assoc 48 doituong)))
(setq LAYERDOITUONG (cdr (assoc 8 doituong)))
(setq COLORDOITUONG (cdr (assoc 62 doituong)))
(setq KIEUDUONGDOITUONG (cdr (assoc 6 doituong)))

(setq TENLOP (TBLOBJNAME "LAYER" LAYERDOITUONG))
(setq DOCLOP (entget TENLOP))
(setq MAULOP (cdr (assoc 62 DOCLOP)))
(setq KIEUDUONGLOP (cdr (assoc 6 DOCLOP)))

(Cond
((= KIEUDOITUONG "INSERT")
(setq KIEUDOITUONG "BLOCK")
)
((/= KIEUDOITUONG "INSERT")
(setq KIEUDOITUONG KIEUDOITUONG)
)
)

(Cond
((= COLORDOITUONG nill)
(setq COLORDOITUONG (strcat "BYLAYER <" (itoa MAULOP) ">"))
)
((/= COLORDOITUONG nill)
(setq COLORDOITUONG (itoa COLORDOITUONG))
)
)

(Cond
((= KIEUDUONGDOITUONG nill)
(setq KIEUDUONGDOITUONG (strcat "BYLAYER <" KIEUDUONGLOP ">"))
)
((/= KIEUDUONGDOITUONG nill)
(setq KIEUDUONGDOITUONG KIEUDUONGDOITUONG)
)
)

(Cond
((= TILEDANGDUONG nill)
(setq TILEDANGDUONG "1.0000")
)
((/= TILEDANGDUONG nill)
(setq TILEDANGDUONG (rtos TILEDANGDUONG 2 4))
)
)

(setq noidungthongbao (strcat
"*DOI TUONG LA : " KIEUDOITUONG
"\n -LAYER : " LAYERDOITUONG
"\n -COLOR : " COLORDOITUONG))
;;;;;;;;;
(Cond
((= KIEUDOITUONG "TEXT")
(setq KIEUTEXT (cdr (assoc 7 doituong)))
(setq DOLONTEXT (cdr (assoc 40 doituong)))
(setq GOCTEXT (cdr (assoc 50 doituong)))
(setq noidungthongbaotrong (strcat
"\n -Style : " KIEUTEXT
"\n -Height : " (rtos DOLONTEXT 2 4)
"\n -Rotation angle : " (rtos (* 180 (/ GOCTEXT pi)) 2 4)
"\n"
"\n-------------------o Viet boi Kts: Duy o-------------------"))
)
)
;;;;;;;;;
(Cond
((= KIEUDOITUONG "MTEXT")
(setq KIEUTEXT (cdr (assoc 7 doituong)))
(setq DOLONTEXT (cdr (assoc 40 doituong)))
(setq GOCTEXT (cdr (assoc 50 doituong)))
(setq noidungthongbaotrong (strcat
"\n -Style : " KIEUTEXT
"\n -Height : " (rtos DOLONTEXT 2 4)
"\n -Rotation angle : " (rtos (* 180 (/ GOCTEXT pi)) 2 4)
"\n"
"\n-------------------o Viet boi Kts: Duy o-------------------"))
)
)
;;;;;;;;;
(Cond
((= KIEUDOITUONG "BLOCK")
(setq TENKHOI (cdr (assoc 2 doituong)))
(setq TYLEX (cdr (assoc 41 doituong)))
(setq TYLEY (cdr (assoc 42 doituong)))
(setq TYLEZ (cdr (assoc 43 doituong)))
(setq GOCCHEN (cdr (assoc 50 doituong)))
(setq noidungthongbaotrong (strcat
"\n -Block name : " TENKHOI
"\n -X scale factor : " (rtos TYLEX 2 4)
"\n -Y scale factor : " (rtos TYLEY 2 4)
"\n -Z scale factor : " (rtos TYLEZ 2 4)
"\n -Rotation angle : " (rtos (* 180 (/ GOCCHEN pi)) 2 4)
"\n"
"\n-------------------o Viet boi Kts: Duy o-------------------"))
)
)
;;;;;;;;;
(Cond
((= KIEUDOITUONG "CIRCLE")
(setq BANKINH (cdr (assoc 40 doituong)))
(command "area" "ob" doituong1)
(setq DIENTICH (getvar "area"))
(setq CHUVI (getvar "Perimeter"))
(setq noidungthongbaotrong (strcat
"\n -Linetype : " KIEUDUONGDOITUONG
"\n -Linetype Scale : " TILEDANGDUONG
"\n -Radius : " (rtos (/ BANKINH metxemt) 2 4)
"\n -Area : " (rtos (/ DIENTICH (* metxemt metxemt)) 2 4)
"\n -Circumference : " (rtos (/ CHUVI metxemt) 2 4)
"\n"
"\n-------------------o Viet boi Kts: Duy o-------------------"
"\n"
"\n 1 met = <" metxem "> Go lenh DXEM de thay doi!"))
)
)
;;;;;;;;;
(Cond
((= KIEUDOITUONG "ARC")
(setq BANKINH (cdr (assoc 40 doituong)))
(setq GOCBD (cdr (assoc 50 doituong)))
(setq GOCKT (cdr (assoc 51 doituong)))

(setq noidungthongbaotrong (strcat
"\n -Linetype : " KIEUDUONGDOITUONG
"\n -Linetype Scale : " TILEDANGDUONG
"\n -Radius : " (rtos (/ BANKINH metxemt) 2 4)
"\n -Start angle : " (rtos (* 180 (/ GOCBD pi)) 2 4)
"\n -End angle : " (rtos (* 180 (/ GOCKT pi)) 2 4)
"\n"
"\n-------------------o Viet boi Kts: Duy o-------------------"
"\n"
"\n 1 met = <" metxem "> Go lenh DXEM de thay doi!"))
)
)
;;;;;;;;;
(Cond
((= KIEUDOITUONG "LWPOLYLINE")
(setq SODINH (cdr (assoc 90 doituong)))
(setq CHIEURONG (cdr (assoc 43 doituong)))
(command "area" "ob" doituong1)
(setq DIENTICH (getvar "area"))
(setq CHUVI (getvar "Perimeter"))
(setq noidungthongbaotrong (strcat
"\n -Linetype : " KIEUDUONGDOITUONG
"\n -Linetype Scale : " TILEDANGDUONG
"\n -Width : " (rtos CHIEURONG 2 4)
"\n -so dinh : " (itoa SODINH)
"\n -Area : " (rtos (/ DIENTICH (* metxemt metxemt)) 2 4)
"\n -Perimeter : " (rtos (/ CHUVI metxemt) 2 4)
"\n"
"\n-------------------o Viet boi Kts: Duy o-------------------"
"\n"
"\n 1 met = <" metxem "> Go lenh DXEM de thay doi!"))
)
)
;;;;;;;;;
(Cond
((= KIEUDOITUONG "POLYLINE")
(command "area" "ob" doituong1)
(setq DIENTICH (getvar "area"))
(setq CHUVI (getvar "Perimeter"))
(setq noidungthongbaotrong (strcat
"\n -Linetype : " KIEUDUONGDOITUONG
"\n -Linetype Scale : " TILEDANGDUONG
"\n -Area : " (rtos (/ DIENTICH (* metxemt metxemt)) 2 4)
"\n -Perimeter : " (rtos (/ CHUVI metxemt) 2 4)
"\n"
"\n-------------------o Viet boi Kts: Duy o-------------------"
"\n"
"\n 1 met = <" metxem "> Go lenh DXEM de thay doi!"))
)
)
;;;;;;;;;
(Cond
((= KIEUDOITUONG "SPLINE")
(command "area" "ob" doituong)
(setq DIENTICH (getvar "area"))
(setq CHUVI (getvar "Perimeter"))
(setq noidungthongbaotrong (strcat
"\n -Linetype : " KIEUDUONGDOITUONG
"\n -Linetype Scale : " TILEDANGDUONG
"\n -Area : " (rtos (/ DIENTICH (* metxemt metxemt)) 2 4)
"\n -Perimeter : " (rtos (/ CHUVI metxemt) 2 4)
"\n"
"\n-------------------o Viet boi Kts: Duy o-------------------"
"\n"
"\n 1 met = <" metxem "> Go lenh DXEM de thay doi!"))
)
)
;;;;;;;;;
(Cond
((= KIEUDOITUONG "LINE")
(setq DIEMDAU (cdr (assoc 10 doituong)))
(setq DIEMCUOI (cdr (assoc 11 doituong)))
(setq DODAI (distance DIEMDAU DIEMCUOI))
(setq GOCXIEN (angle DIEMDAU DIEMCUOI))
(setq noidungthongbaotrong (strcat
"\n -Linetype : " KIEUDUONGDOITUONG
"\n -Linetype Scale : " TILEDANGDUONG
"\n -Length : " (rtos (/ DODAI metxemt) 2 4)
"\n -Angle in XY : " (rtos (* 180 (/ GOCXIEN pi)) 2 4)
"\n"
"\n-------------------o Viet boi Kts: Duy o-------------------"
"\n"
"\n 1 met = <" metxem "> Go lenh DXEM de thay doi!"))
)
)
;;;;;;;;;
(Cond
((= KIEUDOITUONG "DIMENSION")
(setq KIEUDIM (cdr (assoc 3 doituong)))
(setq GIATRI (cdr (assoc 1 doituong)))

(Cond
((= GIATRI "")
(setq GIATRI "<>")
)
)

(setq noidungthongbaotrong (strcat
"\n -Linetype : " KIEUDUONGDOITUONG
"\n -Linetype Scale : " TILEDANGDUONG
"\n -Dimension style : " KIEUDIM
"\n -Contents : " GIATRI
"\n"
"\n-------------------o Viet boi Kts: Duy o-------------------"))
)
)
;;;;;;;;;
(Cond
((= KIEUDOITUONG "HATCH")
(setq KEUHATCH (cdr (assoc 2 doituong)))

(Cond
((= KEUHATCH "SOLID")
(setq noidungthongbaotrong (strcat
"\n -Linetype : " KIEUDUONGDOITUONG
"\n -Linetype Scale : " TILEDANGDUONG
"\n -Hatch pattern : " KEUHATCH
"\n"
"\n-------------------o Viet boi Kts: Duy o-------------------"))
)
((/= KEUHATCH "SOLID")
(setq TILEHATCH (cdr (assoc 41 doituong)))
(setq GOCHATCH (cdr (assoc 52 doituong)))
(setq noidungthongbaotrong (strcat
"\n -Linetype : " KIEUDUONGDOITUONG
"\n -Linetype Scale : " TILEDANGDUONG
"\n -Hatch pattern : " KEUHATCH
"\n -Hatch scale : " (rtos TILEHATCH 2 4)
"\n -Hatch angle : " (rtos (* 180 (/ GOCHATCH pi)) 2 4)
"\n"
"\n-------------------o Viet boi Kts: Duy o-------------------"))
)
)


)
)
;;;;;;;;;


(alert (strcat noidungthongbao noidungthongbaotrong))

(Princ))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


  • 1

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#122 khaosat2009

khaosat2009

    biết lệnh offset

  • Members
  • PipPipPip
  • 171 Bài viết
Điểm đánh giá: 10 (tàm tạm)

Đã gửi 27 September 2009 - 02:06 PM

Mình thấy các anh viết Lisp để kẻ bảng rất hay.
Nhờ các anh hướng dẫn cho việc viết lisp kẻ bảng sau:

ví dụ như ta có hình cần tích diện tích ra làm 3 phần : cột có
-----------------------------------------------------
stt - Dien tich 01 - Dien tich 02 - Dien tich 03
------------------------------------------------------
khi pick vào từng phần sẻ đưa vào từng hàng theo tiêu đề của cột trên theo thứ tự pick.
Xong hỏi tính nửa không ?
tính lần nửa sẻ đưa vào hàng 2.

Cách thể hiện kẻ bảng ra sao ?
Mong được các anh giúp.
  • 0

#123 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 913 Bài viết
Điểm đánh giá: 513 (tốt)

Đã gửi 27 September 2009 - 02:19 PM

Mình thấy các anh viết Lisp để kẻ bảng rất hay.
Nhờ các anh hướng dẫn cho việc viết lisp kẻ bảng sau:

ví dụ như ta có hình cần tích diện tích ra làm 3 phần : cột có
-----------------------------------------------------
stt - Dien tich 01 - Dien tich 02 - Dien tich 03
------------------------------------------------------
khi pick vào từng phần sẻ đưa vào từng hàng theo tiêu đề của cột trên theo thứ tự pick.
Xong hỏi tính nửa không ?
tính lần nửa sẻ đưa vào hàng 2.

Cách thể hiện kẻ bảng ra sao ?
Mong được các anh giúp.

Đã trả lời cho bạn tại đây
  • 0

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD


#124 dongcd

dongcd

    biết zoom

  • Members
  • Pip
  • 12 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 01 October 2009 - 10:19 PM

em load xong file relax, chạy ngon lành rồi, nhưng tắt đi rồi, khởi động lại mà vẫn còn chữ RELAX trên menu, nhưng không dùng được nữa, làm ơn chỉ em làm sao để xóa nó đi cái!
  • 0

#125 w1nDream

w1nDream

    biết lệnh ddedit

  • Members
  • PipPipPipPip
  • 293 Bài viết
Điểm đánh giá: 73 (tàm tạm)

Đã gửi 02 October 2009 - 09:49 AM

Sao không được bạn. Sau khi viết gì đó mình không biết, rồi đặt tên ( VD: Binh80.lsp, < ở đây: binh80: tên lisp và thêm .lsp là được mà>). Chúc bạn thành công


Chào bạn Binh08 và a HoangSon.Có lẽ khi save B quên chọn All file.

[img]
http://www.cadviet.com/upfiles/2/save_file_lisp.jpg
[/img]
  • 0
__Tâm tựa lưu thủY__
Vi nhân nan

#126 dongcd

dongcd

    biết zoom

  • Members
  • Pip
  • 12 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 02 October 2009 - 11:20 AM

cho em hỏi tí nữa, ngôn ngữ lập trình dùng viết lisp là j vây? CAD có thể đọc được các ngôn ngữ khác như VB bằng cách tương tự như đọc 1 file lisp không?
  • 0

#127 dongcd

dongcd

    biết zoom

  • Members
  • Pip
  • 12 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 04 October 2009 - 12:01 PM

cho em hỏi tí nữa, ngôn ngữ lập trình dùng viết lisp là j vây? CAD có thể đọc được các ngôn ngữ khác như VB bằng cách tương tự như đọc 1 file lisp không?

Em là dân cầu đường, năm 3, em muốn tìm hiểu nhiều hơn về ACAD nhưng không biết bắt đầu từ đâu, về việc sử dụng các lệnh vẽ, hiệu chỉnh, quản lý thì em cũng khá rành rồi, nhưng về việc lập trình Autolisp hay những cái tương tự thì chưa biết j hết!em chưa biết j nên hỏi ngớ ngẩn thế, mong mọi người chỉ dạy.
  • 0

#128 tedu

tedu

    biết pan

  • Members
  • Pip
  • 8 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 05 October 2009 - 03:16 PM

Cảm ơn ssg nhiều,bài viết rất thân thiện và dễ hiểu!
  • 0

#129 ssg

ssg

    biết lệnh adcenter

  • Vip
  • PipPipPipPipPipPipPip
  • 1228 Bài viết
Điểm đánh giá: 1087 (rất tốt)

Đã gửi 05 October 2009 - 08:27 PM

em load xong file relax, chạy ngon lành rồi, nhưng tắt đi rồi, khởi động lại mà vẫn còn chữ RELAX trên menu, nhưng không dùng được nữa, làm ơn chỉ em làm sao để xóa nó đi cái!

Không rõ bạn "tắt đi rồi" như thế nào?

1. Load lại relax.lsp, menu "Relax" hiện ra, bấm vào "Remove this menu" là nó "biến" luôn, không còn vết tích gì nữa.
2. Nếu vì lý do gì đó nó không chịu "biến", bạn dùng cách "by hand": Tools-Customize-Menus..., tìm trong đó có cái gì liên quan đến chữ "Relax" thì cho nó "biến" đi. Mỗi đời CAD có thể khác nhau nên mình không nói cụ thể hơn, đại loại là "Unload", "Remove" gì gì đó là xong ngay thôi mà!
  • 1

#130 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 913 Bài viết
Điểm đánh giá: 513 (tốt)

Đã gửi 10 October 2009 - 03:30 PM

Làm cách nào để lấy được tọa độ các điểm: điểm đầu, các điểm đổi hướng và điểm cuối của Polyline?
  • 0

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD


#131 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6017 Bài viết
Điểm đánh giá: 3118 (tuyệt vời)

Đã gửi 10 October 2009 - 05:39 PM

Làm cách nào để lấy được tọa độ các điểm: điểm đầu, các điểm đổi hướng và điểm cuối của Polyline?

Chào bác Thaistreetz,
Có phải bác cần cái này không:
http://www.cadviet.c...ydinhpline1.lsp
http://www.cadviet.c...aydinhpline.lsp
Đây là các lisp mình sưu tầm được, hy vọng nó đúng với yêu cầu của bác.
Chúc bác vui, khỏe, trẻ mãi không già.
  • 1
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#132 TRUNGNGAMY

TRUNGNGAMY

    biết lệnh block

  • Members
  • PipPipPipPipPipPip
  • 403 Bài viết
Điểm đánh giá: 91 (tàm tạm)

Đã gửi 30 October 2009 - 12:19 AM

Thường khi chọn đối tượng (cụ thể ở đây mình muốn nói là một polyline đc tạo thành từ những đoạn thẳng) người ta "pick" vào nó. Các bạn có biết cách nào (hàm nào) lấy đc tọa độ hai điểm của đoạn thẳng thuộc polyline ngay tại điểm chọn ("pick") kg. Mình muốn xác định hướng polyline ngay tại điểm chọn nhưng chưa làm đc.
  • 0

#133 nataca

nataca

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 712 Bài viết
Điểm đánh giá: 553 (tốt)

Đã gửi 30 October 2009 - 07:51 AM

Thường khi chọn đối tượng (cụ thể ở đây mình muốn nói là một polyline đc tạo thành từ những đoạn thẳng) người ta "pick" vào nó. Các bạn có biết cách nào (hàm nào) lấy đc tọa độ hai điểm của đoạn thẳng thuộc polyline ngay tại điểm chọn ("pick") kg. Mình muốn xác định hướng polyline ngay tại điểm chọn nhưng chưa làm đc.

Bác dùng hàm nentsel.
Ví dụ:
(setq pl (car (nentsel)))
plL (entget pl)
p1 (assoc 10 plL)
p2 (assoc 10 (cdr (member p1 plL)))
)
  • 1

#134 thaiquyenck

thaiquyenck

    biết vẽ polygon

  • Members
  • PipPip
  • 76 Bài viết
Điểm đánh giá: 14 (tàm tạm)

Đã gửi 30 October 2009 - 08:18 AM

:tongue2: Em cũng đang tính học lisp mà thấy nó khó quá,ở chỗ em thì chẳng có trung tâm nào dạy lisp cả.tự học thì đúng là khó thật.có bác nào biết cách nào học lisp dễ hiểu không chỉ cho em với.em cũng ghiền mấy môn đó lắm nhưng đọc sách mãi mà chẳng hiểu j` cả
  • 0
...Tặng riêng những ai thật lòng


Đang còn hát yêu thương con người ...

#135 nataca

nataca

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 712 Bài viết
Điểm đánh giá: 553 (tốt)

Đã gửi 30 October 2009 - 08:30 AM

:tongue2: Em cũng đang tính học lisp mà thấy nó khó quá,ở chỗ em thì chẳng có trung tâm nào dạy lisp cả.tự học thì đúng là khó thật.có bác nào biết cách nào học lisp dễ hiểu không chỉ cho em với.em cũng ghiền mấy môn đó lắm nhưng đọc sách mãi mà chẳng hiểu j` cả

Bạn yên tâm đi, không quá khó như bạn nghĩ đâu. Trên diễn đàn này đa số đều do các anh em tự học. Mọi người vẫn giỏi được đấy thôi
  • 0

#136 ssg

ssg

    biết lệnh adcenter

  • Vip
  • PipPipPipPipPipPipPip
  • 1228 Bài viết
Điểm đánh giá: 1087 (rất tốt)

Đã gửi 30 October 2009 - 08:32 AM

Bác dùng hàm nentsel.
Ví dụ:
(setq pl (car (nentsel)))
plL (entget pl)
p1 (assoc 10 plL)
p2 (assoc 10 (cdr (member p1 plL)))
)

Ssg thấy không ổn:
- Với 2Dpolyline thì nentsel cũng như entsel
- Với 3Dpolyline thì (entget (car (nentsel))) chỉ chứa tọa độ 1 vertex, không đúng ý bạn TRUNGNGAMY

Ssg đề nghị cách này:

(defun C:VD()
(vl-load-com)
(setq
sel (entsel "\nChon polyline:")
c (car sel)
p (cadr sel)
p0 (vlax-curve-getClosestPointTo c p)
para0 (vlax-curve-getParamAtPoint c p0)
para1 (fix para0)
para2 (1+ para1)
p1 (vlax-curve-getPointAtParam c para1)
p2 (vlax-curve-getPointAtParam c para2)
)
;;;KIEM TRA
(setvar "PDMODE" 34)
(entmake (list (cons 0 "POINT") (cons 10 p1)))
(entmake (list (cons 0 "POINT") (cons 10 p2)))
)

  • 3

#137 ssg

ssg

    biết lệnh adcenter

  • Vip
  • PipPipPipPipPipPipPip
  • 1228 Bài viết
Điểm đánh giá: 1087 (rất tốt)

Đã gửi 30 October 2009 - 08:47 AM

:tongue2: Em cũng đang tính học lisp mà thấy nó khó quá,ở chỗ em thì chẳng có trung tâm nào dạy lisp cả.tự học thì đúng là khó thật.có bác nào biết cách nào học lisp dễ hiểu không chỉ cho em với.em cũng ghiền mấy môn đó lắm nhưng đọc sách mãi mà chẳng hiểu j` cả

Bạn đọc kỹ bài hướng dẫn của ssg ở trang đầu topic này. Vướng chỗ nào cứ mạnh dạn post lên. Vạn sự khởi đầu nan, vượt qua được vòng "nhập môn" bạn sẽ thấy nó dễ không ấy mà (như trò chơi xếp gạch!). Điều quan trọng là chịu khó thực hành và nghiền ngẫm... Chúc bạn thành công!
  • 0

#138 thaiquyenck

thaiquyenck

    biết vẽ polygon

  • Members
  • PipPip
  • 76 Bài viết
Điểm đánh giá: 14 (tàm tạm)

Đã gửi 30 October 2009 - 07:10 PM

ừ em cũng biết là vậy.Vậy lúc mới học lisp thì mình phải bắt đầu từ đâu hả anh? có phải cần hiểu biết về các ngôn ngữ lập trình (chẳng hạn như vb) thì mới học được hay là chỉ cần biết CAD là có thể học được.em nhìn vô mấy cái lệnh mà như nhìn vô .... rừng ấy :tongue2:
  • 0
...Tặng riêng những ai thật lòng


Đang còn hát yêu thương con người ...

#139 ssg

ssg

    biết lệnh adcenter

  • Vip
  • PipPipPipPipPipPipPip
  • 1228 Bài viết
Điểm đánh giá: 1087 (rất tốt)

Đã gửi 02 November 2009 - 08:56 AM

ừ em cũng biết là vậy.Vậy lúc mới học lisp thì mình phải bắt đầu từ đâu (1) hả anh? có phải cần hiểu biết về các ngôn ngữ lập trình (chẳng hạn như vb) (2) thì mới học được hay là chỉ cần biết CAD là có thể học được.em nhìn vô mấy cái lệnh mà như nhìn vô .... rừng (3) ấy :tongue2:

1- Thực hành, từ những bài đơn giản nhất, tương tự như bài "vẽ nhà" mà ssg đã giới thiệu trong bài viết. Nếu bạn cảm thấy bài đó phức tạp thì chọn bài đơn giản hơn. Ví dụ:
(defun C:VD()
(alert "Day la chuong trinh AutoLisp dau tien cua thaiquyenck")
)

2- Bạn không cần phải biết VB, C, C++... là cái quái quỷ gì! Điều kiện cần để có thể học Lisp, như ssg đã nói trong bài:
- Tương đối thành thạo AutoCAD
- Có 1 cuốn sách về Lisp (bất kỳ cuốn nào). Nếu bạn có khả năng đọc Help thì khỏi cần sách.
Ngoài ra, có lẽ cũng cần thêm vài điều kiện nữa:
- Đam mê
- Chịu khó
- Có khả năng tư duy logic ở mức trung bình trở lên

3- Mới đầu có thể là vậy, nhưng dần dần bạn sẽ không còn cảm giác đó nữa.
  • 2

#140 thaiquyenck

thaiquyenck

    biết vẽ polygon

  • Members
  • PipPip
  • 76 Bài viết
Điểm đánh giá: 14 (tàm tạm)

Đã gửi 03 November 2009 - 08:29 AM

1- Thực hành, từ những bài đơn giản nhất, tương tự như bài "vẽ nhà" mà ssg đã giới thiệu trong bài viết. Nếu bạn cảm thấy bài đó phức tạp thì chọn bài đơn giản hơn. Ví dụ:
(defun C:VD()
(alert "Day la chuong trinh AutoLisp dau tien cua thaiquyenck")
)

......................
Cám ơn anh nha.em cũng đã đọc bài của anh rồi.Cad thì em xài cũng kha khá,còn đam mê thì chắc chắn rồi :tongue2: .bây giờ nhìn vô lisp không giống nhìn vô rừng nữa mà giống nhìn vô vườn rồi :D
Nhân tiện cho em hỏi luôn: mấy cái ký tự như / hay \ mình phải đặt sao cho đúng? trước hay sau nó có dấu cách thì có sao ko?
  • 0
...Tặng riêng những ai thật lòng


Đang còn hát yêu thương con người ...