Đến nội dung


Hình ảnh
- - - - -

Nhờ Viết Lisp: Mặt Bích Trong Kết Cấu Thép


  • Please log in to reply
20 replies to this topic

#1 luc_xd

luc_xd

    biết zoom

  • Members
  • Pip
  • 14 Bài viết
Điểm đánh giá: -8 (bình thường)

Đã gửi 03 December 2015 - 05:00 PM

Công việc của mình hay vẽ lại các bản mã như thế này, tuy đơn giản nhưng lại mất thời gian. Mình muốn có một lisp chỉ cần nhập kích thước bản mã, khoảng cách lỗ theo 2 phương ( Lỗ chèn bằng block trong File đính kèm).
Xin cảm ơn rất nhiều!

http://www.cadviet.c...5759_ban_ma.dwg


  • -1

#2 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 04 December 2015 - 11:12 AM

Công việc của mình hay vẽ lại các bản mã như thế này, tuy đơn giản nhưng lại mất thời gian. Mình muốn có một lisp chỉ cần nhập kích thước bản mã, khoảng cách lỗ theo 2 phương ( Lỗ chèn bằng block trong File đính kèm).
Xin cảm ơn rất nhiều!

http://www.cadviet.c...5759_ban_ma.dwg

Hề hề hề,

Không rõ bạn có hiểu hết yêu cầu bạn cần hay không, nhưng với mô tả trên bản vẽ cũa bạn thì các bản mã bạn cần đều là hình chữ nhât và chỉ có 4 lỗ bu lông thôi hay sao??? Các lỗ bu lông này đều đối xưng qua đường tâm bản mã ư??? Các lỗ bu lông đều có chung đường kính ư???

Nếu bạn còn cần tới các dạng bản mã khác thì hãy nói rõ để có thể làm lisp một lần, tránh phải làm đi làm lại nhiều lần bạn ạ.


  • 1
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#3 luc_xd

luc_xd

    biết zoom

  • Members
  • Pip
  • 14 Bài viết
Điểm đánh giá: -8 (bình thường)

Đã gửi 04 December 2015 - 12:27 PM

Hề hề hề,

Không rõ bạn có hiểu hết yêu cầu bạn cần hay không, nhưng với mô tả trên bản vẽ cũa bạn thì các bản mã bạn cần đều là hình chữ nhât và chỉ có 4 lỗ bu lông thôi hay sao??? Các lỗ bu lông này đều đối xưng qua đường tâm bản mã ư??? Các lỗ bu lông đều có chung đường kính ư???

Nếu bạn còn cần tới các dạng bản mã khác thì hãy nói rõ để có thể làm lisp một lần, tránh phải làm đi làm lại nhiều lần bạn ạ.

Cảm ơn phamthanhbinh! Bản mã của mình luôn là hình chữ nhật, số lượng lỗ có thể 4,6,8.... Các lỗ này đều đối xứng qua tim bản mã và có chung đường kính và chỉ có 2 hàng lỗ theo phương ngang.Trong lệnh có thể hiện dòng G=.. rồi lệnh tự chia đều ra 2 phía chẳng hạn.  :)


  • -1

#4 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 04 December 2015 - 04:35 PM

Cảm ơn phamthanhbinh! Bản mã của mình luôn là hình chữ nhật, số lượng lỗ có thể 4,6,8.... Các lỗ này đều đối xứng qua tim bản mã và có chung đường kính và chỉ có 2 hàng lỗ theo phương ngang.Trong lệnh có thể hiện dòng G=.. rồi lệnh tự chia đều ra 2 phía chẳng hạn.  :)

Hề hề hề,

Vậy khi nào thì 4 lỗ, khi nào thì 6 lỗ và khi nào thì 8 lỗ????? Chia đều ra 2 phía theo nguyên tắc nào nhỉ??? Theo khoảng cách tâm lỗ hay theo khoảng cách từ mép bàn mã tới tâm lỗ biên????


  • 1
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#5 luc_xd

