Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu] Xin Lisp vẽ Rectang xác định trước diện tích và 2 điểm.


  • Please log in to reply
8 replies to this topic

#1 gachick87

gachick87

    biết zoom

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

Đã gửi 12 July 2012 - 05:25 PM

Nhờ các bác viết dùm em cái lisp vẽ rectang có diện tích xác định trước đi qua 2 điểm cho sẵn như sau:
Lisp: S_rectang.lsp
+Chọn diện tích đầu vào: có 2 lựa chọn: Nhập số / Polyline
(nếu chọn P thì chọn polyline trong bản vẽ để lấy diện tích polyline đó; nếu chọn N thì nhập thông số diện tích vào)
+Pick chọn 2 điểm Point 1 và Point 2 trong bản vẽ để lấy 1 cạnh của hình chữ nhật cần vẽ.

Kết quả tạo ra được hình chữ nhật có 1 cạnh là P1-P2 và có diện tích đúng bằng diện tích xác định cho trước.
Hình minh họa: Hình đã gửi

Với chiều của chiều cao H trong hình vẽ được xác định là chiều dương trục Oy nếu đặt hệ tọa độ XOY theo điểm P1 ứng
với gốc tọa độ O; điểm P2 ứng với chiều dương trục Ox.
Các bác giúp em với nhé. Em đang cần cho công tác đo đạc thống kê lắm ạ. Em xin cảm ơn các bác lắm lắm ạ!
  • 0

#2 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 12 July 2012 - 05:37 PM

Nhờ các bác viết dùm em cái lisp vẽ rectang có diện tích xác định trước đi qua 2 điểm cho sẵn như sau:
Lisp: S_rectang.lsp
+Chọn diện tích đầu vào: có 2 lựa chọn: Nhập số / Polyline
(nếu chọn P thì chọn polyline trong bản vẽ để lấy diện tích polyline đó; nếu chọn N thì nhập thông số diện tích vào)
+Pick chọn 2 điểm Point 1 và Point 2 trong bản vẽ để lấy 1 cạnh của hình chữ nhật cần vẽ.

Kết quả tạo ra được hình chữ nhật có 1 cạnh là P1-P2 và có diện tích đúng bằng diện tích xác định cho trước.
Hình minh họa: Hình đã gửi

Với chiều của chiều cao H trong hình vẽ được xác định là chiều dương trục Oy nếu đặt hệ tọa độ XOY theo điểm P1 ứng
với gốc tọa độ O; điểm P2 ứng với chiều dương trục Ox.
Các bác giúp em với nhé. Em đang cần cho công tác đo đạc thống kê lắm ạ. Em xin cảm ơn các bác lắm lắm ạ!

Bạn có thể dùng Lệnh REC để vẽ với điều kiện biết trước diện tích và chiều dài của hình chữ nhật


Command: RECTANG
Specify first corner point or [Chamfer/Elevation/Fillet/Thickness/Width]:
Specify other corner point or [Area/Dimensions/Rotation]: a

Enter area of rectangle in current units <500000.00>: 500000 -> Nhập diện tích

Calculate rectangle dimensions based on [Length/Width] <Length>: L

Enter rectangle length <1457.68>: Nhập chiều dài hoặc pick 2 điểm point1 point2 làm khoảng cách đo chiều dài
Specify second point:
  • 2

#3 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 12 July 2012 - 06:23 PM

Yêu cầu đơn giản nhưng mô tả rõ ràng, mình rất thích
Của bạn :

(defun c:reca(/ dt a p1 p2)(vl-load-com) ;free @ketxu
(setq dt (cond ((getreal "\nNhap dien tich hoac space de pick Pline"))
((not (princ "\nChon Pline :")))
((vla-get-area (vlax-ename->vla-object (ssname (ssget ":S" (list (cons 0 "*POLYLINE"))) 0))))
)
)
(vl-cmdf ".rectang" (setq p1 (getpoint "\nP1 :")) "_non" (strcat "@" (rtos (setq a (distance p1 (getpoint p1 "\nP2")))) ","(rtos (/ dt a))))
)

  • 2

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#4 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 12 July 2012 - 09:47 PM

1). Hình chữ nhật này không có điều kiện nào bắt buộc có cạnh // trục X và Y.
2). Nếu có 1 HCN thì sẽ có thêm 1 HCN nữa.
  • 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.


#5 gachick87

gachick87

    biết zoom

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

Đã gửi 13 July 2012 - 10:20 AM

Em chân thành cảm ơn tất cả các bác đã giúp đỡ em nhé!
  • 0

#6 VThanhgtvt

VThanhgtvt

    biết vẽ circle

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

Đã gửi 13 July 2012 - 05:27 PM

Yêu cầu đơn giản nhưng mô tả rõ ràng, mình rất thích

Sao em dùng lisp này em vẽ thành đường thẳng thui nhỉ?
  • 0

#7 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 13 July 2012 - 05:51 PM

Sao em dùng lisp này em vẽ thành đường thẳng thui nhỉ?

Khó có chuyện đấy lắm bạn ơi ^^ Trừ khi Diện tích của bạn quá nhỏ. Mà theo mình nghĩ thế này, bạn đừng cám ơn vội khi chưa test :)
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#8 VThanhgtvt

VThanhgtvt

    biết vẽ circle

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

Đã gửi 13 July 2012 - 06:00 PM

Khó có chuyện đấy lắm bạn ơi ^^ Trừ khi Diện tích của bạn quá nhỏ. Mà theo mình nghĩ thế này, bạn đừng cám ơn vội khi chưa test :)


Hj. Sorry bác nhé. Đúng là diện tích "của em" bé quá bác ah. Cái này phải nhập diện tích theo trong cad ah bác. Tới tận 6 số liền!!!
  • 0

#9 fplay88

fplay88

    biết zoom

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

Đã gửi 13 July 2012 - 08:30 PM

mình thử dùng cách của bác
Tue_NV thấy cũng đc cần gì lip nhỉ
  • 0