Đến nội dung


Hình ảnh
- - - - -

Lisp xuất tọa độ


  • Chủ đề bị khóa Chủ đề bị khóa
22 replies to this topic

#1 daotangdinh

daotangdinh

    biết pan

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

Đã gửi 15 September 2008 - 09:14 PM

mình có file tọa độ , khi dùng lệnh id để lấy tọa độ , khi có tọa độ rồi , phải copy qua word , in ra , xong mới dùng máy toàn đạt để định vị ngoài công trường , rất là bất tiện và thủ công , các cao thủ có ai biết lisp nào chỉ cần list vào điểm cần lấy tọa độ sẽ hiện ra tọa độ cần và in trực tiếp trên cad ko ? cho mình xin đi , cảm ơn rất nhiều!
  • 1

#2 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1435 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 16 September 2008 - 07:33 AM

mình có file tọa độ , khi dùng lệnh id để lấy tọa độ , khi có tọa độ rồi , phải copy qua word , in ra , xong mới dùng máy toàn đạt để định vị ngoài công trường , rất là bất tiện và thủ công , các cao thủ có ai biết lisp nào chỉ cần list vào điểm cần lấy tọa độ sẽ hiện ra tọa độ cần và in trực tiếp trên cad ko ? cho mình xin đi , cảm ơn rất nhiều!


Bạn gửi file Cad lên diễn đàn, mọi người xem qua mới hướng dẫn cụ thể được.
(Yêu cầu dạng này hình như có nhiều trên diễn đàn rồi, bạn thử Tìm nhé)


http://www.cadviet.c...wtopic=2265&hl=
  • -1

#3 lamtecco2

lamtecco2

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 715 Bài viết
Điểm đánh giá: 856 (rất tốt)

Đã gửi 16 September 2008 - 08:43 AM

mình có file tọa độ , khi dùng lệnh id để lấy tọa độ , khi có tọa độ rồi , phải copy qua word , in ra , xong mới dùng máy toàn đạt để định vị ngoài công trường , rất là bất tiện và thủ công , các cao thủ có ai biết lisp nào chỉ cần list vào điểm cần lấy tọa độ sẽ hiện ra tọa độ cần và in trực tiếp trên cad ko ? cho mình xin đi , cảm ơn rất nhiều!

Bạn tham khảo ở đây xem
http://www.cadviet.c...?showtopic=4235
  • 0

#4 tuanbg82

tuanbg82

    biết pan

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

Đã gửi 16 September 2008 - 11:32 AM

cái đó hay thì hay rồi nhưng Toạ độ thi có vấn đề. Bác náo có cái Pro hơn không, em đanh tập tành mà khó quá. bác nào muốn có Lisp vẽ mặt cắt thì nhắn cho em! xin mãi cũng ngại
  • 0

#5 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1435 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 16 September 2008 - 12:49 PM

cái đó hay thì hay rồi nhưng Toạ độ thi có vấn đề. Bác náo có cái Pro hơn không, em đanh tập tành mà khó quá. bác nào muốn có Lisp vẽ mặt cắt thì nhắn cho em! xin mãi cũng ngại


"Toạ độ thi có vấn đề" là vấn đề gì hả bạn ?
bạn có thể định nghĩa "Pro" được không ?
  • 0

#6 hieu_206

hieu_206

    Chưa sử dụng CAD

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

Đã gửi 16 September 2008 - 01:59 PM

cái đó hay thì hay rồi nhưng Toạ độ thi có vấn đề. Bác náo có cái Pro hơn không, em đanh tập tành mà khó quá. bác nào muốn có Lisp vẽ mặt cắt thì nhắn cho em! xin mãi cũng ngại


ban thu dung file líp nay xem
http://www.cadviet.com/upfiles/xy.lsp
  • 0

#7 tuanbg82

tuanbg82

    biết pan

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

Đã gửi 16 September 2008 - 03:10 PM

Toạ độ không đúng với bản gốc bạn ạ! Pro la đắng cấp đại loại thế
  • 0

#8 tuanbg82

tuanbg82

    biết pan

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

Đã gửi 16 September 2008 - 03:16 PM

ban thu dung file líp nay xem
http://www.cadviet.com/upfiles/xy.lsp


sao ko dùng đựơc vậy ko co cao độ hả bạn,
  • 0

#9 Zuy782006

Zuy782006

    biết vẽ line

  • Members
  • PipPip
  • 28 Bài viết
Điểm đánh giá: 11 (tàm tạm)

Đã gửi 16 September 2008 - 03:33 PM

sao ko dùng đựơc vậy ko co cao độ hả bạn,

Nề ông kia! Người ta nói ông up file lên thì không chịu up (ba cái file ghẻ của ông không ai chôm đâu mà lo) cứ họ đưa cái gì ra ông cũng kiu hông phải cái ông cần trong khi hỏi ông cần cái gì thì ông hông nói. Tui chỉ cho ông cách hỏi nề.
-Toạ độ xuất ra dạng gì, có x,y.z thể hiện như nào: viết ra chổ nào, thành hàng hay thành bảng, kích thước chử bao lớn.
-Cách chọn điểm để lấy toạ độ: pick đại hay lấy từ đối tượng gì.
-Cách tính toạ độ: có dùng toạ độ tương đối không, tỉ lệ bao nhiêu hay là 1-1.

