Đến nội dung


Hình ảnh
* * * - - 3 Bình chọn

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


  • Please log in to reply
497 replies to this topic

#461 Chutuyen

Chutuyen

    biết vẽ circle

  • Members
  • PipPip
  • 36 Bài viết
Điểm đánh giá: -3 (bình thường)

Đã gửi 24 April 2015 - 08:06 AM

rổi bac ssg co the up lai k0, link bị hỏng rôi


  • 0

#462 thdong2010

thdong2010

    Chưa sử dụng CAD

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

Đã gửi 16 July 2015 - 07:22 AM

Bạn chủ topic vui  lòng up lại link tải hướng dẫn giúp. Mình cảm ơn.


  • 0

#463 hmt

hmt

    biết lệnh scale

  • Members
  • PipPipPip
  • 146 Bài viết
Điểm đánh giá: -11 (hơi kém)

Đã gửi 23 July 2015 - 10:26 AM

Chào mọi người, e có down lại lisp này. ko hiểu sao load lên cad 2013 lại báo lỗi" error: bad argument type: numberp: nil" khi chọn điểm đặt mặt cắt. Nhờ mọi ng xem giúp :) thank all

;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.com/forum/topic/2480-huong-dan-lap-trinh-lisp/page-23
(defun C:VMC(/ a b c p1 p2 p3 p4 p5 p6 p7 p8 p9 osm)
(setq osm (getvar "osmode"))
;;;Nhap so lieu
(setq
a(getreal"\nBE RONG MAT DUONG a=")
b(getreal"\nBE RONG HE b=")
c(getreal"\nCHENH CAO BO VIA c=")
p1(getpoint"\nCHON DIEM DAT: ")
;;;Tinh toa do
p2(polar p1 0.0 (+(* 2 a) (* 2 b) /cool.png' class='bbc_emoticon' alt='B)' />))
p3(polar p2 (/ pi 2) 1)
p4(polar p3 (+(atan 0.02) pi) (/ b (cos(atan 0.02))))
p5(polar p4 (+ pi (/ pi 2)) c)
p6(polar p5 (- pi (atan 0.02)) (/ a (cos(atan 0.02))))
p7(polar p6 (+ pi (atan 0.02)) (/ a (cos(atan 0.02))))
p8(polar p7 (/ pi 2) c)
p9(polar p8 (- pi (atan 0.02)) (/ b (cos(atan 0.02))))
)
;;;Set object snap OFF
(setvar "osmode" 0)
;;;ve mat cat
(command "pline" p1 p2 p3 p4 p5 p6 p7 p8 p9 "c")
(setvar "osmode" osm))


  • -1

#464 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 23 July 2015 - 10:49 AM

Chọn dòng:

p2 (polar...

Và sửa lại:
p2 (polar p1 0.0 (+ (* 2 a) (* 2 ))


  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#465 trinhngoctri

trinhngoctri

    biết vẽ pline

  • Members
  • PipPip
  • 62 Bài viết
Điểm đánh giá: -1 (bình thường)

Đã gửi 05 August 2015 - 10:54 AM

Tự tay mình lập một chương trình Lisp có gì khác so với nhờ ai đó làm? Chưa cần xét kết quả, điểm khác nhau rất cơ bản là bạn sẽ có được cái cảm giác rất là khoái chí (không thể diễn tả) khi chạy thử chương trình.
Ssg lập topic này không ngoài mục đích tạo điều kiện cho các bạn tự mình tìm hiểu và khám phá cái cảm giác "khoái chí không thể diễn tả" nói trên.
Với tinh thần "Share is Receive", ssg cũng mong các bạn đã thành thạo Lisp quan tâm giúp đỡ các bạn mới để cộng đồng Lisp của CadViet ngày càng đông vui và tạo được nhiều chương trình hữu ích.
Để bắt đầu, ssg post lại một bài viết cũ, nhưng có lẽ vẫn còn mới đối với một số bạn. Hy vọng sẽ giúp được chút gì đó cho các bạn mới tiếp cận với Lisp:

http://www.cadviet.c...les/Relax_1.zip

Download, giải nén rồi đọc file *.doc

 

sao tôi không Download được nó báo lỗi 404


  • 0

#466 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 05 August 2015 - 02:03 PM

sao tôi không Download được nó báo lỗi 404

Hề hề hề,

Bạn muốn download cái chi chi????


  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#467 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 05 August 2015 - 02:07 PM

sao tôi không Download được nó báo lỗi 404

Hề hề hề,

Bạn muốn download cái chi chi????


  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#468 haanh

haanh

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2875 Bài viết
Điểm đánh giá: 1554 (rất tốt)

Đã gửi 05 August 2015 - 10:01 PM

sao tôi không Download được nó báo lỗi 404

 

Tình hình rằng thì mà là , sau khi bấm chuột  vào chữ Download , em cũng thấy nó lòi ra  cái thông báo sau:

11837_xxxxa.png

 

Buồn ...cưới  nhể ???? :) :) :) :)


  • 0

