Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đăng nhập để thực hiện theo  
cico501

[Đã xong] Lisp chuyển cao độ đo đạc thực tế vào Cad

Các bài được khuyến nghị

cico501    0

hiện nay mình cần tìm 1 lisp chuyển cao độ thực tế đo đạc ngoài hiện trường vào bản vẽ thiết kế. Chả là hiệ nay mình đang san lấp lô đất, nhueng mà lô rộng san ko hết, diện tích xôi đỗ nhiều nên mình đã bắn tọa độ để đưa vào cad nhưng nhiều điểm quá. Mình xin cảm ơn các bạn đã giúp nhé!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
phamthanhbinh    3.123

hiện nay mình cần tìm 1 lisp chuyển cao độ thực tế đo đạc ngoài hiện trường vào bản vẽ thiết kế. Chả là hiệ nay mình đang san lấp lô đất, nhueng mà lô rộng san ko hết, diện tích xôi đỗ nhiều nên mình đã bắn tọa độ để đưa vào cad nhưng nhiều điểm quá. Mình xin cảm ơn các bạn đã giúp nhé!

Hề hề hề,

Bạn xài thử cái của đi mót này xem nhé.


;Lisp by nPham. www.cadviet.com
(defun csv->list (fn / str f lst)  
(defun Separate (str sym / lst pos  )
	(setq Lst (append))
	(while  (setq pos (vl-string-search sym str))
   		(setq Lst (append Lst (list (substr str 1 pos))))
			(setq str (substr str (+ pos 2)))
	  ) Lst)

(setq f (open fn "r"))
(setq lst (append))
(read-line f)
(while (setq str (read-line f)) (setq lst (append lst (list (Separate str ",")))))
(close f)
lst
)


(defun text->cad (pt1 cnt tlst / pt1 pt2)
	  ;10 60 20 20 40
   (setvar "CECOLOR" "BYLAYER") 
   (command ".text" "J" "MC" (list (+ (car pt1) 5)  (- (- (cadr pt1) (* 5 cnt)) 2.5)) "2" "0" (nth 0 tlst))
   (command ".text" "J" "ML" (list (+ (car pt1) 12)  (- (- (cadr pt1) (* 5 cnt)) 2.5)) "2" "0" (nth 1 tlst))
   (command ".text" "J" "MC" (list (+ (car pt1) 80) (- (- (cadr pt1) (* 5 cnt)) 2.5)) "2" "0" (nth 2 tlst))
	 (command ".text" "J" "MC" (list (+ (car pt1) 100) (- (- (cadr pt1) (* 5 cnt)) 2.5)) "2" "0" (nth 3 tlst))
	   (command ".text" "J" "MC" (list (+ (car pt1) 130) (- (- (cadr pt1) (* 5 cnt)) 2.5)) "2" "0" (nth 4 tlst))

   (setvar "CECOLOR" "8")
   (command ".line" (setq pt2 (list (car pt1) (- (nth 1 pt1) (* 5 (+ cnt 1))))) (polar pt2 0 150) "")

)

