Đến nội dung


Hình ảnh
- - - - -

Xuất Tọa Độ Và Khoảng Cách Cộng Dồn Pline Ra File Excel


  • Please log in to reply
10 replies to this topic

#1 thiennvpecc1

thiennvpecc1

    biết vẽ line

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

Đã gửi 13 November 2015 - 02:19 AM

Nhờ các bác trên diễn đàn viết dùm lisp xuất tọa độ Y và khoảng cách cộng dồn theo phương ngang của pline (chọn nhiều pline) ra file excel.

Cám ơn các bác.

(em đã tìm trên diễn đàn nhưng không có cái nào tương tự)

http://www.cadviet.c..._va_ket_qua.rar


  • -2

#2 hiepttr

hiepttr

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1298 Bài viết
Điểm đánh giá: 518 (tốt)

Đã gửi 13 November 2015 - 05:05 PM

Bạn dùng thử cái này:

p/s: Bạn nên sửa tiêu đề trước khi bịi mod xóa bài :D

;Xuat X tuong doi va Y tuyet doi cua polyline
(defun c:XUAT( / ss lst_name fn pw i ename TT)
(vl-load-com)
(prompt "\nChon PL !")
(setq ss (ssget '((0 . "LWPOLYLINE"))))
(cond 
	(ss
		(setq lst_name (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))
		(setq fn (getfiled "Chon file de xuat ket qua" "" "csv" 1))
		(setq pw (open fn "w"))
		(write-line "STT PL,Ten dinh,Y _tuyet doi,X _tuong doi" pw)
		(setq i 0)
		(while (< i (length lst_name))
			(setq	ename (nth i lst_name)
					i (1+ i)
					lst_ver (acet-geom-vertex-list ename)
					)
			(write-line (setq TT (itoa i)) pw)
			(MakeText (car lst_ver) TT 1 0 "C" nil "Lay_Lsp_XUAT" 2 nil)
			(foreach pnt lst_ver
				(write-line (strcat "," (rtos (1+ (vl-position pnt lst_ver))) "," (rtos (cadr pnt) 2 2) "," (rtos (- (car pnt) (car (car lst_ver))) 2 2)) pw)
			)
		)
	)
)
(close pw)
(alert (strcat "Da them " (itoa (length lst_name)) " Text STT PL vao ban ve !"))
(princ)
)
;===================================|;
(defun MakeText (point string Height Ang justify Style Layer Color xdata / Lst)
; Ang: Radial	
(setq Lst (list '(0 . "TEXT")
				(cons 8 (if Layer Layer (getvar "Clayer")))									
				(cons 62 (if Color Color 256))									
				(cons 10 point)									
				(cons 40 Height)									
				(cons 1 string)									
				(if Ang (cons 50 Ang))									
				(cons 7 (if Style Style (getvar "Textstyle")))									
				(cons -3 (if xdata (list xdata) nil)))				
				justify (strcase justify))	
				(cond ((= justify "C") (setq Lst (append Lst (list (cons 72 1) (cons 11 point)))))				
					  ((= justify "R") (setq Lst (append Lst (list (cons 72 2) (cons 11 point)))))				
					  ((= justify "M") (setq Lst (append Lst (list (cons 72 4) (cons 11 point)))))				
					  ((= justify "TL") (setq Lst (append Lst (list (cons 72 0) (cons 11 point) (cons 73 3)))))				
					  ((= justify "TC") (setq Lst (append Lst (list (cons 72 1) (cons 11 point) (cons 73 3)))))				
					  ((= justify "TR") (setq Lst (append Lst (list (cons 72 2) (cons 11 point) (cons 73 3)))))					
					  ((= justify "ML") (setq Lst (append Lst (list (cons 72 0) (cons 11 point) (cons 73 2)))))				
					  ((= justify "MC") (setq Lst (append Lst (list (cons 72 1) (cons 11 point) (cons 73 2)))))				
					  ((= justify "MR") (setq Lst (append Lst (list (cons 72 2) (cons 11 point) (cons 73 2)))))				
					  ((= justify "BL") (setq Lst (append Lst (list (cons 72 0) (cons 11 point) (cons 73 1)))))				
					  ((= justify "BC") (setq Lst (append Lst (list (cons 72 1) (cons 11 point) (cons 73 1)))))				
					  ((= justify "BR") (setq Lst (append Lst (list (cons 72 2) (cons 11 point) (cons 73 1)))))
					  )	
					  (entmakex Lst)
);end

  • 1

Có vợ dù dữ dù hiền , bạn đều có lợi
_ Nếu vợ hiền, bạn sẽ là người đàn ông sung sướng
_ Nếu vợ dữ, bạn sẽ thành ... triết gia !

Bergson


#3 thiennvpecc1

thiennvpecc1

    biết vẽ line

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

Đã gửi 14 November 2015 - 06:30 AM

Cám ơn bạn rất nhiều

 

 

Bạn dùng thử cái này:

p/s: Bạn nên sửa tiêu đề trước khi bịi mod xóa bài :D

;Xuat X tuong doi va Y tuyet doi cua polyline
(defun c:XUAT( / ss lst_name fn pw i ename TT)
(vl-load-com)
(prompt "\nChon PL !")
(setq ss (ssget '((0 . "LWPOLYLINE"))))
(cond 
	(ss
		(setq lst_name (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))
		(setq fn (getfiled "Chon file de xuat ket qua" "" "csv" 1))
		(setq pw (open fn "w"))
		(write-line "STT PL,Ten dinh,Y _tuyet doi,X _tuong doi" pw)
		(setq i 0)
		(while (< i (length lst_name))
			(setq	ename (nth i lst_name)
					i (1+ i)
					lst_ver (acet-geom-vertex-list ename)
					)
			(write-line (setq TT (itoa i)) pw)
			(MakeText (car lst_ver) TT 1 0 "C" nil "Lay_Lsp_XUAT" 2 nil)
			(foreach pnt lst_ver
				(write-line (strcat "," (rtos (1+ (vl-position pnt lst_ver))) "," (rtos (cadr pnt) 2 2) "," (rtos (- (car pnt) (car (car lst_ver))) 2 2)) pw)
			)
		)
	)
)
(close pw)
(alert (strcat "Da them " (itoa (length lst_name)) " Text STT PL vao ban ve !"))
(princ)
)
;===================================|;
(defun MakeText (point string Height Ang justify Style Layer Color xdata / Lst)
; Ang: Radial	
(setq Lst (list '(0 . "TEXT")
				(cons 8 (if Layer Layer (getvar "Clayer")))									
				(cons 62 (if Color Color 256))									
				(cons 10 point)									
				(cons 40 Height)									
				(cons 1 string)									
				(if Ang (cons 50 Ang))									
				(cons 7 (if Style Style (getvar "Textstyle")))									
				(cons -3 (if xdata (list xdata) nil)))				
				justify (strcase justify))	
				(cond ((= justify "C") (setq Lst (append Lst (list (cons 72 1) (cons 11 point)))))				
					  ((= justify "R") (setq Lst (append Lst (list (cons 72 2) (cons 11 point)))))				
					  ((= justify "M") (setq Lst (append Lst (list (cons 72 4) (cons 11 point)))))				
					  ((= justify "TL") (setq Lst (append Lst (list (cons 72 0) (cons 11 point) (cons 73 3)))))				
					  ((= justify "TC") (setq Lst (append Lst (list (cons 72 1) (cons 11 point) (cons 73 3)))))				
					  ((= justify "TR") (setq Lst (append Lst (list (cons 72 2) (cons 11 point) (cons 73 3)))))					
					  ((= justify "ML") (setq Lst (append Lst (list (cons 72 0) (cons 11 point) (cons 73 2)))))				
					  ((= justify "MC") (setq Lst (append Lst (list (cons 72 1) (cons 11 point) (cons 73 2)))))				
					  ((= justify "MR") (setq Lst (append Lst (list (cons 72 2) (cons 11 point) (cons 73 2)))))				
					  ((= justify "BL") (setq Lst (append Lst (list (cons 72 0) (cons 11 point) (cons 73 1)))))				
					  ((= justify "BC") (setq Lst (append Lst (list (cons 72 1) (cons 11 point) (cons 73 1)))))				
					  ((= justify "BR") (setq Lst (append Lst (list (cons 72 2) (cons 11 point) (cons 73 1)))))
					  )	
					  (entmakex Lst)
);end

  • 0

#4 longht2503

longht2503

    biết zoom

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

Đã gửi 14 November 2015 - 10:33 AM

Tôi sử dụng nhưng sau khi gõ lệnh và chọn PL thì hộp thoại (chọn file để xuất kết quả) hiện lên. Tôi đặt tên và đường dẫn rồi Save với đuôi .csv nhưng sau khi vào tìm thì không thấy có gì cả.


  • 0

#5 hiepttr

hiepttr

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1298 Bài viết
Điểm đánh giá: 518 (tốt)

Đã gửi 16 November 2015 - 07:31 AM

Tôi sử dụng nhưng sau khi gõ lệnh và chọn PL thì hộp thoại (chọn file để xuất kết quả) hiện lên. Tôi đặt tên và đường dẫn rồi Save với đuôi .csv nhưng sau khi vào tìm thì không thấy có gì cả.

Bạn không thấy gì cả là sao ? Không thấy file hay file không có nội dung ?


  • 1

Có vợ dù dữ dù hiền , bạn đều có lợi
_ Nếu vợ hiền, bạn sẽ là người đàn ông sung sướng
_ Nếu vợ dữ, bạn sẽ thành ... triết gia !

Bergson


#6 trangnhung

trangnhung

    biết vẽ pline

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

Đã gửi 16 November 2015 - 08:06 AM

http://www.cadviet.c.../83858_didg.rar

 

cái này bác add in trong msexcel rồi dùng


  • 0

#7 thiennvpecc1

thiennvpecc1

    biết vẽ line

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

Đã gửi 19 November 2015 - 07:08 AM

Nhờ bạn Hiepttr giúp mình lisp gần giống như trên (mình gửi kèm file)

Cám ơn bạn rất nhiều

http://www.cadviet.c.../10743_vidu.rar


  • -1

#8 hiepttr

hiepttr

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1298 Bài viết
Điểm đánh giá: 518 (tốt)

Đã gửi 19 November 2015 - 07:54 AM

Nhờ bạn Hiepttr giúp mình lisp gần giống như trên (mình gửi kèm file)

Cám ơn bạn rất nhiều

http://www.cadviet.c.../10743_vidu.rar

Bạn có thể diễn giải cụ thể hơn không ?!

- Pline luôn luôn chỉ có 3 đỉnh (gồm 2 đoạn thẳng) ?

- Bảng dữ liệu xuất ra mình thấy hơi lủng củng:

 Có phải "X_dinh 1 đến đỉnh 2" là X2-X1 và tương tự cho "X_dinh 2 đến đỉnh 3" ?

 

p/s: Nhìn có vẻ như bạn đang tìm cách nhận số liệu nova từ bản vẽ thủ công nhỉ :D


  • 0

Có vợ dù dữ dù hiền , bạn đều có lợi
_ Nếu vợ hiền, bạn sẽ là người đàn ông sung sướng
_ Nếu vợ dữ, bạn sẽ thành ... triết gia !

Bergson


#9 thiennvpecc1

thiennvpecc1

    biết vẽ line

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

Đã gửi 19 November 2015 - 12:49 PM

Bạn có thể diễn giải cụ thể hơn không ?!

- Pline luôn luôn chỉ có 3 đỉnh (gồm 2 đoạn thẳng) ?

- Bảng dữ liệu xuất ra mình thấy hơi lủng củng:

 Có phải "X_dinh 1 đến đỉnh 2" là X2-X1 và tương tự cho "X_dinh 2 đến đỉnh 3" ?

 

p/s: Nhìn có vẻ như bạn đang tìm cách nhận số liệu nova từ bản vẽ thủ công nhỉ :D

Gửi bạn Hiepttr.

Mình đang muốn lấy số liệu từ mặt cắt ngang.

pline chỉ gồm 3 đỉnh (điểm ngoài cùng bên trái, tim và ngoài cùng bên phải

thông số xuất ra excel thi đúng như bạn nói ở trên, nhưng các thông số ở cùng 1 dòng cell.

Nhờ bạn nghiên cứu giúp mình.


  • 0

#10 hiepttr

hiepttr

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1298 Bài viết
Điểm đánh giá: 518 (tốt)

Đã gửi 19 November 2015 - 03:14 PM

Nếu là lấy số liệu trắc ngang thì thế này không ổn rồi bạn ah ! (Mình tưởng rằng bạn chỉ tò mò cho vui :D )

Để lisp làm việc hiệu quả, phiền bạn cung cấp bản vẽ mẫu lên vậy !


  • 0

Có vợ dù dữ dù hiền , bạn đều có lợi
_ Nếu vợ hiền, bạn sẽ là người đàn ông sung sướng
_ Nếu vợ dữ, bạn sẽ thành ... triết gia !

Bergson


#11 thiennvpecc1

thiennvpecc1

    biết vẽ line

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

Đã gửi 20 November 2015 - 12:08 AM

Gửi bạn Hiepttr bản vẽ mẫu.

Layer 5 là đường hiện trạng (lấy theo lisp hôm trước bạn gửi)

Layer 6 là đường tinh phat quang (Pline 3 đỉnh)

Nhờ bạn xem giúp

 

 

http://www.cadviet.c..._ban_ve_mau.rar


  • 0