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

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

114276_untitled12.jpg

 

Anh hiepttr  củ ...hành  bác Hà rồi! :( :( :( :( :(

  Lisp bác Hà viết  nhắm mục tiêu chính là để xác định giao điểm của mặt 3D với đường thẳng,  theo yêu cầu của chị Hà em là  xác định tọa độ giao điểm >>> Sau khi TR3D phần đoạn thẳng nằm trong 3D sẽ bị cắt >>>Dùng lệnh ID xác để xác định  tọa độ của giao điểm.

Anh  đã vẽ trường hợp đặc biệt là đường thẳng không cắt mặt 3D mà cắt tại giao tuyến của các mặt 3D là ...lạc đề lạc đường rồi đó!

Anh đã máy móc sử dụng lisp không đúng lúc đúng chỗ, "không đọc kỹ hướng dẫn khi sử dụng thuốc" và quá lạm dụng lisp trong trường hợp đặc biệt  này  là tột cùng của sự ngô nghê, ngớ ngẩn!

Lý do rất đơn giản, khi đường thẳng cắt hình 3D tại các giao tuyến của các bề mặt của nó, người ta có 2 sự lựa chọn:

1/- Dùng ngay lệnh ID để xem tọa độ giao điểm:

2/- Cắt phần đường thẳng nằm trong khối 3D chỉ cần lệnh Trim là cắt được (nếu có nhu cầu, và thực tế là chẳng ai có nhu cầu như thế cả), khỏi cần phải dùng lisp cho mất thời gian AP...rồi thao tác dài dòng văn tự!

TR3D của Bác Hà hay ở chỗ,  nó cho người ta biết được "Duong thang khong cat khoi 3D" .

TR3D cũng rất biết ứng xử đúng... luật chơi và luôn  biết làm việc theo đúng chức năng  nhiệm vụ cao cả  của nó, không lấn sân sang công việc và chức năng của lệnh TRIM!

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

Kệ! Cũ hành đôi khi khoái khẩu cho người viết lisp. Những người lập trình chuyên nghiệp vẫn còn bỏ tiền thuê người ta test cơ mà, huống hồ cỏn con như tui.

Đã edit ở chỗ cũ.

  • 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

114276_untitled12.jpg

 

Anh hiepttr  củ ...hành  bác Hà rồi! :( :( :( :( :(

 

Cái Hoằn này lại muốn "chụp mũ" người ta rồi :D :D :D

Mình nhớ ko nhầm thì đây là 1 câu của 1 ai đó trên diễn đàn: "... người lập trình phải biết lường trước các khả năng ..."

 

1. Nếu hôm nay mình ngại vì sợ cho là người "củ hành - củ tỏi" bác Hà và ko post lên cái lỗi kia thì e rằng sau này người "dính đòn" khi dùng lisp này ko phải là mình mà là 1 ai đó, có thể là Haanh hay là Hoằn ... kia đó ! :D :D :D

Hay là Hoằn chọn giải pháp vừa auto lisp vừa auto tay cho việc này ?

Trong lúc đó mình "bán rẻ" cái củ kia đâu có đc chi ???

 

 

Anh  đã vẽ trường hợp đặc biệt là đường thẳng không cắt mặt 3D mà cắt tại giao tuyến của các mặt 3D

Cái đặc biệt ở đây ko phải là cái Hoằn đã nêu ở trên mà là: tại vị trí trung điểm của 2 giao điểm, có 1 đường thẳng khác "chồng lên" đường thẳng cần xác định giao.

 

2. Với level lisp như bác Hà, nếu mà mình củ hành củ tỏi đc đã là 1 vinh dự lớn :D :D :D

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

Tiếc là Hoằn không có tiền mua mũ để làm từ thiện bằng cách dìm đầu anh xuống để …chụp mũ!

1)-

Hiepttr hỏi: Nếu hôm nay mình ngại vì sợ cho là người "củ hành - củ tỏi" bác Hà và ko post lên cái lỗi kia thì e rằng sau này người "dính đòn" khi dùng lisp này ko phải là mình mà là 1 ai đó, có thể là Haanh hay là Hoằn ... kia đó !

Hoằn đáp: Có thể người khác bị dính đòn, còn Hoằn xin đảm bảo chắc chắn rằng  em Hoằn và chị Hà em sẽ không bao giờ bị ăn …quả lừa!

Hiepttr hỏi: Hay là Hoằn chọn giải pháp vừa auto lisp vừa auto tay cho việc này ?

Hoằn đáp: Khi nào dùng lisp, khi nào không dùng lisp là do công việc đòi hỏi. Nếu dòm thấy lisp không nhanh thì dùng Autocad.

 

Hiepttr hỏi: Trong lúc đó mình "bán rẻ" cái củ kia đâu có đc chi ???

Hoằn đáp: Được cái tột cùng của sự ngô nghê, ngớ ngẩn! Được cái làm  cái lãng phí thời gian vô ích của mọi người…(Đừng bao giờ đừng bao giờ suy bụng ta ra bụng người!)

 

Hiepttr hỏi: Cái đặc biệt ở đây ko phải là cái Hoằn đã nêu ở trên mà là: tại vị trí trung điểm của 2 giao điểm, có 1 đường thẳng khác "chồng lên" đường thẳng cần xác định giao.

Hoằn đáp: 3 em  cào cào mặc  tím+ xanh+ vàng nằm đè lên nhau, TR3D của bác Hà chơi được tuốt, làm thịt từng em một ngon lành!

 

114276_l%C3%A0m_th7883t.png

 

http://www.cadviet.com/upfiles/3/114276_làm_th7883t.dwg

 

2)-

 Hiepttr hỏi: Với level lisp như bác Hà, nếu mà mình củ hành củ tỏi đc đã là 1 vinh dự lớn

Hoằn đáp: Cầu mong anh sớm đạt được nguyện vọ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

1. Hoằn ...  :D :D :D

Hiepttr hỏi: Trong lúc đó mình "bán rẻ" cái củ kia đâu có đc chi ???

Hoằn đáp: Được cái tột cùng của sự ngô nghê, ngớ ngẩn! Được cái làm  cái lãng phí thời gian vô ích của mọi người

Thời gian vô ích thì vốn dĩ nó đã là vô ích >>>>> lấy gì để mà lãng phí ???

2. Hoằn làm cách nào để chém thằng xanh trước (chỉ chém thằng xanh - với lisp cũ) ???

  • 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

Vào diễn đàn cũng có khi đọc được những  bài viết thú vị,  cười  mỏi răng :) :) :)

Chức năng và nhiệm vụ cao cả của TR3D do bác DOAN VAN HA là cắt đường thẳng để dùng lênh ID xem tọa đô giao điểm giữa đường và mặt. Có 3 em xanh tím vàng nằm đè lên nhau, làm thịt em nào mà chẳng được!

 

 

Tiếc là Hoằn không có tiền mua mũ để làm từ thiện bằng cách dìm đầu anh xuống để …chụp mũ!

1)-

Hiepttr hỏi: Nếu hôm nay mình ngại vì sợ cho là người "củ hành - củ tỏi" bác Hà và ko post lên cái lỗi kia thì e rằng sau này người "dính đòn" khi dùng lisp này ko phải là mình mà là 1 ai đó, có thể là Haanh hay là Hoằn ... kia đó !

Hoằn đáp: Có thể người khác bị dính đòn, còn Hoằn xin đảm bảo chắc chắn rằng  em Hoằn và chị Hà em sẽ không bao giờ bị ăn …quả lừa!

Hiepttr hỏi: Hay là Hoằn chọn giải pháp vừa auto lisp vừa auto tay cho việc này ?

Hoằn đáp: Khi nào dùng lisp, khi nào không dùng lisp là do công việc đòi hỏi. Nếu dòm thấy lisp không nhanh thì dùng Autocad.

 

Hiepttr hỏi: Trong lúc đó mình "bán rẻ" cái củ kia đâu có đc chi ???

Hoằn đáp: Được cái tột cùng của sự ngô nghê, ngớ ngẩn! Được cái làm  cái lãng phí thời gian vô ích của mọi người…(Đừng bao giờ đừng bao giờ suy bụng ta ra bụng người!)

 

Hiepttr hỏi: Cái đặc biệt ở đây ko phải là cái Hoằn đã nêu ở trên mà là: tại vị trí trung điểm của 2 giao điểm, có 1 đường thẳng khác "chồng lên" đường thẳng cần xác định giao.

Hoằn đáp: 3 em  cào cào mặc  tím+ xanh+ vàng nằm đè lên nhau, TR3D của bác Hà chơi được tuốt, làm thịt từng em một ngon lành!

 

114276_l%C3%A0m_th7883t.png

 

http://www.cadviet.com/upfiles/3/114276_làm_th7883t.dwg

 

2)-

 Hiepttr hỏi: Với level lisp như bác Hà, nếu mà mình củ hành củ tỏi đc đã là 1 vinh dự lớn

Hoằn đáp: Cầu mong anh sớm đạt được nguyện vọng! :) :) :) :) :)

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. Hoằn ...  :D :D :D