(defun c:csv (/ fn f lst wlst i x col pt tile) 

(setq  fn (getfiled "Select Data File" "" "csv" 0))
(if fn
(if (setq pt (getpoint "\nDiem chen <Cancel>:"))
(progn
(setq f (open fn "r"))
(setq tile (read-line f))
(close f)
(setq lst (vl-remove-if  '(lambda (x) (apply 'and (mapcar '(lambda (y) (= y "")) x)))(csv->list fn)))

(command ".text" "J" "MC" (list (+ (car pt) 75) (+ (cadr pt) 8)) "4" "0" tile)
(setvar "CECOLOR" "7")
(command ".line" pt (polar pt 0 150) "")
(setq row 0)
(mapcar '(lambda (x)	   	   
   	(setq row (+ row 1))
	  (text->cad pt (- row 1) x))
	lst
)
(setvar "cecolor" "7")
  (command "line" pt (polar pt (- (/ pi 2)) (* row 5)) "")  
  (command ".copy" (entlast) "" pt (polar pt 0 10))  
  (command ".copy" (entlast) "" pt (polar pt 0 60))  
(command ".copy" (entlast) "" pt (polar pt 0 20))
  (command ".copy" (entlast) "" pt (polar pt 0 20))  
  (command ".copy" (entlast) "" pt (polar pt 0 40))	

)))
 )

Hy vọng bạn hài lòng.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
cico501    0

Hề hề hề,

Bạn xài thử cái của đi mót này xem nhé.


;Lisp by nPham. www.cadviet.com
(defun csv->list (fn / str f lst)  
(defun Separate (str sym / lst pos  )
	(setq Lst (append))
	(while  (setq pos (vl-string-search sym str))
   		(setq Lst (append Lst (list (substr str 1 pos))))
			(setq str (substr str (+ pos 2)))
	  ) Lst)

(setq f (open fn "r"))
(setq lst (append))
(read-line f)
(while (setq str (read-line f)) (setq lst (append lst (list (Separate str ",")))))
(close f)
lst
)


(defun text->cad (pt1 cnt tlst / pt1 pt2)
	  ;10 60 20 20 40
   (setvar "CECOLOR" "BYLAYER") 
   (command ".text" "J" "MC" (list (+ (car pt1) 5)  (- (- (cadr pt1) (* 5 cnt)) 2.5)) "2" "0" (nth 0 tlst))
   (command ".text" "J" "ML" (list (+ (car pt1) 12)  (- (- (cadr pt1) (* 5 cnt)) 2.5)) "2" "0" (nth 1 tlst))
   (command ".text" "J" "MC" (list (+ (car pt1) 80) (- (- (cadr pt1) (* 5 cnt)) 2.5)) "2" "0" (nth 2 tlst))
	 (command ".text" "J" "MC" (list (+ (car pt1) 100) (- (- (cadr pt1) (* 5 cnt)) 2.5)) "2" "0" (nth 3 tlst))
	   (command ".text" "J" "MC" (list (+ (car pt1) 130) (- (- (cadr pt1) (* 5 cnt)) 2.5)) "2" "0" (nth 4 tlst))

   (setvar "CECOLOR" "8")
   (command ".line" (setq pt2 (list (car pt1) (- (nth 1 pt1) (* 5 (+ cnt 1))))) (polar pt2 0 150) "")

)

(defun c:csv (/ fn f lst wlst i x col pt tile) 

(setq  fn (getfiled "Select Data File" "" "csv" 0))
(if fn
(if (setq pt (getpoint "\nDiem chen <Cancel>:"))
(progn
(setq f (open fn "r"))
(setq tile (read-line f))
(close f)
(setq lst (vl-remove-if  '(lambda (x) (apply 'and (mapcar '(lambda (y) (= y "")) x)))(csv->list fn)))

(command ".text" "J" "MC" (list (+ (car pt) 75) (+ (cadr pt) 8)) "4" "0" tile)
(setvar "CECOLOR" "7")
(command ".line" pt (polar pt 0 150) "")
(setq row 0)
(mapcar '(lambda (x)	   	   
   	(setq row (+ row 1))
	  (text->cad pt (- row 1) x))
	lst
)
(setvar "cecolor" "7")
  (command "line" pt (polar pt (- (/ pi 2)) (* row 5)) "")  
  (command ".copy" (entlast) "" pt (polar pt 0 10))  
  (command ".copy" (entlast) "" pt (polar pt 0 60))  
(command ".copy" (entlast) "" pt (polar pt 0 20))
  (command ".copy" (entlast) "" pt (polar pt 0 20))  
  (command ".copy" (entlast) "" pt (polar pt 0 40))	

)))
 )

Hy vọng bạn hài lòng.

bạn có thể hướng dẫn mình kỹ một chút không? Ví dụ các tọa độ mình đã nhập hết vào excel rồi. Đã load lisp xong rồi. Bước tiếp theo là làm những j?

cảm ơn nhiều vì mình không biết nhiều về lisp!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
phamthanhbinh    3.123

bạn có thể hướng dẫn mình kỹ một chút không? Ví dụ các tọa độ mình đã nhập hết vào excel rồi. Đã load lisp xong rồi. Bước tiếp theo là làm những j?

cảm ơn nhiều vì mình không biết nhiều về lisp!

Hề hề hề,

Bước tiếp theo là bạn nhập lệnh csv trên dòng command và nhấn enter.

Tiếp theo chọn file chứa dữ liệu với đuôi là csv.

tiếp theo là chọn điểm để nhập dữ liệu

Lisp sẽ tự động tạo ra bảng dữ liệu trên bản vẽ của bạn.

hề hề hề.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
cico501    0

Hề hề hề,

Bước tiếp theo là bạn nhập lệnh csv trên dòng command và nhấn enter.

Tiếp theo chọn file chứa dữ liệu với đuôi là csv.

tiếp theo là chọn điểm để nhập dữ liệu

Lisp sẽ tự động tạo ra bảng dữ liệu trên bản vẽ của bạn.

hề hề hề.

ý mình là mình có bảng tọa độ bắn ngoài hiện trường như sau

Diem X Y Z

diem1 581323.533 2315350.047 0

diem2 581339.123 2315315.008 0

diem3 581321.406 2315325.526 0

diem4 581322.001 2315347.034 0

diem5 581350.388 2315347.838 0

diem6 581354.753 2315356.701 0

diem7 581325.818 2315367.768 0

diem8 581329.524 2315388.833 0

diem9 581331.054 2315409.029 0

diem10 581342.598 2315431.881 0

diem11 581379.119 2315408.174 0

diem12 581377.458 2315382.837 0

Mình muốn đưa vào cad nó phải đúng vị trí như ngoài thực địa để tiện cho việc tính diện tích từ đó tính dc khối lượng đắp là bao nhiêu để làm nghiệm thu thanh toán.

Không biết cách nhập các cột trong excel có j sai ko mà mình làm ra cái bản lung tung quá!

Có j phiền bạn giúp mình lần nữa nhé! Cảm ơn rất nhiều!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

ý mình là mình có bảng tọa độ bắn ngoài hiện trường như sau

Diem X Y Z

diem1 581323.533 2315350.047 0

diem2 581339.123 2315315.008 0

diem12 581377.458 2315382.837 0

Mình muốn đưa vào cad nó phải đúng vị trí như ngoài thực địa để tiện cho việc tính diện tích từ đó tính dc khối lượng đắp là bao nhiêu để làm nghiệm thu thanh toán.

Không biết cách nhập các cột trong excel có j sai ko mà mình làm ra cái bản lung tung quá!

Có j phiền bạn giúp mình lần nữa nhé! Cảm ơn rất nhiều!

Cái này trên diễn đàn đã post lên rất nhiều loại Lisp có thể thực hiện được rồi mà. Bạn chẳng chịu seach gì cả. Lisp trên diẽn đàn đã đưa có thể xuất point vào cad với định dạng X, Y, Z. Bạn seach sẽ thấy ngay

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

Đăng nhập để thực hiện theo  

×