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

[yêu cầu &thảo luận] lisp vẽ mặt bằng kết cấu

Các bài được khuyến nghị

21028_hinh_abc.jpg

 

Hôm trước mình có tải lisp offset muti của ketxu http://www.cadviet.com/forum/topic/1642-lenh-offset-dac-biet/page-2. Mình chợt nảy ra ý tưởng: Từ trục định vị ta offset như trên hình vẽ rồi fillet ( hoặc trim) để ra được mbkc--> ta tổng hợp đc các bước này thì từ trục dình vị qua 1 lệnh vẽ ta đc mbkc 1 cách tương đối. Anh em thử ng/c về thuật toán làm việc trên có khả thi không.

Anh bạn mình đang đề xuất thuât toán: từ trục định vị --> dung lệnh BO các vung kín trong trục định vị, offset 110 vào trong vao layer hien hanh->>xóa bo cũ--- bo hình chữ nhật ngoài cùng trục định vị offset ra ngoài. Mọi người thử có khả thi không.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Khả thi. Không cần offset. Cũng không cần Bo. Chỉ có điều hơi mất công viết. Mức độ phức tạp còn phụ thuộc kiểu thẳng/xiên/cong của đường trục và các bề rộng 2 bên trục của chúng.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

việc vẽ mbkc thì ta có trục định vị bên kiến trúc cơ bản rồi. Mình copy với có lisp offset ra thì có vẻ tiện hơn là lại phải nhập khoảng cách trục định vị lại rồi nhập bảng như của xaydungIT. Up cho mọi người vào giúp nào.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

@phongtran86 xem Video này nhé :

 

cái này vẽ mặt bằng gì nhỉ? cột có kích thước bằng nhau, chỉ nằm trên giao của trục, và luôn đặt ngay tim cột, trên mặt bằng chi chít cột, tường thì kín mít vẽ ra xong ngồi chỉnh lại nhiều khi tự vẽ lúc đầu bằng MLINE còn nhanh hơn, 1 tiện ích cực kỳ ... bất tiện  :wacko:

p/s: bên này thấy có yêu cầu free ứng dụng bằng .NET đây, chủ topic có thể thử vận may: http://www.tramx.vn/Baiviet.aspx?id=demigod430201322149

Good luck!

  • Vote tăng 1
  • Vote giảm 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Bạn xem lại bài #2 ở trên và trình bày bài toán tổng quát của bạn xem. Nếu đơn giản thì tui mần cho, còn phức tạp thì chắc phải đợi vì hiện giờ không có nhiều thời gian.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

mức độ chỉ dừng là các trục là đường thẳng (ko có cong và xiên). Còn bề rộng là a nhập vào mặc định giá trị 110. Trục định vị cong xiên thì tính sau vậy :)

Bác mần giúp em phát :D. Cảm ơn bác nhiều

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Cái này, mình nhớ chính xác là đã có rồi, của bạn Phạm Ngọc Tú trong topic Viết Lisp Yêu cầu (Phần II). 

Giờ chừ mà tìm chắc "đoạ"  :lol:

Bạn liên hệ với tác giả thử xem.

Viết cũng được thôi, mà mất thời gian quá  ;)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Gửi bạn phongtran86 dùng tạm

Bạn dùng lệnh NETLOAD trỏ đến file MBKC1.dll sau đó dùng lệnh MBKC1 và thực hiện như video (Phiên bản chạy trên AutoCAD 2013 và 2014)

Link : http://www.cadviet.com/upfiles/3/106039_mbkc1.rar

 

PS : Ai thấy vẽ bằng Mline nhanh hơn thì cứ vẽ xin đừng chém :D

 

[media]

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Lisp vẽ hệ tường theo lưới trục.

67029_untitled1_1.png


 

;Doan Van Ha - CADViet.com - Ngay 17/05/2013
;Chuc nang: ve luoi tuong theo he truc.
(defun C:HA(/ lstd lstn lstg1 lstg x y)
 (vl-load-com)
 (command "undo" "be")
 (princ "\nChon cac Line duong truc...")
 (foreach ent (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget '((0 . "LINE"))))))
  (if (equal (car (cdr (assoc 10 (entget ent)))) (car (cdr (assoc 11 (entget ent)))) 1E-8)
   (setq lstd (cons ent lstd))
   (setq lstn (cons ent lstn))))
 (setq lstd (vl-sort lstd '(lambda (e1 e2) (< (car (cdr (assoc 10 (entget e1)))) (car (cdr (assoc 10 (entget e2))))))))
 (setq lstn (vl-sort lstn '(lambda (e1 e2) (< (cadr (cdr (assoc 10 (entget e1)))) (cadr (cdr (assoc 10 (entget e2))))))))
 (or kc (setq kc 110))
 (setq kc (cond ((getdist (strcat "\nBe day tuong <" (rtos kc 2 2) ">:"))) (kc)))
 (foreach entn lstn
  (setq lstg1 nil)
  (foreach entd lstd
   (if (setq giao (car (HA:Giao (vlax-ename->vla-object entn) (vlax-ename->vla-object entd) acExtendNone)))
    (setq lstg1 (cons giao lstg1))))
  (if lstg1 (setq lstg (cons lstg1 lstg))))
 (HA1 (caar lstg) (last (last lstg)) kc)
 (setq x 0)
 (repeat (1- (length lstg))
  (setq y 0)
  (repeat (1- (length (nth x lstg)))
   (HA (nth y (nth (1+ x) lstg)) (nth (1+ y) (nth x lstg)) kc)
   (setq y (1+ y)))
  (setq x (1+ x)))
 (command "undo" "e") 
 (princ))
(defun HA:Giao(obj1 obj2 mode / l r)
 (setq l (vlax-invoke obj1 'intersectwith obj2 mode))
 (repeat (/ (length l) 3)
  (setq r (cons (list (car l) (cadr l) (caddr l)) r) l (cdddr l)))
 r)
(defun HA(p1 p3 kc / p1x p3x)
 (setq p1x (list (+ (min (car p1) (car p3)) kc) (+ (min (cadr p1) (cadr p3)) kc))
       p3x (list (- (max (car p1) (car p3)) kc) (- (max (cadr p1) (cadr p3)) kc)))
 (command "rectang" "non" p1x "non" p3x))
(defun HA1(p1 p3 kc / p1x p3x)
 (setq p1x (list (- (min (car p1) (car p3)) kc) (- (min (cadr p1) (cadr p3)) kc))
       p3x (list (+ (max (car p1) (car p3)) kc) (+ (max (cadr p1) (cadr p3)) kc)))
 (command "rectang" "non" p1x "non" p3x))
  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Gửi bạn phongtran86 dùng tạm

Bạn dùng lệnh NETLOAD trỏ đến file MBKC1.dll sau đó dùng lệnh MBKC1 và thực hiện như video (Phiên bản chạy trên AutoCAD 2013 và 2014)

Link : http://www.cadviet.com/upfiles/3/106039_mbkc1.rar

 

PS : Ai thấy vẽ bằng Mline nhanh hơn thì cứ vẽ xin đừng chém :D

 

[media]

 

Khá hay đó bạn :)

Bạn có thể up đoạn video vẽ dầm trên mặt bằng kết cấu được không?

Cảm ơn bạn 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay


×