luc_xd

    biết zoom

  • Members
  • Pip
  • 14 Bài viết
Điểm đánh giá: -8 (bình thường)

Đã gửi 04 December 2015 - 09:03 PM

Hề hề hề,

Vậy khi nào thì 4 lỗ, khi nào thì 6 lỗ và khi nào thì 8 lỗ????? Chia đều ra 2 phía theo nguyên tắc nào nhỉ??? Theo khoảng cách tâm lỗ hay theo khoảng cách từ mép bàn mã tới tâm lỗ biên????

Số lượng lỗ không có qui luật nào hết phamthanh binh, tùy theo trường hợp chọn bu long. Giả sử M16 thì 6 con, M20 thì có 4 con chẳng hạn :D. Chia 2 phía  theo nguyên tắc canh từ tim bản bản mã ra. Ví dụ bản mã rộng 150 thì khoảng cách ngay tim sẽ là 80, 2 hàng bu long biên cách mép 35. Bản mã 214 khoang cách tim 100, 2 bên còn lại là 57 chẳng hạn… Ưu tiên chèn lỗ bằng Block trong File mình gởi nha phamthanhbinh , cảm ơn lần nữa!
Lisp nếu có thể theo mình thứ tự có thể là: Kích thước mặt bích (dài x rộng) -> G=, -> Số hang theo phương dọc-> Khoảng cách từ mép đến tim bu lông  hang 1->  khoảng cách tim bu lông hàng 2 - hàng 3, hàng 3-4…

Thân!


  • -2

#6 tien2005

tien2005

    biết lệnh properties

  • Members
  • PipPipPipPip
  • 257 Bài viết
Điểm đánh giá: 94 (tàm tạm)

Đã gửi 04 December 2015 - 10:18 PM

Số lượng lỗ không có qui luật nào hết phamthanh binh, tùy theo trường hợp chọn bu long. Giả sử M16 thì 6 con, M20 thì có 4 con chẳng hạn :D. Chia 2 phía  theo nguyên tắc canh từ tim bản bản mã ra. Ví dụ bản mã rộng 150 thì khoảng cách ngay tim sẽ là 80, 2 hàng bu long biên cách mép 35. Bản mã 214 khoang cách tim 100, 2 bên còn lại là 57 chẳng hạn… Ưu tiên chèn lỗ bằng Block trong File mình gởi nha phamthanhbinh , cảm ơn lần nữa!
Lisp nếu có thể theo mình thứ tự có thể là: Kích thước mặt bích (dài x rộng) -> G=, -> Số hang theo phương dọc-> Khoảng cách từ mép đến tim bu lông  hang 1->  khoảng cách tim bu lông hàng 2 - hàng 3, hàng 3-4…

Thân!

 

ý trên thì tính từ tim bản mã ra, dưới thì từ mép vào. Bạn yêu cầu không rõ ràng làm cho các lisper không biết đâu mà lần. Đó là lý do tại sao đến bây giờ Bạn vẫn chưa có lisp đúng theo mong muốn


  • 0

#7 luc_xd

luc_xd

    biết zoom

  • Members
  • Pip
  • 14 Bài viết
Điểm đánh giá: -8 (bình thường)

Đã gửi 05 December 2015 - 06:26 AM

ý trên thì tính từ tim bản mã ra, dưới thì từ mép vào. Bạn yêu cầu không rõ ràng làm cho các lisper không biết đâu mà lần. Đó là lý do tại sao đến bây giờ Bạn vẫn chưa có lisp đúng theo mong muốn

Ý của mình là zầy nè tien2005. Khoảng cách theo phương ngang thì tinh theo tim (chỉ nhập 1 lần), còn phương dọc thì tính từ mép trên xuống (nhập nhiều lần)

 115759_ban_ma.png


  • -2

#8 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 05 December 2015 - 07:55 AM

 Bản thân mình muốn cái gì thì phải đặt vấn đề cho rỏ, đã có 2 người hỏi để giúp nhưng cách ra đề của bạn vẫn chưa có rò ràng gì cả. Tôi gợi ý để bạn ra đề 1 phát ăn ngay.

