Đến nội dung


Hình ảnh
- - - - -

Lisp ghi toạ độ điểm ra màn hình !!!


  • Please log in to reply
52 replies to this topic

#21 nguyenngoc971

nguyenngoc971

    biết dimstyle

  • Members
  • PipPipPipPipPip
  • 385 Bài viết
Điểm đánh giá: 74 (tàm tạm)

Đã gửi 28 April 2014 - 03:54 PM

Nếu lisp đúng yêu cầu rồi thì phải like chứ nhỉ.


  • 2

114123_building_folds_demolition.gif


#22 tanphuoc1985

tanphuoc1985

    Chưa sử dụng CAD

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

Đã gửi 03 July 2014 - 02:00 PM

e cần caí lisp xuất trược tiếp trên màng hình

.


  • 0

#23 huy7979

huy7979

    Chưa sử dụng CAD

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

Đã gửi 15 July 2014 - 02:57 PM

bạn

nguyenngoc971  cho mình xin list xuất ra màn hình với ra bảng được ko. thask nhiều
  • 0

#24 xuxuku142

xuxuku142

    Chưa sử dụng CAD

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

Đã gửi 08 August 2014 - 12:08 AM

Anh nguyenngoc971 ơi

Hiện em đang bí về vấn đề xuất tạo độ này nhờ anh giúp e với ạ

Nhờ anh gửi giúp em list xuất ra màn hình và bảng hộ em với được ko ạ

Cảm ơn anh nhiều trước nhé

Mail của em là  thuan.utc.gtcc@gmail.com


  • 0

#25 Minh Kiên

Minh Kiên

    Chưa sử dụng CAD

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

Đã gửi 19 September 2014 - 08:59 PM

Xin chào bạn nguyenngoc,bạn có thể gửi giúp mình lisp xuất tọa độ ra bảng và ra màn hình được không,cảm ơn bạn nhé!

Mail mình là : connections13@gmail.com


  • 0

#26 ngochavn

ngochavn

    Chưa sử dụng CAD

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

Đã gửi 19 September 2014 - 09:30 PM

Ai giúp em cái list xuất ra cái bảng tọa độ với kích thước các cạnh ngay trong bản vẽ card được không ạ.Em tập vẽ cái bản vẽ sơ đồ nhà đất mà nó đòi có cái bảng liệt kê tọa độ VN 2000 mà em không biết làm list.Anh giúp em với.Em cám ơn nhiều nhiều.


  • 0

#27 nhoclangbat

nhoclangbat

    Edu level: li10

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

Đã gửi 19 September 2014 - 11:34 PM

hihi, có hứa với bạn ngochavn kiếm cho bạn nhưng hum nay nhoc đi đo từ sớm nên ko kịp giờ bù cho bạn hen kaka ^^

- lưu ý trước khi chạy bạn phải tạo rùi set ranh đất bạn muốn chạy tọa độ ở layer tên "ranh_38", lệnh là "toado"

(defun *error* (msg)
  (princ "error: ")
  (princ msg)
  (princ)
)

