Chuyển đến nội dung
Diễn đàn CADViet
phat1998

Xuất tọa độ điểm và góc

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

9 phút trước, DuongTrungHuy đã nói:

Hi.

Bạn sử dụng chường trình mình được không.

dạ em đc anh ạ . em đang muốn sửa đổi 3 điều này:

- điều 1: số thứ tự 1,2,3..n mỗi đầu dòng em muốn cho nó mặc định là G01

- điều 2: ví dụ dòng text ( 1 200 300 30) em muốn nó thành( g01 X200 Y300 A30), tức làm em muốn gán X Y A mặc định vào trước tọa độ của nó 

em đang tự đọc các hàm anh viết để hiểu code anh viết. anh cho em cái gợi ý để làm được 2 ý trên khô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
1 giờ trước, phat1998 đã nói:

dạ em đc anh ạ . em đang muốn sửa đổi 3 điều này:

- điều 1: số thứ tự 1,2,3..n mỗi đầu dòng em muốn cho nó mặc định là G01

- điều 2: ví dụ dòng text ( 1 200 300 30) em muốn nó thành( g01 X200 Y300 A30), tức làm em muốn gán X Y A mặc định vào trước tọa độ của nó 

em đang tự đọc các hàm anh viết để hiểu code anh viết. anh cho em cái gợi ý để làm được 2 ý trên không ạ

 

Hàm (STRCAT "string1" "string2" ...)   ---> "string1_string2"

Ví dụ : (STRCAT "ABC" "DEF")   ---> "ABCDEF"

  • Like 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
4 giờ trước, phat1998 đã nói:

dạ em đc anh ạ . em đang muốn sửa đổi 3 điều này:

- điều 1: số thứ tự 1,2,3..n mỗi đầu dòng em muốn cho nó mặc định là G01

- điều 2: ví dụ dòng text ( 1 200 300 30) em muốn nó thành( g01 X200 Y300 A30), tức làm em muốn gán X Y A mặc định vào trước tọa độ của nó 

em đang tự đọc các hàm anh viết để hiểu code anh viết. anh cho em cái gợi ý để làm được 2 ý trên không ạ

Hi. bạn Danh Cong đã hướng dẫn rồi đó.

 

À việc lập trình nói chung cũng không khó lắm, nhưng điểm cần thiết phải là người tỉ mỉ, máy tính hiểu 1 cách rất máy móc nên phải chỉn chu, sai 1 dấu nhỏ nó cũng không hiểu :)

và tất nhiên phải có 1 chút kiến thức cơ sở về Toán đó Bạn.

 

Chúc công việc thuận lợi 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
2 phút trước, DuongTrungHuy đã nói:

Hi. bạn Danh Cong đã hướng dẫn rồi đó.

 

À việc lập trình nói chung cũng không khó lắm, nhưng điểm cần thiết phải là người tỉ mỉ, máy tính hiểu 1 cách rất máy móc nên phải chỉn chu, sai 1 dấu nhỏ nó cũng không hiểu :)

và tất nhiên phải có 1 chút kiến thức cơ sở về Toán đó Bạn.

 

Chúc công việc thuận lợi nhé!.

dạ em vẫn đang đọc hiểu từng dòng code đây ạ. đọc đến đâu tra gg hàm đến đó. mong là sẽ tự sử được theo yêu cầu

trong trường hợp không ra hi vọng sẽ đc anh chỉ dạy ạ. 

e, cảm ơn anh ạ

  • Like 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
Vào lúc 29/10/2020 tại 14:14, DuongTrungHuy đã nói:

Hi. bạn Danh Cong đã hướng dẫn rồi đó.

 

À việc lập trình nói chung cũng không khó lắm, nhưng điểm cần thiết phải là người tỉ mỉ, máy tính hiểu 1 cách rất máy móc nên phải chỉn chu, sai 1 dấu nhỏ nó cũng không hiểu :)

và tất nhiên phải có 1 chút kiến thức cơ sở về Toán đó Bạn.

 

Chúc công việc thuận lợi nhé!.

anh ơi khó quá anh ạ. em không sửa cái số thứ tự 1 2 3 4 5.. n thành G01 được ạ. em nghĩ nó ở đoạn này mà em sửa toàn bị lỗi

