Chuyển đến nội dung
Diễn đàn CADViet
Học AutoCAD Online cùng CADViet

Bảng xếp hạng


Nội dung phổ biến

Hiển thị nội dung có danh tiếng cao nhất vì 25/03/2018 trong tất cả các lĩnh vực

  1. 4 điểm
    Trong quá trình vẽ chúng ta thường có 2 thắc mắc : - Làm sao đỡ ấn nhầm F1 khi nhấn Esc, hoặc nhấn nhầm cũng không sao ? - Làm sao thao tác chế độ bắt điểm Mid Between Two Point nhanh nhất ? Chúng ta sẽ kết hợp giải quyết 2 câu hỏi này trong 1 thao tác Link video : Video hướng dẫn [video] File để menuload nếu các bạn lười thao tác : File CUi, Cuix
  2. 3 điểm
    Mình tham gia 1 cái, chỉ cần gọi lệnh (KTT) lên và lăn chuột là tra, OK là xuất ra TEXT. (bao gồm VN2000 và HN72) https://drive.google.com/file/d/1F-pxzcygtuyM2q2nq_G9nDL662e8Wzub/view?usp=sharing HH:
  3. 2 điểm
    Bạn cập nhật dữ liệu vào nhé. Cái này mình cũng áp dụng cho việc tra cứu các lệnh lisp (nhiều quá không nhớ hết các lệnh) KTT.lsp
  4. 2 điểm
    Chắc là muốn như vầy: (defun c:lc (/ LM:ListBox str lstData ST:SendKeys) (defun c:Xformat nil (alert "B\U+1EA1n có ch\U+1EAFc là XÓA S\U+1EA0CH \U+1ED5 c\U+1EE9ng không?") (princ)) (setq lstData (acad_strlsort (list ;Viet tiep cac lenh vao duoi dong nay theo mau "Ten lenh Noi dung" "Erase \tXoa doi tuong" "Copy \tSao chep doi tuong" "Mirror \tLay doi xung" "CO \tCopy th\U+00F4ng minh" "XFormat \tXóa s\U+1EA1ch \U+1ED5 c\U+1EE9ng, d\U+1EADp tan màn h\U+00ECnh..."))) (defun ST:SendKeys (keys / ws) (vlax-invoke-method (setq ws (vlax-create-object "WScript.Shell")) 'sendkeys keys) (vlax-release-object ws) (princ)) (defun LM:ListBox (title data multiple / file tmp dch return) (cond ((not (and (setq file (open (setq tmp (vl-filename-mktemp nil nil ".dcl")) "w")) (write-line (strcat "listbox : dialog { label = \"" title "\"; spacer; : list_box { key = \"list\"; multiple_select = " (if multiple "true" "false") "; width = 100; height= 30; tabs = \"10 20 30\"; } spacer; ok_cancel;}") file) (not (close file)) (< 0 (setq dch (load_dialog tmp))) (new_dialog "listbox" dch)))) (t (start_list "list") (mapcar 'add_list data) (end_list) (setq return (set_tile "list" "0")) (action_tile "list" "(setq return $value)") (setq return (if (= 1 (start_dialog)) (mapcar '(lambda (x) (nth x data)) (read (strcat "(" return ")"))))))) (if (< 0 dch) (unload_dialog dch)) (if (setq tmp (findfile tmp)) (vl-file-delete tmp)) return) (cond ((setq str (LM:ListBox "Ghi ch\U+00FA l\U+1EC7nh - lisp CAD - @ketxu - 2/6/2012 :" lstData nil)) (setq str (car str)) (ST:SendKeys (strcat (substr str 1 (vl-string-position 32 str)) "\n")))) (princ))
  5. 2 điểm
  6. 2 điểm
    Bạn xem, có thể vấn đề nằm ở đây:
  7. 1 điểm
    Thử xem nhé! (defun c:dtt (/ ans ins lst blkName tagName ent ss str) ;Block Order ;; By : Gia_Bach, www.CadViet.com ;; (vl-load-com) (while (not (and (setq ent (car (nentsel "\nChon thuoc tinh can danh so: "))) (if ent (eq (cdr (assoc 0 (entget ent))) "ATTRIB")))) (princ "\n Ban chon nham roi! ")) (setq blkName (cdr (assoc 2 (entget (cdr (assoc 330 (entget ent)))))) tagName (cdr (assoc 2 (entget ent)))) (or gtmtxt (setq gtmtxt "1")) ;;; (initget 6) (setq ans (getstring (strcat "\nNhap so bat dau <" gtmtxt "> :"))) (if (/= ans "") (setq gtmtxt ans)) (setq str (strcase gtmtxt)) ;;; Nhap so gia (or (and #sogia# (eq (type #sogia#) 'INT)) (setq #sogia# 1)) (setq #sogia# (cond ((getint (strcat "\nNhap so gia <" (itoa #sogia#) ">: "))) (#sogia#))) (princ "\nChon Khung ten can danh so thu tu :") (if (setq ss (ssget (list (cons 0 "INSERT") (cons 66 1) (cons 2 blkName)))) (progn (vlax-for e (vla-get-ActiveSelectionSet (vla-get-ActiveDocument (vlax-get-Acad-Object))) (setq ins (vlax-safearray->list (variant-value (vla-get-InsertionPoint e))) lst (cons (list e ins) lst))) (setq lst (vl-sort lst '(lambda (x y) (or (< (car (cadr x)) (car (cadr y))) (and (> (cadr (cadr x)) (cadr (cadr y))) (= (car (cadr x)) (car (cadr y)))))))) (foreach e (append (mapcar 'car lst)) (foreach Att (vlax-invoke e 'GetAttributes) (if (= (vla-get-TagString att) tagName) (vla-put-TextString att str))) (setq gtmtxt (tang1 gtmtxt)) (setq str gtmtxt)))) (princ)) (defun tang1 (te / chuoite1 sosaucung) (setq chuoite1 (vl-string-right-trim "- 0 1 2 3 4 5 6 7 8 9" te) sosaucung (vl-string-subst "" chuoite1 te)) (if (/= chuoite1 "") (setq te (strcase (incC1 te))) (setq te (itoa (+ (atoi te) #sogia#))))) (defun incC1 (c / i c1 c2) ;;;Increase character c (if (= sosaucung "") (setq i (strlen c) c1 (substr c 1 (- i 1)) c2 (chr (+ (ascii (substr c i 1)) #sogia#))) (setq c1 chuoite1 c2 (itoa (+ (atoi sosaucung) #sogia#)))) (if (or (= c2 "{") (= c2 "[")) (progn (entdel (entlast)) (alert "Over character!") (exit)) (strcat c1 c2)))
  8. 1 điểm
    ý bác ấy là tăng dần hay giảm dần. mình cho thêm 1 biến bước nhảy vào là ok nhất. bước nhảy -1, +1, +2 -2 j đều được...
  9. 1 điểm
    Bỏ dấu trừ đằng trước: => (vl-string-right-trim "- 0 1 2 3 4 5 6 7 8 9" te) NHập 2 cái cho linh động là sao???
  10. 1 điểm
    Trong lisp có chỗ nào: + 1 hoặc 1+ Bạn đổi thành 1- Là được (nhớ là đổi tất cả, có 2 loại đó).
  11. 1 điểm
    Nhiều người sử dụng AutoCAD phiên bản mới trên các máy có cấu hình không cao. Hệ quả là máy sẽ giật và chậm. Trong bài viết ACAD đời mới chạy trên máy đời cũ Đã hướng dẫn cách làm nhẹ phần mềm AutoCAD, tuy nhiên, mỗi lần làm lại phải rà soát nhiều tên biến. Lisp dưới đây với mục đích làm nhẹ AutoCAD bằng cách thay đổi các biến hệ thống, và thực hiện các lệnh để giảm bớt một số tính năng về hiển thị và quản lý trong AutoCAD nhưng về cơ bản không hạn chế các tính năng liên quan đến công việc của AutoCAD. Các bạn lưu ý: chỉ cần appload file lisp 1 lần duy nhất (không cho vào mục khởi động Startup Suite) và không cần gọi lệnh. Download bằng cách phải chuột vào link này và chọn Save Link As... (hoặc Save Target As...) spa.LSP ___________________________________________________ Hỏi đáp thường gặp Hỏi: Lisp này có rút ngắn thời gian khởi động không? Trả lời: Lisp không rút ngắn thời gian khởi động, Lisp chỉ làm nhẹ thao tác vẽ của cad. Hỏi: Lisp này hữu ích cho những AutoCAD phiên bản nào Trả lời: Lisp chỉ có tác dụng với cad đời từ 2009 trở lên, ACAD 2008 trở xuống không có tác dụng. Hỏi: Tôi phải load lisp này mỗi khi AutoCAD chạy hay chỉ cần chạy 1 lần duy nhất? Trả lời: Bạn chỉ cần chạy 1 lần duy nhất vì lisp này tinh chỉnh cấu hình hệ thống, và lưu lại luôn. ___________________________________________________ Lịch sử các cập nhật: 2015-02-23: - Phiên bản đầu 2015-02-27: - Fix lỗi vlax-user-productkey - Tự động chạy luôn mà không cần phải gọi SPA 2015-03-02: - Fix lỗi chưa có biến hệ thống trên các phiên bản ACAD đời cũ 2015-03-23: - Gỡ LWDISPLAY, PALETTEOPAQUE ra khỏi danh sách biến hệ thống 2015-08-27: - Thêm COMMANDPREVIEW vào danh sách biến hệ thống - Thêm (vl-load-com) vào code 2015-09-22: - Sửa lại viewres về 200 2015-09-28: - Thêm SELECTIONPREVIEW vào danh sách biến hệ thống 2015-10-08: - Fix lỗi no function definition: VLAX-PRODUCTKEY 2015-10-20: - Fix lỗi no function definition: VLAX-PRODUCTKEY lần 2 - Bẫy lỗi setvar ___________________________________________________
  12. 1 điểm
    Bạn chỉ cần cho cái bước nhảy =-1 là nó giảm, không rõ bạn làm kiểu gì mà không được.
  13. 1 điểm
    Có phải thế này không??? (defun c:tt (/ cd ed h0 pt pt0 x0 y y0 tmp v k) (or (and #tyle# (member (type #tyle#) '(REAL INT))) (setq #tyle# 1)) (setq tmp t) (if (and (while (and tmp (not (initget "S")) (setq pt0 (getpoint (strcat "\n[Setting]. Ty le: <" (rtos #tyle# 2 2) ">. Diem tim TN tu nhien!")))) (cond ((eq pt0 "S") (setq #tyle# (cond ((getreal (strcat "\nTy le <" (rtos #tyle# 2 2) ">: "))) (#tyle#))) (setq pt0 nil)) ((listp pt0) (setq tmp nil) t) (t (setq tmp nil)))) (setq ed (car (entsel "\nChon Text cao do tim: "))) (wcmatch (cdr (assoc 0 (entget ed))) "TEXT,MTEXT") (if (wcmatch (setq cd (cdr (assoc 1 (entget ed)))) "%%p*") (setq h0 (distof (substr cd 4))) (setq h0 (distof (cdr (assoc 1 (entget ed)))))) (setq x0 (car pt0) y0 (cadr pt0))) (while (and (setq pt (getpoint "\nChon diem chuan : ")) (setq ed (car (entsel "\nChon text de chinh sua: "))) (wcmatch (cdr (assoc 0 (setq ed (entget ed)))) "TEXT,MTEXT")) (setq y (+ (* (- (cadr pt) y0) #tyle#) h0) k (rtos y 2 2) v (cond ((> y 0) (strcat "+" k)) ((< y 0) k) (t "%%p0.00"))) (entmod (append (subst (cons 1 v) (assoc 1 ed) ed) '((62 . 1)))))) (princ))
  14. 1 điểm
    *** Chỉ cần thế này thôi (thằng gốc có 62 hay không, không quan trọng): (entmod (append (entget ent) '((62 . 1)))) *** Mình sửa lại Lisp trên (Công thêm yêu cầu của Chien_LV): (defun c:tt (/ cd ed h0 pt pt0 x0 y y0 tmp v) (or #tyle# (setq #tyle# 1)) (setq tmp t) (if (and (while (and tmp (not (initget "S")) (setq pt0 (getpoint (strcat "\n[Setting]. Ty le: <" (rtos #tyle# 2 2) ">. Diem tim TN tu nhien!")))) (cond ((eq pt0 "S") (setq #tyle# (cond ((getreal (strcat "\nTy le <" (rtos #tyle# 2 2) ">: "))) (#tyle#))) (setq pt0 nil)) ((listp pt0) (setq tmp nil) t) (t (setq tmp nil)))) (setq ed (car (entsel "\nChon Text cao do tim: "))) (wcmatch (cdr (assoc 0 (entget ed))) "TEXT,MTEXT") (if (wcmatch (setq cd (cdr (assoc 1 (entget ed)))) "%%p*") (setq h0 (distof (substr cd 4))) (setq h0 (distof (cdr (assoc 1 (entget ed)))))) (setq x0 (car pt0) y0 (cadr pt0))) (while (and (setq pt (getpoint "\nChon diem chuan : ")) (setq ed (car (entsel "\nChon text de chinh sua: "))) (wcmatch (cdr (assoc 0 (setq ed (entget ed)))) "TEXT,MTEXT")) (setq y (- (cadr pt) y0 (- h0)) v (cond ((> y 0) (strcat "+" (rtos (* y #tyle#) 2 2))) ((< y 0) (rtos (* y #tyle#) 2 2)) (t "%%p0.00"))) (entmod (append (subst (cons 1 v) (assoc 1 ed) ed) '((62 . 1)))))) (princ))
  15. 1 điểm
    + Vào OPTION ---> Thẻ "Display" ---> Mục " Layout Element" ---> Chọn ô " Display printable are" + Tác dụng: Nếu tinh ý bạn sẽ thấy xuất hiện 1 hình chữ nhật, nét đứt , tại rìa vị trí khung viền ngoài bạn vừa in hoặc ấn Apply. Nhận ra điều này thì in ấn sẽ không nhầm lẫn nữa :))))
  16. 1 điểm
    + Không hiểu câu "Sử dụng cả hai mỗi lần in không cần chọn lại máy in" là như thế nào. Tuy nhiên việc đổi dòng lệnh là không thể. Do file lisp là file .VLX đã bị mã hóa do người lập, chỉ người nào viết mới có code ! ---> Cam chịu thôi !
  17. 1 điểm
    Em tham khảo bài a đã post ở đây. Google dịch 1 tí nhé :) https://www.facebook.com/groups/iCAD.Autocad/1943574255953848/
  18. 1 điểm
    đù đi ngang qua vô tình thấy trả lời , vãi thật. Thiện tai thiện tai !!!!
  19. 1 điểm
    Dùng cái này xem sao (lệnh SNB) - Có thể thêm, bớt, chỉnh sửa dữ liệu trực tiếp trên Dialog. Chức năng tìm kiếm có thể dùng tiếng việt có dấu. - Re-back (khôi phục dữ liệu trước lần sửa cuối cùng - Gần giống khôi phục từ file .bak của .dwg) - Ngoài việc ghi chú tên lệnh, có thể ghi chú lịch làm việc, nhật ký....vv... https://drive.google.com/file/d/1j13Pvt2HDr51JrSycjqG5S4a-V7m2nou/view?usp=sharing
  20. 1 điểm
    Cái việc ghi diện tích đó bạn đang làm bằng tay hay lisp? có thể add skype để trao đổi thêm được không. skype: dinhvantrang73 zalo: 0986.370.918
  21. 1 điểm
  22. 1 điểm
  23. 1 điểm
    + Nhập tên địa danh nhé, không dấu nhé : (defun c:KT () (setq danhsach (list '(0 "Ha Noi" 105.00) '(1 "Ho Chi Minh" 105.45) '(2 "Lai Chau" 103.30) '(3 "Dien Bien" 103.30) ) i 0) (setq n (length danhsach)) (setq name (getstring T "Nhap ten dia danh: ")) (while (and (< i n) (/= (strcase name) (strcase (cadr (nth i danhsach))))) (setq i (+ i 1))) (if (< i n) (alert (strcat "Kinh tuyen: " (Rtos (caddr (nth i danhsach)) 2 2))) (alert "Co gi do sai roi! - Kiem tra lai di !")) (princ) )
  24. 1 điểm
    Tại sao bạn không lập 1 bảng Word hoặc Excel, khi đó chỉ cần find là ra đáp số, mà phải dùng Lisp? Làm Lisp này thì quá dễ nhưng lý do là gì?
  25. 1 điểm
  26. 1 điểm
    + Những thứ chỉ có thể phân biệt bằng mắt- hoặc cảm quan và chẳng có quy luật gì......-----> Làm auto---"Tay" bạn nhé.
  27. 1 điểm
    Người viết bài ko chừng cỏ đã xanh 5 thuớc rồi. Bạn đào lên làm chi @@
  28. 1 điểm
    Ename đối tượng con: (setq sub_ename (car (nentsel))) Ename đối tượng block: (setq main_ename (cdr (assoc 330 (entget sub_ename))))
  29. 1 điểm
    Không có cách nào là sao vậy bác ^^. Bác Duy chọn mớ dim cần chỉnh, bật Ctrl+1 (Property) lên, chỉnh trong mục Dim Style là về hết mà :)))) Tất nhiên là sau đó nên delete Sub-Dim như bác #Ha nói trên để ko vướng lỗi nữa. + Em cũng tìm hiểu về món Override trong Dimstyle. Cũng ko rõ tại sao mình tạo 1 số dim rồi chỉnh nó lại tạo Sub-Dim, mà ko phải là thay đổi luôn cho toàn bộ dim hiện hành ! Phải chăng có gì đó mà khi thay đổi dim mà nó ko thể cập nhật cho tất cả dim hiện hành nên mới tạo ra Sub-Dim?
  30. 1 điểm
    Vấn đề là sau khi tạo Dimstyle TL1-100, user đã Dim rồi chỉnh một/vài thông số của Dim khác với Dim Style đã đặt nên mới sinh ra Sub_Dim. Muốn xóa thì delete tất cả các đối tượng Sub_Dim, sau đó xóa Sub_Dim vô tư (VD ở đây là Linear) .
  31. 1 điểm
    Các Dimension style có hậu tố $x là Sub-Dimension style, bức ảnh trên là thể hiện rõ nhất
  32. 1 điểm
    Mình k biết nguyên nhân nhưng vẫn đổi màu được. bản vẽ của bạn mở ra mình vẫn thấy nó thuôc Dimstyle TL-100, tuy nhiên trong cái style này lại có 1 dimstyle con nhỏ hơn (Linear), bạn Click vào cái dim Linear này rồi mới sửa màu trong Modify được. Mình sửa bình thường.
  33. 1 điểm
    Chỉnh trong property ( Ctrl+1). Tức là thế này, mỗi text có 1 cái tâm nhất định, khi thay đổi trong Ctrl+1 thì text bị dịch chuyển, tuy nhiên thì cái "tâm" lại ko hề thay đổi. Ko chết đâu mà sợ. + Còn nếu muốn đổi định dạng mà text ko bị dịch chuyển thì xài Express tool. Tuy nhiên cái "tâm" của text đã bị thay đổi. --->Hãy nắm rõ luật chơi trước khi làm!
  34. 1 điểm
    Tôi đã trao đổi qua facebook rồi. Chờ anh ấy đi nhé!
  35. 1 điểm
    Chào Bạn. Đúng là vấn đề này không dễ... Bạn tìm cách giải quyết v/đ của Bạn từ Civil là tốt nhất. Còn nếu không Bạn cho mình biết bạn cần diện tích bề mặt tự nhiên nào trong đống điểm đó? Diện tích hình bao ngoài cùng của các điểm đó? Diện tích trên hình chiếu bằng hay diện tích nghiêng. Nếu Bạn ko tìm được cách từ Civil thì đưa file lên và giải thích rõ, mình tìm cách giúp cho nhé!
  36. 1 điểm
    + Tuần tự các bước có thể làm như sau: B1: Tạo point có cao độ Z dựa trên các text: https://www.cadviet.com/forum/topic/7942-chèn-points-vào-vị-trí-text/ B2: Tạo lưới tam giác dựa trên các point vừa tạo: https://www.cadviet.com/forum/topic/69829-yêu-cầu-nội-suy-điểmcao-độ-trên-tập-hợp-điểm/ B3. xóa đi các tam giác thừa . Tính diện tích thông qua lệnh DTF: https://www.cadviet.com/forum/topic/2158-cách-tính-diện-tích-hình-3d/ Insert point to text.lsp Luoi tam giac - Tin.lsp dtf.lsp
  37. 1 điểm
    Mình gửi lại, copy paste và load chạy lệnh xem được chưa nhé.! ^_^ (defun c:test (/ vl-pline-centroid n pt ss ent) (load "extrim.lsp") (defun vl-pline-centroid (pl / acdoc space obj reg cen) (vl-load-com) (setq acdoc (vla-get-activedocument (vlax-get-acad-object)) space (if (= (getvar "CVPORT") 1) (vla-get-paperspace acdoc) (vla-get-modelspace acdoc) ) ) (or (= (type pl) 'vla-object) (setq obj (vlax-ename->vla-object pl)) ) (setq reg (vlax-invoke space 'addregion (list obj)) cen (vlax-get (car reg) 'centroid) ) (vla-delete (car reg)) (trans cen 1 (vlax-get obj 'normal)) ) (if (setq ss (ssget)) (progn (setq n 0) (repeat (sslength ss) (setq pt (vl-pline-centroid (ssname ss n))) (setq ent (entmake (list '(0 . "POINT") (cons 10 pt)) ) ) (command "_.Zoom" "obj" (ssname ss n) "") (etrim (ssname ss n) pt) (setq n (1+ n)) ) ;repeat ) ;progn ) ;if (command "zoom" "all") )
  38. 1 điểm
    Như tiêu đề thì có ai hiểu? Hình vẽ không ! Quy luật không ! Cách tính không! ---> Vài điểm trừ. Mời bạn đọc lại bài này: https://www.cadviet.com/forum/topic/5888-viết-yêu-cầu-request-và-trả-lời-response-như-thế-nào/
  39. 1 điểm
    Rất tuyệt với những ai thích mò mẫm những điều thú vị trong cad :P :)
  40. 1 điểm
    Etransmit cái sheet set chứ ko phải etransmit file
  41. 1 điểm
    Hình như từ CAD 2015 là bấm array là không hiện bảng Bạn muốn hiện bảng thì bấm arrayclassic.
  42. 1 điểm
    + Sử dụng lệnh : XREF + Mô tả ngắn gọn thế này: Tôi có 1 file A bản vẽ mặt bằng 1 khu đất, 1 file B vẽ 1 cây cầu. Tôi muốn lồng file A vào file B thì dùng lệnh trên :))) + Chi tiết cách dùng thì sử dụng công cụ tìm kiếm trên diễn đàn.
  43. 1 điểm
  44. 1 điểm
    Sorry, thử lại nhé (đã fix lỗi "giấu mất folder name" ). RemoveJapanese.zip
  45. 1 điểm
    Thử cái này nhé (y/cầu NetFramework 3.5). - hiển thị các file có kí tự tàu, nhật, hàn (ảrập ...) trong folder đã chọn. - click Remove : copy các file có kí tự lạ ở bước trên và đổi thành tên mới (sau khi đã remove các kí tự lạ đó, file gốc giữ nguyên) RemoveJapanese.zip
  46. 1 điểm
  47. 1 điểm
    Gửi mr Bee kiểm tra thử nhé.Mình viết bằng vbscripting Cách chạy: Giải nén và bỏ file giải nén đó vào trong Folder chứa các file cần Rename >>Run. MrBee.rar
  48. 1 điểm
    Mình có bản vẽ kiến trúc nhà biệt thự khá đẹp.Bạn nào cần tham khảo cho học tập hoặc công việc thì có thể download về Link download :http://convertsocial.com/embeds/like-download/like-download.php?fburl=https%3A%2F%2Fwww.facebook.com%2Fpages%2FK%E1%BB%B9-s%C6%B0-Th%C3%ADch-Thi-C%C3%B4ng%2F568415136553819%3Fref%3Dhl&rurl=http%3A%2F%2Fwww.mediafire.com%2Fdownload%2Fk2p5c0cvpyp1lia%2FM12.DWG&width=600&height=189&header=1&color=2 Lưu ý : Link download có yêu cầu like vì lý do bản quyền, các bạn like một lần đảm bảo download được.Chúc các bạn thành công!
  49. 1 điểm
    Bạn dùng cái này xem đúng ý chưa NumIncV3-9.lsp
  50. -1 điểm
    Mirror là bị hỏng ngay, thử hết các cách rồi, mà ko đc
Bảng thành tích này được đặt thành Tp. Hồ Chí Minh /GMT +07:00
×