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

Danh Cong

Moderator
  • Số lượng nội dung

    1.382
  • Đã tham gia

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

  • Ngày trúng

    114

Bài đăng được đăng bởi Danh Cong


  1. 1 giờ} trướ}c, Luongquocsonxd đã nói:

    @ Danh Cong : ý của bạn là sao mình không hiểu!!!

     

    + Chia sẻ kiến thức là việc diễn đàn rất khuyến khích. Nhưng chia sẻ nhưng thứ nhiều người đã biết / nhiều bài viết trên diễn đàn đã đề cập rất nhiều thì ko phải là điều tốt.

    Mỗi bài viết chia sẻ đều phải chứa đựng tâm + tầm thì mới có xứng đáng để chia sẻ. Còn viết bài như bạn thì ko nên.

    Ví dụ bạn thử đọc bài viết tương tự như bạn, nhưng của bậc cao thủ thì sẽ như thế nào nhé :  Bài viết từ năm... 2007 bạn nhé.

     

     


  2. 16 giờ trước, leetunghoanh đã nói:

    Toàn bộ các đối tượng đang thuộc layer tên là AA_hatch trong bản vẽ sẽ tự chuyển thành layer BB_netto

    Toàn bộ các đối tượng đang thuộc layer tên là AA_border trong bản vẽ sẽ tự chuyển thành layer BB_duongbien

    Toàn bộ các đối tượng đang thuộc layer tên là AA_rebar trong bản vẽ sẽ tự chuyển thành layer BB_thep

    Nói chung ý tưởng là sẽ đổi nhiều đối tượng thuộc các layer khác nữa, nhưng muốn đổi layer nào thì người dùng sẽ tự copy thêm lệnh vào lisp 

    Bạn có thể liên hệ với bác này : @ketxu : 0989 728 788

    Video thì nó thế này: 

    Lisp thì có phí :)))

     


  3. Bạn cài đặt tất cả thông số ngon lành trên 1 layout rồi thì nhấn nút "Apple to layout" hoặc "OK"   ---> Để máy lưu lại cấu hình in này.

    Giờ bạn chuyển qua tap layout khác chưa cài đặt gì   --> Ctrl+P

    Trong mục "Page setup" của bạn có 1 ô name đang để <none>    --> Chuyển thành "Previous Plot"   ---> Máy lấy lại cấu hình in trong lần gần nhất .

    Mất vài giây thao tác thì có gì lâu đâu nhỉ ?


  4. 16 giờ trước, saukhoai đã nói:

    a cho e hỏi tí, lisp của a chạy đc rồi nhưng e muốn cây thép nó chạy như này đc k a, lisp a chạy ra cây thép nó xếp bậc thang nhưng e muốn nó xếp như kia đc k a

     

    + Của bạn đây :

    
    
    

    (defun c:VTT (/ d i L40 X1 Y1 PT-end X-end Y-end scale L_Tieuchuan L PT1 PT2)
        (Princ "Write by: Do Danh Cong")
        (command "undo" "begin")
        (setq L_TieuChuan
               (list
             (cons 10 450)
             (cons 12 540)
             (cons 14 630)
             (cons 16 720)
             (cons 18 810)
             (cons 20 900)
             (cons 22 990)
             (cons 25 1125)
             (cons 28 1260)
             (cons 32 1455)))

    ;;;;; So lieu dau vao
          (setq L (getdist "Nhap chieu dai / Chon 2 diem: "))
    ;;;;;; Luu gia tri duong kinh
          (or #VTT_D (setq #VTT_D 16))
          (setq #VTT_D (cond ((getreal (strcat "\nNhap D= < " (rtos #VTT_D 2 0) " >:")))(#VTT_D)))
          (setq    Pt1 (getpoint "\n Nhap diem ve: "))
          (setq scale (getvar "dimscale"))
          
          ;;;;; Tinh toan so lieu:
          
          (setq L40 (cdr (assoc #VTT_D L_TieuChuan))
            X1 (car Pt1)
            Y1 (cadr Pt1)
            PT-end (Polar Pt1 0 L)
            X-end (car Pt-end)
            Y-end (cadr Pt-end)
            i 1)
          ;;;;;; Ve thep

          (While  (> X-end X1)
                  (if (>= 11700 (- X-end X1))
                (progn
                      (command ".line" "non" Pt1 "non" Pt-End "")
                      (setq X1  X-End))
                (Progn
                      (setq Pt2 (polar Pt1 0 11700))
                  (command ".line" "non" Pt1 "non" Pt2 "")
                  (setq     X1 (- (car Pt2) L40)
                           Y1 (+ (cadr Pt1) (* 1.5 scale i))
                    i (* -1 i)
                            Pt1 (list X1 Y1)
                                PT-end (list X-end Y1))
                  )
              ))
          (command "undo" "end")
          (Princ))

    • Vote tăng 1

  5. Vào lúc 3/4/2021 tại 01:07, saukhoai đã nói:

    A CHO E HỎI TÍ SAO CAD CỦA E 2018 K CHẠY ĐC NHỈ

    + Bạn Copy các dòng code trong  lisp vào 1 file .txt , rồi đổi tên đuôi  .txt thành .lsp rồi load lại lisp nhé.

     @alisp :   Đúng là lisp bị lỗi thật, mình cũng ko hiểu sao. Thế nên lâu rồi mình toàn copy code, chứ ko dowload lisp trực tiếp từ diễn đàn :)))

    • Vote tăng 1

  6. 17 giờ trước, thaiduylam đã nói:

    Xin chào các Anh chị: Vô tình em dowload được 1 Lisp khá hay của KTS Quốc Mạnh có tên là AreaLength.fas. Em gõ S2A thì chạy được phần đo diện tích . Nhưng trong phần mổ rộng info em thấy có một số lệnh khác như: AFR; A2F; L2F; S2A; P2A; TCD-SS2A; PP2A; TTCD; TLDIA. E mong các anh chị có biết cách sử dụng các lệnh này xin chỉ giáo. Thanks mọi người.

    AreaLength.rar

    Liên hệ tác giả , mạnh dạn thì mình đoán là bác này :)))) : @quocmanh04tt.


  7. 13 giờ trước, DungNguyen685 đã nói:

    như này bạn!

     

    + Dimspace không có lỗi. Lỗi là bạn chưa biết lệnh DimSpace này dùng cho việc gì và dùng nó như thế nào !

    Bạn có thể Google dịch cách dùng nó :

     https://knowledge.autodesk.com/support/autocad-lt/learn-explore/caas/CloudHelp/cloudhelp/2019/ENU/AutoCAD-LT/files/GUID-18DF8B02-3E43-4531-ACE0-75FA7161F209-htm.html

    • Like 2

  8. + Bạn xem lại cách bạn viết tiêu đề. Người khác viết sao mình viết tương tự vậy.

    + Mọi người đều viết thường, cớ sao bạn viết hoa cho mọi người đọc rối mắt ?

    + Bệnh trong bản vẽ của bạn do 1 đối tượng Wipeout nằm bên trên các đối tượng khác của bạn. Bạn phải xóa Wipeout này đi.

    Vào Block Dynamic,  chọn block dynamic mất nét, xplode nó. Click đúp vào Block vừa tạo ra để vào Block editor, xóa Wipeout.


  9. Code em vừa tạo sơ cua đáp ứng vừa đủ nhu cầu của em.

    :)))

    Điều kiện áp dụng : 

    + Khoảng cách giữa các cặp Block không nhỏ hơn khoảng cách giữa 2 đối tượng Block trong 1 cặp.

    + Block 2 nằm dưới Block 1 trong 1 cặp.

    File cad của em cần mỗi như thế này thôi. Cám ơn các bác đã nhiệt tình giúp đỡ :)))

     

    ; DIS  :   Nhap khoang cach tim kiem Block  = khoang cach min DAL giua 2 block gan nhat
    (defun c:TEST (/ DIS DXF_10 DXF_OBJ LST_1 LST_2 OBJ_1 OBJ_2 P1 P2 SS)
      (vl-load-com)
      (defun dxf (id obj) (cdr (assoc id (entget obj))))
      ; ---------------------------------------------------------------------------------------
      (defun RFL (I L / L1 L2)
      (setq L1 (reverse (cdr (member I (reverse L)))))
      (setq L2 (cdr(member I L)))
      (append L1 L2)
      )
      ; ----------------------------------------------------------------------------------------
      (setq dis (getreal "\nNhap khoang cach tim kiem:"))
      (setq lst_1 (acet-ss-to-list (ssget '((0 . "INSERT")))))
      (setq lst_2 '())

      (while  (> (length lst_1) 0)
            (progn
              (setq obj_1 (nth 0 lst_1))
              
                  (setq dxf_obj (entget obj_1))
                (setq dxf_10 (dxf 10 obj_1))
          
              (setq P1 (list (- (car dxf_10) dis) (- (cadr dxf_10) dis) 0.0))
              (setq P2 (list (+ (car dxf_10) dis) (+ (cadr dxf_10) dis) 0.0))
          
                (setq obj_2 (nth 0 (RFL obj_1 (acet-ss-to-list (ssget "C" P1 P2)))))
              
          

              (setq lst_1 (RFL obj_1 lst_1))
              (setq lst_1 (RFL obj_2 lst_1))

              (if (> (cadr (dxf 10 obj_1)) (cadr (dxf 10 obj_2)))
                  (setq lst_2 (append lst_2 (list obj_2)))
                  (setq lst_2 (append lst_2 (list obj_1)))
              )
          )
        )
    (setq ss (SSADD))
      (foreach name lst_2 (ssadd name ss))
        (SSSETFIRST  nil ss )
      )


  10. 17 giờ trước, thuvuithugian đã nói:

    bạn dùng lệnh fill thử xem,  gõ fill enter, sau đó b1;  chọn đối tượng cần lọc. b2: xoá tất các thuộc tính lọc chỉ chừa lại tên block và layer (hoặc color)  gì đó. sau đó apply . quét vùng chọn chứa đối tượng cần lọc.

    +  Trường hợp này các Block trùng Name, trùng Layer nên ko thể áp dụng :))  Dù sao cũng cám ơn bạn đã góp vui :v :v


  11. 3 giờ trước, ketxu đã nói:

    C1 Lấy hết block rồi duyệt gần nhất theo Insertion Point, được cặp nào thì xóa khỏi tập chọn
    C2 : Định khoảng delta max, rồi duyệt từng block, dùng ssget CP/WP để chọn thằng gần nhất, xóa khỏi tập chọn
    C3 : Số lượng quá lớn thì vẫn có thể làm 1 trong 2 cách trên, nhưng chặt nhỏ ra thành nhiều vùng tập chọn ^^

    + Theo hướng của anh thì khả thi với bài toán của em nhất.

     

    @Doan Van Ha : Block của cháu nó ko liền nhau, nên cách của a KetXu áp dụng khả thi hơn ạ. :))

    Cám ơn bác và cả anh nhiệt tình giúp đỡ :)))


  12. Chào các bác ạ. Em có câu hỏi, muốn nhờ các bác trợ giúp ạ.

    Trong hình vẽ của em là 1 nhóm các  "Cặp" đối tượng Block.

    Các block này giống nhau , em để màu đỏ với xanh chỉ là để dễ phân biệt thôi ạ.

    Em muốn lọc các đối tượng Block nằm bên dưới mỗi "cặp" , tức là block màu đỏ.    ( Trong ảnh là 5 cặp block )

    Em muốn code lisp để lọc nhưng ko biết làm như thế nào, mong các bác trợ giúp ạ.

    :)))) Em xin cám ơn.

     

    [Hoi] - Cach loc doi tuong.png


  13. 7 giờ trước, ducquy2009 đã nói:

    Còn cách quy đổi số nêu trên về tỉ lệ 1/xxx thì sao ạ, và mối liên hệ giữa tỉ lệ vs cỡ chữ, nét đứt thì như thế nào ạ. Mong bạn giải thích rõ

    :))) Bạn lại nên học 1 khóa học online để tìm hiểu đi. Đôi lời trên này ko diễn tả hết cái món tỷ lệ này được. 

    Nếu cần khóa học thì để mình giới thiệu @@.

×