Đến nội dung


Hình ảnh
- - - - -

đoạn code chèn text vào tọa độ cho trước


  • Please log in to reply
24 replies to this topic

#1 ccc123

ccc123

    biết vẽ line

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

Đã gửi 22 May 2008 - 10:40 AM

Chào các bác. Mình viết đoạn code này nhưng không chạy được. các bác sửa giúp e với nhé.

(defun c:LK()
(setq Center (getpoint "\n nhap tam: "))
;----------------------------------Nhap ten lo------------------------------
(setq p1 (polar (list (+ (car Center) 5.1770) (+ (cadr Center) 21.0645))))
(setq LK (getreal "\n nhap ten lo: "))
(command "TEXT" p1 "" "" LK)
)
  • 0

#2 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4106 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 22 May 2008 - 10:44 AM

Chào các bác. Mình viết đoạn code này nhưng không chạy được. các bác sửa giúp e với nhé.

(defun c:LK()
(setq Center (getpoint "\n nhap tam: "))
;----------------------------------Nhap ten lo------------------------------
(setq p1 (polar (list (+ (car Center) 5.1770) (+ (cadr Center) 21.0645))))
(setq LK (getreal "\n nhap ten lo: "))
(command "TEXT" p1 "" "" LK)
)


Mục tiêu của đoạn code là gì?
tức là đoạn code này dùng làm gì?

còn nếu chỉ để chạy được thì:
(defun c:LK()
(setq Center (getpoint "\n nhap tam: "))
;----------------------------------Nhap ten lo------------------------------
(setq p1 center)
(setq LK (getreal "\n nhap ten lo: "))
(command "TEXT" p1 "" "" LK)
)
  • 0

#3 ccc123

ccc123

    biết vẽ line

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

Đã gửi 22 May 2008 - 10:48 AM

Mục tiêu của đoạn code là gì?
tức là đoạn code này dùng làm gì?