(setq lst_pt (reverse lst_pt))
  (if (setq file_name (getfiled "Xuat du lieu" "Toa do diem va goc" "txt" 1))
    (progn
      (setq file_write (open file_name "W"))
      (setq lst_write (mapcar '(lambda (lst) (list (itoa (car lst)) (rtos (caadr lst) 2 4) (rtos (cadadr lst) 2 4) (rtos (caddr lst) 2 2))) lst_pt))
      (foreach lst lst_write
    (setq str "")
    (foreach n lst 
      (setq str (strcat str n "\t"))
      )
    (setq str (substr str 1 (1- (strlen str))))
    (write-line  str file_write )
    )
      (close file_write)
      )
    )
  (print)

 

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
2 giờ trước, phat1998 đã nói:

anh ơi khó quá anh ạ. em không sửa cái số thứ tự 1 2 3 4 5.. n thành G01 được ạ. em nghĩ nó ở đoạn này mà em sửa toàn bị lỗi

; Day Ban

 

  (setvar "Osmode" 0)(Setvar "orthomode" 0)(setvar "cmdecho" 0)
  (setq file_name (getfiled "Xuat du lieu" "Toa_do_diem_va_goc" "txt" 1))
  (setq kq (open file_name "w") nd 10 kc 0.0 2pi (* 2.0 pi)
        e1 (car (entsel "\nChon Spline: ")) 
        Ldai (/ (vlax-curve-getDistAtParam e1 (vlax-curve-getEndParam e1)) nd)
  )
  (Repeat (1+ nd)
    (setq d1 (vlax-curve-getPointAtDist e1 kc) so (vlax-curve-getFirstDeriv e1 kc) goc (+ (angle (list 0 0) so) (/ pi 2.0))
          oo (if (> goc 2pi)(setq goc (- goc 2pi)))
          oo (Princ (strcat "\n**" (rtos kc 2 8) " " (rtos (car d1) 2 8) " " (rtos (cadr d1) 2 8) " " (rtos goc 2 7)))
          oo (Print (angle (list 0 0) so)) kc (+ kc Ldai)
          oo (Princ (strcat "\n=" (rtos kc 2 8) " " (rtos (car d1) 2 8) " " (rtos (cadr d1) 2 8) " " (rtos goc 2 7)))
    )
    (Princ (strcat "\n" (rtos kc 2 8) " " (rtos (car d1) 2 8) " " (rtos (cadr d1) 2 8) " " (rtos goc 2 7)))
    (Princ (strcat "\nG01 X" (rtos (car d1) 2 8) " Y" (rtos (cadr d1) 2 8) " A" (rtos goc 2 7)) kq)
  )
  (close kq)
  (Princ (strcat "\nFile ket qua: \"" file_name "\"")) (princ)

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
Vào lúc 31/10/2020 tại 17:16, DuongTrungHuy đã nói:

; Day Ban

 

  (setvar "Osmode" 0)(Setvar "orthomode" 0)(setvar "cmdecho" 0)
  (setq file_name (getfiled "Xuat du lieu" "Toa_do_diem_va_goc" "txt" 1))
  (setq kq (open file_name "w") nd 10 kc 0.0 2pi (* 2.0 pi)
        e1 (car (entsel "\nChon Spline: ")) 
        Ldai (/ (vlax-curve-getDistAtParam e1 (vlax-curve-getEndParam e1)) nd)
  )
  (Repeat (1+ nd)
    (setq d1 (vlax-curve-getPointAtDist e1 kc) so (vlax-curve-getFirstDeriv e1 kc) goc (+ (angle (list 0 0) so) (/ pi 2.0))
          oo (if (> goc 2pi)(setq goc (- goc 2pi)))
          oo (Princ (strcat "\n**" (rtos kc 2 8) " " (rtos (car d1) 2 8) " " (rtos (cadr d1) 2 8) " " (rtos goc 2 7)))
          oo (Print (angle (list 0 0) so)) kc (+ kc Ldai)
          oo (Princ (strcat "\n=" (rtos kc 2 8) " " (rtos (car d1) 2 8) " " (rtos (cadr d1) 2 8) " " (rtos goc 2 7)))
    )
    (Princ (strcat "\n" (rtos kc 2 8) " " (rtos (car d1) 2 8) " " (rtos (cadr d1) 2 8) " " (rtos goc 2 7)))
    (Princ (strcat "\nG01 X" (rtos (car d1) 2 8) " Y" (rtos (cadr d1) 2 8) " A" (rtos goc 2 7)) kq)
  )
  (close kq)
  (Princ (strcat "\nFile ket qua: \"" file_name "\"")) (princ)

kết quả góc sai anh ạ

  • Vote giảm 2

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
Vào lúc 31/10/2020 tại 17:16, DuongTrungHuy đã nói:

; Day Ban

 

  (setvar "Osmode" 0)(Setvar "orthomode" 0)(setvar "cmdecho" 0)
  (setq file_name (getfiled "Xuat du lieu" "Toa_do_diem_va_goc" "txt" 1))
  (setq kq (open file_name "w") nd 10 kc 0.0 2pi (* 2.0 pi)
        e1 (car (entsel "\nChon Spline: ")) 
        Ldai (/ (vlax-curve-getDistAtParam e1 (vlax-curve-getEndParam e1)) nd)
  )
  (Repeat (1+ nd)
    (setq d1 (vlax-curve-getPointAtDist e1 kc) so (vlax-curve-getFirstDeriv e1 kc) goc (+ (angle (list 0 0) so) (/ pi 2.0))
          oo (if (> goc 2pi)(setq goc (- goc 2pi)))
          oo (Princ (strcat "\n**" (rtos kc 2 8) " " (rtos (car d1) 2 8) " " (rtos (cadr d1) 2 8) " " (rtos goc 2 7)))
          oo (Print (angle (list 0 0) so)) kc (+ kc Ldai)
          oo (Princ (strcat "\n=" (rtos kc 2 8) " " (rtos (car d1) 2 8) " " (rtos (cadr d1) 2 8) " " (rtos goc 2 7)))
    )
    (Princ (strcat "\n" (rtos kc 2 8) " " (rtos (car d1) 2 8) " " (rtos (cadr d1) 2 8) " " (rtos goc 2 7)))
    (Princ (strcat "\nG01 X" (rtos (car d1) 2 8) " Y" (rtos (cadr d1) 2 8) " A" (rtos goc 2 7)) kq)
  )
  (close kq)
  (Princ (strcat "\nFile ket qua: \"" file_name "\"")) (princ)

anh ơi cái trình lisp này của em có thể chuyển sang file.ARX không ạ

  • Vote giảm 2

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

×