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

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

Tôi muốn chọn một kích thước hiện có, sau đó nó sẽ được chia thành 3 kích thước nhỏ. Khoảng cách thực tế của 2 kích thước đầu sẽ bằng L/8 và được làm tròn tới 50mm. Khoảng cách ở giữa sẽ là phần còn lại sau khi trừ đi 2 kích thước đã làm tròn.Xin cảm ơn.

s1s.png

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

Đây nhé

(defun c:test ( / ANG D D1 E1 E2 E3 ENT1 OBJ1 P13 P13A P14 P14A)
  (setq ent1 (car (entsel "\nPick dim:"))
        obj1 (vlax-ename->vla-object ent1)        
        e1 (entget ent1)
        e2 (entget (vlax-vla-object->ename (vla-copy obj1)))
        e3 (entget (vlax-vla-object->ename (vla-copy obj1)))
        )
  (setq p13 (cdr (assoc 13 e1))
        p14 (cdr (assoc 14 e1))
        ang (angle p13 p14)
        d (distance p13 p14)
        d1 (* (fix (+ (/ d 8 100.0) 0.5)) 100)
        p13a (polar p13 ang d1)
        p14a (polar p13 ang (- d d1))
        )
  (setq e1 (subst (cons 13 p13a) (assoc 13 e1) e1)
        e1 (subst (cons 14 p14a) (assoc 14 e1) e1)
        )
  (entmod e1)
  
  (setq e2 (subst (cons 14 p13a) (assoc 14 e2) e2))  
  (entmod e2)

  (setq e3 (subst (cons 13 p14a) (assoc 14 e3) e3))  
  (entmod e3)
  )

 

  • Like 2

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ác Cường viết hay lắm, nhưng bác không tính đến trường hợp 2 chân dim dài khác nhau, khi đó kết quả sẽ sai.

Untitled.png.c10afa1c6c8e999d365105dac19734a6.png

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

@7o7 Viết vậy thôi, đẻ cho đủ quick reaply. Người ta nói 70-80% thời gian là sửa chữa thứ mình viết, mình nghĩ là nhiều hơn. Và có lúc mình làm non quá không sửa nổi.:-). Chắc nó ở mã  dxf 10, 11.

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
1 giờ} trướ}c, 7o7 đã nói:

Bác làm thêm cái vụ rải cốt đai theo kích thước nữa thì toẹt vời!

Có sẵn rồi mà 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
7 phút trước, amateurday đã nói:

Cảm ơn bạn, đã tải và chạy ngon.

Không biết có nên thêm phương án cho cột đứng không nhỉ?

- Nó chỉ là chia cái dim ra thôi mà! (hình ảnh là chỉ minh họa). Chức năng của nó là chia dim thành 3 (có 2 dim 2 bên bằng nhau)

- Chọn gối thì làm tròn 2 dim 2 bên.

- Chọn nhịp thì làm tròn dim giữa.

  • 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

Đã chỉnh sửa cho bạn, bổ sung tỉ lệ chia > 1.

(defun c:test ( / ANG D D1 E1 E2 E3 ENT1 OBJ1 P13 P13A P14 P14A ANG1 ANG2 CHIA)
  (setq ent1 (car (entsel "\nPick dim:"))
        chia (getreal "\nChia 2 dau L/ <8>:"))
  (if (null chia) (setq chia 8))
  (setq
        obj1 (vlax-ename->vla-object ent1)        
        e1 (entget ent1)
        e2 (entget (vlax-vla-object->ename (vla-copy obj1)))
        e3 (entget (vlax-vla-object->ename (vla-copy obj1)))
        )
  (setq p13 (cdr (assoc 13 e1))
        p14 (cdr (assoc 14 e1))
        ang1 (angle p13 p14)
        ang (cdr (assoc 50 e1))
        ang2 (- ang1 ang)
        d (* (cos ang2) (distance p13 p14))
        d1 (* (fix (+ (/ d chia 100.0) 0.5)) 100)
        p13a (polar p13 ang d1)
        p14a (polar p13 ang (- d d1))
        )
  (setq e1 (subst (cons 13 p13a) (assoc 13 e1) e1)
        e1 (subst (cons 14 p14a) (assoc 14 e1) e1)
        )
  (entmod e1)
  
  (setq e2 (subst (cons 14 p13a) (assoc 14 e2) e2))  
  (entmod e2)

  (setq e3 (subst (cons 13 p14a) (assoc 14 e3) e3))  
  (entmod e3)
  )

 

  • Like 1
  • 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