còn nếu chỉ để chạy được thì:
(defun c:LK()
(setq Center (getpoint "\n nhap tam: "))
;----------------------------------Nhap ten lo------------------------------
(setq p1 center)
(setq LK (getreal "\n nhap ten lo: "))
(command "TEXT" p1 "" "" LK)

Mục
Mục tiêu của em là khi pick vào 1 điểm bất kỳ đoạn text đó sẽ gán vào một điểm có tọa độ khác tọa độ đó. em đang viết lisp chèn block và gán các thông số text vào block đó bác ạ
  • 0

#4 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 22 May 2008 - 10:51 AM

Chào các bác. Mình viết đoạn code này nhưng không chạy được. các bác sửa giúp e với nhé.

(defun c:LK()
(setq Center (getpoint "\n nhap tam: "))
;----------------------------------Nhap ten lo------------------------------
(setq p1 (polar (list (+ (car Center) 5.1770) (+ (cadr Center) 21.0645))))
(setq LK (getreal "\n nhap ten lo: "))
(command "TEXT" p1 "" "" LK)
)


Hàm POLA dùng chỉ định 1 điểm từ 1 điểm cho trước, góc, khoảng cách:
(setq diemcan (polar diemgoc goc khoangcach))
Của bạn hình như thiếu cả góc lẩn khoảng cách.

(defun c:LK()
(setq Center (getpoint "\n nhap tam: "))
;----------------------------------Nhap ten lo------------------------------
(setq p1 (list (+ (car Center) 5.1770) (+ (cadr Center) 21.0645)))
(setq LK (getstring "\n nhap ten lo: "))
(command "TEXT" p1 "" "" LK)
)

Mình doán ý bạn hỏi nhập 1 điểm và hỏi tên lô nó sẽ viết tên lô ra cái điểm cách điểm bạn nhập là 5.1771 và 21.0645 thì sửa lại như trên .
  • 0

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#5 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4106 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 22 May 2008 - 10:53 AM

Mục
Mục tiêu của em là khi pick vào 1 điểm bất kỳ đoạn text đó sẽ gán vào một điểm có tọa độ khác tọa độ đó. em đang viết lisp chèn block và gán các thông số text vào block đó bác ạ

thế thì bạn loại bỏ hàm polar ra khỏi đoạn code trên là được.
(defun c:LK()
(setq Center (getpoint "\n nhap tam: "))
;----------------------------------Nhap ten lo------------------------------
(setq p1 (list (+ (car Center) 5.1770) (+ (cadr Center) 21.0645)))
(setq LK (getreal "\n nhap ten lo: "))
(command "TEXT" p1 "" "" LK)
)
  • 0

#6 ccc123

ccc123

    biết vẽ line

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

Đã gửi 22 May 2008 - 10:56 AM

Hàm POLA dùng chỉ định 1 điểm từ 1 điểm cho trước, góc, khoảng cách:
(setq diemcan (polar diemgoc goc khoangcach))
Của bạn hình như thiếu cả góc lẩn khoảng cách.

bác chỉnh sửa giúp em cho chạy được với. điểm tọa độ ghi text đó có khoảng cách với điểm pick là x= 5.177, y = 21.06.
e chưa hiểu hàm này lắm
  • 0

#7 ccc123

ccc123

    biết vẽ line

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

Đã gửi 22 May 2008 - 11:03 AM

thế thì bạn loại bỏ hàm polar ra khỏi đoạn code trên là được.
(defun c:LK()
(setq Center (getpoint "\n nhap tam: "))
;----------------------------------Nhap ten lo------------------------------
(setq p1 (list (+ (car Center) 5.1770) (+ (cadr Center) 21.0645)))
(setq LK (getreal "\n nhap ten lo: "))
(command "TEXT" p1 "" "" LK)
)

được rồi ạ.cảm ơn các bác nhiều. CADVIET thật tuyệt vời
  • 0

#8 ccc123

ccc123

    biết vẽ line

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

Đã gửi 22 May 2008 - 11:18 AM

em viết các đoạn code tiếp theo thì không chạy đồng thời đươc. các bác chỉ giáo giúp em với nhé

(defun c:LK()
(setq Center (getpoint "\n nhap tam: "))
;----------------------------------chen block------------------------------
(command "insert" "vongtron" "center" "s" "" "" "" "")
;----------------------------------Nhap ten lo------------------------------
(setq p1 (list (+ (car Center) 5.1770) (+ (cadr Center) 21.0645)))
(setq abc (getreal "\n nhap ten lo: "))
(command "TEXT" p1 "" "" abc)
)

http://www.cadviet.com/upfiles/Drawing1_4.dwg
  • 0

#9 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4106 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 22 May 2008 - 11:27 AM

em viết các đoạn code tiếp theo thì không chạy đồng thời đươc. các bác chỉ giáo giúp em với nhé

(defun c:LK()
(setq Center (getpoint "\n nhap tam: "))
;----------------------------------chen block------------------------------
(command "insert" "vongtron" "center" "s" "" "" "" "")
;----------------------------------Nhap ten lo------------------------------
(setq p1 (list (+ (car Center) 5.1770) (+ (cadr Center) 21.0645)))
(setq abc (getreal "\n nhap ten lo: "))
(command "TEXT" p1 "" "" abc)
)

http://www.cadviet.c.../Drawing1_4.dwg


bạn bỏ dấu hai nháy (") ở 2 bên chữ center đi!
  • 0

#10 ccc123

ccc123

    biết vẽ line

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

Đã gửi 22 May 2008 - 11:33 AM

bạn bỏ dấu hai nháy (") ở 2 bên chữ center đi!

Em biết lỗi nó rồi. Nhưng vấn đề ở chỗ là nó không chạy lệnh gán text bác ạ
  • 0

#11 ccc123

ccc123

    biết vẽ line

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

Đã gửi 22 May 2008 - 02:00 PM

em bó tay rồi. Các bác viết hộ em lisp với nhé. các yêu cầu em đã ghi vao trong bản vẽ kèm theo


http://www.cadviet.c.../Drawing1_5.dwg
  • 0

#12 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 22 May 2008 - 02:48 PM

em bó tay rồi. Các bác viết hộ em lisp với nhé. các yêu cầu em đã ghi vao trong bản vẽ kèm theo


http://www.cadviet.com/upfiles/Drawing1_5.dwg

Viết cái này phải có thời gian. Bạn để tối tôi xem thử.
  • 0

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#13 ccc123

ccc123

    biết vẽ line

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

Đã gửi 22 May 2008 - 02:53 PM

Em thank bác trước nghe
  • 0

#14 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 23 May 2008 - 07:49 AM

Em thank bác trước nghe

http://www.cadviet.c...es/kyhieulo.zip
Đây bạn load file lisp này lên tạo đường dẩn đến file kyhieulodatduy.dwg.
Gỏ lệnh KHLD:
Hỏi tên lô: lisp sẽ tự thêm LK- phía trước tên lô.
Hỏi Chon diem trong vung kin can do:pic vào trong vùng cần đo nếu vùng chọn không kín thì nó lại hỏi Chon diem trong vung kin can do khi nào chọn được điểm trong vùng kín thì lisp chạy tiếp.
Hỏi Mot met hien hanh la (1) <Diem viet ket qua>: lisp mặc định 1 met là 1 đơn vị bản vẽ nếu muốn thay đổi thì bạn gỏ m lisp sẽ hỏi bạn nhập giá trị 1 mét là bao nhiêu đơn vị.
Chấp nhận giá trị 1 mét thì chọn 1 điểm lisp sẽ chèn ký hiệu và điển cácthông số theo ý bạn.
  • 1

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#15 ccc123

ccc123

    biết vẽ line

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

Đã gửi 24 May 2008 - 08:55 AM

http://www.cadviet.com/upfiles/kyhieulo.zip
Đây bạn load file lisp này lên tạo đường dẩn đến file kyhieulodatduy.dwg.
Gỏ lệnh KHLD:
Hỏi tên lô: lisp sẽ tự thêm LK- phía trước tên lô.
Hỏi Chon diem trong vung kin can do:pic vào trong vùng cần đo nếu vùng chọn không kín thì nó lại hỏi Chon diem trong vung kin can do khi nào chọn được điểm trong vùng kín thì lisp chạy tiếp.
Hỏi Mot met hien hanh la (1) <Diem viet ket qua>: lisp mặc định 1 met là 1 đơn vị bản vẽ nếu muốn thay đổi thì bạn gỏ m lisp sẽ hỏi bạn nhập giá trị 1 mét là bao nhiêu đơn vị.
Chấp nhận giá trị 1 mét thì chọn 1 điểm lisp sẽ chèn ký hiệu và điển cácthông số theo ý bạn.

Bác duy ơi em download về rồi nhưng khi chạy báo lỗi không có hàm "boundPt". Bác kiểm tra giúp e nhé
  • 0

#16 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 24 May 2008 - 09:14 AM

Bác duy ơi em download về rồi nhưng khi chạy báo lỗi không có hàm "boundPt". Bác kiểm tra giúp e nhé


;;;--------------------------------------------------------------------------
(defun boundpt (p / e res)
;;;Return T if p is in a closed area. Otherwise return nil
(setq e (entlast))
(command "boundary" p "")
(setq res (not (equal (entlast) e)))
(if res (command "erase" (entlast) ""))
res
)
;;;---------------------------------------------------------------------------
  • 0

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#17 ccc123

ccc123

    biết vẽ line

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

Đã gửi 24 May 2008 - 09:52 AM

;;;--------------------------------------------------------------------------
(defun boundpt (p / e res)
;;;Return T if p is in a closed area. Otherwise return nil
(setq e (entlast))
(command "boundary" p "")
(setq res (not (equal (entlast) e)))
(if res (command "erase" (entlast) ""))
res
)
;;;---------------------------------------------------------------------------

Em hỏi thêm câu nữa.
(setq dientich (/ dtdoduoc (* motmetdt motmetdt)))
(setq HSSD (* dientich 40 5))
Em muốn làm tròn sau dấu phẩy 2 số thì mình làm thế nào bác.
Thank bác nhiều
  • 0

#18 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 24 May 2008 - 10:01 AM

Em hỏi thêm câu nữa.
(setq dientich (/ dtdoduoc (* motmetdt motmetdt)))
(setq HSSD (* dientich 40 5))
Em muốn làm tròn sau dấu phẩy 2 số thì mình làm thế nào bác.
Thank bác nhiều


(setq soketqua (rtos sobandau 2 4))
Cái màu đỏ là số sau dấu ,
  • 0

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#19 ccc123

ccc123

    biết vẽ line

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

Đã gửi 24 May 2008 - 10:33 AM

(setq soketqua (rtos sobandau 2 4))
Cái màu đỏ là số sau dấu ,

Em thử rồi không được bác a. Bác cho em ví dụ cụ thể vào phép gán trong lisp bác viết cho em nhé bác
  • 0

#20 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 28 May 2008 - 04:27 PM

Em thử rồi không được bác a. Bác cho em ví dụ cụ thể vào phép gán trong lisp bác viết cho em nhé bác

Mấy bửa nay máy cơ quan hư mạng nên không trả lời bạn được.
Bạn tìm trong lisp của mình viết tìm dòng có chử rtos sửa số 4 thành số 2 là được.
  • 0

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D