Đến nội dung


Hình ảnh
- - - - -

Nhờ giúp viết lại lisp copy text từ cad ra excel


  • Please log in to reply
12 replies to this topic

#1 viendinhngoc

viendinhngoc

    biết vẽ ellipse

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

Đã gửi 12 April 2014 - 08:20 AM

MÌnh trước có lisp
copy text từ cad chuyển sang excel nhưng khi save nó save file excel mới
minh muốn nhờ cao thủ sửa lại thành là khi chọn đối tượng trong CAD xong thì nó sẽ copy clip board rồi mình copy excel luôn không muốn tạo thành file mới
vì mình phải copy nhièu đối tượng liên tục tạo file mới thế mất thời gian quá

 

tên củ của lisp là c2e thì phải vì m đổi lại từ lúc down trên mạng cơ

thank các bác trước


  • -1

#2 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5678 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 12 April 2014 - 08:32 AM

Nhắc bạn một là copy file đưa lên đây, 2 là cố gắng tìm link của bài viết bạn down. Mình thì đoán ra cáo lisp c2e của bạn rồi nhưng trên mạng có rất nhiều lisp c2e và k thể phân biệt được. Thân


  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#3 tuliem063

tuliem063

    biết zoom

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

Đã gửi 12 April 2014 - 08:58 AM

File lisp đó đâu bạn?

 

Phải có mới biết được chứ!


  • 0

#4 viendinhngoc

viendinhngoc

    biết vẽ ellipse

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

Đã gửi 12 April 2014 - 11:42 AM

http://www.cadviet.c...t__save_csv.lsp

m cứ tưởng up lisp rồi

sorry mọi ng nhé


  • 1

#5 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 12 April 2014 - 05:49 PM

Bạn sửa lại như thế này, khi nó hỏi có chép đè lên file cũ không thì bạn cứ mạnh dạn ok nhé. :)

 

(defun c:copytext (/ hangdau)
  (defun sosanh (e1 e2 / p1 p2)
    (setq p1 (car e1)
 p2 (car e2)
    )
    (if (equal (cadr p1) (cadr p2) fuzz)
      (< (car p1) (car p2))
      (> (cadr p1) (cadr p2))
    )
  )
  (setq
    ss    (ssget '((0 . "TEXT")))
    lst    (ss2ent ss)
    lst    (mapcar '(lambda (e)
      (cons (cdr (assoc 10 (entget e)))
    (cdr (assoc 1 (entget e)))
      )
    )
   lst
   )
    caotext (cdr (assoc 40 (entget (ssname ss 0))))
    fuzz    (* caotext 1.0)
    lst    (vl-sort lst 'sosanh)
    index   1
    oldy    nil
    fn    (getfiled "Chon file de save" "" "csv" 1)
    fid    (open fn "a")
  )
  (princ "\n" fid)
  
  (foreach e lst
    (if (equal oldy (cadr (car e)) fuzz)
      (progn
(princ "," fid)
(setq index (1+ index))
      )
      (progn
(if hangdau
 (progn
   (setq index 1)
   (princ "\n" fid)
 )
 (setq hangdau t)
)
      )
    )
    (princ (cdr e) fid)
    (setq oldy (cadr (car e)))
  )
  (close fid)
)

 

Cái hàm ss2ent nếu bạn có cài Express thì thay bằng acet-ss-to-list cũng tương đương.


  • 0

#6 viendinhngoc

viendinhngoc

    biết vẽ ellipse

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

Đã gửi 13 April 2014 - 08:11 AM

cái bạn sửa không chạy được

hic


  • 0

#7 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 13 April 2014 - 08:51 AM

Gửi bạn file đã sửa. Phải gửi theo kiểu gửi file cho chắc ăn chứ gửi như bên trên thì nhiều khi phát sinh lỗi.

http://www.cadviet.c...t__save_csv.lsp


  • 0

#8 viendinhngoc

viendinhngoc

    biết vẽ ellipse

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

Đã gửi 13 April 2014 - 02:26 PM

bạn ơi file lisp của mình vẫn dùng được, mình muốn khi chọn đối tượng xong khi space nó không hiển thị cửa sổ save file mới . mà là copy clip boảd và sang excel pass được luôn ấy


  • 0

#9 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 13 April 2014 - 04:04 PM

Copy vào clipboard là một việc làm khá là nguy hiểm, vì nó đụng tới hệ thống, tức là tùy thuộc vào máy của bạn.

Trên forum cũng có vài bài viết về cái đó nhưng tôi thấy không xài được. Có thể máy họ làm được nhưng máy tôi thì không được?

 

Nếu ban không muốn hiện bảng save file thì cũng được, nó sẽ tự động chèn vào file với tên có sẵn. Còn đưa vào clipboard thì tôi không làm được.


  • 0

#10 viendinhngoc

viendinhngoc

    biết vẽ ellipse

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

Đã gửi 13 April 2014 - 06:23 PM

nguy hiểm thế ah bạn m cứ ngix làm được. hic

vậy bạn cho mình lisp chèn vào file có sẵn đwocj không


  • 0

#11 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 13 April 2014 - 07:05 PM

Cái này chỉ hỏi save file 1 lần đầu thôi, các lần sau không hỏi nữa. Nếu bạn muốn save thành file khác thì đánh lệnh "res" trước rồi hãy đánh lệnh copytext. Khi đang xài lệnh copytext thì đừng mở file csv thì mới save đươc. Bạn test thử xem.

 

http://www.cadviet.c...168_tmp1_44.lsp


  • 0

#12 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 14 April 2014 - 12:35 PM

Cái lisp này có thể copy vào clipboard được, nhưng tôi test trên cad 2010 thì ok, cad đời cũ hơn thì không chắc.

Trong đó có hàm setClipText tôi lấy trên mạng .

 

http://www.cadviet.c..._save_csv_1.lsp


  • 0

#13 viendinhngoc

viendinhngoc

    biết vẽ ellipse

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

Đã gửi 15 April 2014 - 07:19 AM

thank bạn nhé

khôn thấy nút like hic


  • 0