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

vanhuyou

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

    85
  • Đã tham gia

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

  • Ngày trúng

    3

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


  1. 19 phút trước, gia_bach đã nói:

    Bạn thử Lisp này.

    chú ý chọn Dim_style trước khi chạy lệnh nhé.

    
    (defun c:dimpl(/ doc ep i mp obj oldosn pllst plset sp spc)
      (defun LM:BulgeCenter ( p1 p2 b )
        (polar p1
    	   (+ (angle p1 p2) (- (/ pi 2) (* 2 (atan b))))
    	   (/ (* (distance p1 p2) (1+ (* b b))) 4 b)    ))
      
      (princ "\n<<< Select LwPolyline for dimensioning >>> ")
      (setq doc (vla-get-activedocument (vlax-get-acad-object))
            spc (vlax-get doc (if (eq (getvar 'CVPORT) 1)
    			    'Paperspace
    			    'Modelspace	    )	    )  )
      
      (if(setq plSet(ssget '((0 . "LWPOLYLINE"))))
        (progn
          (setq pLlst(vl-remove-if 'listp(mapcar 'cadr(ssnamex plSet)))
    	    oldOsn (getvar "OSMODE"))
          (setvar "OSMODE" 0)
          (foreach pl pLlst
    	(setq obj (vlax-ename->vla-object pl)
    	      i 0)
    	(Repeat (fix (vlax-curve-getEndParam obj))
    	  (setq sp (vlax-curve-getpointatparam obj i)
    		ep (vlax-curve-getpointatparam obj (1+ i))
    		mp (vlax-curve-getpointatparam obj (+ i 0.5)))
    	  (if (= 0 (vla-GetBulge obj i))
    	    (vla-AddDimAligned spc
    	      (vlax-3d-point sp) (vlax-3d-point ep) (vlax-3d-point mp))
    	    (vla-AddDimArc spc
    	      (vlax-3d-point (LM:BulgeCenter sp ep (vla-GetBulge obj i)))
    	      (vlax-3d-point sp) (vlax-3d-point ep) (vlax-3d-point mp))
    	    );if
    	  (setq i (1+ i))
    	  ); Repeat
    	); end foreach
          (setvar "OSMODE" oldOsn)
          ); end progn
        ); end if
      (princ)
      ); end of defun

     

    Cám ơn bạn, đúng ý mình rồi


  2. 36 phút trước, Danh Cong đã nói:

     

    +Góp ý : Diễn đàn có tính năng tìm kiếm, bạn có thể dùng nó được mà ?

    Không phải vấn đề nào bạn cũng đưa lên diễn đàn, mà bạn hãy tìm kiếm 1 thời gian trước khi đặt ra câu hỏi lên diễn đàn.

     

     

     

    Cám ơn bạn mình có xem nhưng lisp đó phải pick điểm đặt cho dim và phải làm từng pline 1.

    Nhờ mọi người sữa giúp mình là điểm đặt dim tự động ở điểm đầu hoặc điểm cuối củng được, và có thể quét 1 lần nhiều pline.


  3. 4 phút trước, alisp đã nói:

    Bỏ text thì chỗ (command "text" cT "" "" (rtos (1- (length vLst)) 2 0) "") thêm ký tự ; đằng trước thành

    ;(command "text" cT "" "" (rtos (1- (length vLst)) 2 0) "")

    còn chỉnh dim thì dùng lệnh dimsty để sửa thôi.

    mình muốn khi xuất ra là tự động bỏ dim line luôn bạn


  4. Chào mọi người trong diễn đàn, mình đang cần tìm người biết VBA viết tool như sau:

    - Chia đoạn polyline thành nhiều đoạn nối với nhau theo 1 đoạn A cho trước, điểm nối sẽ là trung điểm của đoạn A, khoảng cách giữa 2 đoạn polyline là 200 và sole.

    image.thumb.png.7542ffdea347602d71aac1d6830a9607.png

    - Dim kích thước theo dim hiện hành cho các polyline được chọn.

    image.thumb.png.36c2fb7110a829f492ca5e6db70a223e.png

    - Tạo ghi chú với block att gồm 2 att là: SHCHU_THICH với cấu trúc như hình. Dựa vào các pline này để xuất khối lượng thép ra excel có hình dạng.

    image.thumb.png.2cd21ee4e5ffbb3caf1056d39be9a603.png

    Zalo của mình là 0906742508, mọi người liên hệ qua số này nếu quan tâm hoặc làm rõ hơn các thông tin. Cám ơn mọi người.

     

     

     


  5. Vào lúc 22/10/2016 tại 23:57, Bee đã nói:

    Filter xem ở đây. Có thể search thêm.

     

    Ở phần select filter chọn mtext. Xong apply quơ hết các bảng vào thôi

     

     

     

    Nếu mình hiểu đúng ý thì đây là link lisp paste data từ excel sang cad.

    Mình không có nhiều thời gian viết kỹ nên dùng tạm cái này nhé.

     

    https://drive.google.com/file/d/0B-3fZ45DSr_XMzl0NGl1TjRFVTA/view?usp=sharing

     

    Untitledf94db.png
     
     xem video thao tác 
     
     
    1.Select cell và copy.

    2.Bên cad sau khi load lisp. Gõ lệnh PAS

    3.Select hàng text (xem ảnh)

    4.Xem thôi ^_^

    Bạn có thể giúp mình áp dụng được cho text, mtext, text attributes được không


  6. Vào lúc 31/3/2018 tại 17:01, huunhantvxdts đã nói:

    Gửi bạn xem đã ok chưa????

    
    (defun C:layt (/ oldos s text ndtext)
     (command "undo" "be")
     (setq oldos (getvar "OSMODE")) 
     (setvar "cmdecho" 0)
     (setvar "osmode" 512)
     (setq s (GetClipBoardText))
     (setq ndtext nil)
     (while (vl-string-search "\n" s)
     (setq text (substr s 1 (vl-string-search "\n" s)))
     (setq ndtext (cons (substr text 1 (- (strlen text) 1)) ndtext))
     (setq s (substr s (+ 2 (vl-string-search "\n" s))))
     )
     (setq ndtext (reverse ndtext))
     (foreach lst ndtext
     (thaythe lst)
     )
     (setvar "osmode" oldos)
     (setvar "cmdecho" 1)
     (command "undo" "end")	
     (princ )
     )
    (defun thaythe(s / giatrimoi giatricu thongtin)
    (setq giatriold (entsel "\nGia tri can thay the"))
    	(while
     	 (or
       	 (null giatriold)
       	 (/= "TEXT" (cdr (assoc 0 (entget (car giatriold)))))
    	 )
    	(princ "\nDoi tuong khong phai la text! Chon lai")
     	(setq giatriold (entsel "\nGia tri can thay the"))
    	)
    (setq thongtin (entget (car giatriold)))
    (setq giatricu (assoc 1 thongtin))
    (setq giatrimoi (cons 1  s))
    (setq thongtin (subst giatrimoi giatricu thongtin))
    (entmod thongtin)
    (command "_change" giatriold "" "p" "c" "1" "")
    )
    (defun GetClipBoardText( / htmlfile result ) ; By Patrick_35
     (setq htmlfile (vlax-create-object "htmlfile")
    result (vlax-invoke (vlax-get (vlax-get htmlfile 'ParentWindow ) 'ClipBoardData) 'GetData "Text" ) )
     (vlax-release-object htmlfile)
     result
    )

     

    Bạn có thể giúp mình chỉnh lisp dùng được cho text, mtext, text attributes được không


  7. Vào lúc 19/11/2020 tại 16:02, Doan Nguyen Van đã nói:

    Sau hơn 1 năm phát hành Lisp IN QDV- in nhanh bản vẽ Model - Layout, mình nhận thấy nhu cầu sử dụng lisp in nhanh rất nhiều.

    Nên mình xin chia sẻ thêm với các bạn 1 Lisp in nhanh bản vẽ khác, rút gọn, đơn giản hơn, dễ sử dụng hơn tặng các bạn.

    Sử dụng chủ yếu in nhiều bản vẽ trong Model hoặc trong 1 Layout.

    Cách sử dụng rất đơn giản mình không đề cập thêm, 

    và 1 điều đặc biệt là lisp không hạn chế số máy sử dụng, nên các bạn thoải mái tải về và dùng cho các máy khác nhau, không cần serial.

    Mọi ý kiến đóng góp xin gửi về mail: nvdoangt@gmail.com

    Nếu thấy hay thì cho mình 1 Like động viên!

    Xin cảm ơn!

    Link tải: Lệnh VD: VD-Lisp In Nhanh.rar -  https://www.mediafire.com/file/9dgynql2nqx75m0/VD-Lisp_In_Nhanh.rar/file

    Lệnh: DPL DPL - Lisp In nhanh.rarhttp://www.mediafire.com/file/w2sxuorwjxpg8fb/DPL+-+Lisp+In+nhanh.rar/file

    VD.png.c40b35102fce0be95d878b172b0c5423.png

     

     

     

    Bạn ơi 2 lisp trên dùng chức năng có khác gì nhau ko


  8. Vào lúc 24/6/2020 tại 16:00, adat đã nói:

    AutoCAD 2021 là phiên bản mới nhất tính đến thời điểm hiện tại của hãng Autodesk. Như thường lệ, đến thời điểm này hàng năm thì Autodesk lại phát hành một phiên bản mới cho AutoCAD.

    AutoCAD 2021 Full ..... cung cấp bộ công cụ dành riêng cho ngành kỹ thuật mới nhất, qua đó giúp tăng năng suất và hiệu quả công việc. Ngoài ra, AutoCAD 2021 cung cấp các ứng dụng web và di động hiện đại, giúp bạn có thể làm việc thuận lợi mọi lúc mọi nơi.


    AutoCAD 2021
    Làm việc mọi lúc, mọi nơi
    Cung cấp dịch vụ web AutoCAD và các ứng dụng di động, cho bạn quyền truy cập miễn phí vào các bản vẽ và tài liệu CAD tại nơi làm việc và bất cứ nơi nào khác.

    Bạn không cần phải cài đặt AutoCAD 2021 Full trên máy tính để xem, chỉnh sửa và tạo bản vẽ ở bất cứ đâu trên thế giới. Đăng nhập vào web.autocad.com bằng ID Autodesk của bạn và làm việc trong giao diện web được đơn giản hóa mọi lúc mọi nơi.

    Ứng dụng di động AutoCAD 2021 miễn phí sẽ cho phép bạn làm việc ngay cả khi không có kết nối internet. Với ứng dụng này, bạn có thể thực hiện các phép đo tại chỗ và chỉnh sửa bản vẽ trong các cuộc họp với khách hàng bằng điện thoại thông minh hoặc máy tính bảng.

    Các công cụ phù hợp cho công việc
    AutoCAD 2021 với nhiều công cụ cải tiến mới và thư viện chuyên dụng cho kiến trúc, thiết kế cơ khí, kỹ thuật điện, bản đồ học và nhiều ngành công nghiệp khác sẽ giúp tăng năng suất công việc của bạn.

    Các tính năng mới và cải tiến
    AutoCAD 2021 có rất nhiều cải tiến bất ngờ thú vị. Các cải tiến này thực sự rất hữu ích và rất được mong đợi. Hãy xem qua một số cải tiến đáng mong đợi nhất:

    So sánh lịch sử bản vẽ
    Sử dụng lịch sử thay đổi bản vẽ, giúp bạn có thể so sánh trực tiếp các phiên bản trước trong bối cảnh của bản vẽ hiện tại.

    So sánh Xref
    Bây giờ bạn có thể so sánh các phiên bản của tệp liên kết ngoài (Xref) và thực hiện các thay đổi mà không cần rời khỏi bản vẽ hiện tại.

    Cải thiện bảng khối
    Phiên bản AutoCAD 2021, thư viện của các khối luôn luôn có sẵn cho bạn và ở mọi nơi. Có thể giao tiếp với nội dung từ phiên bản web và di động của AutoCAD.

    Cải thiện hiệu suất đồ họa
    Khi xoay và phóng to 2D, AutoCAD 2021 sẽ tự động tạo lại bản vẽ để hoạt động nhanh hơn và mượt mà hơn. Và nhờ có sự hỗ trợ của bộ xử lý đa lõi, khi làm việc với các mô hình 3D, bạn sẽ cảm thấy rằng chúng đã trở nên nhạy hơn với các hoạt động trên quỹ đạo, pan và zoom.

    Cải tiến AutoLISP
    Chỉnh sửa và gỡ lỗi các tệp AutoLISP bằng tiện ích mở rộng mới cho Microsoft Visual Studio Code. Một tin tốt khác là AutoLISP hiện hỗ trợ đầy đủ các ký tự Unicode.

    Kết nối đám mây
    Giờ đây, bạn có thể mở các tệp DWG được lưu trữ trong bất kỳ đám mây phổ biến nào trực tiếp từ giao diện AutoCAD 2021. Sử dụng Microsoft OneDrive, Dropbox, Google Drive, Box và bộ lưu trữ khác hoặc Autodesk Drive.

    Tăng tốc
    Nhờ các quy trình được tăng tốc, bạn có thể lưu công việc của mình chỉ trong tích tắc. Và cài đặt AutoCAD 2021 miễn phí bây giờ nhanh gấp đôi.

    Cắt và mở rộng
    Các lệnh Trim và Extend đã trở nên thông minh hơn. Chế độ nhanh sẽ tự động chọn tất cả các ranh giới tiềm năng theo mặc định.

    Cải thiện các phép đo nhanh
    Tùy chọn Quick trong một lệnh MEASUREMENT hiện hiển thị các giá trị được tính cho các khu vực và chu vi trong bản vẽ 2D.

    Cải tiến nhóm đám mây
    Thay đổi kích thước vòng cung cho bất kỳ sửa đổi nào của đám mây thẻ bằng cách sử dụng lệnh REVCLOUDPROPERTIES mới.

    Ngắt điểm đơn
    Chia dòng, cung hoặc đa tuyến thành hai đối tượng tại điểm đã chọn bằng lệnh BREAKATPOINT mới.


    AutoCAD 2021
    Cấu hình Autocad 2021
    Phần mềm Autocad 2021 mới nhất này yêu cầu một cấu hình khá cao. Vì vậy, bạn hãy xem xét cấu hình dưới đây để cân nhắc xem có nên cài đặt và sử dụng Autocad 2021 hay không.

    Yêu cầu cấu hình cho AutoCAD 2021
    Hệ điều hành Hệ điều hành 64bit.
    Bộ xử lý Cơ bản : Bộ xử lý 2.5 – 2.9 GHz
    Khuyến nghị : Bộ xử lý 3+ GHz
    Nhiều bộ xử lý: Được ứng dụng hỗ trợ
    RAM Cơ bản : 8GB
    Khuyến nghị : 16GB
    Độ phân giải màn hình Hiển thị thông thường:
    1920 x 1080 Màn hình 4K Độ phân giải cao & Màu sắc trung thực:
    Độ phân giải lên tới 3840 x 2160 được hỗ trợ trên các hệ thống Windows 10, 64 bit (có thẻ hiển thị có khả năng)
    Card màn hình Cơ bản : GPU 1GB với Băng thông 29GB/giây và Tương thích DirectX 11.
    Khuyến nghị : GPU 4GB với Băng thông 106GB/s và Tương thích DirectX 11.
    Dung lượng đĩa 7,0 GB
    .Nền tảng NET .NET Framework phiên bản 4.8 trở lên
    thuốc thang có săn trong file nén,cứ làm theo là được ạ
    Các bạn có thể tải AutoCAD tại đây.

    https://drive.google.com/file/d/1-Y6Bjam_SgjNwmgHIKXEqcXP-pL-hYAg/view?usp=sharing

    Bật chia sẻ lên bạn ơi


  9. Chào các bác trong group, em có tìm được 1 lisp đánh số thứ tự tự động vào block Attributes, em đọc hướng dẫn và xem nhưng mà hok biết lisp đó dùng thế nào, em nhờ các bác xem giúp em cách dùng cái lisp này với. Cám ơn các bác.

    Đây là link hướng dẫn: http://www.lee-mac.com/autolabelattributes.html

    AutoLabelAttributes.lsp

    • Vote giảm 1

  10. 27 phút trước, tien2005 đã nói:

    @vanhuyou Bạn dùng thử

    
    (defun c:tcdt (/ att ent len ss)
      (setvar 'DIMZIN 0)
      (and (setq ss (ssget "_+.:S:E" '((0 . "*LINE"))))
           (setq ent (ssname ss 0))
           (not (redraw ent 3))
           (setq att (car (nentsel "\nPick Att: ")))
           (eq (cdr (assoc 0 (entget att))) "ATTRIB")
           (setq
    	 len (vlax-curve-getDistAtParam ent (vlax-curve-getEndParam ent))
           ) ;_ end of setq
           (not
    	 (vla-put-textstring
    	   (vlax-ename->vla-object att)
    	   (strcat (vla-get-textstring (vlax-ename->vla-object att))
    		   " - "
    		   (rtos len 2 0)
    	   ) ;_ end of strcat
    	 ) ;_ end of vla-put-textstring
           ) ;_ end of not
           (redraw ent 4)
      ) ;_ end of and
      (princ)
    ) ;_ end of defun

     

    Bác ơi nếu em muốn thay vì gán  chiều dài đoạn polyline thành gán chiều dài của dimension thì em đổi đoạn code (and (setq ss (ssget "_+.:S:E" '((0 . "*LINE")))) thành (and (setq ss (ssget "_+.:S:E" '((0 . "*DIMENSION")))) đúng không ạ.

    Em bóc khối lượng thép sàn, nó có sẵn attribute như hình trên nên em phải gán chiều dài đoạn polyline xong rồi gán chiều dài dimension, xong rồi mới dùng attout xuất ra excel, lâu vãi các bác ơi.


  11. 19 phút trước, tien2005 đã nói:

    @vanhuyou Bạn dùng thử

    
    (defun c:tcdt (/ att ent len ss)
      (setvar 'DIMZIN 0)
      (and (setq ss (ssget "_+.:S:E" '((0 . "*LINE"))))
           (setq ent (ssname ss 0))
           (not (redraw ent 3))
           (setq att (car (nentsel "\nPick Att: ")))
           (eq (cdr (assoc 0 (entget att))) "ATTRIB")
           (setq
    	 len (vlax-curve-getDistAtParam ent (vlax-curve-getEndParam ent))
           ) ;_ end of setq
           (not
    	 (vla-put-textstring
    	   (vlax-ename->vla-object att)
    	   (strcat (vla-get-textstring (vlax-ename->vla-object att))
    		   " - "
    		   (rtos len 2 0)
    	   ) ;_ end of strcat
    	 ) ;_ end of vla-put-textstring
           ) ;_ end of not
           (redraw ent 4)
      ) ;_ end of and
      (princ)
    ) ;_ end of defun

     

    Tuyệt vời, cám ơn bác nhiều :).

×