-Bạn nhắc đi nhắc lại là dùng block để vẽ lổ bulong nên tôi nghỉ bạn dùng nó để thống kê. Nhưng vấn đề là bạn lại dùng nhiều loại bulong thế thì phải có nhiều block chứ 1 block rồi sửa chú thích thì thống kê kiểu gì?

-Trong bản vẽ có chú thích bulong, kích thước, độ dày thế thì đề ra cần đề cập tất cả các yếu tố này.

 Dựa trên gợi ý trên mà bạn ra đề còn không đầy đủ thì chắc người muốn viết giúp bạn cũng lười hỏi nửa.


  • 1

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#9 luc_xd

luc_xd

    biết zoom

  • Members
  • Pip
  • 14 Bài viết
Điểm đánh giá: -8 (bình thường)

Đã gửi 05 December 2015 - 10:16 AM

 Bản thân mình muốn cái gì thì phải đặt vấn đề cho rỏ, đã có 2 người hỏi để giúp nhưng cách ra đề của bạn vẫn chưa có rò ràng gì cả. Tôi gợi ý để bạn ra đề 1 phát ăn ngay.

-Bạn nhắc đi nhắc lại là dùng block để vẽ lổ bulong nên tôi nghỉ bạn dùng nó để thống kê. Nhưng vấn đề là bạn lại dùng nhiều loại bulong thế thì phải có nhiều block chứ 1 block rồi sửa chú thích thì thống kê kiểu gì?

-Trong bản vẽ có chú thích bulong, kích thước, độ dày thế thì đề ra cần đề cập tất cả các yếu tố này.

 Dựa trên gợi ý trên mà bạn ra đề còn không đầy đủ thì chắc người muốn viết giúp bạn cũng lười hỏi nửa.

Cảm ơn anh Duy đã nhắc nhở !
Em nghĩ trong Lisp có thể Scale Block theo kích thước bu lông, nếu không được thì có thể giữ nguyên, chỉ cần lấy vị trí tim bu lông là được.
Em chỉ cần hình vẽ bản mã, các ghi chú, DIM kích thước thì không cần. Mục đích của em chỉ là có được cái chi tiết bản mã một cách nhanh nhất. 

Yêu cầu của em : Lisp vẽ bản mã, Nhập kích thước bản mã (dài x rộng), Nhập số lượng bu lông, Nhập đường kính bu lông (nếu có thể ), Nhập khoảng cách 2 hàng bu lông tính tại tim theo phương ngang, Nhập các khoảng cách 1, khoảng cách 2, khoảng cách 3… theo phương dọc như trong hình. Các kích thước, ghi chú không cần chỉ cần cái chi tiết bản mã là được.

 Không biết còn thiếu thông tin gì nữa không  :D


  • -1

#10 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 05 December 2015 - 10:45 AM

Cảm ơn anh Duy đã nhắc nhở !
Em nghĩ trong Lisp có thể Scale Block theo kích thước bu lông, nếu không được thì có thể giữ nguyên, chỉ cần lấy vị trí tim bu lông là được.
Em chỉ cần hình vẽ bản mã, các ghi chú, DIM kích thước thì không cần. Mục đích của em chỉ là có được cái chi tiết bản mã một cách nhanh nhất. 

Yêu cầu của em : Lisp vẽ bản mã, Nhập kích thước bản mã (dài x rộng), Nhập số lượng bu lông, Nhập đường kính bu lông (nếu có thể ), Nhập khoảng cách 2 hàng bu lông tính tại tim theo phương ngang, Nhập các khoảng cách 1, khoảng cách 2, khoảng cách 3… theo phương dọc như trong hình. Các kích thước, ghi chú không cần chỉ cần cái chi tiết bản mã là được.

 Không biết còn thiếu thông tin gì nữa không  :D

Hề hề hề,

Vậy nếu có 40 hàng lỗ thì cũng nhập 39 lần khoảng cách ư????


  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#11 luc_xd