“Sống trong đời sống cần có một tấm lòng / Để làm gì em biết không ? / Để gió cuốn đi, để gió cuốn đi...”


#469 trinhngoctri

trinhngoctri

    biết vẽ pline

  • Members
  • PipPip
  • 62 Bài viết
Điểm đánh giá: -1 (bình thường)

Đã gửi 06 August 2015 - 09:41 AM

Tôi cần download 64998_404.jpg

phamthanhbinh
  • -1

#470 cadwt1990

cadwt1990

    Chưa sử dụng CAD

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

Đã gửi 09 August 2015 - 09:51 PM

Ban oi link bi j mak mh hok tải dc file
  • -1

#471 cumeo7887

cumeo7887

    Chưa sử dụng CAD

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

Đã gửi 06 January 2016 - 04:26 PM

Bác ssg gửi cho em lại link download được không? Link trên die rồi. Em mới tham gia gia đình Cadviet nên còn nhiều thứ phải học lắm. Thanks bác ssg!


  • 0

#472 Superlong

Superlong

    biết vẽ arc

  • Members
  • PipPip
  • 49 Bài viết
Điểm đánh giá: -9 (bình thường)

Đã gửi 20 March 2016 - 09:31 PM

em muốn tạo pline kín từ 2 pline không giao nhau nhưng khi chạy thử thì báo lỗi ssget mọi ng giải thích giùm em với
 

(defun c:yeah
(setq lst (ssget))
(SETQ DT1 (NTH 0 lst)
dt2 (nth 1 lst))
(setq td1 (acet-geom-vertex-list dt1)
td2 (acet-geom-vertex-list dt2))
(setq ss1 (nth 0 td1)
ss2 (nth 1 td2))
(acet-pline-make (list ss1 ss2)))


  • 0

#473 thitluocday

thitluocday

    biết zoom

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

Đã gửi 07 April 2016 - 08:36 AM

