Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
tuyluypden

Cho em hỏi cách trải mặt của một hình chiếu của mặt cong ,nghiêng

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

Các bác cho em hỏi: Muốn trải mặt của một hình chiếu của mặt cong hay nghiêng thì em phải làm thế nào, tức là thể hiện hình chiếu của măt cong ,nghiêng thì làm thế nào.Các bác xem hình rồi giúp em với.

trai_mat.jpg

bản vẽ 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

chào bạn

xem của bản vẽ của bạn thì mình không biết bạn muốn trải mặt nào nên cũng không thể hướng dẫn cụ thể được

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 nhìn ảnh sẽ rõ hơn mình khoanh dấu tròn ấy ,mình muốn trải cái tường nghiêng mở rộng của cái cống lấy nước.Ban xem rồi giúp mình với,mình đang làm đồ án nên rất cần.Thanks.

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

Ko hiểu ý của anh??? Theo em hình chiếu và hình trải giao của hình trụ và mặt phẳng nghiêng là hình Ellipse.

Để dễ hình dung anh ra chợ mua một cây giò lụa thịt lợn Mán > Dựng cây giò đó trên bàn > Lấy dao cắt theo mặt phẳng

nghiêng với mặt bàn một góc sẽ thấy vết cắt trên khoanh giò là hình Ellipse.

Chúc anh ăn ngon miệ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

Nói thế này cho dễ hiểu: có một trụ tròn hay một mặt nghiêng nào đó dựng đứng.Thì trong vẽ kĩ thuật người ta biểu diễn hình chiếu đứng của nó có các đường thẳng đứng với khoảng cách giảm dần rất là đều. Ý em muồn hỏi vẽ như thế nào để khoảng cách giảm đều được như thế .Xin lỗi các bác vì đã nói không rõ ý.Các bác xem lại hình dưới rồi giúp em với nhé!

trai_mat_2.jpg

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
Nói thế này cho dễ hiểu: có một trụ tròn hay một mặt nghiêng nào đó dựng đứng.Thì trong vẽ kĩ thuật người ta biểu diễn hình chiếu đứng của nó có các đường thẳng đứng với khoảng cách giảm dần rất là đều. Ý em muồn hỏi vẽ như thế nào để khoảng cách giảm đều được như thế .Xin lỗi các bác vì đã nói không rõ ý.Các bác xem lại hình dưới rồi giúp em với nhé!

trai_mat_2.jpg

 

Xin lỗi anh là Nam hay nữ ??? Có một vấn đề nhỏ sao anh trình bầy cứ như là ...lần đầu tiên đến nhà ra mắt bố mẹ vợ tương lai ứ!

Theo câu chữ của anh thì người ta có thể vẽ hình chiếu của của nước thải trong cống hình trụ thẳng đứng như sau:

 

 

ncthi11231452142877725225544.jpg

 

Hình ảnh em vẽ là hình tròn (mặt bằng), em vẽ đa giác 24 cạnh > Dóng lên mặt đứng> Chỉ đơn giản vậy thôi! Ko biết có đúng ý của anh ko???

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
Xin lỗi anh là Nam hay nữ ??? Có một vấn đề nhỏ sao anh trình bầy cứ như là ...lần đầu tiên đến nhà ra mắt bố mẹ vợ tương lai ứ!

Theo câu chữ của anh thì người ta có thể vẽ hình chiếu của của nước thải trong cống hình trụ thẳng đứng như sau:

ncthi11231452142877725225544.jpg

 

Hình ảnh em là hình tròn (mặt bằng), em vẽ đa giác 24 cạnh > Dóng lên mặt đứng> Chỉ đơn giản vậy thôi! Ko biết có đúng ý của anh ko???

Haanh mới ở Hà Tiên về, sao mà nóng nảy vậy? Đi xa về làm cho hình ảnh của em tròn vo rồi!

Nói đùa vậy thôi, vẫn có mã lisp cho tuyluypden và cho các bạn đây:

