Đế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
2849 replies to this topic

#1921 quansla

quansla

    biết lệnh xclip

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

Đã gửi 05 October 2014 - 02:44 PM

Các bác cho em hỏi,bây giờ em có 1 block. Bên trong nó là các đối tượng con. Giả dụ là :1 Rectang, 1 Line, 1 Dtext, 1 Mtext,[ có hoặc không có 1 Att]

Vậy em cần làm code như thế nào để có thể duyệt được tất cả các đối tượng con này trong block đó

Và một vấn đề hỏi thêm, có phương pháp nào để lập trình Code lisp giúp ta có thể Thêm (add)/ Xoá (delete) đối tượng con vào block (sẵn có) không?

Em xin cảm ơn các bác

P/s 

Vấn đề duyệt qua các subentity em đã làm được nhờ (entnext) và duyệt (tblobjname "block" "ten_block")

Còn vấn đề Thêm/Bớt một đối tượng con mới vào Block nhờ các bác giúp em


  • 0

#1922 Tot77

Tot77

    biết lệnh adcenter

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

Đã gửi 05 October 2014 - 03:57 PM

Bớt thì dể, còn thêm mới khó, bạn dùng lsp của LM.

http://www.lee-mac.c...ctstoblock.html


  • 2

#1923 quansla

quansla

    biết lệnh xclip

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

Đã gửi 05 October 2014 - 04:13 PM

Bớt thì dể, còn thêm mới khó, bạn dùng lsp của LM.
http://www.lee-mac.c...ctstoblock.html

Cảm ơn bác nhé, để em xem lại xem,em cũng vừa kiếm được 1 nguồn tham khảo khác, cần suy nghĩ thêm, phương pháp bên đó có khác bên này
  • 0

#1924 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 05 October 2014 - 10:27 PM

Ai sành về cách bố trí Image vào Dialog cho tui hỏi tí. Tui bố trí nó không cân xứng.

- Có 1 hình vẽ đặt gọn trong 1 rectang kích thước w1*h1.

- Trong Dialog có 1 Tile Image có kích thước w2*h2.

Hỏi:

Cách tạo Slide và cách dùng hàm Slide_image với các thông số như thế nào để Slide nằm vừa khít trong Image?

P/S: biết w1/w2=h1/h2.

Nhắc lại câu hỏi tí: cách tạo Slide của 1 Rectang và cách dùng hàm Slide_Image như thế nào để Rectang nằm vừa khít vào Tile Image và trùng trọng tâm?


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


#1925 Tot77

Tot77

    biết lệnh adcenter

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

Đã gửi 06 October 2014 - 08:23 AM

Khi tạo image bác cứ zoom toàn màn hình lên thôi (dĩ nhiên khi đó trong bản vẽ chỉ có mỗi cái hình đó).

Còn trong lsp bác dùng hàm fill_image với màu trùng màu nền để lấp background cùng màu với image.

Chứ chẳng có công thức cố định nào cả đâu.


  • 0

#1926 thanhduan2407

thanhduan2407

    biết lệnh adcenter

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

Đã gửi 06 October 2014 - 08:36 AM

Anh Tot77 ơi! Em hỏi ngoài lề 1 chút ạ!

Làm thế nào để biết phần tử trong 1 list ở vị trí thứ mấy trong list đó ạ.

Liệu có hàm nào không hay phải viết ạ?

Cảm ơn anh


  • 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







#1927 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 06 October 2014 - 08:38 AM

Anh Tot77 ơi! Em hỏi ngoài lề 1 chút ạ!

Làm thế nào để biết phần tử trong 1 list ở vị trí thứ mấy trong list đó ạ.

Liệu có hàm nào không hay phải viết ạ?

Cảm ơn anh

vl-position


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


#1928 thanhduan2407

thanhduan2407

    biết lệnh adcenter

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

Đã gửi 06 October 2014 - 08:38 AM

Em lại hỏi hớ rùi

vl-position


  • 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







#1929 thanhduan2407

thanhduan2407

    biết lệnh adcenter

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

Đã gửi 06 October 2014 - 08:39 AM

Hì hì. Cảm ơn bác Hạ. *Gãi đầ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







#1930 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 06 October 2014 - 08:46 AM

Khi tạo image bác cứ zoom toàn màn hình lên thôi (dĩ nhiên khi đó trong bản vẽ chỉ có mỗi cái hình đó).

Còn trong lsp bác dùng hàm fill_image với màu trùng màu nền để lấp background cùng màu với image.

Chứ chẳng có công thức cố định nào cả đâu.

Vấn đề là làm sao để với bất kỳ hình nào thì trọng tâm của nó cũng trùng với trọng tâm của tile và đường bao của hình vừa khít với biên của tile.

Như ví dụ là rectang màu đỏ.

67029_test_1.png


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


#1931 nhoclangbat

nhoclangbat

    Edu level: li10

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

Đã gửi 06 October 2014 - 11:14 AM

- mấy a cho nhoc hỏi có cách nào khắc phục hạn chế của hatch đối với đa giác có 1 or vài góc gãy nhỏ, đối với hình như vậy nó ko hatch hết đc hình, vì nhoc tính diện tích = hatch mà nếu hatch ko hết thì ảnh hưởng đến sai số làm tròn diện tích, dùng lệnh bo thì ok nhưng hình nhoc tính đôi khi là đa giác trong đa giác và nhoc chỉ mún tính diện tích trừ đi diện tích con của đa giác nằm trong.

- thank mấy a trước ^^


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

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








