Đến nội dung


Hình ảnh
- - - - -

Lisp Vẽ Đường Thẳng Có Ghi Kích Thước Không Bắt Điểm Được...


  • Please log in to reply
1 reply to this topic

#1 lenhatminh078

lenhatminh078

    Chưa sử dụng CAD

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

Đã gửi 30 July 2016 - 11:51 AM

MÌNH CÓ SƯU TẦM ĐƯỢC LISP VẼ POLYLINE KÈM KÍCH THƯỚC NHƯNG LẠI KO BẮT ĐIỂM ĐƯỢC VUÔNG GÓC

 

MONG MỌI NGƯỜI GIÚP MÌNH VIẾT THÊM CHẾ ĐỘ BẮT ĐIỂM, VÌ MÌNH LÀM BÊN CẤP THOÁT NƯỚC NÊN CÁI NÀY MÌNH THẤY THẬT SỰ RẤT HAY

 

CẢM ƠN MỌI NGƯỜI

 

http://www.cadviet.c..._kich_thuoc.lsp

 

(defun c:PLKT ( )
 
(command "undo" "be")
 
  (if (null dolora)(setq dolora "4"))
 
(Setq temp T)
 
(While temp
 
(setq a (strcat "\nKhoang cach dim hien hanh la (" dolora ") /<Diem dau tien>: "))
 
(Initget "k K")
 
(setq str (getpoint a))
 
(Cond
 
  ((= str "k") (setq dolora (getstring ("\nKhoang cach dim voi line <" dolora "> :"))))
 
  ((= str "K") (setq dolora (getstring ("\nKhoang cach dim voi line <" dolora "> :"))))
 
   (Progn
 
  (Setq a str)
 
   (setq temp nil)
 
  )
 
)
 
)
 
 
 
(setq b (getpoint "\nChon diem tiep theo: "))
 
(setq luubatdiem (getvar "osmode"))
 
  (setvar "osmode" 0)
 
(setq doclora (atof dolora))
 
(setq gocxeo(angle a B))
 
(setq daiab (distance a B))
 
(setq c (polar a gocxeo (/ daiab 2)))
 
(setq d (polar c (+ gocxeo (/ pi 2)) doclora))
 
 
 
(command ".pline" a b "")
 
(setq plhoinay (entlast))
 
(command "DIMALIGNED" a b d)
 
(cond
 
((> gocxeo (/ pi 2)) (command ".rotate" "last" "" c 180))
 
)
 
(setq a B)
 
(setvar "osmode" luubatdiem)
 
(While (setq b (getpoint "\nChon diem tiep theo: <Enter de ket thuc> "))
 
(setq luubatdiem (getvar "osmode"))
 
  (setvar "osmode" 0)
 
(setq doclora (atof dolora))
 
(setq gocxeo(angle a B))
 
(setq daiab (distance a B))
 
(setq c (polar a gocxeo (/ daiab 2)))
 
(setq d (polar c (+ gocxeo (/ pi 2)) doclora))
 
 
 
(command ".pline" a b "")
 
(command "pedit" "m" "L" plhoinay "" "j" "0" "")
 
(setq plhoinay (entlast))
 
(command "DIMALIGNED" a b d)
 
(cond
 
((> gocxeo (/ pi 2)) (command ".rotate" "last" "" c 180))
 
)
 
(setq a B)
 
(setvar "osmode" luubatdiem)
 
)
 
(command "undo" "end")
 
(Princ)
 
)

Bài viết đã được chỉnh sửa nội dung bởi lenhatminh078: 30 July 2016 - 04:09 PM

  • 0

#2 vanngeonhuxua

vanngeonhuxua

    biết vẽ pline

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

Đã gửi 01 August 2016 - 04:41 PM

Thử xem đúng ý bạn không.

http://www.cadviet.c...ich_thuoc_2.lsp


  • 1