luc_xd

    biết zoom

  • Members
  • Pip
  • 14 Bài viết
Điểm đánh giá: -8 (bình thường)

Đã gửi 05 December 2015 - 11:16 AM

Hề hề hề,

Vậy nếu có 40 hàng lỗ thì cũng nhập 39 lần khoảng cách ư????

Mình chỉ cần 1 lisp đơn giản như zậy, vì mình không hiểu gì về viết lisp nên không hình dung Lisp có thể làm được tới đâu. Nêu phamthanhbinh thấy được thì có thể giúp luôn. Giả sử có 3 khoảng cách theo phương dọc đều bằng 100 thì có thể nhập luôn 3*100 giống Tekla zậy đó. 

Giả sử trường hợp nhiều khoảng cách như: 50- 100-100-100-65 thì nhập lần lượt là 50,  3*100,  65.  :)


  • 0

#12 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 06 December 2015 - 05:18 AM

Mình chỉ cần 1 lisp đơn giản như zậy, vì mình không hiểu gì về viết lisp nên không hình dung Lisp có thể làm được tới đâu. Nêu phamthanhbinh thấy được thì có thể giúp luôn. Giả sử có 3 khoảng cách theo phương dọc đều bằng 100 thì có thể nhập luôn 3*100 giống Tekla zậy đó. 

Giả sử trường hợp nhiều khoảng cách như: 50- 100-100-100-65 thì nhập lần lượt là 50,  3*100,  65.  :)

 

Bạn có thể dùng lệnh copym

Xác định trước bu lông đầu tiên góc trái dưới -> Copym

Bạn xem qua video

https://www.youtube....eature=youtu.be


  • 0

#13 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 07 December 2015 - 09:12 AM

Thử xem sao: Lệnh là VMB

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(Defun duy:xd_listngngancach<kytu (chuoi kytu / chuoi kytu ckq) 
(setq lkq nil)
(setq bdd 1) 
(setq b 1)
(setq l (fix (strlen chuoi)))
(repeat l
(setq a (substr chuoi b 1))
(cond
((= a kytu) 
(setq dkt (substr chuoi bdd (- b bdd)))
(setq lkq (append lkq (list dkt)))
(setq bdd (+ b 1)) 
)
)
(setq b (+ b 1))
)
(setq dkt (substr chuoi bdd (+ (- l bdd) 1)))
(setq lkq (append lkq (list dkt)))
lkq)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun c:vmb ()
(setq matbich (getstring "\nNhap kich thuoc mat bich <Cao * Rong>"))
(setq daimatbich (atoi (car (duy:xd_listngngancach<kytu matbich "*"))))
(setq rongmatbich (atoi (cadr (duy:xd_listngngancach<kytu matbich "*"))))
(setq diemve (getpoint "Diem tren ben trai mat bich"))
(command ".RECTANG" "_non" diemve "_non" (list (+ (car diemve) rongmatbich) (- (cadr diemve) daimatbich)) )
(or canhngang (setq canhngang 100))
(setq canhngang (cond ((getreal (strcat "\nKhoang cach ngang giua 2 cot bolon < " (rtos canhngang 2 2) " >:")))(canhngang)))
(setq bulong (getstring "\nNhap khoang cach doc tinh tu tren xuong <khoang1 + khoang2 +...+ khoangn"))
(setq khoangbulong (duy:xd_listngngancach<kytu bulong "+"))
(setq khoangvebulong 0.0)
(foreach khoangbulonghh khoangbulong 
(setq khoangvebulong (+ khoangvebulong  (atoi khoangbulonghh)))
(command ".insert" "BU LONG" "_non"  (list (+ (+ (car diemve) (/ rongmatbich 2)) (/ canhngang 2)) (- (cadr diemve) khoangvebulong)) 0.01 0.01 0)
(command ".insert" "BU LONG" "_non"  (list (- (+ (car diemve) (/ rongmatbich 2)) (/ canhngang 2)) (- (cadr diemve) khoangvebulong)) 0.01 0.01 0)
)
(princ)
)

  • 1

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#14 hoan2182