Ít nhứt ông cũng phải nêu ra được như thế nà nên có file kèm theo mô tả trạng thái khi đã xuất ra cad. đậy nẩu mới viết lisp cho ông được.
  • 0
Ơ hay, tại sao ta sống chốn này?
Quay cuồng mãi, vậy có gì vui !!!

#10 tien2005

tien2005

    biết lệnh properties

  • Members
  • PipPipPipPip
  • 257 Bài viết
Điểm đánh giá: 94 (tàm tạm)

Đã gửi 16 September 2008 - 03:46 PM

Bạn thử dùng cái này xem. Khi pick vào 1 điểm thì nó sẽ lấy các toạ độ XYZ. Khi kết thúc công việc nó sẽ ghi ra file xxx.txt (xxx là tên bản vẽ hiện tại và nó nằm cùng thuw mục với bản vẽ) - code này là của NguyenLam _ ketcau.com
(defun c:tff ( / tmp dlst p1 file opw msg id)
(setq tmp t)
(setq dlst (list(strcat "X" "\t" "Y" "\t" "Z")))
(setq id 0)
(setq file (strcat (getvar "DWGPREFIX") (substr (getvar "DWGNAME") 1 (- (strlen (getvar "DWGNAME")) 4)) ".txt"))
(while tmp
(progn
(setq id (1+ id))
(setq msg (strcat "\nChon diem thu " (rtos id 2 0)":"))
(setq p1 (getpoint msg))
(if p1
(progn
(setq dlst (append (list (strcat (rtos (car p1) 2 3)
"\t"
(rtos (cadr p1) 2 3)
"\t"
(rtos (caddr p1) 2 3)
)
)
dlst )
)
(setq tmp t)
)
(setq tmp nil)
)
)
)
(setq dlst (reverse dlst))
(setq ;file "d:\\tien\\diem.txt"
opw (open file "w")
)
(foreach n dlst (write-line n opw))
(close opw)
);end defun

  • 3

#11 tuanbg82

tuanbg82

    biết pan

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

Đã gửi 18 September 2008 - 11:55 PM

cam on nhé! nó đúng là cai em cần hj hj!
  • 0

#12 tuanbg82

tuanbg82

    biết pan

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

Đã gửi 19 September 2008 - 12:10 AM

(defun c:vv(/ pt1 l1 l2 dtx pt2)
(setq pt1(getpoint "\nhap diem:"))
(setq l1(getreal"\ncao do:"))
(setq dtx(getreal"\nkhoang cach ngang:"))
(setq l2(getreal"\ncao do diem tiep theo:"))
(setq pt2(list (+ (car pt1) dtx) (- (+ (cadr pt1) l2) l1) 0))
(while
(setq pt2(list (+ (car pt1) dtx) (- (+ (cadr pt1) l2) l1) 0))
(command "line" pt1 pt2 "")
(setq pt1 pt2)
(setq l1 l2)
(setq dtx(getreal"\nkhoang cach ngang:"))
(setq l2(getreal"\ncao do diem tiep theo:"))
)
princ
)
  • 0

#13 tuanbg82

tuanbg82

    biết pan

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

Đã gửi 19 September 2008 - 12:12 AM

(defun c:vv(/ pt1 l1 l2 dtx pt2)
(setq pt1(getpoint "\nhap diem:"))
(setq l1(getreal"\ncao do:"))
(setq dtx(getreal"\nkhoang cach ngang:"))
(setq l2(getreal"\ncao do diem tiep theo:"))
(setq pt2(list (+ (car pt1) dtx) (- (+ (cadr pt1) l2) l1) 0))
(while
(setq pt2(list (+ (car pt1) dtx) (- (+ (cadr pt1) l2) l1) 0))
(command "line" pt1 pt2 "")
(setq pt1 pt2)
(setq l1 l2)
(setq dtx(getreal"\nkhoang cach ngang:"))
(setq l2(getreal"\ncao do diem tiep theo:"))
)
princ
)


Bác Zuy phê bình em ngại quá dân mới mà hj
  • 0

#14 phongks82

phongks82

    biết zoom

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

Đã gửi 01 October 2008 - 08:54 AM

Bác có thể chỉ giáo chi tiết về lisp này cho em được không . Cảm Ơn bác nhiều
  • 0

#15 phongks82

phongks82

    biết zoom

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

Đã gửi 01 October 2008 - 08:56 AM

Cụ thể là hướng dẫn cho em gõ lệnh gì để sử dụng lisp này trên cad. em gõ lệnh tff mà không hiểu được . xin bác ghi rõ cách lam từ A đến Z cho em nha. Thanks bác rất nhiều
  • 0

