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

vietduc147258

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

    341
  • Đã tham gia

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

  • Ngày trúng

    37

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


  1. 6 giờ trước, ketxu đã nói:

    Các bài hỏi xong vất đấy kiểu ntn càng ngày càng thôi thúc tại sao m k nên bỏ thời gian rep free =))

    Tình trạng diễn đàn bữa nay hay gặp tính trạng "bác sĩ" vào bàn luận sôi nổi, trong khi "bệnh nhân" lại lặn mất tăm.

    Cám ơn bác dòng code rất hay. Em áp dụng sang để đổi màu nền cho cái BEditBackground. Mặc dù dùng lisp không được (do hiểu biết lĩnh vực này còn hạn chế) nhưng dùng file .reg cũng khá tốt. 


  2. 13 giờ trước, conghoa đã nói:

    Hình chữ nhật to của bạn đã có Wipeout chưa?

    Lưu ý: Hình A là ở dưới cùng, Hình B ở giữa, hình C ở trên cùng thì mới đạt được hiệu ứng như thế. Thêm 1 thao tác Group hình A và C nữa thì di chuyển dễ dàng hơn.

    Chính xác như Bác đã nói.

    Làm trên file của bác Cường. 

    Dùng Block để dễ quản lý, không phát sinh nhiều dung lượng khi nhân đôi đối tượng.

    Cái này phải kết hợp cả draw order để xắp xếp trên dưới nữa.

    Mà nếu group 2 block giống nhau lại không được đâu bác. Vì lúc đó nó thành 1 đối tượng rồi. Không thể vừa nằm trên, vừa nằm dưới thằng che được


  3. 14 giờ trước, Thành Tâm_0208 đã nói:

    Chào mọi người, không biết là trên diễn đàn của mình đã có Lisp nào có chức năng như sau rồi ko, nếu chưa thì nhờ các bác hỗ trợ mình : 

    Ví dụ mình có hình A và hình B, mình muốn khi hình B che hình A đến đâu thì chỗ đường nét bị che sẽ hiển thị nét đứt (hoặc nét được thiết lặp trước), nếu che hết thì hoàn toàn là nét đứt. Còn khi kéo hình B khỏi hình A thì hình A trở lại nét như bình thường. Mong các bác hỗ trợ giúp em, chứ ngồi Trim rồi vẽ lại tường đoạn để chọn Layer khác thì lâu quá, còn Wipeout thì che hết luôn rồi. Đa tạ các bác. Thanks !!!

    Thay vì Trim thì dùng các các cách sau.

    1: Break tại điểm giao nhau, sau đó đổi layer phần mong muốn

    2. WipeOut  nếu muốn che luôn. Mà thỉnh thoảng Wipeout hoạt động không như ý, phải tắt cad đi mở lại mới được

    3. Dùng lisp này của leemac https://www.lee-mac.com/objectbreak.html

    (Chưa test thử)

    • Like 1

  4. 22 giờ trước, Tya đã nói:

    Em cũng đã thử dùng lisp của 1 bác share trong diễn đàn nhưng vẫn không khả thi 

    File này hầu như không giảm được nữa.

    Muốn giảm dung lượng thì những chi, mặt bằng.... dùng lại nhiều lần thì Block lại, 1  block dùng cho nhiều chỗ.

    File này còn dính mấy ảnh chèn vào nữa. nếu xóa mấy ảnh đó thì còn lại 1.8 MB. Nên nén, cắt ảnh các phần thừa trước khi chèn vào Word và Autocad.

    Tốt nhất đối với ảnh và mặt bằng thì nên chèn vào bằng Xreft.

    Đã từng đọc bản vẽ PCCC mà người vẽ nhiệt tích Explore hết các Block và cả Hatch nữa... mở lên nản luôn. Bản vẽ của bạn cũng ok rồi.

    Do làm bên cơ khí không đụng chạm bản vẽ dạng này nhiều nên chia được sẻ vậy thôi

     


  5. Test sơ qua phần mềm  PDF reDirectpro thì thấy không lỗi fonts. Nhưng Zoom chữ lên thì chữ không còn là chữ nữa. Nó không còn là đối tượng text nữa. 

    Nối trang ok, giao diện dùng hơi rối. Tìm Cr**ck thì không có. Nhưng thử gỡ bằng Geek Uninstaller  rồi cài lại thì lại có tiếp 90 ngày dùng thử. Bí quá thì sửa lại ngày của Windowns rồi dùng tạm. Về lâu dài thì nên tìm hiểu lại lỗi fonts của PDFFactory. thử nhiều loại fonts khác nhau , trên máy khác nhau ... phiên bản cad khác nhau...xem fonts nào lỗĩ. Dùng phương pháp loại trừ để tìm nguyên nhân

     

    • Like 1

  6. 16 giờ trước, vusychien34 đã nói:

    Các bác có lisp nào có thể chọn nhanh các đối tượng được vẽ từ cùng 1 layer không ạ. Em cảm ơn

    có nhiều cách, tham khảo 2 cách sau:

    1. Chuột phải 1 đối tượng của layer - Slect Similar

    2. Lisp :

    (defun c:fl (); filter by layer
     (setq property (cdr (assoc 8 (entget (car (entsel "\nPick layer: "))))))
     (if (= property nil)
       (setq property 256)
     )
     (setq sset (ssget "x" (list (cons 8 property)))) ; toan bo ban ve
     ;;(setq sset (ssget (list (cons 8 property)))) ; chon vung
     (sssetfirst sset sset)
     (princ)
    )


  7. 14 giờ trước, NguyenMinh88 đã nói:

    Mình tìm lisp này  nhưng thay dổi linestyle scale thì nhân với  linestye hiện có ;

    Mình mong muốn nhập vào 100 thi linestye scale la 100 . không nhân với linesty scale hiện có.

    cám ơn các bạn đã giúp !

     

    Thích sự đơn giản thì dùng cái này

    (defun c:lrr (/ tls)
    (setq lts (getreal "\nSpecify new linetype scale?"))
    (command "change" (ssget) "" "p" "s" lts "")
    (princ)
    )

     


  8. 13 giờ trước, NguyenMinh88 đã nói:

    vậy nhờ bạn @Duong Nhat Duy viết tiếp . công việc của minh thay đổi  đường dẫn xref từ full path thành relative rất nhiều.

    mình làm khai triển bạn ạ !

    xin cám ơn bạn .

    Bạn thử công cụ của Kết cấu Soft xem sao.

    Trước có tải về nguyên bộ mà không dùng. Gửi bạn 1 file test thử.

    Tải về - > giải nén -> Load bằng lệnh netload

    Lệnh sử dụng: kcssuaxref

    https://www.mediafire.com/file/sazhkywdp0hxxcp/Quick+Draw+CAD2013.zip/file


  9. 13 giờ trước, NguyenMinh88 đã nói:

    xin cám on bạn nhiều ! xin cám ơn.

    Ơ thế không like à.

    Mà lisp này dùng còn thấy không trực quan bằng thanh công cụ của Autocad. Show tất cả line type lên luôn nhìn hơi rối. Hay đổi line type thì chắc cũng nằm trong khoảng 4,5 type thôi. Kiếm lisp đổi trực tiếp sang line type loại đó cho nhanh.

    có cái này tự sửa dùng xem ổn hơn không

    (defun chuyendt () 
      (setq sset (ssget)) 
      (if (null sset)
        (progn
          (princ "\nERROR: Nothing selected.")
          (exit)
        )
      )
    ) 
    (defun chuyentt (tt tv)
      (command "_.change" sset "" "P" tt tv "")
    (princ)
    )
    
    (defun c:hh	(/ sset) (chuyendt) (chuyentt "LT" "Hidden") )  ; Chuyen doi tuong thanh net dut
    (defun c:c2	(/ sset) (chuyendt) (chuyentt "LT" "Center2") )  ; Chuyen doi tuong thanh Center2
    (defun c:cc	(/ sset) (chuyendt) (chuyentt "LT" "Continuous") )  ; Chuyen doi tuong thanh Continuous
    (defun c:bb	(/ sset) (chuyendt) (chuyentt "LT" "ByBlock") )  ; Chuyen doi tuong thanh ByBlock
    
    (defun c:md (/ sset) (chuyendt)
      	(chuyentt   "LT" "ByLayer")
     	(chuyentt   "Lw" "ByLayer" )
     	(chuyentt   "color" "ByLayer")
    )

     

    • Like 1

  10. 7 giờ trước, NguyenMinh88 đã nói:

    Mình download trên mang được lisp này . Nhung không sử dụng

    lisp.rar

    Bạn làm 2 bước sau:

    1.  Đổi tên file .DCL thành DDCHLTY.DCL

    2. Đưa vào Support fie search path:

    Có thể dùng cách copy vào C:\Program Files\Autodesk\AutoCAD 20xx\Support

    hoặc OP tìm đến File - > Support fie search path rồi add thư mục chứa lisp và DCL vào

    • Like 1

  11. 3 giờ trước, Nguyễn Duy Điệp đã nói:

    e bật nhiều bản vẽ trên cad 2007 và muốn xin hướng dẫn cách hiện thỉ tên các bản vẽ trên thanh tab bar để ra nhận biệt được bản vẽ gì với ạ! Thank ạ

    Dùng 1 trong 2 cái này. Lâu rồi không dùng nên không biết cái nào ổn hơn

    Vẫn khuyên là chuyển lên cad đời cao. Máy đang dùng chip g3240 không card mà dùng cad 2018 vẫn ổn lắm. Chỉ cần ssd là ok

    tab.zip


  12. Vào lúc 2/12/2024 tại 07:05, ConGioLanhKK đã nói:

    Các bạn nào có lisp tính đồng thời Diện tích và chiều dài trong autocad không ạ? cho mình xin với !

     

    Có cái này sưu tầm được sửa lại cho bạn.

    (defun c:tdt2 ( / a i s le texth) 
    
        (if (setq s
                (ssget
                   '(   (0 . "CIRCLE,ELLIPSE,*POLYLINE,SPLINE")
                        (-4 . "<NOT")
                            (-4 . "<AND")
                                (0 . "POLYLINE") (-4 . "&") (70 . 80)
                            (-4 . "AND>")
                        (-4 . "NOT>")
                    )
                )
            )
            (progn
                (setq a 0.0 le 0.0)
                (repeat (setq i (sslength s))
    				(setq ssn (ssname s (setq i (1- i))))
                    (setq a (+ a (vlax-curve-getarea ssn)))
    				(setq 
                          le (+ le (vlax-curve-getdistatparam ssn (vlax-curve-getendparam ssn)))
                    )
    
                )
    		
    			(setq texth (getreal "\nNhap vao chieu cao Text"))
    			(command
    				  "_.MTEXT"
    				  pause				
    
    				  "_Height" texth
    				  "_none" "@"			
    				  	(strcat "Di\\U+1EC7n t\\U+00EDch: " 
    							(rtos (* a 0.000001) 2 2) " m2"
    							"\\PChi\U+1EC1u d\U+00E0i: "
    							(rtos le 2 2)		" m"
    
    					)
    				  ""						  
    			)
            )
        )
    	(vl-load-com)
        (princ)
    )

     


  13. 3 giờ trước, tannguyen291 đã nói:

    ồ h mới biết có lệnh DIMLAYER. cũng tiện phết nhỉ.

    Vì lệnh này mà bỏ 2016 lên 2018. Tính ra cad mới lưu mạc định cũng 2018 nên cũng tiện nhiều thứ ghê. 

    Ngoài ra hình như có lệnh hplayer, textlayer, nữa thì phải. Có lệnh layer đường center line nữa


  14. 1 giờ} trướ}c, NgọcH đã nói:

    giờ mới biết có lệnh dimlayer, cái này khi mở bản vẽ mới là phải gõ lại lệnh phải ko b

     

    Type: String

    Saved in: Drawing

    Chỉ lưu theo file thôi. Mở file mới phải gõ lại lệnh.

    Tìm thêm lisp chuyển đối tượng theo layer để chuyển những file có sẵn (hatch, text, dim...) về layer tương ứng

×