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

bktec84

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

    45
  • Đã tham gia

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

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


  1. Để convert LWPOLYLINE to POLYLINE, có nghĩa là mình đang làm 1 việc đi lùi lịch sử (vì LWPOLYLINE tiến bộ hơn POLYLINE), bạn hãy làm như sau:

    1. Gõ PLINETYPE tại dòng lệnh rồi gõ vào 0. Mục đích để ngăn cản mọi sự tiến bộ của PLINE.

    2. Save as bản vẽ hiện hành sang định dạng AutoCAD R12/LT2 DXF (*.dxf).

    3. Sau đó mở lại bản vẽ dxf vừa save as.

     

    Để convert POLYLINE sang LWPOLYLINE, hãy làm như sau:

    1. Gõ PLINETYPE tại dòng lệnh rồi gõ vào 2. Mục đích để cho phép áp dụng sự tiến bộ của PLINE.

    2. Gõ Convert tại dòng lệnh, rồi chọn All, All.

    Xin anh Hoành kiểm tra giúp lại xem khi chuyển từ 2D Polyline thành Polyline làm như cách của anh không được. Theo anh nói tuy đi lùi lịch sử nhưng nó vấn có tác dụng lớn với một số người như những ai trong ngày thủy văn chẳng hạn ( Vì phần mền hỗ chợ chỉ nhận được đường Polyline không nhận được đường 2D Polyline). Do đó rất mong anh chỉ bảo dùm.


  2. Update theo yêu cầu: số số lẻ do nguời dùng nhập.

    (defun C:mat(/ ent typ nd ss ssle)
     (command "_.undo" "_begin")
     (or vlax-ename->vla-object (vl-load-com))
     (while
       (not
         (and (setq ent (car (nentsel "\nChon doi tuong de lay Text hay Chieu dai :")))
       (setq ent (vlax-ename->vla-object ent))
       (setq typ (vla-get-ObjectName ent))
       (cond
         ((wcmatch typ "*Text,*MLeader,*Attribute")
          (setq nd (vla-get-TextString ent)) )
         ((wcmatch typ "*AttributeDefinition")
          (setq nd (vla-get-TagString ent)) )
         ((wcmatch typ "*Line,*Spline,*Polyline,*Arc,*Circle,*Ellipse")
          (or *ssle* (setq *ssle* 0))
          (initget 4)
          (setq ssle (getint (strcat "\nSo so le <" (itoa *ssle*) ">: ")))
          (if ssle (setq *ssle* ssle))
          (setq nd (rtos (vlax-curve-getDistAtParam ent (vlax-curve-getEndParam ent)) 2 *ssle*)) )
         (t nil)
         ); cond
       ))
       (princ "\nDoi tuong chon khong hop le, Chon lai : "))  
     (princ (strcat"\nChon doi tuong de thay the gia tri Text <" nd "> :" ))
     (if (setq ss (ssget (list (cons 0 "*TEXT,*DIMENSION,MULTILEADER,ATTDEF")) ))
       (foreach ent (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))
         (setq ent (vlax-ename->vla-object ent)
        typ (vla-get-ObjectName ent))
         (cond
    ((wcmatch typ "*Text,*MLeader")	      (vla-put-TextString ent nd) )
    ((wcmatch typ "*Dimension*")          (vla-put-TextOverride ent nd) )
    ((wcmatch typ "*AttributeDefinition") (vla-put-TagString ent nd) )
    ); cond
         )
       )
     (command "_.undo" "_end")
     (princ)
    )

    Anh cho hỏi sao em chay lisp thì báo là: Error: Bad functione: nil

    Em rất cần cái lisp này của anh nhưng không chay được mong anh kiểm tra lại và giải thích dùm.


  3. Biến hệ thống trong AutoCAD dùng để lưu các thông số điều khiển cho các lệnh. Nhiều khi chúng ta dùng lệnh không được như ý cũng là do biến hệ thống đã bị thay đổi (chủ ý hay vô ý).

     

    Xin đề cập một số biến hệ thống thông dụng.

    - PICKFIRST: Nếu biến này là 0, khi bạn chọn đối tượng rồi mới gõ lệnh, lệnh sẽ bắt chọn lại đối tượng. Đối tượng cũ sẽ bị deselect.

    - PICKADD: Nếu biến này là 0, bạn chỉ chọn được từng đối tượng 1, khi bạn chọn đối tượng mới đối tượng cũ sẽ bị deselect.

    - PICKAUTO: Nếu biến này là 0, bạn không thể crossing hay window để chọn đối tượng một cách tự động (Bạn phải gõ C hay W khi dấu nhắc chọn).

    - PICKDRAG:Nếu biến này là 1, khi bạn chọn crossing hay window bạn phải drag chuột (giống corel, word,...) thay vì pick 2 lần.

    - QTEXT: nếu biến này là on, text của bạn sẽ trở thành 1 hình chữ nhật. Và hiển thị rất nhanh. Đặt on cho biến này khi bản vẽ có quá nhiều text, mà bạn không có nhu cầu phải xem chúng.

     

    - MIRRTEXT: nếu biến này là 1, text sẽ bị ngược khi sử dụng lệnh mirror. Bằng 0 thì text vẫn như bình thường trong lệnh mirrtext. Lệnh này còn có tác dụng với Attribute trong block.

     

    - CURSORSIZE: Kích thước con trỏ, 100 là đầy màn hình, 5 là mặc định ban đầu lúc cài ACAD.

     

    - FILEDIA: nếu biến này bằng 0, tất cả các hộp thoại hỏi về file đều không xuất hiện. Ví dụ khi bạn dùng lệnh Open, thay vì hộp thoại quen thuộc, ACAD sẽ hỏi tên file của bạn tại dòng COMMAND.

     

     

    Bác cho em hỏi khi em dùng lệnh Qtext sau đó bật ON rồi mà text trong bản vẽ vẫn không hiển thị thành Hình chữ nhật?

    Dung cả biến hệ thống Qtextmode về 1 rồi cũng không được? Mong giải thích dùm?

    Thank!


  4. Từ cửa sổ màn hình sọan thảo LISP của AutoCad chọn FILE - Make Application - New Application Wizard

    Chọn Simple hoặc Expert tùy theo nhu cầu.

    Cái này cho phép tích hợp cả file DCL vào trong VLX, FAS luôn

    Cái này tôi làm theo hướng dẫn của anh rồi nhưng ko hiểu tại sao khi làm Simple nhiều file *.lsp thì nó sẽ tạo thành file dạng *.vlx, còn khi dùng Expert thì không sao mà gộp nhiều file *.lsp vào thành một được? theo quan sát của mình thì có thể gộp 2 file *.lsp thì được. Còn nhiều hơn thì nó báo nỗi. Mong bạn chỉ dùm một cách cụ thể.

    Mong sớm nhận được hồi âm của bạn.


  5. Các cao thủ cho em hỏi trong Land civil 2008 khi muốn vẽ trắc ngang từ đường đỏ đã thiết kế ở các điểm đặc biệt nhu các điểm gấp khúc (thay đổi phương của đường đỏ) fải làm sao? Tôi đã chọn các ô tick trong mục: Section spaling settings, mà nó vẫn không cắt các trắc ngang tại điểm đó. Và các bác cho hỏi thêm 1 câu nữa là muốn trắc ngang cắt qua 1 điểm đặc biệt nào đó thì fải làm sao?

    Xin cảm ơn!

    Mong sớm nhận được hồi âm.


  6. Anh Hoành và các anh thân mến! em có một thắc mắc là không biết tại sao sau khi load lisp lên mà có lệnh trong lisp dùng được có lệnh không dùng được? Xin các bác chỉ dùm.

    Các bác thử load lên rồi kiểm tra giúp 3 lệnh sau nhé: sss và spp và brl tại sao không dùng được còn các lệnh khác bình thường. Em đang dùng Cad2007

    http://www.cadviet.com/upfiles/ACADnt.lsp


  7. Mẹo khi dùng lệnh fillet:

     

    Một số người khi dùng lệnh fillet, chủ yếu dùng để vát hai đối tượng vào nhau (radius=0). Nên khi đang fillet với một bán kính khác, họ muốn biến radius về 0 thì lại dùng tham số R rồi gõ vào 0. Khi muốn quay trở lại bán kính đang làm thì lại làm lại.

     

    Để khắc phục điều này, AutoCAD cho bạn chức năng giữ SHIFT, lệnh fillet sẽ mặc định radius=0, nhả ra thì bán kính fillet lại trở thành bình thường.

     

    Em làm như vậy thì bán kính của 2 đường khi nối với nhau la 1 chứ không phải là không? có fải em phải thay đổi 1 biến nào đó không? ah anh cho em hỏi luôn cái sao em muốn tìm trung điểm của 2 điểm khi dùng m2p hoặc mtp thì cad2004 báo không hiểu?


  8. Bạn muốn chỉ định một điểm là trung điểm của 2 điểm khác mà không có đối tượng nào để bắt midpoint? bạn sẽ vẽ một line đi qua 2 điểm đó và chọn midpoint, sau đó lại xóa line này đi?

     

    Không đến nỗi phức tạp như thế, khi bạn muốn xác định trung điểm, bạn chỉ cần nhập vào mtp hoặc m2p (middle between 2 point), ACAD sẽ hỏi bạn 2 điểm đầu mút, thế là bạn đã có điểm ở giữa.

    Anh cho hỏi em dùng Cad 2004 nhưng khi muốn xác định trung điểm của 2 điểm đánh m2p hoặc là mtp nó đều báo không hiểu. mong anh giải thích rùm. Cảm ơn.


  9. Cảm ơn anh vì lòng nhiệt tình chia sẻ dữ liệu với tôi. Tôi đã download file mà anh upload lên rồi nhưng không thể nào xuất toạ độ của đường spline ra được khi tôi sử dụng lệnh coornp như anh hướng dẫn. Mong anh chỉ bảo thêm.

    Giả sử tôi muốn xuất toạ độ nằm trên đường spline bất kỳ nào đó (những điểm này tạo nên đường spline). thì không xuất ra được.

    Thank you!


  10. http://www.cadviet.com/upfiles/IMPORTXYZ_1.zip

    Thật sự tôi rất cảm ơn những chia xẻ của bạn. Tôi đang rất cần sử dụng lisp này, tôi vẫn thường xuyên sử dụng lisp nhưng tôi không viết lisp nên không hiểu nắm. Hiện nay tôi không biết cách liên kết đến file IMPORTXYZ.DCL như thế nào. Rất mong được sự chỉ bảo của bạn. Thanh you! mong sớm nhận được hồi âm.

×