;;;---------------------------------
;;; LISP chieu hinh tru. COPYRIGHT BY THIEP
;;; FREE FROM CADVIET.COM-----------
(defun SAVE_MODE ()
 (command "Undo" "begin")
 (command "UCS" "W" "")
 (setq	OLD_OSMODE    (getvar "OSMODE")
OLD_CECOLOR   (getvar "CECOLOR")
OLD_AUTOSNAP  (getvar "AUTOSNAP")
OLD_ORTHOMODE (getvar "ORTHOMODE")
 )
 (setvar "cmdecho" 0)
 (setvar "plinegen" 1)
 (setvar "OSMODE" 0)
)
(defun RESTORE ()
 (command "Undo" "end")
 (setvar "osmode" OLD_OSMODE)
 (setvar "AUTOSNAP" OLD_AUTOSNAP)
 (setvar "ORTHOMODE" OLD_ORTHOMODE)
 (setvar "CECOLOR" OLD_CECOLOR)
 (setvar "cmdecho" 1)
)
(defun c:ctru ()
 (SAVE_MODE)
 (setq	enL1 (car (entsel "\nPick Line dau tru: "))
enL2 (car (entsel "\nPick Line cuoi tru: "))
Pa1  (vlax-curve-getStartPoint enL1)
lay  (cdr (assoc 8 (entget enL1)))
Pb1  (vlax-curve-getEndPoint enL1)
D1   (distance Pa1 Pb1)
Pa2  (vlax-curve-getStartPoint enL2)
Pb2  (vlax-curve-getEndPoint enL2)
D2   (distance Pa2 Pb2)
an1  (angle Pa1 Pb1)
an2  (angle Pa2 Pb2)
n    1
 )
 (setq	k (cond	(k)
	(5)
  )
 )
 (setq oldk k)
 (setq	k
 (getint
   (strcat "\n So khoang chia:  <"
	   (itoa oldk)
	   "> : "
   )
 )
 )
 (if (null k)
   (setq k oldk)
 )
 (command "undo" "be")
 (setvar "clayer" lay)
 (repeat (- k 1)
   (setq a    (* n (/ pi k 2))
  dis1 (* D1 (sin a) (sin a))
  dis2 (* D2 (sin a) (sin a))
  p1   (polar pa1 an1 dis1)
  p2   (polar pa2 an2 dis2)
   )
   (entmake (list (cons 0 "LINE")
	   (cons 10 p1)
	   (cons 11 p2)
     )
   )
   (setq n (1+ n))
 )
 (command "undo" "end")
 (RESTORE)
 (princ)
)

  • 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

sao em dùng file lisp thì khi "pick line dau tru" xong,rồi đến"pick line cuoi tru" pick xong thì nó hiện ra "Pick Line cuoi tru: ; error: no function definition: VLAX-CURVE-GETSTARTPOINT". Không biết em có làm sai cái gì không .Bác hướng dẫn em với.Và cũng rất cảm ơn bạn haanh ,cách của bạn cũng rất hay,nhưng làm như thế cũng hơi lâu.

  • 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
sao em dùng file lisp thì khi "pick line dau tru" xong,rồi đến"pick line cuoi tru" pick xong thì nó hiện ra "Pick Line cuoi tru: ; error: no function definition: VLAX-CURVE-GETSTARTPOINT". Không biết em có làm sai cái gì không .Bác hướng dẫn em với.Và cũng rất cảm ơn bạn haanh ,cách của bạn cũng rất hay,nhưng làm như thế cũng hơi lâu.

Có thể bạn dùng cad2004 trở về trước.

Lisp sau đây Thiep đã update:

;;;---------------------------------
;;; LISP chieu hinh tru. COPYRIGHT BY THIEP
;;; FREE FROM CADVIET.COM-----------
(defun GiaoDT (ob1 ob2 / ob1 ob2 g L n kq)
 (setq	g (vlax-variant-value
      (vla-IntersectWith ob1 ob2 acExtendnone)
    )
 )
 (if (/= (vlax-safearray-get-u-bound g 1) -1)
   (setq L (vlax-safearray->list g))
 )
 (setq n 0)
 (repeat (/ (length L) 3)
   (setq kq
   (append (list (list (nth n L) (nth (+ n 1) L) (nth (+ n 2) L)))
	   kq
   )
   )
   (setq n (+ n 3))
 )
 kq
)
;;;----------------------
(defun Xline (ModelS poR1 poR2)
 (vla-AddXline
   ModelS
   (vlax-3d-point poR1)
   (vlax-3d-point poR2)
 )
)
;;;----------------------
(defun line (ModelS poR1 poR2)
 (vla-Addline
   ModelS
   (vlax-3d-point poR1)
   (vlax-3d-point poR2)
 )
)
;;;--------------------------
(defun SAVE_MODE ()
 (command "Undo" "begin")
 (command "UCS" "W" "")
 (setq	OLD_OSMODE    (getvar "OSMODE")
OLD_CECOLOR   (getvar "CECOLOR")
OLD_AUTOSNAP  (getvar "AUTOSNAP")
OLD_ORTHOMODE (getvar "ORTHOMODE")
 )
 (setvar "cmdecho" 0)
 (setvar "plinegen" 1)
 (setvar "OSMODE" 0)
)
(defun RESTORE ()
 (command "Undo" "end")
 (setvar "osmode" OLD_OSMODE)
 (setvar "AUTOSNAP" OLD_AUTOSNAP)
 (setvar "ORTHOMODE" OLD_ORTHOMODE)
 (setvar "CECOLOR" OLD_CECOLOR)
 (setvar "cmdecho" 1)
)
(vl-load-com)
(defun c:ctru (/ enL1 enL2 obj1 obj2 p1 p2 pa1 pa2 pb1 pb2 d1 d2 an1 an2 n dis1 dis2 a tam)
 (SAVE_MODE)
 (setq	ActDoc	(vla-get-ActiveDocument (vlax-get-acad-object))
*Model*	(vla-get-ModelSpace ActDoc)
 )
 (setq enL1 (car (entsel "\nPick curve DAU tru: ")))
 (while (null enL1)
   (princ "\nKhong dung curve DAU tru, chon lai:")
   (setq enL1 (car (entsel "\nPick curve DAU tru: ")))
 )
 (setq enL2 (car (entsel "\nPick curve CUOI tru: ")))
 (while (null enL2)
   (princ "\nKhong dung curve CUOI tru, chon lai:")
   (setq enL2 (car (entsel "\nPick curve CUOI tru: ")))
 )
 (setq obj1 (vlax-ename->vla-object enL1)
obj2 (vlax-ename->vla-object enL2)
Pa1  (vlax-curve-getStartPoint enL1)
lay  (cdr (assoc 8 (entget enL1)))
Pb1  (vlax-curve-getEndPoint enL1)
D1   (distance Pa1 Pb1)
Pa2  (vlax-curve-getStartPoint enL2)
Pb2  (vlax-curve-getEndPoint enL2)
D2   (distance Pa2 Pb2)
an1  (angle Pa1 Pb1)
an2  (angle Pa2 Pb2)
n    1
 )
 (setq	k (cond	(k)
	(24)
  )
 )
 (setq oldk k)
 (setq	k
 (getint
   (strcat "\n So khoang chia:  <"
	   (itoa oldk)
	   "> : "
   )
 )
 )
 (if (null k)
   (setq k oldk)
 )
 (command "undo" "be")
 (setvar "clayer" lay)
 (setq	bit (cond (bit)
	  ("No")
    )
 )
 (initget "Yes No")
 (setq	Tmp (strcat "\nBan có muôn thay doi mau sac line không? [Yes/No] <" bit ">: ")
bit    (cond ((getkword Tmp))
	     (bit)
       )
 )
(if (inters Pa1 Pa2 Pb1 Pb2)
   (progn
     (setq tam pa2
    pa2 pb2
    pb2 tam
    	    an2  (angle Pa2 Pb2)
     )
   )
 )
;;;---------------------------------------
 (repeat (- k 1)
   (setq a    (* n (/ pi k 2))
  dis1 (* D1 (sin a) (sin a))
  dis2 (* D2 (sin a) (sin a))
   )
   (setq p1 (polar pa1 an1 dis1)
  p2 (polar pa2 an2 dis2)
   )
   (setq objXL (Xline *Model* p1 p2))
(setq pk1 (car (giaoDT obj1 objXL))
      pk2 (car (giaoDT obj2 objXL)))
   (vla-delete objXL)
   (if	(eq bit "No")
     (progn
(entmake (list (cons 0 "LINE")
	       (cons 10 pk1)
	       (cons 11 pk2)
	 )
)
     )
     (progn
(IF (>= n (fix (/ k 2)))
  (setq as (cons 62 (- k n)))
  (setq as (cons 62 n))
)
(entmake (list (cons 0 "LINE")
	       (cons 10 pk1)
	       (cons 11 pk2)
	       as
	 )
)
     )
   )
   (setq n (1+ n))
 )
 (command "undo" "end")
 (RESTORE)
 (princ)
)

Chúc mọi người vui vẻ.

  • 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

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
Đăng nhập để thực hiện theo  

×