hoan2182

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2646 Bài viết
Điểm đánh giá: 832 (rất tốt)

Đã gửi 07 December 2015 - 11:15 AM

Ghi kích thước như của anh chủ thớt được gọi là ...siêu định vị, vì phôi dùng cho nguyên công khoan lỗ có kích thước không đồng nhất, do có sai số chế tạo .  Kích thước lắp ghép của chi tiết là khoảng cách tâm giữa các lỗ. Khoan trên đồ gá khoan có thể sai số  về kích thước khoảng cách lỗ có thể đạt được là  ±0.1 mm . Cách ghi kích thước chế tạo dùng cho bản mã với các hàng lỗ  đối xứng và không đối xứng với kích thước bản mã:

 

39678_kol.png

Quy ước vẽ kỹ thuật cũng cho phép khi  số lỗ cách đều nhau nhiều,  chỉ cần ghi đại diện 1 kích thước khoảng cách cho đỡ tốn mực/

Không biết anh chủ thớt có nhầm nhọt gì không khi viết: "Nhập số lượng bu lông, Nhập đường kính bu lông (nếu có thể )"???

Khi bản mã có từ 2 lỗ trở lên phải khoan lỗ rộng hơn đường kính bu lông ít nhất là 1 mm. Thí dụ cần xỏ bu lông M10 thì phải dùng mũi khoan Φ11 để khoan lỗ.


  • 1

Gió đưa cây cải về trời

Rau răm ở lại chịu lời đắng cay...


#15 luc_xd

luc_xd

    biết zoom

  • Members
  • Pip
  • 14 Bài viết
Điểm đánh giá: -8 (bình thường)

Đã gửi 08 December 2015 - 12:11 AM

 

Thử xem sao: Lệnh là VMB

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(Defun duy:xd_listngngancach<kytu (chuoi kytu / chuoi kytu ckq) 
(setq lkq nil)
(setq bdd 1) 
(setq b 1)
(setq l (fix (strlen chuoi)))
(repeat l
(setq a (substr chuoi b 1))
(cond
((= a kytu) 
(setq dkt (substr chuoi bdd (- b bdd)))
(setq lkq (append lkq (list dkt)))
(setq bdd (+ b 1)) 
)
)
(setq b (+ b 1))
)
(setq dkt (substr chuoi bdd (+ (- l bdd) 1)))
(setq lkq (append lkq (list dkt)))
lkq)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun c:vmb ()
(setq matbich (getstring "\nNhap kich thuoc mat bich <Cao * Rong>"))
(setq daimatbich (atoi (car (duy:xd_listngngancach<kytu matbich "*"))))
(setq rongmatbich (atoi (cadr (duy:xd_listngngancach<kytu matbich "*"))))
(setq diemve (getpoint "Diem tren ben trai mat bich"))
(command ".RECTANG" "_non" diemve "_non" (list (+ (car diemve) rongmatbich) (- (cadr diemve) daimatbich)) )
(or canhngang (setq canhngang 100))
(setq canhngang (cond ((getreal (strcat "\nKhoang cach ngang giua 2 cot bolon < " (rtos canhngang 2 2) " >:")))(canhngang)))
(setq bulong (getstring "\nNhap khoang cach doc tinh tu tren xuong <khoang1 + khoang2 +...+ khoangn"))
(setq khoangbulong (duy:xd_listngngancach<kytu bulong "+"))
(setq khoangvebulong 0.0)
(foreach khoangbulonghh khoangbulong 
(setq khoangvebulong (+ khoangvebulong  (atoi khoangbulonghh)))
(command ".insert" "BU LONG" "_non"  (list (+ (+ (car diemve) (/ rongmatbich 2)) (/ canhngang 2)) (- (cadr diemve) khoangvebulong)) 0.01 0.01 0)
(command ".insert" "BU LONG" "_non"  (list (- (+ (car diemve) (/ rongmatbich 2)) (/ canhngang 2)) (- (cadr diemve) khoangvebulong)) 0.01 0.01 0)
)
(princ)
)

