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

ronaldo2002

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

    67
  • Đã tham gia

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

  • Ngày trúng

    2

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


  1. Vào lúc 6/5/2024 tại 08:42, vietduc147258 đã nói:

    Mình nên sống thật đi. Move một đường về phía đường còn lại 1 khoảng =643-220 là được.

    Còn không muốn sống thật thì ED rồi xóa text 643 đi, viết vào là 220 thôi. hoặc chỉnh Dim scale linear =220/643

    Quan trọng nhất là học vẽ từ căn bản vẽ kĩ thuật rồi đến autocad nữa

    chắc ng mới mà , sếp k thấy auto card sai chính tả nữa kìa. 

    • Vote giảm 1

  2. 49 phút trước, amateurday đã nói:

    Tớ không hiểu là nếu các BV có những block giống tên, khác chi tiết, vậy gộp vào nó sẽ tè le thì sao?

    Bên phần mềm  3d tự định dạng nên ko trùng block như kiểu 1 2 3 4 5 khi xuất sang cad . Còn khi xuất thì nó tọa độ 0:0 làm gốc trái của khung bản vẽ nên khi gộp nó ko tè lè ra đc. Mỗi tội gộp lâu


  3. Mình có hay sử dụng lisp gộp bản vẽ imf lụm nhặt được trên này. Nhưng có một vấn đề là nếu gộp 100 bản vẽ thì nó cũng sẽ sắp xếp full theo 1 hàng ngang khiến việc theo dõi khó khăn hơn.
    Mong các ae pro sửa giúp mình để khi gộp bản vẽ cứ 10 bản ở 1 hàng.
    Ví dụ 100 bản vẽ sẽ có 10 hàng dọc và 10 hàng ngang.
    Các hàng ngang thì hôm nọ bác tiến sửa cho cách nhau 1000 rồi, xin các bác nếu sửa thì cho em khoảng cách giữa các hàng dọc là 5000 như ảnh.
    Thanks all 

    HOI CAD.png


  4. 3 phút trước, NTHAHT đã nói:
    
    (vl-load-com)
    (vlr-command-reactor nil '((:vlr-commandWillStart . startCommand)))
    (vlr-command-reactor nil '((:vlr-commandEnded . endCommand)))
    (defun startCommand  (calling-reactor startcommandInfo / thecommandstart)
      (setq thecommandstart (nth 0 startcommandInfo))
      (cond ((eq thecommandstart "XLINE") (setq lastentity (entlast))))
      (princ))
    (defun endCommand  (calling-reactor endcommandInfo / thecommandend)
      (setq thecommandend (nth 0 endcommandInfo))
      (cond ((eq thecommandend "XLINE")
             (while (and lastentity (setq lastentity (entnext lastentity)))
               (setpropertyvalue lastentity "Transparency" 50)
               (setpropertyvalue lastentity "Color" 11))))
      (princ))

     

    THANKS KIU A ZAI NHIỀU NHA. NHẬN ĐC NHIỀU SỰ GIÚP ĐỠ CỦA A QUÁ !!!!


  5. Vào lúc 27/11/2023 tại 10:24, NTHAHT đã nói:

    Bạn dùng thử cái này xem, nó tự gán transparency cho XLine khi kết thúc lệnh XLINE.

    
    (vl-load-com)
    (vlr-command-reactor nil '((:vlr-commandWillStart . startCommand)))
    (vlr-command-reactor nil '((:vlr-commandEnded . endCommand)))
    (defun startCommand  (calling-reactor startcommandInfo / thecommandstart)
      (setq thecommandstart (nth 0 startcommandInfo))
      (cond ((eq thecommandstart "XLINE") (setq lastentity (entlast))))
      (princ))
    (defun endCommand  (calling-reactor endcommandInfo / thecommandend)
      (setq thecommandend (nth 0 endcommandInfo))
      (cond ((eq thecommandend "XLINE")
             (while (and lastentity (setq lastentity (entnext lastentity)))
               (setpropertyvalue lastentity "Transparency" 50))))
      (princ))

     

    mãi mới tìm thấy bài gốc của a, nhờ a thêm cho e 1 dòng code để xline được vẽ ra sẽ luôn có màu 11 và độ mờ thì như 50 đc k a


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

    nthaht_autodimxy Lisp này mình đã gỡ các lệnh Dx, Dy, Dxy. Nó chỉ còn hàm: nthaht_autodimxy

    Bạn muốn sửa tên lệnh thì làm như sau: tạo 1 file .lsp mới copy 3 dòng dưới vào sau đó đổi tên lệnh (hoặc copy vào 1 lisp nào đó).
    Load đồng thời lisp các lisp là được.

     

    (defun c:DX () (nthaht_autodimxy "X"))
    (defun c:DY () (nthaht_autodimxy "Y"))
    (defun c:DXY () (nthaht_autodimxy "XY"))

     

    THANKS KIU A NHIỀU NHA !!!


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

    + Lisp ở dưới đây, để bạn có thể sửa thoả thích.

    + Ngoài ra mình còn làm thêm 3 lệnh khác là DX, DY, DXY.

      - Lệnh DX, DY tương tự lệnh X1, Y1 có khác chút là khi chọn điểm đặt dim, thì không phải kiểu pick điểm mà là rê chuột tương tự lệnh Dim của cad.

      - Lệnh DXY: tự động dò phương khi di chuột chọn điểm đặt dim.

      - Trước khi chọn điểm đặt chân dim có tuỳ chọn Dim tổng hay không [Yes/No], và có chuyển đổi kiểu dim theo phương X, Y hay tự động.

    
    (alert (apply 'strcat
                  (list "AutoDIM kích th\U+01B0\U+1EDBc Line, Xline theo tr\U+1EE5c X & Y.\n"
                        "   + L\U+1EC7nh: X1 DIM theo tr\U+1EE5c X.\n"
                        "   + L\U+1EC7nh: Y1 DIM theo tr\U+1EE5c Y.\n"
                        "\t- Ng\U+01B0\U+1EDDi vi\U+1EBFt: NTHAHT@CadViet.com-2024")))
    (vl-load-com)
    (defun _Autodimxy_nthaht  (dim / asp pcd pdd doc ent lsp rot ss)
      (setq asp (vlax-get (setq doc (vla-get-activedocument (vlax-get-acad-object)))
                          (if (> (vla-get-activespace doc) 0)
                            'modelspace
                            'paperspace)))
      (while (and (princ (strcat "\nQuét ch\U+1ECDn Line, Ray, Xline \U+0111\U+1EC3 dim theo tr\U+1EE5c " dim "!"))
                  (setq ss (ssget '((0 . "LINE,XLINE,RAY"))))
                  (> (sslength ss) 1)
                  (setq pcd (getpoint "\nV\U+1ECB trí chân Dim: "))
                  (setq pdd (getpoint "\nV\U+1ECB trí \U+0111\U+1EB7t Dim: " pcd)))
        (setq lsp nil)
        (while (and (setq ent (ssname ss 0)) (ssdel ent ss))
          (setq lsp (cons (cdr (assoc 10 (entget ent))) lsp)))
        (cond ((eq dim "X")
               (setq lsp (vl-sort lsp '(lambda (x y) (< (car x) (car y))))
                     lsp (mapcar '(lambda (p) (list (cons (car p) (cdr pcd)) (cons (car p) (cdr pdd)))) lsp)
                     rot 0))
              ((eq dim "Y")
               (setq lsp (vl-sort lsp '(lambda (x y) (< (cadr x) (cadr y))))
                     lsp (mapcar '(lambda (p) (list (cons (car pcd) (cdr p)) (cons (car pdd) (cdr p)))) lsp)
                     rot (* 0.5 pi))))
        (mapcar '(lambda (x y / d)
                   (if (> (distance (car x) (car y)) 1e-5)
                     (progn (setq d (vlax-invoke asp 'AddDimRotated (car x) (car y) (cadr x) rot))
                            (entmod (list (cons -1 (vlax-vla-object->ename d)) (cons 8 "DIM"))))))
                lsp
                (cdr lsp)))
      (princ))
    (defun C:X1 () (_Autodimxy_nthaht "X"))
    (defun C:Y1 () (_Autodimxy_nthaht "Y"))

    Dxy - Lisp này chỉ hiện lên bảng thông báo duy nhất lần load đầu tiên.

     

    CÁC DX DY ĐÚNG LÀ ĐỈNH CỦA CHÓP LUÔN ANH ĐỠ PHẢI CĂN CUTDIM VỚI BẰNG DIM. HƠI THAM LAM NMA NẾU CÓ THỂ CHO EM XIN FILE LSP VỚI ANH, EM MUỐN TÙY CHỈNH TÊN LỆNH CHÚT. VÌ CÁI DX DY DXY NÀY ĂN ĐỨT CÁI X1 Y1 RỒI Ạ


  8. 2 giờ trước, limfx đã nói:

    Mấy giây hiện thông báo có đáng gì với việc hữu ích rút ngắn thời gian mà lisp mang lại. Chúc bạn thành công!

    Vâng bản chất lisp là muốn thao tác nhanh nên em cũng nói lên suy nghĩ của bản thân thôi. Còn em luôn tôn trọng tác giả và mn đã giúp đỡ. Có những lisp e k nhờ đc thì phải bỏ tiền ra mua nên em luôn biết ơn những ng viết và chia sẽ free cho cộng đồng.
     

×