Thứ Hai, 3 tháng 3, 2025

Lisp vẽ lưới trục mặt bằng | Lisp miễn phí vẽ lưới trục mặt bằng trong AutoCAD | AutoLISP Reviewer

Ứng dụng được phát triển bởi đội ngũ AutoLISP Thật là đơn giản
   

Thông tin thêm: 👉👉👉

Giới thiệu VE_LUOI_TRUC


Vẽ mặt bằng là bước quan trọng với kiến trúc sư , nhưng lưới trục thủ công trong AutoCAD tốn thời gian  và dễ sai sót . VE_LUOI_TRUC – ứng dụng AutoLisp ra đời để tự động hóa, giúp bạn vẽ lưới trục nhanh chóng, chính xác! 

Tính năng nổi bật 

Tự động hoàn toàn: Vẽ lưới, ký hiệu (1-n, A-Z), vòng tròn , dim chỉ trong tích tắc! 

Tùy chỉnh dễ dàng: Điều chỉnh khoảng cách, số trục linh hoạt. 

Chuyên nghiệp: Text trong vòng tròn, dim rõ ràng – chuẩn bản vẽ kiến trúc! 

Hiệu suất cao: Dùng entmake, nhanh như chớp! 

Tại sao kiến trúc sư cần? 

Lưới trục là “bộ xương” của mặt bằng . Với nhà nhỏ hay công trình lớn, vẽ tay vừa chậm vừa dễ lỗi. VE_LUOI_TRUC:
  • Tiết kiệm thời gian: Từ giờ xuống giây! 
  • Chính xác tuyệt đối: Loại bỏ sai sót. 
  • Tăng sáng tạo: Tập trung thiết kế thay vì vẽ lặp! 

Ứng dụng thực tiễn 

Nhà ở, biệt thự, nhà cao tầng – tất cả đều OK! 

Chỉnh sửa lưới nhanh khi thiết kế thay đổi. 

Kết luận 

VE_LUOI_TRUC là trợ thủ đắc lực của kiến trúc sư, giúp vẽ mặt bằng nhanh, đẹp, chuẩn! Hãy thử ngay để tối ưu công việc và tạo nên những công trình ấn tượng! 




1 Thêm class AJS_[Ve_Luoi_Truc].lsp