#16 uct_0978333594

uct_0978333594

    biết vẽ polygon

  • Members
  • PipPip
  • 77 Bài viết
Điểm đánh giá: 42 (tàm tạm)

Đã gửi 01 October 2008 - 09:27 AM

Em cũng có xiu tầm (Hổng phải của em) được một lisp xuất toạ độ này mọi người dùng thử.

;Xuat toa do ra man hinh CAD

(defun c:td( / get-x get-y oce xp yp rwc )
(setq oce (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setvar "luprec" 4)
(main)
(setvar "cmdecho" oce)
)

;;;----------------------------- Leader Placement Routine ---------------------
;;; Here is where the leaders are actually written to the database
;;; based upon the value of coordinates passed from module "MAIN" .
;;; Null points are ignored.

(defun do_put_leader( xp yp )
(command "_.leader" rwc pause "" yp xp "")
)

;;;----------------------------- xyz coordinate breakdown ----------------------
;;; This routine accepts a point from the calling function and breaks it down
;;; into X,Y values.

(defun get_xyz ( pt )
(setq xp (car pt) yp (cadr pt) )
(if xp (setq xp (strcat "X "(rtos xp))))
(if yp (setq yp (strcat "Y "(rtos yp))))
)

;;;-------------------Secondary main module------------------------------------
;;; Accepts the user input and allows the user to select many objects in
;;; succession.

(defun main()
(setq olddim (getvar "dimstyle"))
(setq a (getreal "\n Input Text Height for Annotation : <2.5> "))
(if (null a) (setq a 2.5))
(setvar "dimtxt" a)
(setq rwc(getpoint "\nSelect point: "))
(get_xyz rwc)
(do_put_leader xp yp )
(while rwc
(setq rwc(getpoint "\nSelect point: "))
(get_xyz rwc)
(do_put_leader xp yp )
)
(command "dimstyle" "restore" olddim)
)
  • 0
Hình đã gửi

#17 NguyenNgocSon

NguyenNgocSon

    biết dimbaseline

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

Đã gửi 09 December 2010 - 11:26 AM

Bạn thử dùng cái này xem. Khi pick vào 1 điểm thì nó sẽ lấy các toạ độ XYZ. Khi kết thúc công việc nó sẽ ghi ra file xxx.txt (xxx là tên bản vẽ hiện tại và nó nằm cùng thuw mục với bản vẽ) - code này là của NguyenLam _ ketcau.com

(defun c:tff ( / tmp dlst p1 file opw msg id)
(setq tmp t)
(setq dlst (list(strcat "X" "\t" "Y" "\t" "Z")))
(setq id 0)
(setq file (strcat (getvar "DWGPREFIX") (substr (getvar "DWGNAME") 1 (- (strlen (getvar "DWGNAME")) 4)) ".txt"))
(while tmp
(progn
(setq id (1+ id))
(setq msg (strcat "\nChon diem thu " (rtos id 2 0)":"))
(setq p1 (getpoint msg))
(if p1
(progn
(setq dlst (append (list (strcat (rtos (car p1) 2 3)
"\t"
(rtos (cadr p1) 2 3)
"\t"
(rtos (caddr p1) 2 3)
)
)
dlst )
)
(setq tmp t)
)
(setq tmp nil)
)
)
)
(setq dlst (reverse dlst))
(setq ;file "d:\\tien\\diem.txt"
opw (open file "w")
)
(foreach n dlst (write-line n opw))
(close opw)
);end defun

Có bác nào sửa giúp em code trên không? Sửa như sau:
+ Thêm tên điểm vào trước tọa độ
Ví dụ: ten, X, Y, Z = LK1,123.4456,5689.12,0.3
Them vào trước lệnh chọn điểm thứ là dòng lệnh chọn tên điểm, sau đo mới chọn điểm rồi xuất ra.
  • 1

#18 Lethang1811

Lethang1811

    Chưa sử dụng CAD

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

Đã gửi 06 May 2012 - 09:59 PM

Bạn
tuanbg82 có list vẽ mặt cắt thì cho mình xin đi. Mình cảm ơn nhnh! Có thể gửi cho minh Lethang1811@Gmail.com. À mà bạn up lên đi chắc cũng có nhiều bạn dùng đó.
  • 0

#19 Lethang1811

Lethang1811

    Chưa sử dụng CAD

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

Đã gửi 06 May 2012 - 10:15 PM

Cảm ơn bạn
NguyenNgocSon mình đang sữ dụng list của bạn.
  • 0

#20 Lethang1811

Lethang1811

    Chưa sử dụng CAD

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

Đã gửi 06 May 2012 - 10:27 PM

Bạn muốn sữ dụng List nào cũng thế. Phải Ap vào bản vẽ của mình đang làm rồi mới gỏ lệnh chứ. Cụ thể bạn hảy gỏ ap sau đó chọn list tff rồi load lên, lúc này bạn gỏ lệnh tff là dùng được rồi. Như thế có đúng vấn đề của bạn không?!
  • 1