Rated 5/5 based on 240179 internet user reviews

Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu] lisp chia khoảng cách thành các đoạn đều nhau


  • Please log in to reply
12 replies to this topic

#1 victor85

victor85

    biết lệnh mirror

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

Đã gửi 28 June 2011 - 01:00 PM

Bác nào viết dùm mình lisp Chia khoảng cách thành các đoạn đều nhau thay cho lệnh divide trong cad có nhiều điểm không mong muốn với.
Lệnh: dv
Đối tượng đầu vào: pick 2 điểm tạo nên khoảng cách cần chia đều.
Nhập số khoảng cách muốn chia ra.
Đối tượng đầu ra: tạo ra các point cách đều nhau nằm tại đầu mút các khoảng cách cần chia.
Cảm ơn các bác trước nhé. :)
  • 0

#2 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 28 June 2011 - 01:43 PM

Bác nào viết dùm mình lisp Chia khoảng cách thành các đoạn đều nhau thay cho lệnh divide trong cad có nhiều điểm không mong muốn với.
Lệnh: dv
Đối tượng đầu vào: pick 2 điểm tạo nên khoảng cách cần chia đều.
Nhập số khoảng cách muốn chia ra.
Đối tượng đầu ra: tạo ra các point cách đều nhau nằm tại đầu mút các khoảng cách cần chia.
Cảm ơn các bác trước nhé. :)

Bạn dùng cái này xem:
(defun C:DV(/ p1 p2 sk x)
 (setq p1 (getpoint "\nPick diem 1: "))
 (setq p2 (getpoint p1 "\nPick diem 2: "))
 (setq sk (getint "\nNhap so khoang chia: "))
 (setq x 0)
 (repeat (+ sk 1)
  (command "point" (polar p1 (angle p1 p2) (* x (/ (distance p1 p2) sk))))
  (setq x (1+ x))))

  • 2

#3 victor85

victor85

    biết lệnh mirror

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

Đã gửi 28 June 2011 - 02:09 PM

Cảm ơn bác nhé.
  • 0

#4 tai8820

tai8820

    Edu level: ao10

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

Đã gửi 23 July 2014 - 10:11 AM

chào mọi người em có thử dùng lisp này nhưng sau khi pick 2 điểm đầu và cuối của đoạn thẳng em nhập số khoảng chia thì nhập số khoảng bao nhiêu thì nó cũng chỉ chia 2 khoảng và cho ta có 3 điểm, Em dùng cad 2013


  • 0

#5 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 23 July 2014 - 10:20 AM

Tôi quên tắt osnap trong lisp. Vì vậy bạn cần tắt nó trước khi dùng kẻo nó bắt điểm bậy.


  • 1

#6 tai8820

tai8820

    Edu level: ao10

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

Đã gửi 23 July 2014 - 11:11 AM

em đã thử tắt object snap rồi nhưng cũng không thành công. e có thử test bên cad 2005 thì bình thường


  • 0

#7 tai8820

tai8820

    Edu level: ao10

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

Đã gửi 24 July 2014 - 08:17 AM

em làm được rồi ạ, vậy thưa anh Doan Van Ha có thể thêm dòng lệnh để tắt chế độ bắt điểm trong lisp này ko ạ

Cảm ơn anh


  • 0

#8 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 24 July 2014 - 08:29 AM

Bạn sửa dòng này:

(command "point" (polar p1 (angle p1 p2) (* x (/ (distance p1 p2) sk))))

 

Thành như này:

(command "point" "non" (polar p1 (angle p1 p2) (* x (/ (distance p1 p2) sk))))


  • 1

#9 phamhuy1

phamhuy1

    biết vẽ polygon

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

Đã gửi 24 July 2014 - 11:00 AM

E thấy lisp cũ vẫn chạy ầm ầm mà a Doan Van Ha vậy thêm "non" làm chi hả a???


  • 0

#10 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 24 July 2014 - 11:06 AM

E thấy lisp cũ vẫn chạy ầm ầm mà a Doan Van Ha vậy thêm "non" làm chi hả a???

Ầm ầm ấy là khi bản vẽ của bạn không gặp đồng thời 2 yếu tố sau đây:

1). Có chế độ osnap nào đó đang mở.

2). Các điểm vẽ nằm quá gần một đối tượng nào đó, mà đối tượng này bị osnap "hút" vào. Khi đó nó sẽ vẽ sai vị trí mong muốn.


  • 0

#11 phamhuy1

phamhuy1

    biết vẽ polygon

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

Đã gửi 24 July 2014 - 11:13 AM

Vậy "non" ở đây là tương đương với tắt osmode = 0 hả a :o


  • 0

#12 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 24 July 2014 - 11:19 AM

Vậy "non" ở đây là tương đương với tắt osmode = 0 hả a :o

Tương đương thì không đúng lắm. Nó chỉ làm cho osnap hết hiệu lực đối với điểm liền kề sau "non". Qua điểm tiếp theo thì osnap vẫn hoạt động trở lại bình thường.


  • 1

#13 phamhuy1

phamhuy1

    biết vẽ polygon

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

Đã gửi 24 July 2014 - 11:20 AM

à, e hiểu rồi. Thanks a!


  • 0