Đến nội dung


Hình ảnh
- - - - -

Nhờ Viết Hàm Trong Lisp


  • Please log in to reply
30 replies to this topic

#21 quocmanh04tt

quocmanh04tt

    biết lệnh imageclip

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

Đã gửi 16 May 2016 - 09:00 AM

Thiếu rau thì bổ sung bát canh chua vậy:

(defun b_point  (pt1 pt2 pt3 a b / ag1 ag2 phi len bet)
  (setq ag1 (angle pt2 pt1)
        ag2 (angle pt2 pt3)
        phi (- ag2 ag1)
        bet (atan (/ (* a (sin phi)) (+ (* a (cos phi)) b)))
        len (/ a (sin bet)))
  (polar pt2 (+ ag1 bet) len))
;;----------------------------
(defun c:tt  (/ pt-01 pt-02 pt-03)
 (if (and (setq pt-01 (getpoint "\nNhap toa do diem 01:"))
          (setq pt-02 (getpoint "\nNhap toa do diem 02:" pt-01))
          (setq pt-03 (getpoint "\nNhap toa do diem 03:" pt-02)))
  (command "Line" "none" (b_point pt-01 pt-02 pt-03 900 500) pt-02 ""))
 (princ))

P/s: Thứ tự p1, p2, p3 thuận chiều kim đồng hồ, p2 nằm ở đỉnh.


  • 1

#22 phongtran86

phongtran86

    biết lệnh offset

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

Đã gửi 16 May 2016 - 09:31 AM

Thiếu rau thì bổ sung bát canh chua vậy:

(defun b_point  (pt1 pt2 pt3 a b / ag1 ag2 phi len bet)
  (setq ag1 (angle pt2 pt1)
        ag2 (angle pt2 pt3)
        phi (- ag2 ag1)
        bet (atan (/ (* a (sin phi)) (+ (* a (cos phi)) b)))
        len (/ a (sin bet)))
  (polar pt2 (+ ag1 bet) len))
;;----------------------------
(defun c:tt  (/ pt-01 pt-02 pt-03)
 (if (and (setq pt-01 (getpoint "\nNhap toa do diem 01:"))
          (setq pt-02 (getpoint "\nNhap toa do diem 02:" pt-01))
          (setq pt-03 (getpoint "\nNhap toa do diem 03:" pt-02)))
  (command "Line" "none" (b_point pt-01 pt-02 pt-03 900 500) pt-02 ""))
 (princ))

P/s: Thứ tự p1, p2, p3 thuận chiều kim đồng hồ, p2 nằm ở đỉnh.

đúng yêu cầu em :).


  • 0

#23 traitimgio

traitimgio

    biết zoom

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

Đã gửi 16 May 2016 - 09:58 AM

đúng yêu cầu em :).

Đúng yêu cầu luôn. :) mấy hàm sin atan loạn xì ngầu lên. Kiến thức hình học của quocmanh04tt với code rất tốt


  • 1

#24 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 16 May 2016 - 10:04 AM

@quocmanh04tt: trong command có 2 points mà chỉ 1 "none" là thiếu mất 1 "none" nhé!


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


#25 quocmanh04tt

quocmanh04tt

    biết lệnh imageclip

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

Đã gửi 16 May 2016 - 10:16 AM

@quocmanh04tt: trong command có 2 points mà chỉ 1 "none" là thiếu mất 1 "none" nhé!

Vâng! Cám ơn bác!


  • 0

#26 phongtran86

phongtran86

    biết lệnh offset

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

Đã gửi 16 May 2016 - 10:19 AM

@quocmanh04tt: trong command có 2 points mà chỉ 1 "none" là thiếu mất 1 "none" nhé!

cho em hỏi tác dụng none này là gì. Fix lỗi bắt nhầm điểm hay j vậy anh


  • 0

#27 quocmanh04tt

quocmanh04tt

    biết lệnh imageclip

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

Đã gửi 16 May 2016 - 10:20 AM

Tắt tạm thời truy bắt điểm (F3).


  • 0

#28 phongtran86

phongtran86

    biết lệnh offset

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

Đã gửi 16 May 2016 - 10:26 AM

Tắt tạm thời truy bắt điểm (F3).

sao lại line có 2 điểm thì phải để 2 none. Nếu lệnh pline 10 điểm thì sao?


  • 0

#29 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 16 May 2016 - 10:47 AM

sao lại line có 2 điểm thì phải để 2 none. Nếu lệnh pline 10 điểm thì sao?

Mỗi điểm mỗi "none". 10 điểm 10 "none". Bởi vậy người ta mới dùng đến osmode để tắt bắt điểm khi nó nhiều. "None" chỉ nên dùng khi nó ít.


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


#30 phongtran86

phongtran86

    biết lệnh offset

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

Đã gửi 16 May 2016 - 10:57 AM

Mỗi điểm mỗi "none". 10 điểm 10 "none". Bởi vậy người ta mới dùng đến osmode để tắt bắt điểm khi nó nhiều. "None" chỉ nên dùng khi nó ít.

(command "Line" "none" (b_point pt-01 pt-02 pt-03 900 500) "none" pt-02 "")) đúng k anh.

Mỗi ngày học dc 1 thủ thuật :)


  • 0

#31 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 16 May 2016 - 11:00 AM

ok


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