10 giờ trước, NTHAHT đã nói:

- Nó chỉ là chia cái dim ra thôi mà! (hình ảnh là chỉ minh họa). Chức năng của nó là chia dim thành 3 (có 2 dim 2 bên bằng nhau)

- Chọn gối thì làm tròn 2 dim 2 bên.

- Chọn nhịp thì làm tròn dim giữa.

Tớ có mấy ý này:

- trong cột thì không phải lúc nào 2 đầu cũng đều bằng nhau, có thể lệch nhau 1 chút.

- có 1 lỗi nhỏ như ảnh về làm tròn (giống L/4, giống tròn 100).

image.thumb.png.6eb3a8a8b69b097ae1381e56aebd33e6.png

2 giờ trước, cuongtk2 đã nói:

tỉ lệ chia

Lisp của bác Cường cũng hay, nó nhớ được thuộc tính của dim chọn (VD như nhớ giá trị Text height đã modified), nhưng có lỗi nhỏ nếu dim nghiêng như ảnh và lisp không tùy chọn được giá trị làm tròn, và cũng không nhớ tỷ lệ đã sử dụng.

image.png.cda63681dc29e1a755814f670873f410.png

 

Lisp nào cũng tuyệt vời, bữa giờ mình tìm cái này mãi mà không có luô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
1 giờ trước, amateurday đã nói:

Tớ có mấy ý này:

- trong cột thì không phải lúc nào 2 đầu cũng đều bằng nhau, có thể lệch nhau 1 chút.

- có 1 lỗi nhỏ như ảnh về làm tròn (giống L/4, giống tròn 100).

image.thumb.png.6eb3a8a8b69b097ae1381e56aebd33e6.png

Haizzaaa... Không biết bạn dùng cad V mấy mà cái hộp thoại nó bị giãn thế kia nhỉ???

- Ý 1: Lệch nhau 1 chút, cái khó là cái chút này, 1 gang tay, 1 bước chân hay 1 con dao quăng ... :-D

- Ý 2: Nếu mình đoán không nhầm thì phía trên là làm tròn ở gối, dưới là làm tròn ở nhịp (số làm tròn đều là 100). Nếu như vậy thì đúng ý đồ của lisp chứ không phải lỗi.

*** Kích thước 5900/4 = 1475

+ Trường hợp 1: Làm tròn ở gối (tức là dim 2 bên), làm tròn lên thành 1500 (chia hết cho 100), kích thước còn lại (5900-1500*2)=2900.

+ Trường hợp 2: Làm tròn ở nhịp (tức là dim giữa), (5900-2*1475)= 2950 làm tròn lên thành 3000 (chia hết cho 100), kích thước còn lại chia cho 2 bên (5900-3000)/2=1450.

image.png.19bf724676ccf5cc3e01529045e7f769.png

  • 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
12 giờ trước, NTHAHT đã nói:

Haizzaaa... Không biết bạn dùng cad V mấy mà cái hộp thoại nó bị giãn thế kia nhỉ???

- Ý 1: Lệch nhau 1 chút, cái khó là cái chút này, 1 gang tay, 1 bước chân hay 1 con dao quăng ... :-D

- Ý 2: Nếu mình đoán không nhầm thì phía trên là làm tròn ở gối, dưới là làm tròn ở nhịp (số làm tròn đều là 100). Nếu như vậy thì đúng ý đồ của lisp chứ không phải lỗi.

*** Kích thước 5900/4 = 1475

+ Trường hợp 1: Làm tròn ở gối (tức là dim 2 bên), làm tròn lên thành 1500 (chia hết cho 100), kích thước còn lại (5900-1500*2)=2900.

+ Trường hợp 2: Làm tròn ở nhịp (tức là dim giữa), (5900-2*1475)= 2950 làm tròn lên thành 3000 (chia hết cho 100), kích thước còn lại chia cho 2 bên (5900-3000)/2=1450.

