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

Danh Cong

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

    1.387
  • Đã tham gia

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

  • Ngày trúng

    117

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


  1. 43 phút trước, hoành đã nói:

    EM CÓ 1 VẤN ĐỀ NHƯ SAU: EM CÓ 1 CÁI RANH GIỚI(VÍ DỤ MÀU ĐỎ NHƯ HÌNH), MÀ CÓ CÁC ĐỐI TƯỢNG KHÁC NẰM ĐÈN LÊN TRÊN GIỜ EM MUỐN XÓA NHỮNG CÁI ĐÈ TRÊN RANH ĐÓ ĐI MÀ XÓA TAY LÂU QUÁ, RANH MÀU ĐỎ NÀY CÓ THỂ KÍN HOẶC CÓ THỂ LÀ 1 ĐƯỜNG POLYLINE

     NHỜ CÁC BÁC , CÁC ANH VIẾT HỘ CHO EM 1 CÁI LISP Ạ, EM CẢM ƠN

     

     

     

    Em nên tìm hiểu 1 số công cụ lựa chọn đối tượng ( Lựa chọn xong rồi thao tác gì tùy em ).

    + 1. Gõ lệnh Select >> Gõ "ABC" >> Nhìn dòng Command line >>> Lựa chọn Fence . ( Đọc thêm Previous, Last, CP, WP.)

    + 2. Sử dụng Fatsel.

     

    Ngoài ra thì dùng thêm 1 số công cụ trong Filter để lọc đối tượng nếu cần.


  2. 22 giờ trước, Nguyễn Huy Phương đã nói:

    Tình hình là công việc của em không chuyên về cad. mục đich học cad là lắm cơ bản 1 số cách dùng cad. nhiệm vụ của mình là chia ô theo diện tích bản vẽ các dự án cho sẵn. Bác nào rảnh nhận dạy thì giúp e với ạ. ai quan tâm cho e xin sdt ạ

    + Liên hệ với mình cũng được : 0336 760 750 :))) Mình giới thiệu cho người khác thôi.


  3. Các bác cho em hỏi :

    Em có test ở 2 loại font :  "Arial CE"  và "Arial CYR".image.png

    Em kiểm tra Entget của 2 loại Font Style này: 

     

    (entget (tblobjname "style" "5_Arial CE"))
    ((-1 . <Entity name: 7ff40a105c90>) (0 . "STYLE") (330 . <Entity name: 7ff40a103830>) (5 . "1C1") (100 . "AcDbSymbolTableRecord") (100 . "AcDbTextStyleTableRecord")

    (2 . "5_Arial CE")   (70 . 0) (40 . 0.0) (41 . 1.0)  (50 . 0.0) (71 . 0) (42 . 0.2) (3 . "arial.ttf") (4 . ""))

     

    (entget (tblobjname "style" "6_Arial CYR"))
    ((-1 . <Entity name: 7ff40a105cb0>) (0 . "STYLE") (330 . <Entity name: 7ff40a103830>) (5 . "1C3") (100 . "AcDbSymbolTableRecord") (100 . "AcDbTextStyleTableRecord")

    (2 . "6_Arial CYR") (70 . 0) (40 . 0.0) (41 . 1.0)  (50 . 0.0) (71 . 0) (42 . 0.2) (3 . "arial.ttf") (4 . ""))

     

    ----> Tức là Entget của 2 font này tương đồng nhau:   ----> Vậy các bác cho em hỏi : Nếu em muốn tạo font "Arial CE", "Arial CYR"  thì em phải code entmake kiểu gì ạ ??


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

    Chào các anh chị. Mình muốn xin 1 list CAD mà ta tính tổng các text( là số) được chọn. sau đó hiện thị ra bảng diễn giải để mình copy diễn giải đó vào excel. 

    Rất mong các anh chị trong diễn đàn giúp đỡ

    Cám ơn anh chị nhiều

    Em có thể liên hệ với bác này : Lisp mất 1 ít chi phí :))) 

     


  5. @ngokiet : Bạn có thể tham khảo code tôi viết sắp xếp Text :   :))

    
    
    

    (defun c:SXT ( / #HUONG_XEP_TEXT #TEXT_ALIGHT DXF DXF10_Y DXF11_X DXF11_Y OBJECT PT DXF10_ DXF10_X OBJECT-SELECT)
      (setq #HUONG_XEP_TEXT "Ver")
      (initget "Ver Hor")
      (setq #HUONG_XEP_TEXT (cond ((getkword (strcat "\nText Align : [Ver/Hor] <" #HUONG_XEP_TEXT ">"))) (#HUONG_XEP_TEXT)))

      (setq #TEXT_ALIGHT "L")
      (initget "L C R A M F TL TC TR ML MC MR BL BC BR")
      (setq #TEXT_ALIGHT (cond ((getkword (strcat "\nJustify Text : [L/C/R/A/M/F/TL/TC/TR/ML/MC/MR/BL/BC/BR] <" #TEXT_ALIGHT ">"))) (#TEXT_ALIGHT)))
      
      (setq object (acet-ss-to-list (ssget '((0 . "*TEXT"))))
        object-select (ACET-LIST-TO-SS object)
        pt (getpoint "\nPick Point"))

      (cond ((= #TEXT_ALIGHT "L") (command "JUSTIFYTEXT" object-select ""  "Left"))
        ((= #TEXT_ALIGHT "C") (command "JUSTIFYTEXT" object-select ""  "Center"))
        ((= #TEXT_ALIGHT "R") (command "JUSTIFYTEXT" object-select ""  "Right"))
        ((= #TEXT_ALIGHT "A") (command "JUSTIFYTEXT" object-select ""  "Aligned"))
        ((= #TEXT_ALIGHT "M") (command "JUSTIFYTEXT" object-select ""  "Middle"))
        ((= #TEXT_ALIGHT "F") (command "JUSTIFYTEXT" object-select ""  "Fit"))
        ((= #TEXT_ALIGHT "TL") (command "JUSTIFYTEXT" object-select "" "TL"))
        ((= #TEXT_ALIGHT "TC") (command "JUSTIFYTEXT" object-select "" "TC"))
        ((= #TEXT_ALIGHT "TR") (command "JUSTIFYTEXT" object-select "" "TR"))
        ((= #TEXT_ALIGHT "ML") (command "JUSTIFYTEXT" object-select "" "ML"))
        ((= #TEXT_ALIGHT "MC") (command "JUSTIFYTEXT" object-select "" "MC"))
        ((= #TEXT_ALIGHT "MR") (command "JUSTIFYTEXT" object-select "" "MR"))
        ((= #TEXT_ALIGHT "BL") (command "JUSTIFYTEXT" object-select "" "BL"))
        ((= #TEXT_ALIGHT "BC") (command "JUSTIFYTEXT" object-select "" "BC"))
        ((= #TEXT_ALIGHT "BR") (command "JUSTIFYTEXT" object-select "" "BR"))
        )
        
      (cond ((and (= #HUONG_XEP_TEXT "Ver") (= #TEXT_ALIGHT "L"))
           (foreach ss object
                (progn
                (setq dxf (entget ss)
                  dxf10_y (caddr (assoc 10 dxf)))
                (setq dxf (subst (cons 10 (list (car pt) dxf10_y )) (assoc 10 dxf) dxf))
                (entmod dxf)
                ); end progn
                ); end foreach
         )
        ((= #HUONG_XEP_TEXT "Ver")
           (foreach ss object
                (progn
                (setq dxf (entget ss)
                  dxf11_y (caddr (assoc 11 dxf)))
                (setq dxf (subst (cons 11 (list (car pt) dxf11_y )) (assoc 11 dxf) dxf))
                (entmod dxf)
                ); end progn
                ); end foreach
         )

          ((and (= #HUONG_XEP_TEXT "Hor")(= #TEXT_ALIGHT "L"))
           (foreach ss object
                (progn
                (setq dxf (entget ss)
                  dxf10_x (cadr (assoc 10 dxf)))
                (setq dxf (subst (cons 10 (list dxf10_x (cadr pt) )) (assoc 10 dxf) dxf))
                (entmod dxf)
                ); end progn
                ); end foreach
         )
        ((= #HUONG_XEP_TEXT "Hor")
           (foreach ss object
                (progn
                (setq dxf (entget ss)
                  dxf11_x (cadr (assoc 11 dxf)))
                (setq dxf (subst (cons 11 (list dxf11_x (cadr pt) )) (assoc 11 dxf) dxf))
                (entmod dxf)
                ); end progn
                ); end foreach
         )
        ); end cond
      (princ))
     

    • Vote tăng 1

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

    Nhờ các Bác hỗ trợ,  em muốn đổi Justify từng Text. em dùng Entmod mà ko như mong muốn.

    
    (defun AT:Justify ( / Justify)
    (setq Justify (cond (Justify) ("Left")))
    (initget "Leff  Right TOPLeft TOPRight BOTTOMLeft BOTTOMCenter BOTTOMRight")
    (setq Justify (cond ((getkword (strcat "\Ch\U+1ECDn T\U+1EF7 l\U+1EC7 b\U+1EA3n v\U+1EBD: [Leff/Right/TOPLeft/TOPRight/BOTTOMLeft/BOTTOMCenter/BOTTOMRight]<" Justify ">"))) (Justify)))
     )
    (defun c:00 ( / e1 en)
    (setq e1 (car(entsel "Ch\U+1ECDn Text c\U+1EA7n \U+0111\U+1ED5i Justify: "))) 
    (setq en (entget e1))
    (setq Justify (AT:Justify))    ;(princ Justify)
          (if(eq Justify "Leff")(entmod (subst (list (cons 72  0)(cons 73  0)) (list (assoc 72 en)(assoc 73 en)) en)))
    ;;;      (if(eq Justify "Center")       (progn  (entmod (subst (cons 72  1) (assoc 72 en) en))
    ;;                                (entmod (subst (cons 73  0) (assoc 73 en) en)) ) )
          (if(eq Justify "Right")        (entmod (subst (list (cons 72  2)(cons 73  0)) (list(assoc 72 en)(assoc 72 en)) en)))
    ;;;      (if(eq Justify "Aligned")      (entmod (subst (list (cons 72  3)(cons 73  0)) (list (assoc 72 en)(assoc 73 en)) en)))                                       
    ;;      (if(eq Justify "Middle")       (entmod (subst (list (cons 72  4)(cons 73  0)) (list (assoc 72 en)(assoc 73 en)) en)))
    ;;      (if(eq Justify "Fit")          (entmod (subst (list (cons 72  5)(cons 73  0)) (list (assoc 72 en)(assoc 73 en)) en)))
         (if(eq Justify "TOPLeft")      (entmod (subst (list (cons 72  0)(cons 73  3)) (list (assoc 72 en)(assoc 73 en)) en)))
    ;;;      (if(eq Justify "TOPCenter")    (entmod (subst (list (cons 72  1)(cons 73  3)) (list (assoc 72 en)(assoc 73 en)) en)))
          (if(eq Justify "TOPRight")     (entmod (subst (list (cons 72  2)(cons 73  3)) (list (assoc 72 en)(assoc 73 en)) en)))
    ;;;      (if(eq Justify "MIDDLELeft")   (entmod (subst (list (cons 72  0)(cons 73  2)) (list (assoc 72 en)(assoc 73 en)) en)))
    ;;      (if(eq Justify "MIDDLECenter") (entmod (subst (list (cons 72  1)(cons 73  2)) (list (assoc 72 en)(assoc 73 en)) en)))
    ;;      (if(eq Justify "MIDDLERight")  (entmod (subst (list (cons 72  2)(cons 73  2)) (list (assoc 72 en)(assoc 73 en)) en)))
          (if(eq Justify "BOTTOMLeft")   (entmod (subst (list (cons 72  0)(cons 73  1)) (list (assoc 72 en)(assoc 73 en)) en)))
          (if(eq Justify "BOTTOMCenter") (entmod (subst (list (cons 72  1)(cons 73  1)) (list (assoc 72 en)(assoc 73 en)) en)))
          (if(eq Justify "BOTTOMRight")  (entmod (subst (list (cons 72  2)(cons 73  0)) (list (assoc 72 en)(assoc 73 en)) en)))
          )
    

    + Lỗi ở (subst (list (cons 72  2)(cons 73  3)) (list (assoc 72 en)(assoc 73 en)) en) ??  Vì hàm Subst chỉ thay thế cho 1 phần tử chứ ko phải list nhiều phần tử.

    + Mà ở mục này bạn nên áp dụng Vlax cho đơn giản : Ví dụ: 

    (if(eq Justify "TOPLeft")      (entmod (vla-put-alignment (vlax-ename->vla-object e1) 6)))

    • Vote tăng 1

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

    Xin chào mọi người
    Mình muốn hỏi vấn đề liên quan tới lệnh Find and Replace
    Khi mình kích vào dòng Text thì Autocad không tự động xắp xếp theo thứ những đối tượng đã kiếm
    Các bạn đã gặp lỗi này chỉ giúp mình với ạ

    001.png

     

    Nó có sắp xếp đấy bạn . Tuy nhiên nó ko sắp xếp theo kiểu Excel, mà nó sắp xếp theo kiểu đối tượng được tạo trước, tạo sau trong Cad.

    Vậy nên đây ko dc coi là lỗi, thôi thì mình dùng phần mềm nào thì chấp nhận cách chơi của phần mềm đấy thôi :))))


  8. 31 phút trước, phạmnampt đã nói:

    @conghoabạn giỏi hơn tôi nhưng chưa chắc đã bằng người khác đâu. Tôi mới học nên chưa hiểu hình này vẽ như nào nhờ mọi người giúp đỡ để tôi biết cách làm, tôi không biết bạn không vẽ được hay như nào nhưng tôn trọng người khác tý bạn à. vậy nhé !

     

    + Tôi chưa thấy người ta nói câu nào là không tôn trọng bạn.

    • Like 1
    • Vote giảm 1

  9. 5 giờ trước, nhiethuyeta5 đã nói:

    Chào Anh Chị.

    Em đang gặp rắc rối bản vẽ cad của em tập hợp từ nhiều nơi nên font chứ VNI, arial ... Nhưng bên em muốn chuyển về chuyển duy nhất là Arial, anh chị pro giúp em với.

    Khó khắn là text trong file cad của e ở rất nhiều nơi trên bản vẽ nên việc chuyển bằng Ctrl Shift F6 rất lâu, anh chị có cách nào thực hiện anh không.

    Cảm Ơn nhiều.

    ARIAL.dwg

    + Không phải a làm video này, nên em liên hệ với tác giả nhé. ( Mật khẩu : Em biết qua a Danh Công  ^^ )

     


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

    em làm bên đo bốc khối lượng.tính khối lượng từ các dim trong bảng vẽ cad rồi cộng lại với nhau.bác nào viết giúp em lisp xuất các dim từ cad sang excel trong cùng 1 ô. chi tiết xem tại hình ảnh đính kèm nhé.add zalo em. 0793664104 có trả phí cho anh em giúp đỡ nhé.image.thumb.png.4e62f62e0e89076353736387355685f3.png

    image.thumb.png.a829fbd8d6e38b4e89c8800bf4de12f0.png

     

    Bạn có thể tham khảo. Nhưng mất phí nhé :))

     

     


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

    cảm ơn 2 bác nhưng máy ở công ty em, bị ẩn hết thanh công cụ cái thanh mà có cái dòng đấy cũng bị ẩn luôn, giờ muốn lôi cái thanh đấy ra không biết phải dùng lệnh gì hay vào đâu để lôi ra

    Nếu ko có vấn đề gì về phiên bản cad thì em thử cài bản Cad khác xem sao. Nhiều khi lỗi trong Cad ko biết được nguyên nhân, nên cài bản cad khác cũng là 1 ý kiến chấp nhận được.


  12. 1. Lisp liên quan gì đến file bản vẽ nên bạn ko cần đăng lên, bởi đăng lên cũng không ai làm gì .

    2. Nguyên nhân "Mất lệnh" có hàng tá nguyên nhân: 1 Số ví dụ:

    a. Lisp bị lỗi ---> Cad không load được lệnh ---> Không dùng được lisp. ( Ví dụ lisp không được đặt tên tiếng việt, đường dẫn có chứa tiếng việt... )

    b. Lisp bị lỗi ---> Cad load được nhưng không dùng được. ( Lỗi từ trong code lisp)

    c. Lỗi do virut... ( acad.fas , acaddoc.lsp ngăn cản việc load lisp).

    ---> Tùy vào từng trường hợp mà người dùng sẽ biết cách sử lý. Dĩ nhiên, muốn xử lý cũng cần có kinh nghiệm.

     

×