Thanks a PHẠM QUỐC DUY rất nhiều, Lisp này rất đúng ý của e. Nêu được a có thể gom luôn nhiều khoảng cách giống nhau thành 1 bước. Ví dụ 3 khoảng 100 thì nhập là 3*100 . Được voi đòi 2 Bà Trưng  :lol:


  • -1

#16 luc_xd

luc_xd

    biết zoom

  • Members
  • Pip
  • 14 Bài viết
Điểm đánh giá: -8 (bình thường)

Đã gửi 08 December 2015 - 12:20 AM

Ghi kích thước như của anh chủ thớt được gọi là ...siêu định vị, vì phôi dùng cho nguyên công khoan lỗ có kích thước không đồng nhất, do có sai số chế tạo .  Kích thước lắp ghép của chi tiết là khoảng cách tâm giữa các lỗ. Khoan trên đồ gá khoan có thể sai số  về kích thước khoảng cách lỗ có thể đạt được là  ±0.1 mm . Cách ghi kích thước chế tạo dùng cho bản mã với các hàng lỗ  đối xứng và không đối xứng với kích thước bản mã:

 

39678_kol.png

Quy ước vẽ kỹ thuật cũng cho phép khi  số lỗ cách đều nhau nhiều,  chỉ cần ghi đại diện 1 kích thước khoảng cách cho đỡ tốn mực/

Không biết anh chủ thớt có nhầm nhọt gì không khi viết: "Nhập số lượng bu lông, Nhập đường kính bu lông (nếu có thể )"???

Khi bản mã có từ 2 lỗ trở lên phải khoan lỗ rộng hơn đường kính bu lông ít nhất là 1 mm. Thí dụ cần xỏ bu lông M10 thì phải dùng mũi khoan Φ11 để khoan lỗ.

Đúng là có sự nhầm lẫn ở đay hoan2182, đúng ra phải ghi là Nhập đường kính lỗ .

Còn về cách ghi kích thước, trước giờ mình không hề biết đến điều hoan2182 vừa nói. Mình sẽ coi lại điều này. Nhưng mình nghĩ DIM kiểu của mình chắc sẽ dễ gia công hơn đổi với bản mã nhiều hàng lỗ.


  • 0

#17 Han Tinh

Han Tinh

    biết vẽ pline

  • Members
  • PipPip
  • 63 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 08 December 2015 - 08:11 PM

 

Thử xem sao: Lệnh là VMB

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(Defun duy:xd_listngngancach<kytu (chuoi kytu / chuoi kytu ckq) 
(setq lkq nil)
(setq bdd 1) 
(setq b 1)
(setq l (fix (strlen chuoi)))
(repeat l
(setq a (substr chuoi b 1))
(cond
((= a kytu) 
(setq dkt (substr chuoi bdd (- b bdd)))
(setq lkq (append lkq (list dkt)))
(setq bdd (+ b 1)) 
)
)
(setq b (+ b 1))
)
(setq dkt (substr chuoi bdd (+ (- l bdd) 1)))
(setq lkq (append lkq (list dkt)))
lkq)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun c:vmb ()
(setq matbich (getstring "\nNhap kich thuoc mat bich <Cao * Rong>"))
(setq daimatbich (atoi (car (duy:xd_listngngancach<kytu matbich "*"))))
(setq rongmatbich (atoi (cadr (duy:xd_listngngancach<kytu matbich "*"))))
(setq diemve (getpoint "Diem tren ben trai mat bich"))
(command ".RECTANG" "_non" diemve "_non" (list (+ (car diemve) rongmatbich) (- (cadr diemve) daimatbich)) )
(or canhngang (setq canhngang 100))
(setq canhngang (cond ((getreal (strcat "\nKhoang cach ngang giua 2 cot bolon < " (rtos canhngang 2 2) " >:")))(canhngang)))
(setq bulong (getstring "\nNhap khoang cach doc tinh tu tren xuong <khoang1 + khoang2 +...+ khoangn"))
(setq khoangbulong (duy:xd_listngngancach<kytu bulong "+"))
(setq khoangvebulong 0.0)
(foreach khoangbulonghh khoangbulong 
(setq khoangvebulong (+ khoangvebulong  (atoi khoangbulonghh)))
(command ".insert" "BU LONG" "_non"  (list (+ (+ (car diemve) (/ rongmatbich 2)) (/ canhngang 2)) (- (cadr diemve) khoangvebulong)) 0.01 0.01 0)
(command ".insert" "BU LONG" "_non"  (list (- (+ (car diemve) (/ rongmatbich 2)) (/ canhngang 2)) (- (cadr diemve) khoangvebulong)) 0.01 0.01 0)
)
(princ)
)