(defun Wdis (p1 p2 / dis ang point point1)
  (setq dis (distance p1 p2))
  (setq ang (angle p1 p2))
  (if (and (> ang (/ Pi 2)) (< ang (* Pi 1.5)) )
    (progn
      (setq ang (+ Ang Pi)) 
      (setq Point (polar p2 ang (/ dis 2.0)))
      (setq Point1 (polar point (+ (/ pi 2) ang) (* 0.25 (/ TileBdHT 500))))

    )
	(progn
    (setq Point (polar p1 ang (/ dis 2.0)))
    (setq Point1 (polar point (+ (/ pi 2) ang) (* 0.25 (/ TileBdHT 500))))
	)
  )
  (command "Text" "S" "vaptimn" "c" point1 (/ TileBdHT 500) (* (/ ang Pi) 180) (rtos dis 2 2) )
)
(defun ssgetLayer( La1 La2 / ss)
  (setq ss (ssget "X" (list
                         (cons -4  "<OR")  
                           (cons -4  "<AND")  
                             (cons 8 La1)  
                             (cons 0  "LWPOLYLINE")
                           (cons -4  "AND>")  
                           (cons -4  "<AND")  
                             (cons 8 La1)  
                             (cons 0  "LINE")
                           (cons -4  "AND>")  
                           (cons -4  "<AND")  
                             (cons 8 La2)  
                             (cons 0  "LWPOLYLINE")
                           (cons -4  "AND>")  
                           (cons -4  "<AND")  
                             (cons 8 La2)  
                             (cons 0  "LINE")
                           (cons -4  "AND>")  
                         (cons -4  "OR>")  
                       )
  ))
  ss
)
(defun pointpl (name t2 k / namem i bien t1 p1 diem)
	(setq namem name)
	(setq i 1)
	(while (<= i k)
	(progn
		(setq bien (assoc t2 namem))
		(setq t1 (member bien namem))
		(setq p1 (car t1))
		(setq namem (cdr t1))
		(setq diem (cdr p1))
		(setq i (+ 1 i))
	)
	)
	diem
)
(defun c:Toado( / i k luuxy st p xoa)
	(setvar "cmdecho" 0)
	(setq st (ssgetLayer "Ranh_toado" "Ranh_38") )
	(if (/= st  nil)
(progn
	(if (null (tblsearch "style" "vaptimn"))
		(command "style" "vaptimn" "vni-avo" "" "" "" "" ""))
	(if (null (tblsearch "style" "vhelveb"))
		(command "style" "vhelveb" "vni-helve" "" "" "" "" ""))
	(if (null (tblsearch "layer" "sohieu_diem"))
		(command "_layer" "n" "sohieu_diem" ""))
	(command "_layer" "c" "2" "sohieu_diem" "")
	(if (null (tblsearch "layer" "canh"))
		(command "_layer" "n" "canh" ""))
	(command "_layer" "c" "3" "canh" "")
	(if (null (tblsearch "layer" "bang_toado"))
		(command "_layer" "n" "bang_toado" ""))
	(command "_layer" "c" "7" "bang_toado" "")
	(command "_layer" "c" "6" "Ranh_38" "")
	(command "_layer" "c" "6" "Ranh_toado" "")
	(if (null (tblsearch "layer" "Polygon"))
		(command "_layer" "n" "Polygon" ""))
	(command "_layer" "c" "8" "Polygon" "")
	(if (not r1) (setq r1 500))
	(setq TileBdHT (getreal (strcat "\nMau So Ti Le Cua BDHT" "(" (rtos r1 2 0) "):")))
	(if (= TileBdHT nil)
		(setq TileBdHT r1))
	

	(setvar "blipmode" 0)
	(setq old (getvar "osmode"))
	(setvar "osmode" 0)
	(setq p (getpoint "\n Pick"))
	(command "_layer" "s" "Polygon" "")
	(if (/= p nil)
		(command "-Boundary" "a" "b" "n" st "" "" p "" )
	)
	(setq luuxy (entget (entlast)))
	(setq pt (getpoint "\n Diem dat bang toa do :"))
	;(entdel (entlast))
	(setq k (cdr (assoc 90 luuxy)))
	(if (/= pt nil)
		(progn
			(setq p01 pt)
			(setq p02 (mapcar '+ pt '(10.0  0.0 0.0)))
			(setq p03 (mapcar '+ pt '(22.5 -2.5 0.0)))
			(setq p04 (mapcar '+ pt '(35.0  0.0 0.0)))
			(setq p05 (mapcar '+ pt '(45.0  0.0 0.0)))
			(setq p06 (mapcar '+ pt '(0.0 -5.0 0.0)))
			(setq p07 (mapcar '+ pt '(10.0 -2.5 0.0)))
			(setq p08 (mapcar '+ pt '(35.0 -2.5 0.0)))
			(setq p09 (mapcar '+ pt '(45.0 -5.0 0.0)))
			(if (<= k 10)			
				(progn
					(setq p10 (mapcar '+ pt '(0.0 -40.0 0.0)))
					(setq p11 (mapcar '+ pt '(10.0 -40.0 0.0)))
					(setq p12 (mapcar '+ pt '(22.5 -40.0 0.0)))
					(setq p13 (mapcar '+ pt '(35.0 -40.0 0.0)))
					(setq p14 (mapcar '+ pt '(45.0 -40.0 0.0)))
				)
				(progn
					(setq ty (* -1 (+ 10.0 (* k 3))))
					(setq t0 (list 0.0 ty 0.0))
					(setq t1 (list 10.0 ty 0.0))
					(setq t2 (list 22.5 ty 0.0))
					(setq t3 (list 35.0 ty 0.0))
					(setq t4 (list 45.0 ty 0.0))
					(setq p10 (mapcar '+ pt t0))
					(setq p11 (mapcar '+ pt t1))
					(setq p12 (mapcar '+ pt t2))
					(setq p13 (mapcar '+ pt t3))
					(setq p14 (mapcar '+ pt t4))
				)
			)
			(command "layer" "s" "bang_toado" "")
			(command "Line" p01 p05 "")
			(command "Line" p01 p10 "")
			(command "Line" p02 p11 "")
			(command "Line" p03 p12 "")
			(command "Line" p04 p13 "")
			(command "Line" p05 p14 "")
			(command "Line" p07 p08 "")
			(command "Line" p06 p09 "")
			(command "Line" p10 p14 "")
(command "Text" "S" "vhelveb" "j" "M" (mapcar '+ pt '(22.5 2.0 0.0)) 1.25 0 "BAÛNG LIEÄT KEÂ TOÏA ÑOÄ GOÙC RANH")
(command "Text" "S" "vhelveb" "j" "M" (mapcar '+ pt '(5.0 -1.5 0.0)) 1.15 0 "Soá hieäu")
(command "Text" "S" "vhelveb" "j" "M" (mapcar '+ pt '(5.0 -3.5 0.0)) 1.15 0 "ñieåm")
(command "Text" "S" "vhelveb" "j" "M" (mapcar '+ pt '(22.5 -1.25 0.0)) 1.15 0 "Toïa ñoä")
(command "Text" "S" "vhelveb" "j" "M" (mapcar '+ pt '(16.25 -3.75 0.0)) 1.15 0 "X(m)")
(command "Text" "S" "vhelveb" "j" "M" (mapcar '+ pt '(28.75 -3.75 0.0)) 1.25 0 "Y(m)")
(command "Text" "S" "vhelveb" "j" "M" (mapcar '+ pt '(40.0 -2.5 0.0)) 1.25 0 "Caïnh")
		)
	)
	(setq i 1)
	(while (<= i k)
		(progn
			(setq toado (pointpl luuxy 10 i))
			(setq x (rtos (car toado) 2 2))
			(setq y (rtos (cadr toado) 2 2))
			(command "layer" "s" "sohieu_diem" "")
			(setq doi (list (* 0.2 (/ TileBdHT 500)) (* 0.2 (/ TileBdHT 500)) 0.0))
			(command "Text" "S" "vaptimn" (mapcar '+ toado doi) (/ TileBdHT 500) 0 i)
			(command ".donut" 0 (* 0.25 (/ TileBdHT 500)) toado "")			
			(setq tsh (list 5.0 (- (* -3 i) 4.5) 0.0))
			(setq txx (list 16.25 (- (* -3 i) 4.5) 0.0))
			(setq tyy (list 28.75 (- (* -3 i) 4.5) 0.0))
			(setq tgc (list 40.0 (- (* -3 i) 3.0) 0.0))
			(setq psh (mapcar '+ pt tsh))
			(setq pxx (mapcar '+ pt txx))
			(setq pyy (mapcar '+ pt tyy))
			(setq pgc (mapcar '+ pt tgc))
			(if (= i 1)
				(progn
					(setq toado1 toado)
					(setq x1 (rtos (car toado1) 2 2))
					(setq y1 (rtos (cadr toado1) 2 2))
				)
			)
			(if (>= i 2)
(progn
	(setq canh (distance toado0 toado))
	(command "layer" "s" "bang_toado" "")
	(command "Text" "S" "vaptimn" "j" "M" pgc 1.2 0 (rtos canh 2 2) )
	(command "layer" "s" "canh" "")
	(wdis toado0 toado)
)
			)
			(command "layer" "s" "bang_toado" "")
			(command "Text" "S" "vaptimn" "j" "M" psh 1.2 0 i)
			(command "Text" "S" "vaptimn" "j" "M" pxx 1.2 0 y)
			(command "Text" "S" "vaptimn" "j" "M" pyy 1.2 0 x)
			(setq toado0 toado)
			(setq i (+ i 1))
		)
	)
	(command "layer" "s" "canh" "")
	(wdis toado toado1)
	(setq canh (distance toado toado1))
			(setq tsh (list 5.0 (- (* -3 (+ k 1)) 4.5) 0.0))
			(setq txx (list 16.25 (- (* -3 (+ k 1)) 4.5) 0.0))
			(setq tyy (list 28.75 (- (* -3 (+ k 1)) 4.5) 0.0))
			(setq tgc (list 40.0 (- (* -3 (+ k 1)) 3.0) 0.0))
			(setq psh (mapcar '+ pt tsh))
			(setq pxx (mapcar '+ pt txx))
			(setq pyy (mapcar '+ pt tyy))
			(setq pgc (mapcar '+ pt tgc))
	(command "layer" "s" "bang_toado" "")
	(command "Text" "S" "vaptimn" "j" "M" pgc 1.2 0 (rtos canh 2 2) )
	(command "Text" "S" "vaptimn" "j" "M" psh 1.2 0 "1")
	(command "Text" "S" "vaptimn" "j" "M" pxx 1.2 0 y1)
	(command "Text" "S" "vaptimn" "j" "M" pyy 1.2 0 x1)
	(setvar "osmode" old)
)	;(end progn)
)	;(end if)
	(if (= st nil)
	(progn
		(setvar "cmdecho" 1)
		(princ "Khong co layer Ranh_toado")
	)
	)
	(command "_layer" "s" "0" "")

)


  • 0
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#28 vumanhdung1987

vumanhdung1987

    biết pan

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

Đã gửi 23 October 2014 - 04:19 PM

Mình có 5 cái:

- Xuất ra màn hình

- Xuất ra bảng

- Xuất ra .txt

- Xuất ra excel (đang tìm vì lâu rồi ko dùng đến nên không biết tên lisp là gì nữa)

- Xuất ra word (đang tìm vì lâu rồi ko dùng đến nên không biết tên lisp là gì nữa)

114123_untitled_9.gif

Anh bạn gửi cho mình xin nữa, dowload không được. "vumanhdung1987@gmail.com" . Thanks


  • 0

#29 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 995 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 23 October 2014 - 06:04 PM

Cái này được không mọi người?


  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#30 nhoclangbac

nhoclangbac

    biết vẽ circle

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

Đã gửi 23 October 2014 - 06:18 PM

Tham khảo link của nhoc :)

http://www.bloggang....roup=1&gblog=22


  • -1

#31 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 995 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 23 October 2014 - 06:25 PM

?????


  • -1



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#32 nhoclangbac

nhoclangbac

    biết vẽ circle

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

Đã gửi 23 October 2014 - 06:56 PM

khong dịch được :angry2: a bị nhoc trừ điểm


  • -1

#33 nhoclangbat

nhoclangbat

    Edu level: li10

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

Đã gửi 23 October 2014 - 07:11 PM

- ek ek "c" với "t" ^^


  • 0
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#34 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 995 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 23 October 2014 - 07:40 PM

Cái web em gửi đó

 

36665_capture.png


  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#35 trinhhoanghieu090

trinhhoanghieu090

    Edu level: li8

  • Members
  • PipPipPipPipPip
  • 309 Bài viết
Điểm đánh giá: 29 (tàm tạm)

Đã gửi 26 October 2014 - 04:51 PM

(defun C:cxy ()
(setvar "cmdecho" 0)
(setq h (getreal "\n Nhap chieu cao Text< 5 >: "))
(if (= h nil)  (Setq h 5 ))
(setq pt1 (getpoint "\n Pick diem can lay toa do: "))
(if pt1
(progn
(setq pt2 (getpoint pt1 "\n Pick diem ghi toa do: "))
(if pt2
(progn
(setq txtx (strcat "X = " (rtos (car pt1) 2 2) " m"))
(setq txty (strcat "Y= " (rtos (cadr pt1) 2 2)" m"))
(command "Mtext" pt2 "h" h pt2 txtx txty "")
)
)
)
)
(setvar "cmdecho" 1)
(princ)
)

Chào các cao thủ Lisper, sau một hồi mày mò và tìm hiểu trên diễn đàn em cũng cho ra lò được cái lisp ghi tọa độ như trên. Có thể nói là dùng cũng tạm được, nhưng em muốn các bác chỉ giáo cho em để hoàn thiện hơn. Trong đoạn code:

 

(setq h (getreal "\n Nhap chieu cao Text< 5 >: "))
(if (= h nil) (Setq h 5 )

 

thay vì nếu khi nhập chiều cao text để mặc định là 5 thì em muốn nó lấy giá trị mình vừa nhập vào lúc trước khi sử dụng lisp này. ví dụ như trong trường hợp mình dùng lệnh liên tục, gọi lisp lần đầu mình nhập vào là 100 hay bất kỳ giá trị nào khác lặp lại các lần sau nó gán cho bằng giá trị đó luôn chỉ phải bấm enter không phải gõ lại nữa. thanks


  • 0

#36 nhoclangbat

nhoclangbat

    Edu level: li10

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

Đã gửi 26 October 2014 - 06:48 PM

bạn thử xem ^^
(or h1 (setq h1 5)
(setq h (getreal (strcat "\nNhap cao text (" (rtos h1 2 2) ")"))
(if h (setq h1 h))
  • 0
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#37 trinhhoanghieu090

trinhhoanghieu090

    Edu level: li8

  • Members
  • PipPipPipPipPip
  • 309 Bài viết
Điểm đánh giá: 29 (tàm tạm)

Đã gửi 26 October 2014 - 10:32 PM

Mình đã thử và không thành công bạn nhoclangbat ạ. Bạn xem lại hộ mình với


  • 0

#38 nhoclangbat

nhoclangbat

    Edu level: li10

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

Đã gửi 27 October 2014 - 06:17 AM

- ah sr nhoc ko nói kỹ ^^, biến chính truyền tham số cho heighttext là h1 mới đúng ^^, tại nhoc giữ nguyên biến nhập là h của bạn ^^, bạn mún biến truyền chính là h thì chỉ cần đảo tên biến lại là đc, đó là cách sử dụng biến phụ, còn  cách khác ko cần sử dụng biến phụ nó như thế này nhưng hơi dài xíu ^^

(or h (setq h 5.0))
(setq h 
   (cond 
      ((getreal (strcat "\nBan nhap cao text (" (rtos h 2 0) ") :")))
	    (h)
	)
	)

  • 0
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#39 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 995 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 27 October 2014 - 06:19 AM

(defun C:cxy ( / pt1 pt2 txtx txty)
(setvar "cmdecho" 0)
(or *chieucao* (setq *chieucao* 1))
(setq chieucao (getreal (strcat "\n Chieu cao text <"
			  (rtos *chieucao* 2 2)
			 "> :"
		  )
	 )
)
(if (not chieucao) (setq chieucao *chieucao*) (setq *chieucao* chieucao))
(setq pt1 (getpoint "\n Pick diem can lay toa do: "))
(if pt1
	(progn
		(setq pt2 (getpoint pt1 "\n Pick diem ghi toa do: "))
		(if pt2
			(progn
				(setq txtx (strcat "X = " (rtos (car pt1) 2 2) " m"))
				(setq txty (strcat "Y= " (rtos (cadr pt1) 2 2)" m"))
				(command "Mtext" pt2 "h" chieucao pt2 txtx txty "")
			)
		)
	)
)
(setvar "cmdecho" 1)
(princ)
)


  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#40 pphung183

pphung183

    biết dimstyle

  • Members
  • PipPipPipPipPip
  • 384 Bài viết
Điểm đánh giá: 425 (tốt)

Đã gửi 27 October 2014 - 08:26 AM

Lisp này cũng chưa hoàn chỉnh nếu Text Style có Height <> 0, lúc đó nó sẽ lấy Chieu cao text = Height của Text Style hiện hành :D


  • 1