Lưu mã sau dưới dạng tệp tin AJS_[Ve_Luoi_Truc].lsp
Code:
(defun c:VE_LUOI_TRUC ()
  ;; Yêu cầu người dùng nhập thông tin
  (setq n (getint "\nNhập số lượng trục X: "))
  (setq distX (getdist "\nNhập khoảng cách giữa các trục X: "))
  (setq m (getint "\nNhập số lượng trục Y: "))
  (setq distY (getdist "\nNhập khoảng cách giữa các trục Y: "))
  (setq p0 (getpoint "\nChọn điểm bắt đầu: "))
  (setq x0 (car p0))
  (setq y0 (cadr p0))
  (setq offset 1.0)  ;; Khoảng cách nhỏ để đặt ký hiệu và dim
  (setq textHeight 2.5)  ;; Chiều cao chữ
  (setq circleRadius (* textHeight 0.75))  ;; Bán kính vòng tròn (điều chỉnh tùy ý)

  ;; Vẽ các trục X (đường thẳng đứng)
  (setq i 0)
  (while (< i n)
    (setq x (+ x0 (* i distX)))
    ;; Tạo đường thẳng đứng
    (entmake (list '(0 . "LINE")
                   '(8 . "GRID")  ;; Layer
                   (cons 10 (list x y0 0.0))
                   (cons 11 (list x (+ y0 (* m distY)) 0.0))))
    ;; Tạo vòng tròn bao quanh text
    (entmake (list '(0 . "CIRCLE")
                   '(8 . "GRID_TEXT")
                   (cons 10 (list x (- y0 offset) 0.0))  ;; Tâm vòng tròn trùng với text
                   (cons 40 circleRadius)))  ;; Bán kính
    ;; Thêm ký hiệu (1, 2, 3, ..., n)
    (entmake (list '(0 . "TEXT")
                   '(8 . "GRID_TEXT")
                   (cons 10 (list x (- y0 offset) 0.0))
                   (cons 40 textHeight)
                   (cons 1 (itoa (1+ i)))
                   '(72 . 1)  ;; Căn giữa ngang
                   '(73 . 1)  ;; Căn giữa dọc
                   '(11 (0.0 0.0 0.0))))
    (setq i (1+ i))
  )

  ;; Vẽ các trục Y (đường nằm ngang)
  (setq j 0)
  (while (< j m)
    (setq y (+ y0 (* j distY)))
    ;; Tạo đường thẳng ngang
    (entmake (list '(0 . "LINE")
                   '(8 . "GRID")
                   (cons 10 (list x0 y 0.0))
                   (cons 11 (list (+ x0 (* n distX)) y 0.0))))
    ;; Tạo vòng tròn bao quanh text
    (entmake (list '(0 . "CIRCLE")
                   '(8 . "GRID_TEXT")
                   (cons 10 (list (- x0 offset) y 0.0))  ;; Tâm vòng tròn trùng với text
                   (cons 40 circleRadius)))  ;; Bán kính
    ;; Thêm ký hiệu (A, B, C, ..., Z)
    (entmake (list '(0 . "TEXT")
                   '(8 . "GRID_TEXT")
                   (cons 10 (list (- x0 offset) y 0.0))
                   (cons 40 textHeight)
                   (cons 1 (chr (+ 65 j)))
                   '(72 . 1)  ;; Căn giữa ngang
                   '(73 . 1)  ;; Căn giữa dọc
                   '(11 (0.0 0.0 0.0))))
    (setq j (1+ j))
  )

  ;; Thêm dim cho trục X
  (setq i 0)
  (while (< i (1- n))
    (setq x1 (+ x0 (* i distX)))
    (setq x2 (+ x0 (* (1+ i) distX)))
    (entmake (list '(0 . "DIMENSION")
                   '(100 . "AcDbEntity")
                   '(8 . "DIM")  ;; Layer cho dim
                   '(100 . "AcDbDimension")
                   (cons 10 (list x1 y0 0.0))  ;; Điểm đầu
                   (cons 11 (list x2 y0 0.0))  ;; Điểm cuối
                   (cons 13 (list (/ (+ x1 x2) 2) (- y0 (* 2 offset)) 0.0))  ;; Vị trí text
                   '(70 . 32)  ;; Loại dim: tuyến tính ngang
                   ))
    (setq i (1+ i))
  )

  ;; Thêm dim cho trục Y
  (setq j 0)
  (while (< j (1- m))
    (setq y1 (+ y0 (* j distY)))
    (setq y2 (+ y0 (* (1+ j) distY)))
    (entmake (list '(0 . "DIMENSION")
                   '(100 . "AcDbEntity")
                   '(8 . "DIM")
                   '(100 . "AcDbDimension")
                   (cons 10 (list x0 y1 0.0))  ;; Điểm đầu
                   (cons 11 (list x0 y2 0.0))  ;; Điểm cuối
                   (cons 13 (list (- x0 (* 2 offset)) (/ (+ y1 y2) 2) 0.0))  ;; Vị trí text
                   '(70 . 33)  ;; Loại dim: tuyến tính dọc
                   ))
    (setq j (1+ j))
  )
	(princ "www.lisp.vn")
	(princ) ;; Kết thúc lệnh một cách yên lặng
)

Link tải (MediaFire - Bản nâng cao)


Vẽ lưới nâng cao (do AJS phát triển) 

AutoLisp có tác dụng vẽ mặt bằng lưới trục trong AutoCAD, bao gồm các đường line cách nhau một khoảng cho trước theo hai phương X và Y, có ký hiệu ghi chú tên lưới (trục X từ 1 đến n, trục Y từ A đến Z), và có dim (chú thích khoảng cách) giữa các trục liền kề.

VE_LUOI_TRUC: Vẽ lưới theo các khoảng cách đều nhau


VE_LUOI_TRUC_KCL: Vẽ lưới theo khoảng cách lẻ chọn trước
Ví dụ: nhập khoảng cách giữa các nhịp 3,3,5,5,3,3


Link tải (MediaFire - Bản nâng cao)



Cách sử dụng

Sao chép mã vào file .lsp.

Tải file trong AutoCAD bằng APPLOAD.

Gõ lệnh VE_LUOI_TRUC và làm theo hướng dẫn:
  • Nhập số lượng trục X và Y.
  • Nhập khoảng cách giữa các trục.
  • Chọn điểm bắt đầu.
  • Nhập chiều cao Text (Phiên bản nâng cao VLX)

Kết quả hiển thị

  • Lưới trục với đường thẳng đứng (X) và ngang (Y).
  • Ký hiệu text (1-n và A-Z) được bao quanh bởi vòng tròn.
  • Dim hiển thị khoảng cách giữa các trục liền kề.



---------------------------------------------------------------------------------------------
Ứng dụng được phát triển bởi đội ngũ AutoLISP Thật là đơn giản - Tác giả ứng dụng in D2P

    

Mọi thông tin xin liên hệ Fanpage AutoLISP Thật là đơn giản!
Cảm ơn bạn đã theo dõi!

Không có nhận xét nào:

Đăng nhận xét

[QD] LISP DIM CỰC NHANH trong Autocad | Hướng dẫn sử dụng QD1 QD2 QD3 QDA | AutoLISP Reviewer

Ứng dụng được phát triển/Sưu tầm bởi đội ngũ AutoLISP Thật là đơn giản     Thông tin thêm: 👉👉👉