hoquangvinh
-
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
-
-
hôm qua up file lên mà bị lỗi nên hôm nay mình gửi các file mình chạy lên bạn xem qua nhé
https://www.dropbox.com/s/zmbc3a2c9cwskym/Check%20lisp%20XKL.rar?dl=0&s=sl
-
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: xklChon 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 foundSelect objects: ; error: bad argument type: consp nilCommand:Mong bác chủ xem xét lại xem
-
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á
-
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ỉ
-
Chắc do lỗi của diễn đàn khi download
bạn làm theo hướng dẫn ở trên kích vào trả lời rồi copy về save thành lisp
mình cũng làm đúng như thế rồi mà sao dừ khi apload lisp nó lại ko nhận nhỉ
bây giờ thì không chạy được lisp nữa luôn
-
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
-
thanks bạn nhé
-
bạn up lại lisp #1 đi, bị lỗi rồi thì phải
down về chỉ có mỗi dòng tên lệnh thôi
-
mấy bạn ơi cho mình hỏi mình mún đăng bài viết trên forums thì viết ở đâu để đăng vậy? mình mối dk nên hok biết tìm hoài k thấy . tks nhiều ạ
bạn vào đây nhé
có tất cả các thắc mắc cửa bạn
-
he mình cũng biết cơ bản rồi nhưng cụ thể rõ ràng thế này thì chưa có đấy
thanks bạn nhé
-
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

-
1
-
-
Cám ơn chỉ cần nhấn nút thank
phải như bạn meohoang nói mới được
cadviet của mình phải có văn hoá thanks chứ nhỉ
cảm ơn bạn tucdrom vì đã trị đúng bệnh rồi
cũng cảm ơn các bạn đã nêu ý kiến giúp đỡ mặc dù chưa đúng bệnh
-
cảm ơn các bạn
trungnv61 hoa dai nhan THE HIEP nguyenhuyhoang1 đáp án mà có đến 4 lời giải khác nhau
-
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));endhe hôm nay vẫn còn người sử dụng đó bác à
thanks bác
-
chưa áp dụng nhưng thấy rất hay
thanks bạn trumlenmang nhé
bài hay như thế này mà chưa thấy ai thanks cả, buồn quá nhỉ
cadviet thì tốt rồi và rất nhiều người nhiệt huyết như bạn nhưng cũng rất nhiều người chưa có "văn hóa thanks"
-
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
-
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
-
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
-
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)
He mình hiểu rồi nếu như vậy thì chắc chắn đc vì mình cũng đã có làm rồi
Mình lười nên nghĩ nó cập nhật đc ở file exel ban đầu của mình luôn
Thanks bạn
-
Hic chắc là đúng thế rồi: khi tắt file đi rồi mở lại thì làm sao cập nhật lại file exel đc nữa
Không thấy ai phản đối cả.
-
Cái này mình thấy hay à, quản lý đơn giản bằng group rất tiện.
Nhưng các bạn phát triển thêm muôn vẽ nhiều đường hoặc nhiều đối tượng hơn line thì ứng dụng của nó rất là tốt đấy. VD này thì cứ là 1 group 4 đường line thôi
-
1
-
-
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
-
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
-
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
[Nhờ hoàn thiện lisp] Xuẩt khối lượng trắc ngang qua excel
trong AutoLisp
Đã đăng · Trả lời báo cáo
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