Đến nội dung


Hình ảnh
- - - - -

[Nhờ chỉnh sửa] Chế độ bắt điểm trong lisp


  • Please log in to reply
8 replies to this topic

#1 bach1212

bach1212

    biết lệnh trim

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

Đã gửi 16 October 2012 - 04:41 PM


: Ha Van Khanh 3/2003
;
; * Chuong trinh duoc lap bang ngon ngu AUTOLISP.
; ------------------------------------------------------------------------------
(vmon)
(defun C:bang (/ 1x 1y a1 2x 2y a2 3x 3y a3 b p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16x p16y p16 p17x p17y p17)
(setvar "cmdecho" 0)
(initget 7)
(setq osm (getvar "osmode" ))
(setvar "osmode" 0)
(command "-Style" "hoatbif" "hoatbif " "2.0" "" "" "" "" "")
(command "-Layer" "n" "Text" "c" "4" "Text" "")
(setq p1 (getpoint "\nChon diem dat bang thong ke :"))
(setq S (getint "\nSo diem can tinh toa do :"))
(setq p2 (polar p1 (/ (* Pi 3) 2) (+ 16 (* 8 S))))
(setq p3 (polar p2 0 91))
(setq p4 (polar p1 0 91))
(setq p5 (polar p1 0 21))
(setq p6 (polar p2 0 21))
(setq p7 (polar p5 0 35))
(setq p8 (polar p6 0 35))
(setq p9 (polar p5 (/ (* Pi 3) 2) 8))
(setq p10 (polar p4 (/ (* Pi 3) 2) 8))
(setq p12 (polar p9 0 35))
(setq p11 (polar p9 0 -10.5))
(setq p13 (polar p1 (/ (* Pi 3) 2) 16))
(setq p14 (polar p4 (/ (* Pi 3) 2) 16))
(setq p15 (polar p7 (/ (* pi 3 ) 2) 4))
(setq p16x (/ (+ (car p5) (car p7)) 2))
(setq p16y (/ (+ (cadr p9) (cadr p13)) 2))
(setq p17x (/ (+ (car p4) (car p7)) 2))
(setq p17y (/ (+ (cadr p9) (cadr p13)) 2))
(setq p16 (list p16x p16y))
(setq p17 (list p17x p17y))
(command "Plinewid" "0.5")
(command "Pline" p1 p2 p3 p4 p1 "")
(command "Line" p5 p6 "")
(command "Line" p12 p8 "")
(command "Line" p9 p10 "")
(command "Line" p13 p14 "")
(command "Array" "l" "" "Rec" S "1" "-8")
(command "text" "j" "mc" p11 "0" "Tªn ga" )
(command "text" "j" "mc" p15 "0" "To¹ ®é" )
(command "text" "j" "mc" p16 "0" "X" )
(command "text" "j" "mc" p17 "0" "Y" )
(setvar "osmode" 1)
;-------------------------------------------------
; PhÇn sö lý ch÷
(setq b 0)
(while (< b s )
(setq b (+ b 1))
(setq td (getstring "\Nhap ten diem lay toa do : "))
(if (or (= td "") (= td " "))
(setq td (cdr (assoc 1 (entget (car (entsel "\n Chon text san co tren ban ve"))))))
)
(setq tp (getpoint "\n Chon diem : "))
(setq tx (rtos (car tp) 2 4 ))
(setq ty (rtos (cadr tp) 2 4 ))
(setq 1x (/ (+ (car p1) (car p5)) 2))
(setq 1y (- (- (cadr p11) 4) (* 8 B)))
(setq a1 (list 1x 1y))
(setq 2x (/ (+ (car p5) (car p7)) 2))
(setq 2y (- (cadr p16) (* 8 B)))
(setq a2 (list 2x 2y))
(setq 3x (/ (+(car p7) (car p4)) 2))
(setq 3y (- (cadr p17) (* 8 B)))
(setq a3 (list 3x 3y))
(command "text" "j" "mc" a1 "0" td "" )
(command "text" "j" "mc" a3 "0" tx "" )
(command "text" "j" "mc" a2 "0" ty "" )
)
)



Lisp trên để lấy tọa độ của 1 điểm.
Cho e hỏi dòng lệnh nào quy định chế độ bắt điểm của lisp trên ah?
  • 0

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#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 16 October 2012 - 04:43 PM

setvar "osmode"
  • 1

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 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 October 2012 - 04:44 PM

Trong 1 lisp, thường có 3 dòng liên quan đến osnap:
1). Lấy osnap hiện thời:(setq osm (getvar "osmode" ))
2). Đăt osnap mới:(setvar "osmode" 0)
3). Trả lại osnap cũ:(setvar "osmode" osm)
  • 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.


#4 bach1212

bach1212

    biết lệnh trim

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

Đã gửi 16 October 2012 - 04:50 PM

(setvar "osmode" 1)
muốn dòng này chọn chế độ bắt điểm là all thì thay số 1 bằng bao nhiu ah?
  • 0

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#5 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 16 October 2012 - 05:00 PM

Bạn đúng là k có cảm quan nghệ thuật lisp :) Bác ĐVH nói rõ dòng lấy osnap hiện thời rồi , sao không thử đặt chế độ mình ưng ý rồi thực hiện xem nó là số mấy ?
  • 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


#6 bach1212

bach1212

    biết lệnh trim

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

Đã gửi 16 October 2012 - 05:02 PM

Bạn đúng là k có cảm quan nghệ thuật lisp :) Bác ĐVH nói rõ dòng lấy osnap hiện thời rồi , sao không thử đặt chế độ mình ưng ý rồi thực hiện xem nó là số mấy ?

iem thử mấy số nhưng hok được số nào cho bắt all bác ah. hjj :D Dùng thì được chứ sáng tác e yếu lém ah.
  • 0

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#7 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 16 October 2012 - 05:04 PM

15359 ! Bạn nên đọc bài Biến hệ thống, mục Osnap trên diễn đàn
  • 1

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 kncam

kncam

    biết lệnh rotate

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

Đã gửi 16 October 2012 - 06:57 PM

iem thử mấy số nhưng hok được số nào cho bắt all bác ah. hjj :D Dùng thì được chứ sáng tác e yếu lém ah.

Sau khi hiệu chỉnh các loại bắt dính "yêu thích", bậu nhập trực tiếp trên dòng command tên biến OSMODE thì sẽ thấy giá trị tổng của nó.
VD: nhập OSMODE -> OSMODE<511>: -> có các osnap sau END,MID,CEN,NOD,QUA,INT,INS.PER,TAN.
  • 1
nongdan@sg

#9 nguoi_co_doc

nguoi_co_doc

    Chưa sử dụng CAD

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

Đã gửi 18 October 2012 - 02:23 PM

iem thử mấy số nhưng hok được số nào cho bắt all bác ah. hjj :D Dùng thì được chứ sáng tác e yếu lém ah.

Bạn lấy tổng của tất cả các chế độ bắt điểm cộng lại là được chế độ bắt điểm all
  • 0