Đây là lsp được ứng dụng nhiều trong lĩnh vực cơ khí, tuy nhiên nếu ứng dụng lsp trong trong  bv bất kì(không có block "bulong" sẵn) thì lsp không chạy được. Nếu bạn thêm chọn luôn chọn đường kính nữa thì tuyệt lắm! 

 
 
 

  • 0

#18 Tr.CongSon

Tr.CongSon

    biết lệnh array

  • Members
  • PipPipPip
  • 183 Bài viết
Điểm đánh giá: 40 (tàm tạm)

Đã gửi 09 December 2015 - 09:24 AM

Ý của mình là zầy nè tien2005. Khoảng cách theo phương ngang thì tinh theo tim (chỉ nhập 1 lần), còn phương dọc thì tính từ mép trên xuống (nhập nhiều lần)

 115759_ban_ma.png

 

 

Chủ thớt cho em hỏi:

 

Khoảng cách ngang (từ bolt->mép bản mã=65) và Khoảng cách dọc (từ bolt->mép bản mã=60)l à tính toán ra hay lấy theo cấu tạo ạ.Nếu lấy theo cấu tạo thì nên lấy >=1,5D và 2 k/c 2 mép này bằng nhau luôn cho dễ chế tạo?

Khi đó,thì khoảng cách dọc cũng chỉ cần nhập các giá trị ở giữa thôi ạ (các giá trị này >=2.5D),hơn nữa các k/c này phải bằng nhau mới đúng chứ ạ?

 

Còn trường hợp k/c ngang viết luôn cho trường hợp nếu có >2 hàng bulong cho tổng quát ^^ .


  • 0

#19 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 09 December 2015 - 09:32 AM

