Đến nội dung


Hình ảnh

[Nhờ Chỉnh Sửa Lisp] Lisp Vẽ Polyline Kín +Hatch Khi Biết Trước Diện Tích Và Nhập Số Điểm


  • Please log in to reply
8 replies to this topic

#1 tamky

tamky

    biết zoom

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

Đã gửi 19 September 2016 - 01:32 AM

Em có lisp anh KETXU vẽ hình chữ nhật khi nhập diện tích và pick chọn 2 điểm theo địa chỉ sau: https://drive.google...TDdEbkRVQnBZaTQ

Đây là bài viết trên diễn  đàn: http://www.cadviet.com/forum/topic/65247-yeu-cau-xin-lisp-ve-rectang-xac-dinh-truoc-dien-tich-va-2-diem/

 Em nhờ các  anh trên diễn đàn chỉnh sửa lại giúp em tí theo yêu cầu:

 - Nhập diện tích vào và pick chọn các điểm trên polyline --> kết quả tạo ra là đường polyline kín + hatch trong vùng kín theo các điểm đã chọn.

 - Hình minh họa: (em đã tải nhầm file, e xin lỗi) https://drive.google...dnhkNk9fTmFVd2s

 Nhờ các anh giúp cho. Xin cảm ơn. Do em tải file trực tiếp nhưng không được, nhờ các anh cố gắng giúp cho.


  • 0

#2 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 19 September 2016 - 07:30 AM

Nói chung là đoán mò. Vẽ pline bằng cách pick điểm. Scale cho cái pline đó có diện tích như mong muốn. Nếu đúng thì viết như này:

(defun c:vdt ()

(command "pline")
(princ "\nSpecify start point:")
(while (< 0 (getvar "CMDACTIVE"))
(command pause)
(princ "\nSpecify next point or [Arc/Close/Halfwidth/Length/Undo/Width]:")
) 

(command "area" "object" "last")
(setq dtt (getvar "area"))
(setq cheot (* dtt 2)) 
(setq cheotr (sqrt cheot)) 
(setq dts (getreal "\nDien tich mong muon : "))
(setq cheos (* dts 2)) 
(setq cheosr (sqrt cheos)) 
(setq tilenhan (/ cheosr cheotr))
(setq dc (getpoint "\nChon diem goc: "))
(command "scale" "last" "" "_non" dc tilenhan)
(princ))

Phần hatch thì cần đề cho tên. tỉ lệ của hatch thì mới viết không mất công sửa mệt.


  • 0

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


#3 tamky

tamky

    biết zoom

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

Đã gửi 19 September 2016 - 04:11 PM

Cảm ơn anh Duy, em upload lộn file mẫu nên lisp anh em áp dụng không được. Nhờ anh giúp đỡ


  • 0

#4 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 20 September 2016 - 09:21 AM

Đọc bài viết, xem file đính kèm => hông hỉu gì ráo trọi. Mình càng ngày càng ngu thì phải  :( .


  • 0

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


#5 tamky

tamky

    biết zoom

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

Đã gửi 20 September 2016 - 10:39 AM

Em xin lỗi anh Duy đã làm anh bực mình, em đã úp lại 2 lần rồi nhưng file hình minh họa vẫn bị nhầm. Em chỉnh lại lần cuối rồi nhờ anh cố gắng giúp em với.

Chân thành cảm ơn anh.


  • 0

#6 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 20 September 2016 - 04:10 PM

1.Cái pline của bạn hình thành bằng việc copy cái pline tạo bởi các điểm pick lên theo chiều trục y một giá trị dẩn đến đáy thì dày hơi thành.

2.Có 2 trường hợp. một thì như trên một thì như trên mà điểm phía tay trái lại xéo đi 1 đoạn nửa cái giá trị xéo này xác định như nào.

 

Hỏi cho rỏ thôi chứ yêu cầu này mình ko làm được. Thông cảm nhé!


  • 0

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


#7 DuongTrungHuy

DuongTrungHuy

    biết lệnh copy

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

Đã gửi 20 September 2016 - 04:56 PM

Em xin lỗi anh Duy đã làm anh bực mình, em đã úp lại 2 lần rồi nhưng file hình minh họa vẫn bị nhầm. Em chỉnh lại lần cuối rồi nhờ anh cố gắng giúp em với.

Chân thành cảm ơn anh.

Bài toán của Bạn hơi phức tạp là phải tính thử dần!


  • 0

#8 DuongTrungHuy

DuongTrungHuy

    biết lệnh copy

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

Đã gửi 20 September 2016 - 06:45 PM

Bài toán của Bạn hơi phức tạp là phải tính thử dần!

 

Em xin lỗi anh Duy đã làm anh bực mình, em đã úp lại 2 lần rồi nhưng file hình minh họa vẫn bị nhầm. Em chỉnh lại lần cuối rồi nhờ anh cố gắng giúp em với.

Chân thành cảm ơn anh.

https://drive.google...X0ZEN3NkUWFhUnM

 

Lệnh là Tamky Bạn nhé

Mình chỉ xử lý kiểu thẳng đứng, chưa g/q được trường hợp trượt theo đất tự nhiên. Bạn chạy nếu trở ngại thì phản hồi nhé.


  • 0

#9 tamky

tamky

    biết zoom

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

Đã gửi 21 September 2016 - 11:52 PM

Cảm ơn anh nhiều, rất tuyệt vời.

Nếu anh rãnh xin anh cho em thêm 1 bước nữa: Những phần có diện tích giống nhau em chỉ cần enter thôi không cần phải nhập lại.

Chân thành cảm ơn anh.


  • 0