image.png.19bf724676ccf5cc3e01529045e7f769.png

À, vậy là ý 2 tớ bị nhầm. Còn ý với cột thì chắc kéo tay cũng được, vì nó không có L/mấy cụ thể, lúc thì 2 đầu bằng nhau, lúc thì dưới dài trên ngắn, cũng không biết có trên dài dưới ngắn không nữa.

 

Cad tớ 2019 nhé.

Chỉnh sửa theo amateurday
Ver cad

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
41 phút trước, NTHAHT đã nói:

Mình đang làm cái này.

image.png.c5325b19547f97c0a44f5ef94554ada0.pngimage.png.4941efe85d1dce7840b11c64f314d26e.png

Xịn xò luôn. Cột thì 3 cái L có lẽ nên 2 tùy chọn, 1 là auto, 2 là nhập tay nhỉ?

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
9 giờ trước, amateurday đã nói:

Xịn xò luôn. Cột thì 3 cái L có lẽ nên 2 tùy chọn, 1 là auto, 2 là nhập tay nhỉ?

Bản mới: https://drive.google.com/file/d/11V6kjJWI4sf2OWj0n4e8NkmcYMNwNyDv/view?usp=sharing

image.png.33189f628c0cd595d8da4172f483ce86.png

- Phần cột muốn sử dụng giá trị nhập tay thì ở chỗ Lc/hc phải để "Fix", còn không thì tự động theo TCVN:9386-2012

- Phần nhập tay có 2 lựa chọn:

  a. Nếu để "Đầu - Đầu" thì giá trị 2 đầu bằng nhau = kích thước 1

  b. Nếu để "Đầu - Cuối" thì giá trị Đầu = kích thước 1, Cuối = kích thước 2 (Đầu, Cuối ở đây là khi tạo Dim (gốc), điểm pick trước là điểm đầu...)

- Nút "Draw" là để tạo 3 DIM cùng lúc, từ các thiết lập ở trong hộp thoại - Bên cạnh có lựa chọn Dimstyle trước khi tạo dim.

- Nút có màu là để sửa các dim có gán đai (hiệu chỉnh đường kính, khoảng cách rải ...)

- Khi lựa chọn cột, có thể pick vào hình minh họa để xem điều kiện căn cứ tính toán tự động kích thước khoảng tới hạn theo TCVN:9386-2012

  • Like 1
  • 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
59 phút trước, NTHAHT đã nói:

- Nút có màu là để sửa các dim có gán đai (hiệu chỉnh đường kính, khoảng cách rải ...)

Quá tuyệt vời luôn, rất nhiều tùy chọn để hiệu chỉnh. Tớ có thắc mắc nữa là: khi hiệu chỉnh đai có phải:

- 1 nút là chức năng tương tự match properties của cad?

- 1 nút là xóa đai hiện hữu?

- số gia nghĩa là gì nhỉ?

Thêm nữa là nút mũi tên 2 chiều hình như không có tác dụng đổi kích thước cho nhau (tớ đoán ý định là thế).

 

Ngoài ra, thay mặt 500 anh em đã đang và sẽ sử dụng tool này xin cảm ơn bạn. Cảm ơn bạn đã nhiệt tình chỉnh sửa lisp này!!!

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
58 phút trước, amateurday đã nói:

Quá tuyệt vời luôn, rất nhiều tùy chọn để hiệu chỉnh. Tớ có thắc mắc nữa là: khi hiệu chỉnh đai có phải:

- 1 nút là chức năng tương tự match properties của cad?

- 1 nút là xóa đai hiện hữu?

- số gia nghĩa là gì nhỉ?

Thêm nữa là nút mũi tên 2 chiều hình như không có tác dụng đổi kích thước cho nhau (tớ đoán ý định là thế).

 

Ngoài ra, thay mặt 500 anh em đã đang và sẽ sử dụng tool này xin cảm ơn bạn. Cảm ơn bạn đã nhiệt tình chỉnh sửa lisp này!!!

image.thumb.png.a487a2ed3ef5ab55b9b0bc045dfbd42d.png

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

×