Thêm phần nhập khoảng cách nhân theo ý chủ thớt (ko chỉnh sửa gì nửa đâu nhé) có thề nhập hổn hợp như sau 100+200+3*150+200+4*60+300. Lưu ý là đoạn nhân thì nhập số lần nhân khoảng cách nhé.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(Defun duy:xd_listngngancach<kytu (chuoi kytu / chuoi kytu ckq) 
(setq lkq nil)
(setq bdd 1) 
(setq b 1)
(setq l (fix (strlen chuoi)))
(repeat l
(setq a (substr chuoi b 1))
(cond
((= a kytu) 
(setq dkt (substr chuoi bdd (- b bdd)))
(setq lkq (append lkq (list dkt)))
(setq bdd (+ b 1)) 
)
)
(setq b (+ b 1))
)
(setq dkt (substr chuoi bdd (+ (- l bdd) 1)))
(setq lkq (append lkq (list dkt)))
lkq)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun c:vmb ()
(setq matbich (getstring "\nNhap kich thuoc mat bich <Cao * Rong>"))
(setq daimatbich (atoi (car (duy:xd_listngngancach<kytu matbich "*"))))
(setq rongmatbich (atoi (cadr (duy:xd_listngngancach<kytu matbich "*"))))
(setq diemve (getpoint "Diem tren ben trai mat bich"))
(command ".RECTANG" "_non" diemve "_non" (list (+ (car diemve) rongmatbich) (- (cadr diemve) daimatbich)) )
(or canhngang (setq canhngang 100))
(setq canhngang (cond ((getreal (strcat "\nKhoang cach ngang giua 2 cot bolon < " (rtos canhngang 2 2) " >:")))(canhngang)))
(setq bulong (getstring "\nNhap khoang cach doc tinh tu tren xuong <khoang1 + khoang2 +solan * khoang nhan +...+ khoangn>"))
(setq khoangbulong (duy:xd_listngngancach<kytu bulong "+"))
(setq khoangvebulong 0.0)
(foreach khoangbulonghh khoangbulong 
(themnhan)
)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun themnhan ()
(setq khoangbulongnhan (duy:xd_listngngancach<kytu khoangbulonghh "*"))
(cond
((= (cadr khoangbulongnhan) nil) 
(setq khoangvebulong (+ khoangvebulong  (atoi khoangbulonghh)))
(command ".insert" "BU LONG" "_non"  (list (+ (+ (car diemve) (/ rongmatbich 2)) (/ canhngang 2)) (- (cadr diemve) khoangvebulong)) 0.01 0.01 0)
(command ".insert" "BU LONG" "_non"  (list (- (+ (car diemve) (/ rongmatbich 2)) (/ canhngang 2)) (- (cadr diemve) khoangvebulong)) 0.01 0.01 0)
 )
((/= (cadr khoangbulongnhan) nil)
(setq sonhan   (atoi (car khoangbulongnhan)))
(setq khoangnhan  (cadr khoangbulongnhan))
(repeat (fix sonhan)
(setq khoangvebulong (+ khoangvebulong  (atoi khoangnhan)))
(command ".insert" "BU LONG" "_non"  (list (+ (+ (car diemve) (/ rongmatbich 2)) (/ canhngang 2)) (- (cadr diemve) khoangvebulong)) 0.01 0.01 0)
(command ".insert" "BU LONG" "_non"  (list (- (+ (car diemve) (/ rongmatbich 2)) (/ canhngang 2)) (- (cadr diemve) khoangvebulong)) 0.01 0.01 0)
)
 )
)
(princ)
)

  • 1

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#20 hoan2182

hoan2182

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2646 Bài viết
Điểm đánh giá: 832 (rất tốt)

Đã gửi 09 December 2015 - 10:56 AM

Đúng là có sự nhầm lẫn ở đay hoan2182, đúng ra phải ghi là Nhập đường kính lỗ .

Còn về cách ghi kích thước, trước giờ mình không hề biết đến điều hoan2182 vừa nói. Mình sẽ coi lại điều này. Nhưng mình nghĩ DIM kiểu của mình chắc sẽ dễ gia công hơn đổi với bản mã nhiều hàng lỗ.

 

Lần đầu tiên em thấy anh ghi kích thước bảng mã  kiểu như ghi kích thước mặt bằng xây dựng nhà cửa. Vì đây chỉ có chi tiết bảng mã lắp ghép lên 1 chi tiết khác, các kích thước bao ngoài không đòi hỏi chính xác,  nên  cách ghi kích thước không ảnh hưởng gì đến quy trình công nghệ gia công lỗ. Nhưng chắc chắn là  không có chuyện  "dễ gia công hơn đối với bản mã nhiều hàng lỗ"  như anh nói.

 

Nếu cả thế giới này cùng ghi kích thước bản mã như anh, thì chắc chắn là phải xây dựng thêm vài tỉ nhà máy sản xuất mực in mới đáp ứng đủ nhu cầu in bản vẽ.

 

Khi một chi tiết có nhiều chi tiết lắp ghép lên nó, việc ghi kích thước tùy hứng qua cầu sẽ ảnh hưởng lớn đến công nghệ chế tạo, thí dụ:

 

ghi11.jpg
ghi22.jpg
ghi33.jpg
 


  • 0

Gió đưa cây cải về trời

Rau răm ở lại chịu lời đắng cay...