Chuyển đến nội dung
Diễn đàn 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ì 24/06/2021 trong Bài đăng

  1. 3 điểm
    Cái này dùng để tạo ảnh cho button, Nhưng cũng có thể chụp màn hình post lên diễn đàn cho tiện. CopyScreen.rar
  2. 2 điểm
    Để khỏi phát sinh việc mất bắt điểm khi dừng lisp giữa chừng nên dùng entmake để tạo đối tượng cad.
  3. 2 điểm
  4. 2 điểm
  5. 1 điểm
    Hôm nay lễ chia sẽ cùng các Bạn lisp in bản vẽ mình đang sử dụng, lips này là bản nâng cấp và có giao diện đơn giản hơn so với lisp trước đây: * Công dụng: in nhiều bản vẽ trong Layout hoặc Model của file dwg với nhiều lựa chọn * Tên lệnh : MPL * Hướng dẫn: - Phần plotter, paper, plotstyle các Bạn chọn cho phù hợp với nhu cầu - Nút lệnh kế bên plotstyle là để sửa nét in ctb hiện hữu. - Phần "Sample", nhấn nút hình cái phểu để chọn mẫu làm điều kiện lọc. Mẫu là tên của các block HOẶC tên layer của các polyline, khi chọn xong thì chữ "sample" sẽ đổi thành block hoặc layer, nếu vẫn còn chữ sample là khi bạn chọn có cả block và polyline hoặc không chọn gì cả. - L => R, T => B: là chế độ sắp xếp thứ tự các bản vẽ được in ra, chế độ "select order" là cái nào chọn trước thì được in trước. Điểm cơ sở để sắp xếp là góc dưới bên trái của hình chữ nhật bao block hoặc polyline - Sau khi đã chọn mẫu hợp lệ thì nhấn nút "Select" để chọn các bản vẽ cần in hoặc plotpreview - Khi đã chọn được các bản vẽ cần in thì tổng số bản vẽ sẽ được in hiện trong danh sách kế bên nút hình kính lúp - Khi nhấn nút hình kính lúp thì sẽ chuyển qua chế độ plotpreview của bản vẽ đang hiện trong danh sách, nếu thay đổi số thứ tự trrong danh sách thì sẽ plotpreview bản vẽ theo số thứ tự được chọn - nút "Plot <ALL>" để in các khung in đã chọn. Nếu không có các khung in chọn bởi nút "Select" thì sẽ in tất cả các khung in trong model/layout hiện hữu thỏa mãn điều kiện lọc là block hoặc layer Nút "CADVIET" là để đi đến bài viết này trên CadViet.com Phần Options thì các Bạn tự khám phá nhé @ Lisp này mình viết cho công việc của mình nên các phần in ra file ảnh, PLT, DWF mình không làm. Riêng file PDF thì dùng phần mềm pdfFactory Pro để cài máy in ảo, khi in file pdf thì chọn máy in này, sau khi save thì tất các các bản vẽ sẽ nằm trong 1 file rất dễ quản lý Cập nhật 22/6/2020: Sửa lỗi ghi các file thành dạng *.plt khi chọn thư mục khác với thư mục bản vẽ đang in MPL1_10-22Jun2020.rar Cập nhật 1/1/2020: Chọn thư mục khi in file, đưa trở lại lệnh "PLC" để in liên tục theo cấu hình in trước đó mà không cần mở giao diện - khi chọn chức năng "Plot to file" sẽ xuất hiện giao diện chọn thư mục để lưu file, nếu chọn nút nút Cancel thì mặc định sẽ lưu tại thư mục bản vẽ đang in - lệnh "PLC" sẽ in theo cấu hình của lần in trước trên model hoặc layout( máy in, giấy, nét in, block/layer, ...). Khi được yêu cầu chọn đối tượng để in, nếu enter thì sẽ chọn tất cả các đối tượng block/layer trên model hoặc layout hiện hành thỏa mãn điều lọc để in MPL-1Jan2020.rar Cập nhật 4/7/2019: sửa lổi in nhiều file khi chọn in ảnh, DWF, PDF của các máy in *.pc3 MPL-4Jul2019.rar Cập nhật 3/7/2019 MPL-3Jul2019.rar - Đưa trở lại tính năng in ảnh, DWF, PDF của các máy in *.pc3 - Đưa trở lại tính năng collated khi in nhiều bộ bản vẽ (in 1,1/2,2/3,3 hoặc 1,2,3/1,2,3) - Hỗ trợ Auto scale theo scale list của acad ở hệ metric (tên scale có dạng 1:100, 2:1, ...) với biên độ 5%. VD: nếu fit to page có tỉ lệ 1/95 đến 1/105 thì auto scale về tỉ lệ 1/100 đã có trong scale list của acad, nếu không có trong scale list thì sẽ tự động fit to page - Sửa lỗi để lisp chạy nhanh và ổn định hơn MPL.rar Nếu giải nén bị lỗi thì tìm Winrar bản mới nhất để giải nén nhé Các bản cũ: http://www.cadviet.com/upfiles/3/3202_mplmultiplot_1.rar @30/5/2014: Cập nhật: http://www.cadviet.com/upfiles/3/3202_mplmultiplot_3.rar @11/11/2014: Cập nhật http://www.cadviet.com/upfiles/4/3202_mplmultiplot.rar MPL.rar
  6. 1 điểm
    ✅ Nhận Code GamVip G88 Vin Miễn Phí Chiến Thắng G88,R88,M88,W88,V88 Vin. Đại Gia Game Bài 88Vin Gift Code GOLD & Vip Code 88Vin 365Win Cập nhật theo ngày. Các Bạn Có Thể Truy Cập https://88code.weebly.com/ Để Biết Thêm Chi Tiết Về Gift Code 88Vin & Vip Code 365Win. Hướng Dẫn Chơi Và Chiến Thắng 88 Vin 365 Win ✅ Click Đăng Nhập Tại Đây ✅ Chiến Thắng Tài Xỉu 88Vin 365Win ✅ Nhận Ưu Đãi Vòng Quay Vip 88Vin 365Win ✅ Nhận Ưu Đãi Vòng Quay Vip 88Vin 365Win ĐĂNG NHẬP HẰNG NGÀY NHẬN GIFTCODE G365 Win,R365 Win,M365 Win,W365 Win ✅ Đăng Nhập Nhận Code ✅ Cách Quay Nổ Hũ 88Vin 365 Win ✅ Hỗ Trợ OTP APP VinChat Telesafe 88Vin 365Win ✅ Hỗ Trợ DownLoad Game Đa Nền Tảng ✅ [MEDIA=youtube]fCfBy2RuUAE[/MEDIA] Chúc Các Bạn May Mắn
  7. 1 điểm
    ;; Vẽ hình chữ nhật có chiều dày 20 (defun c:foo (/ p1 p2 p3 p4 p5 p6 p7 p8 os) (setq p1 (getpoint "\nChon point thu nhat") p3 (getpoint "\nChon point thu ba") p2 (list (car p3) (cadr p1)) p4 (list (car p1) (cadr p3)) ; p5 (list (car p1) (cadr p1) 20) p6 (list (car p2) (cadr p2) 20) p7 (list (car p3) (cadr p3) 20) p8 (list (car p4) (cadr p4) 20) ) ; (setq os (getvar "osmode")) (setvar "osmode" 0) (command vpoint "" 1,-1,1 "") (command ".3dface" p1 p2 p3 p4 "" ".3dface" p5 p6 p7 p8 "" ".3dface" p1 p4 p8 p5 "" ".3dface" p2 p3 p7 p6 "" ".3dface" p3 p4 p8 p7 "" ".3dface" p1 p2 p6 p5 "" ) (setvar "osmode" os) (command "zoom" "all") )
  8. 1 điểm
  9. 1 điểm
    Bạn thay dòng (ở đầu lisp MIDLEN): (setq fmt "%lu6") thành: (setq fmt "%lu2%pr0%ps[L = ,0]%ct8[0.1]") Rồi test thử xem sao.
  10. 1 điểm
    Cũng quên mất. Không update kiến thức về Cad.
  11. 1 điểm
    Dựa theo lisp MIDLEN.lsp của LEEMAC, Thiep ra lisp LENGFIELD.lsp phù hợp với ý của bạn Nhớ là cách chọn đối tượng là kiểu Fence nhe bạn, mục đích của mình là đối tượng polyline nào "dính" hàng rào trước thì lisp sẽ tạo ra 1 text gắn field trước, như vậy sẽ pick điểm chèn text cho phù hợp theo trật tự. ;;-------------------=={ Length *POLYLINE _ field }==-------------------;; ;; ;; ;; This program prompts the user for a selection of objects to be ;; ;; labelled and proceeds to generate an MText object located at ;; ;; the midpoint of each object displaying a Field Expression ;; ;; referencing the length of the object. ;; ;; ;; ;; The program is compatible for use with *Polylines, and under ;; ;; all UCS & View settings. ;; ;; The MText will have a background mask ;; ;; enabled and will use the active Text Style and Text Height settings ;; ;; at the time of running the program. ;; ;;----------------------------------------------------------------------;; ;; Author: Trân Thiêp base lisp midlen.lsp by Lee Mac, Copyright © 2013 - www.lee-mac.com ;; ;;----------------------------------------------------------------------;; ;; - Modified LM:objectid function to account for 64-bit AutoCAD 2008. ;; ;;----------------------------------------------------------------------;; (defun c:lengfield (/ *error* ent fmt idx ins ocs par sel spc txt typ uxa) (setvar "textsize" (getvar "DIMTXT")) (defun *error* (msg) (LM:endundo (LM:acdoc)) (if (not (wcmatch (strcase msg t) "*break,*cancel*,*exit*")) (princ (strcat "\nError: " msg)) ) (princ) ) (if (setq sel (ssget "F" (acet-ui-fence-select) (list '(0 . "*POLYLINE") '(-4 . "<NOT") '(-4 . "<AND") '(0 . "POLYLINE") '(-4 . "&") '(70 . 80) '(-4 . "AND>") '(-4 . "NOT>") (if (= 1 (getvar 'cvport)) (cons 410 (getvar 'ctab)) '(410 . "Model") ) ) ) ) (progn (setq spc (vlax-get-property (LM:acdoc) (if (= 1 (getvar 'cvport)) 'paperspace 'modelspace ) ) ) (setq ocs (trans '(0.0 0.0 1.0) 1 0 t) uxa (angle '(0.0 0.0) (trans (getvar 'ucsxdir) 0 ocs t)) ) (LM:startundo (LM:acdoc)) (repeat (setq idx (sslength sel)) (setq ent (ssname sel (setq idx (1- idx))) par (vlax-curve-getparamatdist ent (/ (vlax-curve-getdistatparam ent (vlax-curve-getendparam ent)) 2.0) ) ins (vlax-curve-getpointatparam ent par) typ (cdr (assoc 0 (entget ent))) ) (setq txt (vlax-invoke spc 'addmtext ins 0.0 (strcat "L=" "%<\\AcObjProp Object(%<\\_ObjId " (LM:objectid (vlax-ename->vla-object ent)) ">%).Length \\f \"%lu2%pr0%ps[,0]%ct8[0.1]\">%" ) ) ) (vla-put-backgroundfill txt :vlax-true) (vla-put-attachmentpoint txt acattachmentpointmiddlecenter) (vla-put-insertionpoint txt (vlax-3D-point (getpoint "\pick a point for inserttext_field")) ) ) (LM:endundo (LM:acdoc)) ) ) (princ) ) ;; Readable - Lee Mac ;; Returns an angle corrected for text readability. (defun LM:readable ( a ) ( (lambda ( a ) (if (and (< (* pi 0.5) a) (<= a (* pi 1.5))) (LM:readable (+ a pi)) a ) ) (rem (+ a pi pi) (+ pi pi)) ) ) ;; ObjectID - Lee Mac ;; Returns a string containing the ObjectID of a supplied VLA-Object ;; Compatible with 32-bit & 64-bit systems (defun LM:objectid ( obj ) (eval (list 'defun 'LM:objectid '( obj ) (if (wcmatch (getenv "PROCESSOR_ARCHITECTURE") "*64*") (if (vlax-method-applicable-p (vla-get-utility (LM:acdoc)) 'getobjectidstring) (list 'vla-getobjectidstring (vla-get-utility (LM:acdoc)) 'obj ':vlax-false) '(LM:ename->objectid (vlax-vla-object->ename obj)) ) '(itoa (vla-get-objectid obj)) ) ) ) (LM:objectid obj) ) ;; Entity Name to ObjectID - Lee Mac ;; Returns the 32-bit or 64-bit ObjectID for a supplied entity name (defun LM:ename->objectid ( ent ) (LM:hex->decstr (setq ent (vl-string-right-trim ">" (vl-prin1-to-string ent)) ent (substr ent (+ (vl-string-position 58 ent) 3)) ) ) ) ;; Hex to Decimal String - Lee Mac ;; Returns the decimal representation of a supplied hexadecimal string (defun LM:hex->decstr ( hex / foo bar ) (defun foo ( lst rtn ) (if lst (foo (cdr lst) (bar (- (car lst) (if (< 57 (car lst)) 55 48)) rtn)) (apply 'strcat (mapcar 'itoa (reverse rtn))) ) ) (defun bar ( int lst ) (if lst (if (or (< 0 (setq int (+ (* 16 (car lst)) int))) (cdr lst)) (cons (rem int 10) (bar (/ int 10) (cdr lst))) ) (bar int '(0)) ) ) (foo (vl-string->list (strcase hex)) nil) ) ;; Start Undo - Lee Mac ;; Opens an Undo Group. (defun LM:startundo ( doc ) (LM:endundo doc) (vla-startundomark doc) ) ;; End Undo - Lee Mac ;; Closes an Undo Group. (defun LM:endundo ( doc ) (while (= 8 (logand 8 (getvar 'undoctl))) (vla-endundomark doc) ) ) ;; Active Document - Lee Mac ;; Returns the VLA Active Document Object (defun LM:acdoc nil (eval (list 'defun 'LM:acdoc 'nil (vla-get-activedocument (vlax-get-acad-object)))) (LM:acdoc) ) (vl-load-com) (princ (strcat "\n:: Lengfield.lsp | by TranThiep | " (menucmd "m=$(edtime,0,yyyy)") ", based lisp midlen.lsp \\U+00A9 Lee Mac " "\n:: Type \"lengfield\" to Invoke ::" ) ) (princ) ;;----------------------------------------------------------------------;; ;; End of File ;; ;;----------------------------------------------------------------------;; Thân ái, chúc bạn thành công. TranThiep tel:0918841230
  12. 1 điểm
  13. 1 điểm
    Chia sẻ là đáng quý! Nếu ai dùng Win10 có thể dùng tổ hợp phím "Windows key + Shift + S", khỏi cần tool.
  14. 1 điểm
  15. 1 điểm
    Cái này giống trò chơi tìm sự khác biệt giữa 2 hình đó mà, giống như 2 cái dim xanh đỏ trong hình.
  16. 1 điểm
  17. 1 điểm
    Mình có làm được lisp quản lý Sheet set manager có chức năng: - Chỉnh sửa, tăng số thứ tự của sheet number ( và sheet title ) rất nhanh, ko phải mất công mở từng sheet ra rồi gõ lại - Thay đổi đường dẫn file Dwg cho nhiều sheet cùng lúc ( dùng khi file cad bị đổi tên hoặc bị xóa ) https://youtu.be/Y6yJ3y9l8oY - Tạo mới hàng loạt các custom property sheet set và sheet, mặc định của cad là phải nhập từng cái - Chỉnh sửa value của các custom property sheet cho nhiều sheet cùng lúc (đang cập nhật...) - Tạo danh mục với tùy chỉnh vị trí bố trí sheet number và sheet title, mặc định của Cad là theo từng cột nên hơi đơn điệu (đang cập nhật...) * Thông tin cập nhật truy cập: Facebook BietVeCad hoặc bietvecad@gmail.com * Lisp in nhanh bản vẽ: https://www.youtube.com/playlist?list=PL05frYPpT5LLRHAE9W-osYor9Jbe7nOg- * Các tiện ích hay: https://www.youtube.com/channel/UC1hTw22snwp1H47Y1DzmoHA/playlists?view_as=subscriber **Video:
  18. 1 điểm
    Cái này xem "Lần ghé thăm cuối: Thứ hai tại 22:50" là biết mà bác
  19. 1 điểm
    - Topic tham khảo là slide_image, còn code minh họa lại là vector_image, 2 loại này có khác nhau đó bạn. - Với code bạn gửi, bạn thử thay hàm logo trong lisp bằng hàm mới dưới đây xem sao: (defun logo (key / hei wid vec) (setq wid (dimx_tile "logo") hei (dimy_tile "logo") vec (lambda (d l) (mapcar '(lambda (x) (fix (+ d (* x (/ d -10))))) l))) (start_image key) (mapcar 'vector_image (vec wid '(1 1 9)) (vec hei '(4 6 6)) (vec wid '(1 9 9)) (vec hei '(6 6 4)) '(1 1 1)) (end_image)) P/s: Bạn test với nhiều trường hợp (thay đổi: width = ... height = ... của tile logo xem).
  20. 1 điểm
    Khi tạo file sld thì nó chụp ảnh toàn bộ phần hiển thị của màn hình cad. Muốn canh ảnh sld vào giữa vùng hiển thị trong dcl thì tỉ lệ ngang dọc của vùng hiển thị phải giống tỉ lệ ngang dọc ảnh sld. Minh hoạ như hình dưới vùng hiển thị màu tím tỉ lệ ngang dọc là 3/2, ảnh sld màu xanh tỉ lệ ngang dọc là 2/1 thì lúc này ảnh sẽ hiển thị từ dưới lên hay trên xuống gì đó ko nhớ rỏ và vó bị lệch ko chính giữa được. (Post xong mới đọc bài của bác Hà được dẩn link phía trên. Nhưng cứ để nguyên bài vậy có khi có ích.)
  21. 1 điểm
    Chao cac anh chi tren dien dan. xin nhờ các cao thủ viết dùm tôi cái lisp sau: Tôi có block ban vẽ sau(xem bản vẽ đính kèm), nhờ các bác viết hộ lisp để thống kê tên các bản vẽ(danh mục bản vẽ)lâu nay tôi toan làm thủ công mất thời gian quá. Xin chân thành cảm ơn. http://www.cadviet.com/upfiles/2/bang_danh_muc_bv.dwg
  22. 1 điểm
    B1 - Vào Window Start -> Run hoặc ấn tổ hợp phím Window + R B2 - Nhập chuỗi sau vào dòng OPEN : shell:::{80F3F1D5-FECA-45F3-BC32-752C152E456E} Đoạn này sẽ gọi cửa sổ Tablet PC Setting B3 : Chuyển sang tab Other, đổi Right-handed sang Left-handed :)
  23. 1 điểm
    Lisp của bạn, các toạ độ góc được gắn vào biến polst (defun sysvar-set (lst_setvar / strN var var_oldname n) (setq n 0 lstvar_thiep nil lstValue_thiep nil ) (repeat (/ (length lst_setvar) 2) (setq var (nth n lst_setvar) var_oldname (strcat "oldvar_thiep" (itoa n)) ) (setq lstvar_thiep (append lstvar_thiep (list var))) (set (read var_oldname) (getvar var)) (setq lstValue_thiep (append lstValue_thiep (list (read var_oldname)))) (setvar var (nth (+ n 1) lst_setvar)) (setq n (+ 2 n)) ) ) (defun c:gdt (/ ucshold po ent_bo polst lstvar_thiep lstValue_thiep) (sysvar-set '("cmdecho" 0 "osmode" 0)) (setq ucshold (acet-ucs-get nil)) (acet-ucs-cmd '("w")) (setq po (getpoint "\Pick a point inside the closed boundary ")) (command "_.-boundary" po "") (if (and (setq ent_bo (entlast)) (eq (acet-dxf 0 (entget ent_bo)) "LWPOLYLINE")) (progn (setq polst (acet-geom-object-point-list ent_bo nil)) (if (equal (car polst) (last polst) 0.01) (setq polst (cdr polst)) ) (entdel ent_bo) ) ) (acet-ucs-set ucshold) (mapcar '(lambda (var value) (setvar var (eval value))) lstvar_thiep lstValue_thiep ) (and polst(princ polst)) (princ) )
  24. 1 điểm
    Mình cũng đang hóng Lisp này các bác @ketxu @Doan Van Hagiúp một tay được không bạn ơi 
  25. 1 điểm
Bảng thành tích này được đặt thành Tp. Hồ Chí Minh /GMT +07:00


  • Newsletter

    Want to keep up to date with all our latest news and information?

    Sign Up
×