bác nào có file Relax_1.zip send em xin nhé, link trên die mất rồi :(


  • 0

#474 Superlong

Superlong

    biết vẽ arc

  • Members
  • PipPip
  • 49 Bài viết
Điểm đánh giá: -9 (bình thường)

Đã gửi 07 April 2016 - 09:44 AM

trong câu lệnh (write-line) thì làm thế nào để cho kết quả xuất ra lần lượt theo cột từ trái qua phải

vd: (setq cot1 (+ 1 1)
cot2 (+ 1 2)
cot3 (+1 3))

 

làm sao có thể đưa giá trị của các biến cot1-3 vào write-line để kết quả cho ra phân biệt theo cột  thứ tự lần lượt các cột từ trái qua phải để open = excel có thể dễ thao tác hơn chứ nếu nối chuỗi lại thì nó vẫn nằm trong 1 ô thôi


  • 0

#475 tien2005

tien2005

    biết lệnh properties

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

Đã gửi 07 April 2016 - 12:24 PM

trong câu lệnh (write-line) thì làm thế nào để cho kết quả xuất ra lần lượt theo cột từ trái qua phải

vd: (setq cot1 (+ 1 1)
cot2 (+ 1 2)
cot3 (+1 3))

 

làm sao có thể đưa giá trị của các biến cot1-3 vào write-line để kết quả cho ra phân biệt theo cột  thứ tự lần lượt các cột từ trái qua phải để open = excel có thể dễ thao tác hơn chứ nếu nối chuỗi lại thì nó vẫn nằm trong 1 ô thôi

để wite-line 1 string vào excel thành các cột Bạn phải nối các string đó lại như sau

(setq str (strcat "noi dung cot 1" "\t" "noi dung cot 2" "\t" "noi dung cot 3"))


  • 0

#476 Superlong

Superlong

    biết vẽ arc

  • Members
  • PipPip
  • 49 Bài viết
Điểm đánh giá: -9 (bình thường)

Đã gửi 08 April 2016 - 09:51 PM

có lệnh nào tạo 1 file excel vào vị trí được ghi ra sẳn trong câu lệnh vd "c:\......." mà chỉ tạo file thôi chứ ko tự mở file ra (ý mình là tạo trong âm thầm ^^)
để tip theo dùng lệnh open  theo đường dẫn đó và ghi dữ liệu vào file đó không
 


  • 0

#477 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 08 April 2016 - 10:27 PM

Link, bài 1285

http://www.cadviet.c...-coding/page-65


  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#478 tientaiutc2612

tientaiutc2612

    biết pan

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

Đã gửi 24 May 2016 - 04:49 PM

Tự tay mình lập một chương trình Lisp có gì khác so với nhờ ai đó làm? Chưa cần xét kết quả, điểm khác nhau rất cơ bản là bạn sẽ có được cái cảm giác rất là khoái chí (không thể diễn tả) khi chạy thử chương trình.
Ssg lập topic này không ngoài mục đích tạo điều kiện cho các bạn tự mình tìm hiểu và khám phá cái cảm giác "khoái chí không thể diễn tả" nói trên.
Với tinh thần "Share is Receive", ssg cũng mong các bạn đã thành thạo Lisp quan tâm giúp đỡ các bạn mới để cộng đồng Lisp của CadViet ngày càng đông vui và tạo được nhiều chương trình hữu ích.
Để bắt đầu, ssg post lại một bài viết cũ, nhưng có lẽ vẫn còn mới đối với một số bạn. Hy vọng sẽ giúp được chút gì đó cho các bạn mới tiếp cận với Lisp:

http://www.cadviet.c...les/Relax_1.zip

Download, giải nén rồi đọc file *.doc

 

link die hay sao mà e k tải đc bác ah


  • 0

#479 HDT

HDT

    biết zoom

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

Đã gửi 06 June 2016 - 11:14 AM

Chào các bác!

 

Em đang viết một cái list, nhưng em muốn lấy các thông số của một đối tượng để gán vào biến thì phải làm thế nào ạ.

 

Ví dụ:

            + Chiều dài đoạn thẳng, tọa độ End X, End Y,…

            + Chiều cao của text, màu của text,…

            + Hoặc với đối tượng phức hợp gồm nhiều đối tượng khác như viewport bên layout (gồm Pline và Veiwport): Em muốn lấy tỷ lệ scare của viewport thì phải làm thế nào ạ.

 

Hóng thánh :3

Cảm ơn các bác đã đọc bài viết của em.

Dạ… Em xin hết ạ. :3


  • 0
.........................................................................................................................................................................
Hoàng Đình Thắng
Cơ quan: Phòng Thiết kế 1 - Công ty Cổ phần Tư vấn Xây dựng công trình Giao thông 5.
Địa chỉ: 229 Trường Chinh, Quận Thanh Khê, TP Đà Nẵng.
DĐ: 01654525566
Fax: 0511. 3842415

#480 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 07 June 2016 - 07:03 AM

Để biết các group code của 1 đối tượng, bạn dùng lệnh (entget (car (entsel))

Khi đa biết code của nội dung cần lấy, bạn dùng mã (cdr (assoc code (entget ent))) trong đó code là mã code cần lấy (vd 0, 1, 10, 11...) còn ent ename đối tượng, có được nhờ hàm (car (entsel)) hoặc ssname.
  • 1