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

NHỜ CÁC ANH VIẾT LISP CẬP NHẬT DỮ LIỆU FILE TXT VÀO CAD GIÚP EM

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

image.thumb.png.676f1fc520a8009f0a3368acf36114ed.png

Nhờ các anh trong diễn đàn viết giúp em lisp 

Theo bản vẽ đính kèm, em có STT-NAME-KW-MCCB-AMPE-KA...... VÀ BẢNG DỮ LIỆU NHƯ HÌNH ĐÍNH KÈM.

Nhờ các anh viết giúp em: Khi gõ lệnh chọn đối tượng là STT để cập nhật giá trị trong bảng dữ liệu vào bản vẽ cad theo vị trí trong bản vẽ cad, trong quá trình cập nhật lần sau sẽ xoá đi nội dung lần trước đó. ( Em đã có tìm trong diễn đàn, có 1 lisp cũng có yêu cầu tương tự như em, nhưng nội dung của em bao gồm số, text và ký hiệu, góc text 270 độ nên em không ứng dụng được). Mong các anh hỗ trợ giúp .

Đây là lisp em tham khảo được

;; free lisp from cadviet.com
;;; this lisp was downloaded from https://www.cadviet.com/forum/topic/69623-yêu-cầu-lisp-up-nội-dung-từ-excel-vào-cad/
;=====LISP UPDATE SO LIEU TU FILE TXT VAO CAD - REV1==========
;================KANGKUNG 25/03/2013==========================
(defun C:KK()
  (command "UNDO" "BE")
  (setq taphop(ssget '((0 . "TEXT"))) os(getvar "OSMODE"))
  (if (not Path) (setq Path(getvar "dwgprefix")))
  (setq file(getfiled "Select File:" Path "txt" 2) Path file index 0 TEXT_LIST (list))
  (while (< index (sslength taphop))
    (setq TEXT (entget (ssname taphop index)))
    (if (/= (read (cdr(assoc 1 TEXT))) (atof (cdr(assoc 1 TEXT))))
      (progn
    (setq String(cdr(assoc 1 TEXT)))
    (if (= (+ (cdr(assoc 72 TEXT)) (cdr(assoc 73 TEXT))) 0)
      (setq InsertPoint(cdr(assoc 10 TEXT)))
      (setq InsertPoint(cdr(assoc 11 TEXT))))
    (setq TEXT_LIST (append (list (list String InsertPoint)) TEXT_LIST))))
    (setq index (1+ index)))
  (setq file_in(open file "R") lst_solieu(list))
  (while(setq txt(read-line file_in))
    (if (/= txt nil) (setq lst (read (strcat "(" txt ")"  ))))
    (foreach dt TEXT_LIST
      (if (= (car dt) (vl-princ-to-string(car lst)))
    (progn
      (setq pt1(cadr dt) pt2(list (- (car pt1) 1.0757) (- (cadr pt1) 1.3762)) pt3(list (+ (car pt1) 1.2744) (- (cadr pt1) 1.3762)) pt4(list (car pt1) (- (cadr pt1) 2.7500)))
      (entmakex (list '(0 . "TEXT") (cons 8 "Main_DTOV") (cons 62 3) (cons 10 pt1) (cons 40 0.5) (cons 1 (vl-princ-to-string(car lst))) (cons 72 1) (cons 11 pt1) (cons 73 2)))
      (entmakex (list '(0 . "TEXT") (cons 8 "Main_CDTC") (cons 62 130) (cons 10 pt2) (cons 40 0.5) (cons 1 (rtos (cadr lst) 2 2)) (cons 72 1) (cons 11 pt2) (cons 73 2)))
      (entmakex (list '(0 . "TEXT") (cons 8 "Main_DTOV") (cons 62 2) (cons 10 pt3) (cons 40 0.5) (cons 1 (rtos (caddr lst) 2 2)) (cons 72 1) (cons 11 pt3) (cons 73 2)))
      (entmakex (list '(0 . "TEXT") (cons 8 "Main_KLOV") (cons 62 31) (cons 10 pt4) (cons 40 0.5) (cons 1 (rtos (cadddr lst) 2 2)) (cons 72 1) (cons 11 pt4) (cons 73 2)))
      )
    )
      )
    )
  (COMMAND "ERASE" TAPHOP "")
  (close file_in)
  (command "UNDO" "END")
  )
(princ "\n                Written By KangKung - 25/03/2013\n")
(princ "\n                  Nhap KK de chay chuong trinh\n")

 

20190725 test.dwg

20190725 TEST.txt

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

×