#1932 Tot77

Tot77

    biết lệnh adcenter

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

Đã gửi 06 October 2014 - 11:15 AM

Bác thử làm thế này xem sao.

1. Vẽ 1 rectang màu đỏ, zoom "e", stretch sao cho vừa bằng cái  rìa màn hình của bác. Khi đó nó là hình chữ nhật ngang (không phải đứng như hình của bác) vì bao giờ bề ngang màn hình cũng lớn hon bề cao.

2. Đánh mslide tạo file sld.

3. Khi làm bước 1 bác đo  bề ngang bề đứng của rectang rồi tìm tỷ lệ. Sau đó trong file dcl bác cho width và height bằng tỷ lệ đó.

4. Trong file lsp bác viết có đoạn như sau:

  (fill_image 0 0 width height 0)

  (slide_image 1 1 (1- width) (1- height) sldName)

 với width = dimx_tile và height = dimy_tile, sldName là tên file sld.

(fill_image 0 0 width height 0)

  • 0

#1933 Tot77

Tot77

    biết lệnh adcenter

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

Đã gửi 06 October 2014 - 11:57 AM

- mấy a cho nhoc hỏi có cách nào khắc phục hạn chế của hatch đối với đa giác có 1 or vài góc gãy nhỏ, đối với hình như vậy nó ko hatch hết đc hình, vì nhoc tính diện tích = hatch mà nếu hatch ko hết thì ảnh hưởng đến sai số làm tròn diện tích, dùng lệnh bo thì ok nhưng hình nhoc tính đôi khi là đa giác trong đa giác và nhoc chỉ mún tính diện tích trừ đi diện tích con của đa giác nằm trong.

- thank mấy a trước ^^

Nhoc đưa cái hình hay cái file lên mới hình dung ra dc.


  • 0

#1934 nhoclangbat

nhoclangbat

    Edu level: li10

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

Đã gửi 06 October 2014 - 12:14 PM

- hihi cũng tính làm file mẫu mà quên ^^, anh Tot77 xem giúp nhoc hen :)

http://www.cadviet.c...73_vddddddd.dwg


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

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








#1935 Tot77

Tot77

    biết lệnh adcenter

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

Đã gửi 06 October 2014 - 12:31 PM

Hatch theo kiểu Add Select Object sẽ không bị sót như kiểu Add Pick Points.
Hactch kiểu Add Pick Points cũng phụ thuộc vào khung nhìn, nhìn càng gần càng chính xác.
  • 0

#1936 nhoclangbat

nhoclangbat

    Edu level: li10

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

Đã gửi 06 October 2014 - 01:19 PM

Hatch theo kiểu Add Select Object sẽ không bị sót như kiểu Add Pick Points.
Hactch kiểu Add Pick Points cũng phụ thuộc vào khung nhìn, nhìn càng gần càng chính xác.

- kiểu object thì làm sao để loại đc mấy đa giác nhỏ ở trong anh Tot77 nhỉ


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

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








#1937 Tot77

Tot77

    biết lệnh adcenter

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

Đã gửi 06 October 2014 - 02:11 PM

Nói theo thứ tự là như vầy:

1. Zoom "o" cái đường bao.

2. Lệnh bo, chon dg bao, nhấp chọn island detection.

3. lệnh hatch, chon add select objects, chọn cả cái bo mới tạo + 2 cái lỗ bên trong.


  • 1

#1938 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 06 October 2014 - 02:34 PM

Cám ơn bạn Tot77 đã chia sẻ, nhưng nó không đúng.

Cám ơn mọi người đã đọc chủ đề "slide". Sau một thời gian nghiên cứu tôi đã tìm ra được quy luật rồi.


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


#1939 nhoclangbat

nhoclangbat

    Edu level: li10

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

Đã gửi 10 October 2014 - 08:12 AM

- Mấy anh cho nhoc hỏi với, nhoc đang chỉnh lại cái lsp xuất bảng tọa độ thửa đất nhưng gặp 1 số chỗ thắc mắc chưa hiểu ^^

- có cách nào tạo đk để kt 1 tử có thuộc danh sách cho trước không mấy a

- Vd: nhoc viết như vậy (if (= (member a (list 1 2 3 a d v 5)) nil) có đc ko nhỉ, ý nhoc  mún là nếu a ko thuộc danh sách đó = nil thì thoát lệnh lun hoặc thông báo cho người dùng pit, còn a thuộc danh sách đó thì đúng và làm các việc trong (progn .......).

- như nhoc viết nếu a thuộc danh sách đó hàm mem bẻ sẽ trả về danh sách (= (a d v 5) nil), nhoc pit là nhoc viết sai, nó chỉ đúng khi a thật sự ko thuộc danh sách đó.

- mấy a giúp nhoc với ^^


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

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








#1940 thanhduan2407

thanhduan2407

    biết lệnh adcenter

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

Đã gửi 10 October 2014 - 08:17 AM

Nhoclangbat nghiên cứu Code này xem

;;HAM LAY RA CAC PHAN TU GIONG NHAU TU 2 DANH SACH (CON - TO) (LEN L1< LEN L2)
;;;;(LM:RemoveOnce '(2 4 6) '(1 2 3 4 5 7 6) )
(defun LM:RemoveOnce ( l1 l2 )
  (if l1
    (if (equal (car l1) l2)
      (LM:RemoveOnce (cdr l1) l2)
      (cons (car l1) (LM:RemoveOnce (cdr l1) l2))
    )
  )
)

  • 1



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