Thời gian vô ích thì vốn dĩ nó đã là vô ích >>>>> lấy gì để mà lãng phí ???

2. Hoằn làm cách nào để chém thằng xanh trước (chỉ chém thằng xanh - với lisp cũ) ???

 

Lãng phí thời gian vô ích là  nói tắt của lãng phí thời gian một cách vô ích. Đây là cách nói nhấn mạnh về sự vô bổ của việc tốn kém thời gian...Dã tràng xe cát biển đông, nhọc nhằn mà chẳng nên công trạng gì... :) :) :)

114276_voichs.png

 

 

114276_v%C3%A1t.png

 

Đố vui: Làm thế nào để lật ngửa nhanh đáy vát mầu vàng xuống dưới, đáy tròn mầu tím lên trên???

Xin mời các bác thư giãn tiếp.

File hình vẽ : http://www.cadviet.com/upfiles/3/114276_dv.dwg

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

 

Quick code cho Haanh đây. Tìm giao của khối 3D và Line, đồng thời Trim phần Line nằm bên trong khối 3D. Lệnh: TR3D

P/S: edit 12h05' - 4/11/2013

 

;; Doan Van Ha - CADViet.com - Ngay 03/11/2013
;; Chuc nang: tim giao cua line voi 3DSolid va trim phan line nam ben trong solid.
(defun C:TR3D ( / #Inter:2Ent #List:UniqueFuzz lst sol lin lin1 p3 rec reg g1 g2)
 (setq osm (getvar "osmode") cmd (getvar "cmdecho")) (command "undo" "be") (or cal (arxload "geomcal")) (command "ucs" "w")
 (defun #Inter:2Ent(ent1 ent2 flag / l r)
  (setq l (vlax-invoke (vlax-ename->vla-object ent1) 'intersectwith (vlax-ename->vla-object ent2) flag))
  (repeat (/ (length l) 3)
   (setq r (cons (list (car l) (cadr l) (caddr l)) r) l (cdddr l)))
  (reverse r))
 (defun #List:UniqueFuzz(l f / x r)
  (while l
   (setq x (car l) l (vl-remove-if '(lambda(y) (equal x y f)) (cdr l)) r (cons x r)))
  (reverse r))
 (if
  (and
   (setq lin (car (entsel "\nChon Line: ")))
   (setq sol (car (entsel "\nChon khoi 3D: ")))
   (setq p3 (getpoint "\nChon 1 diem tren khoi 3D (nhung khong nam tren Line): ")))
  (progn
   (setvar "osmode" 0) (setvar "cmdecho" 0)
   (command "copy" lin "" '(0 0) '(0 0))
   (setq lin1 (entlast))
   (command "section" sol "" (cdr (assoc 10 (entget lin1))) (cdr (assoc 11 (entget lin1))) p3)
   (setvar "osmode" osm) (setvar "cmdecho" cmd)
   (setq reg (entlast))
   (setq lst (#List:UniqueFuzz (#Inter:2Ent lin1 reg acExtendNone) 1E-8))
   (cond
    ((= (length lst) 2) (setq p1 (car lst) p2 (cadr lst)) (command "trim" reg "" (cal "plt(p1,p2,0.5)") ""))
((= (length lst) 1) (setq p (getpoint "\nChon 1 diem tren Line va nam phia trong khoi 3D: ")) (setvar "osmode" 0) (setvar "cmdecho" 0) (command "trim" reg "" p ""))
((= (length lst) 0) (alert "Line khong cat khoi 3D nen khong Trim duoc."))
(T (alert "Line cat khoi 3D nhieu hon 2 diem nen khong Trim kieu nay duoc.")))
   (entdel reg) (entdel lin)))
 (command "ucs" "p") (command "undo" "e") (setvar "osmode" osm) (setvar "cmdecho" cmd)
 (princ))
(vl-load-com)
(princ "\nLenh su dung: TR3D")  
 
;; Doan Van Ha - CADViet.com - Ngay 03/11/2013
;; Chuc nang: tim giao cua line voi 3DSolid va trim phan line nam ben trong solid.
(defun C:TR3D ( / #Inter:2Ent #List:UniqueFuzz lst sol lin p3 rec reg g1 g2)
 (setq osm (getvar "osmode") cmd (getvar "cmdecho")) (command "undo" "be") (or cal (arxload "geomcal")) (command "ucs" "w")
 (defun #Inter:2Ent(ent1 ent2 flag / l r)
  (setq l (vlax-invoke (vlax-ename->vla-object ent1) 'intersectwith (vlax-ename->vla-object ent2) flag))
  (repeat (/ (length l) 3)
   (setq r (cons (list (car l) (cadr l) (caddr l)) r) l (cdddr l)))
  (reverse r))
 (defun #List:UniqueFuzz(l f / x r)
  (while l
   (setq x (car l) l (vl-remove-if '(lambda(y) (equal x y f)) (cdr l)) r (cons x r)))
  (reverse r))
 (if
  (and
   (setq lin (car (entsel "\nChon Line: ")))
   (setq sol (car (entsel "\nChon khoi 3D: ")))
   (setq p3 (getpoint "\nChon 1 diem tren khoi 3D (nhung khong nam tren Line): ")))
  (progn
   (setvar "osmode" 0) (setvar "cmdecho" 0)
   (command "section" sol "" (cdr (assoc 10 (entget lin))) (cdr (assoc 11 (entget lin))) p3)
   (setvar "osmode" osm) (setvar "cmdecho" cmd)
   (setq reg (entlast))
   (setq lst (#Inter:2Ent lin reg acExtendNone))
   (cond
    ((>= (length lst) 2) (setq lst (#List:UniqueFuzz lst 1E-8) p1 (car lst) p2 (cadr lst)) (command "trim" reg "" (cal "plt(p1,p2,0.5)") ""))
((= (length lst) 1) (setq p (getpoint "\nChon 1 diem tren Line va nam phia trong khoi 3D: ")) (setvar "osmode" 0) (setvar "cmdecho" 0) (command "trim" reg "" p ""))
((= (length lst) 0) (alert "Line khong cat khoi 3D nen khong Trim duoc.")))
   (entdel reg)))
 (command "ucs" "p") (command "undo" "e") (setvar "osmode" osm) (setvar "cmdecho" cmd)
 (princ))
(vl-load-com)
(princ "\nLenh su dung: TR3D")  

Điểm thứ 3 chỉ cần không nằm trên line là được, nên để chương trình tự động tính, giảm bớt 1 bước chọn điểm

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

Với hình này của Hoằn thì dùng MIRROR3D với 3 điểm chọn là m2p cho 2 chân dim của mỗi dim.

 

 

114276_dd_1.png

 

Đáp án của anh Hiệp đúng :) :) :) , câu trả lời của anh rất tổng quát, nghĩa là dùng khi chưa có đường dim

Nếu có sẵn đường dim cách làm của em là bấm chọn vào 3 điểm giữa của các đường ghi chữ số kt.

Tuy nhiên hình này hơi bị đặc biệt, nếu bấm chọn vào điểm giữa của 3 đường ghi chữ số mầu đỏ , sẽ có kết quả gần đúng, mặt phẳng nghiêng mầu vàng, sẽ không "tiếp đất".

Nếu bấm chọn vào điểm giữa của 3 đường ghi chữ số mầu xanh , mặt phẳng nghiêng mầu vàng sẽ... "tiếp địa" toàn phần.

  • 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

114276_987777_1.png

(Hình bên phải chủ thớt đã vẽ sai hình chiếu!)

File hình vẽ: http://www.cadviet.com/upfiles/3/114276_hoanblock.dwg

 

Đố vui làm thế nào để xác định nhanh được 4 điểm A, B, C và D đều nằm trên cùng một mặt phẳng ???

Xin mời các bác tiếp tục thư giãn!

Nguồn câu đố: http://www.cadviet.com/forum/topic/85663-va-hinh-tray-vat-baang-cad-3d/page-2

  • 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

114276_987777_1.png

(Hình bên phải chủ thớt đã vẽ sai hình chiếu!)

File hình vẽ: http://www.cadviet.com/upfiles/3/114276_hoanblock.dwg

 

Đố vui làm thế nào để xác định nhanh được 4 điểm A, B, C và D đều nằm trên cùng một mặt phẳng ???

Xin mời các bác tiếp tục thư giãn!

Nguồn câu đố: http://www.cadviet.com/forum/topic/85663-va-hinh-tray-vat-baang-cad-3d/page-2

 

 

Hề hề hề,

AB//CD và AB=CD

  • 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

114276_987777_1.png

(Hình bên phải chủ thớt đã vẽ sai hình chiếu!)

File hình vẽ: http://www.cadviet.com/upfiles/3/114276_hoanblock.dwg

 

Đố vui làm thế nào để xác định nhanh được 4 điểm A, B, C và D đều nằm trên cùng một mặt phẳng ???

Xin mời các bác tiếp tục thư giãn!

Nguồn câu đố: http://www.cadviet.com/forum/topic/85663-va-hinh-tray-vat-baang-cad-3d/page-2

H1 + H4 = H2 + H3

=>> AC cắt BD

  • 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

Hơi bị tiếc là đáp án của các bác đưa ra hơi bị dài và nó chỉ đúng trong trường hợp đặc biệt như ở trên. Giả sử chủ thớt oái oăm lại đưa ra trường hợp vị trí của các cao độ H trên hình chiếu bằng, không phải là 4 điểm,  mà là 7 điểm , tạo thành một đa giác có 7 cạnh không bằng nhau thì các bác tính sao ???

Chốt lại:  bài toán  xác định nhanh xem 4 điểm A, B, C và D có cùng nằm trên một mặt phẳng hay không vẫn chưa có lời giải ngắn gọn.

Xin mời các bác tiếp tục thư giãn cho vui???

(Gợi ý: cách xác định nhanh của em là không dùng lisp)

@ Anh Hiệp: Bác Doan Van Ha : [đã xong] lisp xác định vị trí tương đối giữa Point và Plane. Khi Ponit không thuộc Plane thì giao điểm của đường thẳng kẻ từ Point vuông góc với Plane sẽ được vẽ: http://www.cadviet.com/forum/topic/63084-da-xong-lisp-xac-dinh-vi-tri-tuong-doi-giua-point-va-plane-trong-khong-gian/

Anh test thử xem sao??? Hy vọng là anh sẽ cải tiến và nâng cấp lisp của bác Hà,  để ứng dụng vào trường hợp xác định nhanh xem 7 cao điểm tạo thành  đa giác có 7 cạnh không bằng nhau trên hình chiếu bằng, có nằm trên cùng một mặt phẳng hay không???

  • 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

Với 4 điểm nếu Hoằn chỉ dùng duy nhất 1 lệnh (được phép osnap nhưng không tính) mà kiểm tra được sự đồng phẳng mới gọi là hay, còn hơn 1 lệnh thì vẫn chưa hay.

  • 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

em thử dùng lệnh area, đo 2 lần.

4 điểm đồng phẳng thì đo từ điểm nào cũng được diện tích bằng nhau;

4 điểm không đồng phẳng, đo 2 lần từ 1 điểm thuận và ngược chiều kim đồng hồ cho diện tích lại khác nhau; đo từ 1 điểm khác cũng vậy

không biết có phải nó luôn đúng không, hay em làm mò nó ra?

  • 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

truongthon304: không biết có phải nó luôn đúng không, hay em làm mò nó ra?

Hoằn : Đúng là bác làm mò nó ra... :)

 

Với 4 điểm nếu Hoằn chỉ dùng duy nhất 1 lệnh (được phép osnap nhưng không tính) mà kiểm tra được sự đồng phẳng mới gọi là hay, còn hơn 1 lệnh thì vẫn chưa hay.

 

Em vẫn chưa tìm ra thử chỉ dùng 1 lệnh, bác Hà ạ!

Hình em vẽ  trên bài số #1248 hơi đặc biệt, em phải dùng hai lệnh mới được.

Có bác nào có cách làm khác 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

truongthon304: không biết có phải nó luôn đúng không, hay em làm mò nó ra?

Hoằn : Đúng là bác làm mò nó ra... :)

 

 

Em vẫn chưa tìm ra thử chỉ dùng 1 lệnh, bác Hà ạ!

Hình em vẽ  trên bài số #1248 hơi đặc biệt, em phải dùng hai lệnh mới được.

Có bác nào có cách làm khác không???

Lệnh LINE, với osnap inter xem có bắt điểm được giao 2 đường chéo 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

Em vẫn chưa tìm ra thử chỉ dùng 1 lệnh, bác Hà ạ!

Hình em vẽ  trên bài số #1248 hơi đặc biệt, em phải dùng hai lệnh mới được.

Có bác nào có cách làm khác không???

2 lệnh, mỗi lệnh xài mấy lần ???

Nếu unlimited thì UCS 3p xong rồi ID "mỏi tay" thì biết thôi :D :D :D

Hoặc:

- 3dpolyline qua các điểm

- region   >>> đc --> đồng phẳng

               >>> ko đc --> ko đồng phẳ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

Cách của bác Hà, sau khi thực hiện lệnh xong vẫn phải dùng lệnh erase để xóa 2 đường line.

Cách của anh Hiệp, đáp ứng được trường hợp hình có nhiều điểm,

nhưng hơi bị mỏi tay Enter và mỏi mắt nhìn z=0

Xin mời các bác tiếp tục thư giã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

×