Đến nội dung


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

Hỏi về Lisp (thuật toán, ý tưởng, coding,...)


  • Please log in to reply
2851 replies to this topic

#2421 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 993 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 05 February 2015 - 01:33 PM

HỎI VỀ XỬ LÝ VÒNG LẶP VỚI DANH SÁCH

 

Chào các bác! Em đang bị vướng chưa biết cách xử lý vòng lặp với một danh sách nên nhờ các bác tư vấn giúp. (Em đang thực hiện thuật toán tạo vùng với tất cả các đường LINE khép kín, cái này thuộc ngôn ngữ chuyên ngành nên em không cần nói rõ)

Em có 1 mảng gồm 7 mảng danh sách như sau:

1 – 2 – 3

2 – 6 – 4 – 1

3 – 4 – 5 – 1

4 – 6 – 3 – 2

5 – 7 – 3

6 – 7 – 4 – 2

7 – 5 – 6

Xét từng lần lượt từ 1 đến 7

Trong file đính kèm em mô tả rất rõ. 

Em đang loay hoay xử lý vòng lặp mà chưa biết cách. Rất mong các bác chỉ giáo

http://www.cadviet.c...ch_tao_vung.dwg


  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#2422 trinhhoanghieu090

trinhhoanghieu090

    Edu level: li8

  • Members
  • PipPipPipPipPip
  • 309 Bài viết
Điểm đánh giá: 29 (tàm tạm)

Đã gửi 05 February 2015 - 08:27 PM

hì hì, sorry bác Thanh Duan em chen ngang tí, em có vấn đề này cần các pro tư vấn:

Khi viết một text nam tron vào một khung HCN, thì một cạnh của hình chữ nhật dễ dàng tính được theo text hight. Cạnh còn lại được tính theo (* độ rộng chữ chiều dài chữ), khổ nỗi độ rộng chữ lại phụ thuộc vào từng font và cả cái tỷ lệ "width factor" do người dùng chọn. Các bác cho em một vài ý tưởng được không ạ. Thanks các bác.


  • 0

#2423 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 05 February 2015 - 09:38 PM

Hàm textbox?


  • 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.


#2424 TRUNGNGAMY

TRUNGNGAMY

    biết lệnh block

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

Đã gửi 06 February 2015 - 12:36 AM

HỎI VỀ XỬ LÝ VÒNG LẶP VỚI DANH SÁCH

 

Chào các bác! Em đang bị vướng chưa biết cách xử lý vòng lặp với một danh sách nên nhờ các bác tư vấn giúp. (Em đang thực hiện thuật toán tạo vùng với tất cả các đường LINE khép kín, cái này thuộc ngôn ngữ chuyên ngành nên em không cần nói rõ)

Em có 1 mảng gồm 7 mảng danh sách như sau:

1 – 2 – 3

2 – 6 – 4 – 1

3 – 4 – 5 – 1

4 – 6 – 3 – 2

5 – 7 – 3

6 – 7 – 4 – 2

7 – 5 – 6

Xét từng lần lượt từ 1 đến 7

Trong file đính kèm em mô tả rất rõ. 

Em đang loay hoay xử lý vòng lặp mà chưa biết cách. Rất mong các bác chỉ giáo

http://www.cadviet.c...ch_tao_vung.dwg

Thế bác cứ nói rõ mình đang làm gì, dữ liệu vào là gì, dữ liệu ra là gì có hơn kg. Nhìn bác diễn tả thật sự chưa hiểu ý lắm


  • 0

#2425 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 993 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 06 February 2015 - 12:40 AM

Thế bác cứ nói rõ mình đang làm gì, dữ liệu vào là gì, dữ liệu ra là gì có hơn kg. Nhìn bác diễn tả thật sự chưa hiểu ý lắm

Em biết bác TRUNGNGAMY

P/s. Máy đơ nên cmt sai.

ý tưởng là tính diện tích từ vùng khép kín bởi LINE


  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#2426 TRUNGNGAMY

TRUNGNGAMY

    biết lệnh block

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

Đã gửi 06 February 2015 - 01:04 AM

Cái này làm trên lisp chậm lắm. Bản vẽ nhỏ còn đc, nếu lớn chạy lâu và nếu line thay đổi vị trí thì cập nhật mệt lắm. Mình làm từ năm 1993 nay kg dùng nữa (kg biết ý tưởng có giống bạn hay kg). Tại sao bạn kg dùng cadmap hay microstation.


  • 0

#2427 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 993 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 06 February 2015 - 01:08 AM

Cái này làm trên lisp chậm lắm. Bản vẽ nhỏ còn đc, nếu lớn chạy lâu và nếu line thay đổi vị trí thì cập nhật mệt lắm. Mình làm từ năm 1993 nay kg dùng nữa (kg biết ý tưởng có giống bạn hay kg). Tại sao bạn kg dùng cadmap hay microstation.

Em xin lỗi, em xử lý bài toán theo danh sách, ko thể nói chậm hay nhanh.


  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#2428 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 06 February 2015 - 06:34 AM

 

Em ở trong nam bác ạ. Híc

 

 

Mấy bài viết kiểu như thế này đề nghị Bạn trinhhoanghieu090 và thanhduan2407 nên gửi vào tin nhắn riêng

Mất thời gian của người đọc và theo dõi!

Mình sẽ delete mấy bài viết kiểu như thế này!


  • 1

#2429 Tot77

Tot77

    biết lệnh adcenter

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

Đã gửi 06 February 2015 - 07:44 AM

hì hì, sorry bác Thanh Duan em chen ngang tí, em có vấn đề này cần các pro tư vấn:

Khi viết một text nam tron vào một khung HCN, thì một cạnh của hình chữ nhật dễ dàng tính được theo text hight. Cạnh còn lại được tính theo (* độ rộng chữ chiều dài chữ), khổ nỗi độ rộng chữ lại phụ thuộc vào từng font và cả cái tỷ lệ "width factor" do người dùng chọn. Các bác cho em một vài ý tưởng được không ạ. Thanks các bác.

Bạn có thể dùng boundingbox để vẽ hình CN bao quanh text. Đối với text nghiêng thì đường bao vẫn thẳng.

:mellow:  :mellow:

(vla-getBoundingBox (vlax-ename->vla-object (car (entsel "\nChon text:"))) 'minp 'maxp)
(setq li (mapcar 'vlax-safearray->list (list minp maxp)))
(command "rectang" "non" (car li) "non" (last li))


  • 1

#2430 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 06 February 2015 - 07:47 AM

 

Bạn có thể dùng boundingbox để vẽ hình CN bao quanh text.

(vla-getBoundingBox (vlax-ename->vla-object (car (entsel "\nChon text:"))) 'minp 'maxp)
(setq li (mapcar 'vlax-safearray->list (list minp maxp)))
(command "rectang" "non" (car li) "non" (last li))

 

Bác coi chừng cái Text "nghiêng" ! 


  • 1

#2431 trinhhoanghieu090

trinhhoanghieu090

    Edu level: li8

  • Members
  • PipPipPipPipPip
  • 309 Bài viết
Điểm đánh giá: 29 (tàm tạm)

Đã gửi 06 February 2015 - 04:56 PM

Em thanks các bác nhiều.


  • 0

#2432 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 993 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 09 February 2015 - 08:14 AM

Cho em hỏi ké một chút ạ!

Em có 1 danh sách (list '(1 2 4 3) '(2 6 4) '(3 4 6 7 5) '(4 6 7 5) '(6 7 5))

Em muốn loại bỏ mảng được lặp lại các phần tử có trong danh sách. Ví dụ trong danh sách trên thì em loại bỏ '(4 6 7 5)  và '(6 7 5)) ra khỏi danh sách thì phương thức loại bỏ như nào vậy các bác?

(list '(1 2 4 3) '(2 6 4) '(3 4 6 7 5) '(4 6 7 5) '(6 7 5)) => (list '(1 2 4 3) '(2 6 4) '(3 4 6 7 5))

Em cảm ơn các bác nhiều.


  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#2433 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 09 February 2015 - 08:39 AM

(vl-remove (nth i lst) lst)


  • 0

#2434 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 993 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 09 February 2015 - 08:48 AM

(vl-remove (nth i lst) lst)

 

Cảm ơn bác tien2005 đã trợ giúp nhưng kết quả không đúng theo ý muốn bác ạ! Cảm ơn bác nhiều
  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#2435 hiepttr

hiepttr

    Edu level: li10

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

Đã gửi 09 February 2015 - 08:59 AM

Phải chăng ý của bác Duẫn là muốn "vạch mặt" những list con mà tất cả những phần tử của nó đã xuất hiện ít nhất 1 lần trong các list con khác (xét từ đầu đến cuối) ???


  • 1

Có vợ dù dữ dù hiền , bạn đều có lợi
_ Nếu vợ hiền, bạn sẽ là người đàn ông sung sướng
_ Nếu vợ dữ, bạn sẽ thành ... triết gia !

Bergson


#2436 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 993 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 09 February 2015 - 09:05 AM

Phải chăng ý của bác Duẫn là muốn "vạch mặt" những list con mà tất cả những phần tử của nó đã xuất hiện ít nhất 1 lần trong các list con khác (xét từ đầu đến cuối) ???

Đúng rồi bác hiepttr ! Hii.

Cảm ơn bác tien2005 nhé! Em đã thành công rồi


  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#2437 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 09 February 2015 - 02:58 PM

chúng ta đã có lệnh alignspace để align 2 điểm trên model theo 2 điểm trên viewport. Vậy chúng ta có thể viết code ngược lại: có 2 điểm trên viewport thì tìm được 2 điểm tương ứng trên model được không? mở rộng ra là với viewport n đỉnh thì ta có n điểm trên model. Nếu được xin giúp đoạn code này

 

Ứng dụng: ở layout ta chọn đối tượng viewport, lisp trả về cho ta tập chọn các đối tượng trên model tương ứng với viewport được chọn


  • 0

#2438 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 09 February 2015 - 03:34 PM

Chắc là đây chăng?

http://www.jtbworld..../vp-outline.htm


  • 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.


#2439 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 09 February 2015 - 03:45 PM

thanks @Doan Van Ha chính nó


  • 0

#2440 nhoclangbat

nhoclangbat

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1409 Bài viết
Điểm đánh giá: 379 (khá)

Đã gửi 11 February 2015 - 06:41 AM

- hi mấy anh cho nhoc hỏi ngoài lề xíu ^^, tốc độ thực thi của Lsp phụ thuộc vào phiên bản cad hay cấu hình máy tính nhỉ, đó giờ nhoc cũng nghi vấn nhưng chưa test thử, nay bùn bùn test thử ^^

- cùng 1 lsp nhoc test trên lap nhoc hay làm core i5 cad2014 tạo khoảng 5k đối tượng (lsp này nhoc chỉ dùng vòng lặp với entmake) mất 4 phút mới chạy xong.

- chạy thử trên máy bàn của thằng em cũng core i5 cad2015 tạo như trên chỉ mất gần 1 phút ^^

- tuy cùng core i5 nhưng chưa chắc thằng nào mạnh hơn ^^ nhoc nghĩ còn phụ thuộc nhiều yếu tố khác, về khoảng xem cấu hình máy nhoc chưa pit nhiều ^^

-p/s: mấy anh mod thấy nhoc lạc đề move hộ nhoc hen ^^


  • 0
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^