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

hoquangvinh

Thành viên
  • Số lượng nội dung

    215
  • Đã tham gia

  • Lần ghé thăm cuối

  • Ngày trúng

    3

Bài đăng được đăng bởi hoquangvinh


  1. mình có xem clip chứ nhưng phần mềm viết trên exel thì làm sao thấy được nội dung, chỉ thấy kết quả của chương trình thôi

    cái file bị lỗi ko chạy được là file bị mất đầu cờ rồi, cái file còn lại vẫn chạy được nhưng kết quả thì nó sắp xếp hơi lộn xộn ko giống như cái file mẫu của bạn trên clip. File của mình có đến 2 cột và có thể có 1 vài TN có thể bị lệch cột (lệch: X) nên thứ tự xuất ra bị biến dạng chăng; còn hạng mục đầu tiên của cọc đầu tiên thì nó dính với lý trình thì mình có thấy rồi


  2. sau khi chạy được lisp thì e thấy vẫn chưa được như ý lắm, còn có một số vấn đề như sau:

    1. Trường hợp của bác chủ thì sau khi xuất ra bảng exel vẫn phải viết thêm 1 tiện ích nữa để sắp xếp lại theo thứ tự. Vậy là vấn đề của mình (xuất kl từ tn sang bảng exel) cũng vẫn chưa thực hiện được.

    2. Mình xuất KL ra nó chạy lung tung lắm: tên cọc, lý trình và hạng mục sắp xếp ko theo thứ tự nào cả. Thường thì mỗi cái thấy nó xuất hiện 2 lần nhưng cũng ko hẳn là 2 lần đầy đủ, lần thứ 2 nó chỉ xuất ra một số hạng mục xong lại đến cọc khác

    3. Có trường hợp thì li sp chạy nhưng kết thúc ko có kết quả gì cả:

     

    Command: xkl
    Chon doi tuong coc hoac ly trinh lam lop chuan.
    Select object:
    Chon doi tuong ghi dien tich lam lop chuan.
    Select object:
    Chon trac ngang.
    Select objects: Specify opposite corner: 71 found
    Select objects:  ; error: bad argument type: consp nil
    Command:

     

    Mong bác chủ xem xét lại xem


  3. he sau một hồi lần mò thì e đã tìm ra lỗi, nó bị như sau các bác ạ:

    mở file lisp bằng notepad thì ko bị lỗi gì

    mở file lisp bằng Visual lisp Editor thì thấy có 1 kí tự lạ: "Â" hiện đầu tiên gần như tất cả các dòng lệnh (mở cả 2 cái cùng lúc để so sánh thì mới thấy đc)

    e xóa hết kí tự này thì lisp chạy được rồi

    e đưa lên đây để bác nào bị lỗi thế này thì biết để sửa, sáng đến giờ hoang mang quá


  4. cảm ơn bác chủ đã nhiệt tình theo dõi và up lại lisp

    nhưng ko hiểu tại sao mà bây giờ lại ko thể apload lisp để dùng đc nữa

    ap xong lệnh: xkl nó hiện lỗi ngay: Unknown command "XKL".  Press F1 for help.

    và tất nhiên là chỉ lisp này bị thôi còn các lisp khác mình vẫn load được bình thường

    có bác nào gặp trường hợp như thế này chưa nhỉ


  5. Hôm trước mình có chạy được lisp rồi nhưng khi xuất ra khối lượng thì nó vẫn xuất ra file *.csv nhưng dung lượng =0, chỉ có mỗi tên file chứ ko có nội dung gì cả

    Hôm nay thì khi mình apload lại lisp thì nó lại ko nhận nữa, dù đã remove cái  cũ rồi ap lại vẫn ko nhận: "Unknown command "XKL".  Press F1 for help"

    không hiểu đây là lỗi gì nhỉ

    tìm được cái li sp hay thế này mà ko dùng được thì phí quá, mong các cao thủ check giùm với, bác chủ thì lâu lắm chưa thấy online rồi


  6. bây giờ mình mói đọc thấy comment của các bạn

    lâu lắm chắc các bạn dùng đc rồi nhưng mình cứ hướng dẫn để những người chưa biết dùng

    1. AP Crack-DXQuy-Tool.VLX

    lệnh: CRQUY lưu file key

    2. AP tiếp DoXuanQuy.VLX

    3. Menuload DXQuyTool/Quy's Tools

    (có cả Quy's Tools TV nữa nhưng mình thì ko dùng vì phải chỉnh lại font mới đọc đc)

    4. giờ là dùng lisp thôi hehe

     

    50811_menu_quy.jpg

    • Vote tăng 1

  7.  

    mình đã sửa lại để chơi đuợc cả hàng lẫn cột đây. post lâu lắm rồi mới thấy có bạn ý kiến nên chắc cũng ít người có nhu cầu này nhỉ.

    (defun c:srt (/ DXF MakeText HANG I LAP LSTKQ PT0 PTI SS1 SS2 SS3 SSN SSN3 TBS1 TBS2 TBS3)(defun DXF (code en)	(cdr (assoc code (entget en))))(defun entmod-en (code value en / RES)(setq RES (entget en '("*")))(entmod (subst (cons code value) (assoc code RES) RES)))(defun MakeText (point string Height Ang justify Style Layer Color xdata / Lst); Ang: Radial(setq Lst (list '(0 . "TEXT")(cons 8 (if Layer Layer (getvar "Clayer")))(cons 62 (if Color Color 256))(cons 10 point)(cons 40 Height)(cons 1 string)(if Ang (cons 50 Ang))(cons 7 (if Style Style (getvar "Textstyle")))(cons -3 (if xdata (list xdata) nil)))justify (strcase justify))(cond ((= justify "C") (setq Lst (append Lst (list (cons 72 1) (cons 11 point)))))((= justify "R") (setq Lst (append Lst (list (cons 72 2) (cons 11 point)))))((= justify "M") (setq Lst (append Lst (list (cons 72 4) (cons 11 point)))))((= justify "TL") (setq Lst (append Lst (list (cons 72 0) (cons 11 point) (cons 73 3)))))((= justify "TC") (setq Lst (append Lst (list (cons 72 1) (cons 11 point) (cons 73 3)))))((= justify "TR") (setq Lst (append Lst (list (cons 72 2) (cons 11 point) (cons 73 3)))))	((= justify "ML") (setq Lst (append Lst (list (cons 72 0) (cons 11 point) (cons 73 2)))))((= justify "MC") (setq Lst (append Lst (list (cons 72 1) (cons 11 point) (cons 73 2)))))((= justify "MR") (setq Lst (append Lst (list (cons 72 2) (cons 11 point) (cons 73 2)))))((= justify "BL") (setq Lst (append Lst (list (cons 72 0) (cons 11 point) (cons 73 1)))))((= justify "BC") (setq Lst (append Lst (list (cons 72 1) (cons 11 point) (cons 73 1)))))((= justify "BR") (setq Lst (append Lst (list (cons 72 2) (cons 11 point) (cons 73 1))))))(entmakex Lst));endmaketext(setq pheptinh (cond (pheptinh) ("Cong")))(initget "Cong Tru Nhan CHia")(setq pheptinh (cond ((getkword (strcat "\nchon phep tinh: [Cong/Tru/Nhan/CHia/] <" pheptinh ">: "))) (pheptinh)))(prompt "\nChon Hang-Cot so thu nhat..")(if (setq SS1 (ssget '((0 . "TEXT"))))(progn (prompt "Chon Hang-Cot so thu hai..")(if (setq SS2 (ssget '((0 . "TEXT"))))(progn(Setq TBS1 (ACET-GEOM-SS-EXTENTS-FAST SS1) SS1 (acet-ss-to-list SS1)TBS2 (ACET-GEOM-SS-EXTENTS-FAST SS2) SS2 (acet-ss-to-list SS2))(if (> (abs(- (car (car TBS1)) (car (cadr TBS1)))) (abs(- (cadr (car TBS1)) (cadr (cadr TBS1)))))(setq Hang TSS1 (vl-sort SS1 '(lambda (e1 e2) (< (cadr (assoc 10 (entget e1))) (cadr (assoc 10 (entget e2)))))))(setq Hang nilSS1 (vl-sort SS1 '(lambda (e1 e2) (> (caddr (assoc 10 (entget e1))) (caddr (assoc 10 (entget e2))))))))(if (> (abs(- (car (car TBS2)) (car (cadr TBS2)))) (abs(- (cadr (car TBS2)) (cadr (cadr TBS2)))))(setq SS2 (vl-sort SS2 '(lambda (e1 e2) (< (cadr (assoc 10 (entget e1))) (cadr (assoc 10 (entget e2)))))))(setq SS2 (vl-sort SS2 '(lambda (e1 e2) (> (caddr (assoc 10 (entget e1))) (caddr (assoc 10 (entget e2))))))))(if (> (length SS1) (length SS2)) (setq lap (length SS1) i 0) (setq lap (length SS2) i 0))(setq LstKQ '())(if (setq PT0 (getpoint (strcat "\nchon diem dat " (if Hang "hang" "cot") " ket qua. Enter de ghi va Hang-Cot text khac")))(progn (vl-cmdf "ucs" "w")(repeat lap(setq SSn (nth i SS1))(maketext(if (= hang nil)(setq PTi (list (car PT0) (cadr (DXF 10 SSn))))(setq PTi (list (car (DXF 10 SSn)) (cadr PT0))))(cond ((eq pheptinh "Cong")	(rtos (+ (atof (DXF 1 SSn)) (atof (DXF 1 (nth i SS2)))) 2 2))((eq pheptinh "Tru")	(rtos (- (atof (DXF 1 SSn)) (atof (DXF 1 (nth i SS2)))) 2 2))((eq pheptinh "Nhan")	(rtos (* (atof (DXF 1 SSn)) (atof (DXF 1 (nth i SS2)))) 2 2))((eq pheptinh "CHia")	(rtos (/ (atof (DXF 1 SSn)) (atof (DXF 1 (nth i SS2)))) 2 2)))(DXF 40 SSn) 0 "R"(DXF 7 SSn) (DXF 8 SSn) nil nil)(setq  i (1+ i)))(vl-cmdf "ucs" "p"))(progn(prompt "\nChon Hang hoac Cot text de ghi ket qua")(if (setq SS3 (ssget '((0 . "TEXT"))))(setq TBS3 (ACET-GEOM-SS-EXTENTS-FAST SS3)SS3 (acet-ss-to-list SS3))(EXIT))(if (> (abs(- (car (car TBS3)) (car (cadr TBS3)))) (abs(- (cadr (car TBS3)) (cadr (cadr TBS3)))))(setq SS3 (vl-sort SS3 '(lambda (e1 e2) (< (cadr (assoc 10 (entget e1))) (cadr (assoc 10 (entget e2)))))))(setq SS3 (vl-sort SS3 '(lambda (e1 e2) (> (caddr (assoc 10 (entget e1))) (caddr (assoc 10 (entget e2))))))))(vl-cmdf "undo" "begin")(repeat lap(setq SSn (nth i SS1))(if (setq SSn3 (nth i SS3))(entmod-en 1(cond ((eq pheptinh "Cong")	(rtos (+ (atof (DXF 1 SSn)) (atof (DXF 1 (nth i SS2)))) 2 2))((eq pheptinh "Tru")	(rtos (- (atof (DXF 1 SSn)) (atof (DXF 1 (nth i SS2)))) 2 2))((eq pheptinh "Nhan")	(rtos (* (atof (DXF 1 SSn)) (atof (DXF 1 (nth i SS2)))) 2 2))((eq pheptinh "CHia")	(rtos (/ (atof (DXF 1 SSn)) (atof (DXF 1 (nth i SS2)))) 2 2))) SSn3)(progn(alert (strcat "tap hop text khong du de ghi ket qua. Thieu "(rtos (- lap i) 2 0)" text"))(vl-cmdf "undo" "end")(EXIT)))(setq  i (1+ i)))(vl-cmdf "undo" "end")));if);progn)));if(princ));end

    he hôm nay vẫn còn người sử dụng đó bác à

    thanks bác


  8. e thấy cái lisp của bác Gia _Bach là chạy ngon lưu được định dạng chọn trước và ko hạn chế đối tượng convert

    còn lisp này thì khi nào thực hiện cũng về định dạng ban đầu và chỉ hạn chế được có 5 đối tượng convert thôi


  9. Bạn đã mở file excel đó ở đâu.Lúc này bạn phải vào bản vẽ có chứa bằng excel đó rồi click chuột phải chọn open.(Đó mới là file gốc)

    hôm nay mới tìm ra cách cập nhật bảng exel

    trước là vì mình mở bản cad ra trước rồi sau đó mới mở bảng exel thấy bảng khối lượng exel trong cad ko có gì thay đổi cả

    hôm nay mở bảng exel ra trước rồi mới mở bản cad sau thì tự nhiên thấy bảng exel ở trong file cad đã tự update các khối lượng mới rồi

    (tất nhiên là phải dùng cách copy bảng exel qua cad bằng paste special - paste link nhé)

    Olala

    Vote cho bạn Vothanhcoc lần nữa


  10.  

    Cái này bổ sung thêm phần ghi kết quả vào 1 text có sẵn .

    (defun c:tinh()  (vl-load-com)  (initget 1 "+ - * /")  (setq ptinh (getkword "Chon phep tinh <+ - * />: "))    (cond ((= ptinh "+")  ;;; cong	 (prompt "\nChon text de cong:")	 (setq ss (ssget '((0 . "TEXT")))	       kqua 0)	 (while (and ss (> (sslength ss) 0))	   (setq kqua (+ kqua (atof (cdr (assoc 1 (entget (setq ent (ssname ss 0))))))))	   (ssdel ent ss))	 (princ kqua))		((= ptinh "*")  ;;;nhan	 (prompt "\nChon text de nhan:")	 (setq ss (ssget '((0 . "TEXT")))	       kqua 1)	 (while (and ss (> (sslength ss) 0))	   (setq kqua (* kqua (atof (cdr (assoc 1 (entget (setq ent (ssname ss 0))))))))	   (ssdel ent ss))	 (princ kqua))	((= ptinh "-")  ;;;tru	 (setq sobitru (car (entsel "\nChon so bi tru:"))	       sotru (car (entsel "\nChon so tru:\n"))	       kqua (- (atof (cdr (assoc 1 (entget sobitru))))		     (atof (cdr (assoc 1 (entget sotru))))))	  	 (princ kqua))	((= ptinh "/")  ;;;chia	 (setq sobichia (car (entsel "\nChon so bi chia:"))	       sochia (car (entsel "\nChon so chia:\n"))	       kqua (/ (atof (cdr (assoc 1 (entget sobichia))))		     (atof (cdr (assoc 1 (entget sochia))))))	  	 (princ kqua))	  )    (if (not ssle) (setq ssle 0))  (setq obj (vlax-ename->vla-object (car (entsel "\nChon text de ghi ket qua:")))		ssle1 (getint (strcat "\nSo so le <" (itoa ssle) ">: ")))  (if ssle1 (setq ssle ssle1))  (vla-put-TextString obj (rtos kqua 2 ssle))    (princ)	       )

    cái này chắc đã update lại kết quả sửa lisp rồi chứ mình thấy dùng ổn mà

    thanks


  11. Theo bạn nvhon604 là chèn bảng ở tab Table trong Draw nên mình thấy làm theo và ko thực hiện đc

    Còn bạn nguyenngoc971 thì giống như paste special và chọn paste link, nhưng cách này mình làm thấy sau khi tắt file đi mở lại thì nó ko nhận cập nhật nữa

    Mình muốn hỏi như thế là đúng hay có cách gì để nó cập nhật lại file exel ko

     

  12. Theo hướng dẫn thì mình làm đc rồi, nhưng muốn hỏi bạn chút nữa là khi mình đã tạo file exel rồi và chọn Create from file thì cách chọn các thông số của bảng exel như thế nào.

    Mình chọn file thì nó vẫn hiện ra bảng exel nhưng ko khống chế được sheet và kích thước bảng. Font chữ thì bị lỗi dù mình đã dùng unicode

    Và khi mình Insert wooksheet thì mỗi file exel chỉ được 1 sheet thôi, có thể chèn nhiều sheet trong 1 file exel vào 1 file cad ko

    Thanks


  13. Có 1 cách làm khá hay như sau:

    1. Trong bảng Excell chọn vùng cần chuyển vào Auto CAD và định dạng vùng in (print)

    2. Từ menu Draw trong Auto CAD chọn Table

    Trong bảng Insetr Table chọn From data link / và Click ô bên cạnh (Launch the data link manager dialog khi đó:

    Bảng Select a data link hiện ra, Chọn tiếp dòng : Create a new Excell data link /

    / ghi tên bảng cần chèn trong bảng Enter data link name

    OK

    Từ New Excell Data link chọn nút Browse to file ... / chọn tiếp file Excell cần chọn/

    Trong Select Excell sheet to link to: chọn Sheel có bảng cần chèn

    Đánh dấu Link to a named range và chọn vùng Copi (ở đây chọn Print_arer tức vùng in)

    OK

    Và có bảng EXcell chèn cần copi vào Auto CAD

    Nếu cần chuyển sang đối tượng CAD thì tiếp tục (phá vỡ link) EXPLODE lần 1 được bảng gồm các Line và Mtext, phá vỡ lần 2 được bảng gồm các Line và text (đối tượng bảng cuối cùng không thể biến đổi được nữa).

    Chúc các bạn thành công

    bạn dùng phiên bản cad bao nhiêu vậy

    mình thử ở cad 2007 thì ko có mục của bạn nói còn làm ở cad 2014 thì có mục đó nhưng đến khi chọn file exel thì nó ko xuất ra đc

×