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

Đưa bản vẽ về 1 mặt phẳng như thế nào ?

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

vấn đề là như thế này - em nhận bản vẽ từ sếp - chuẩn bị đem sang 3dsmax thì gặp 1 lỗi ( của thằng vẽ 2d ) khi xoay trong không gian 3d thì bản vẽ lộ ra là ko cùng 1 mặt phẳng (chắc do thằng vẽ đồ lại hay sao đó)

cad1.jpg

 

cad2.jpg

 

có lệnh nào chuyển nó về 1 mặt phẳng như bản vẽ 2d bình thường ko mấy bác - nếu không em đồ lại từng chút 1 chắc chết quá

 

nguyên 1 bộ bản vẽ , tấm này ví dụ thôi hix hix

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 đơn giản thôi mà. Bạn vào View > 3Dviews >Top rồi vẽ khung bản vẽ trong mặt phẳng XOY. sau đó lại tiếp tục View > 3Dviews > Front, bạn sẽ thấy các hình vẽ không nằm trong XOY ...Bạn túm cổ từng thằng một rồi dùng Move dí mặt chúng xuống mặt phẳng XOY đã mặc định ở Top là ổ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

de em thu xem sao , thanks bác

(edit)

 

em thử rồi có vẽ không đc nhanh lắm vì nguyên bộ bản vẽ mà dí tưng thằng thì em lấy pl đồ lại nhanh hơn - hix bác còn cách nào nữa 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

lí do để bản vẽ như vậy là do các điểm của đối tượng có trên bản vẽ không cùng tọa độ Z với nhau. để fix lỗi này, chỉ cần dùng lisp VE0, hãy tìm lisp này trên diễn đà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
lí do để bản vẽ như vậy là do các điểm của đối tượng có trên bản vẽ không cùng tọa độ Z với nhau. để fix lỗi này, chỉ cần dùng lisp VE0, hãy tìm lisp này trên diễn đàn

---------------

 

thank huynh - em tìm mỏi mắt mà không thấy - bác dành chút thời gian cho em cái link với

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 là lisp Ve0.

 

(defun c:ve0 ()
 (defun suadinhPl(thongtin / index doituong doituongmoi toado)
(setq
  doituong (assoc '38 thongtin)	  
  doituongmoi (cons 38 0.)
)
(subst doituongmoi doituong thongtin)
 )
 (defun suadinh (thongtin / index doituong doituongmoi toado)
(setq thongtinmoi nil)
(foreach doituong thongtin
  (if (and (>= (car doituong) 10)
	   (	  )
(setq doituongmoi
	   (list (car doituong)
		 (cadr doituong)
		 (caddr doituong)
		 0.0
	   )
)
(setq doituongmoi doituong)
  )
  (setq thongtinmoi (append thongtinmoi (list doituongmoi)))
)
(setq thongtinmoi thongtinmoi)
 )
 (defun tendoituong (ssdt /)
(cdr (assoc '0 (entget ssdt)))
 )
;;---------------------------------------------
 (setq	tapdoituong (ssget)
sodt		(sslength tapdoituong)
index		0
ta		(chr 8)
stxoa		(strcat ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta)
stxuly		"Xu ly duoc: "
ptcu		nil
 )
 (repeat sodt
(setq
  ssdt  (ssname tapdoituong index)
  pt	(* (/ (* index 1.0) sodt) 100.0)
  index (1+ index)
)
(if	(/= pt ptcu)
  (progn
(princ (strcat stxoa stxuly (rtos pt 2 0) "%"))
(setq ptcu pt)
  )
)	
(if	(or (= (tendoituong ssdt) "SPLINE")
	(= (tendoituong ssdt) "LINE")		
	(= (tendoituong ssdt) "CIRCLE")
	(= (tendoituong ssdt) "ARC")
	(= (tendoituong ssdt) "POLYLINE")
	(= (tendoituong ssdt) "ELLIPSE")
	(= (tendoituong ssdt) "TEXT")
	(= (tendoituong ssdt) "DIMENSION")
		(= (tendoituong ssdt) "ATTDEF")
	(= (tendoituong ssdt) "SOLID")
	(= (tendoituong ssdt) "INSERT")
	(= (tendoituong ssdt) "ATTRIB")
	(= (tendoituong ssdt) "HATCH")
)
  (progn
(setq thongtin (entget ssdt)
	  thongtin (suadinh thongtin)
)
(entmod thongtin)
  )
)
(if (= (tendoituong ssdt) "LWPOLYLINE")
  (progn
	(setq thongtin (entget ssdt)
	  thongtin (suadinhPL thongtin)		  
)
(entmod thongtin)
  )
)
(princ)
 )
)

  • Vote tăng 4

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
thanks bác , em chuyển code cua bác thành file .VLX nhung ma khi load ko chay duoc - bac huong dan giup em voi

 

Bạn vào phần Download phía trên của diển đàn, chọn phần autolisp tìm mục là các đối tượng có z khác 0 về 0.

còn việc chuyển thành đuôi .vlx thì từ từ tính chủ yếu là sửa chửa nhửng bản vẽ bạn đang cần 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

Mình không biết hiệu quả của file lisp như thế nào nhưng lệnh Flatten cũng không hiệu quả đối với những đối tượng block.

Cụ thể nó chỉ đưa được toạ độ trục Z của block về 0 mà thôi, còn các chi tiết trong block thì không. Bạn dùng lệnh này xong thì nên kiểm tra lại với các block lại, hiệu chỉnh từng block lại cho hoàn chỉ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
Mình không biết hiệu quả của file lisp như thế nào nhưng lệnh Flatten cũng không hiệu quả đối với những đối tượng block.

Cụ thể nó chỉ đưa được toạ độ trục Z của block về 0 mà thôi, còn các chi tiết trong block thì không. Bạn dùng lệnh này xong thì nên kiểm tra lại với các block lại, hiệu chỉnh từng block lại cho hoàn chỉnh.

Vậy thì khối 3d làm sao mà chuyển về 1 mp được???

Em có 1 ý này, nếu muốn chuyển về đúng 1 mp thực sự, thôi thì xuất ra file .dxb đi rồi import vào là có ngay bản vẽ 2d.... :)

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ậy thì khối 3d làm sao mà chuyển về 1 mp được???

Em có 1 ý này, nếu muốn chuyển về đúng 1 mp thực sự, thôi thì xuất ra file .dxb đi rồi import vào là có ngay bản vẽ 2d.... <_<

nghĩa là sao hở bạn?mình không hiểu xuất file .dxb và inport là gì cả.Xin chỉ giáo,mình đang mắc kẹt với các đường đồng mức 3D poline.Thanks 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
nghĩa là sao hở bạn?mình không hiểu xuất file .dxb và inport là gì cả.Xin chỉ giáo,mình đang mắc kẹt với các đường đồng mức 3D poline.Thanks nhiều!

cad đời cũ thì dùng lệnh dxbout để xuất file, dxbin để import file.

Với cad đời mới hơn muốn xuất ra file dxb thì phải cài máy in DXB của cad để xuất bằng lệnh plot

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ấn đề là như thế này - em nhận bản vẽ từ sếp - chuẩn bị đem sang 3dsmax thì gặp 1 lỗi ( của thằng vẽ 2d ) khi xoay trong không gian 3d thì bản vẽ lộ ra là ko cùng 1 mặt phẳng (chắc do thằng vẽ đồ lại hay sao đó)

 

có lệnh nào chuyển nó về 1 mặt phẳng như bản vẽ 2d bình thường ko mấy bác - nếu không em đồ lại từng chút 1 chắc chết quá

 

nguyên 1 bộ bản vẽ , tấm này ví dụ thôi hix hix

Cách đơn giản nhất không phải dùng đến lisp hay một lệnh cad nào là: chọn tất cả đối tượng trong bản vẽ đó, bấm ctrl + 1 để hiện hộp thoại properties, chọn từng loại đối tượng, chuyển tọa độ Z của nó về 0 (với một số đối tượng như line thì phải chuyển cả start Z và end Z. còn PL thì chỉ cần chuyển elevation).

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ấn đề là như thế này - em nhận bản vẽ từ sếp - chuẩn bị đem sang 3dsmax thì gặp 1 lỗi ( của thằng vẽ 2d ) khi xoay trong không gian 3d thì bản vẽ lộ ra là ko cùng 1 mặt phẳng (chắc do thằng vẽ đồ lại hay sao đó)

cad1.jpg

 

cad2.jpg

 

có lệnh nào chuyển nó về 1 mặt phẳng như bản vẽ 2d bình thường ko mấy bác - nếu không em đồ lại từng chút 1 chắc chết quá

 

nguyên 1 bộ bản vẽ , tấm này ví dụ thôi hix hix

Bạn đánh lệnh : -CH. Rồi chọn các đối tượng cần đưa về một cao độ. Tại dòng command chọn P(Properties). Tiếp theo chọn E(Elev). Rồi bạn chọn cao độ cần đưa về. Cách này là đơn giản nhất !:bigsmile:

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 lệnh : -CH. Rồi chọn các đối tượng cần đưa về một cao độ. Tại dòng command chọn P(Properties). Tiếp theo chọn E(Elev). Rồi bạn chọn cao độ cần đưa về. Cách này là đơn giản nhất !:bigsmile:

Nếu làm như bạn thì chỉ đưa được những đối tượng có các cao độ nằm trong cùng một mặt phẳng như Polyline, arc, ... còn với đối tượng là line có cao độ điểm đầu, điểm cuối khác nhau thì lệnh Change chị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

bạn ơi mình có ý này bạn dung lenh W (WBLOCK) ấy .sang 3d max Import vao rồi dùng lệnh scale theo trục Z rồi Export chon đuôi dwg .Mở five vừa Export bằng cad là ok liền.Chúc thành công nhé (bạn biết 3dmax là ok)

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 là lisp Ve0.

 

(defun c:ve0 ()  (defun suadinhPl(thongtin / index doituong doituongmoi toado)	(setq	  doituong (assoc '38 thongtin)	  	  doituongmoi (cons 38 0.)	)	(subst doituongmoi doituong thongtin)  )  (defun suadinh (thongtin / index doituong doituongmoi toado)	(setq thongtinmoi nil)	(foreach doituong thongtin	  (if (and (>= (car doituong) 10)		   (<= (car doituong) 36) 	  )	(setq doituongmoi		   (list (car doituong)			 (cadr doituong)			 (caddr doituong)			 0.0		   )	)	(setq doituongmoi doituong)	  )	  (setq thongtinmoi (append thongtinmoi (list doituongmoi)))	)	(setq thongtinmoi thongtinmoi)  )  (defun tendoituong (ssdt /)	(cdr (assoc '0 (entget ssdt)))  ) ;;---------------------------------------------  (setq	tapdoituong (ssget)	sodt		(sslength tapdoituong)	index		0	ta		(chr 8)	stxoa		(strcat ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta)	stxuly		"Xu ly duoc: "	ptcu		nil  )  (repeat sodt	(setq	  ssdt  (ssname tapdoituong index)	  pt	(* (/ (* index 1.0) sodt) 100.0)	  index (1+ index)	)	(if	(/= pt ptcu)	  (progn	(princ (strcat stxoa stxuly (rtos pt 2 0) "%"))	(setq ptcu pt)	  )	)		(if	(or (= (tendoituong ssdt) "SPLINE")		(= (tendoituong ssdt) "LINE")				(= (tendoituong ssdt) "CIRCLE")		(= (tendoituong ssdt) "ARC")		(= (tendoituong ssdt) "POLYLINE")		(= (tendoituong ssdt) "ELLIPSE")		(= (tendoituong ssdt) "TEXT")		(= (tendoituong ssdt) "DIMENSION")			(= (tendoituong ssdt) "ATTDEF")		(= (tendoituong ssdt) "SOLID")		(= (tendoituong ssdt) "INSERT")		(= (tendoituong ssdt) "ATTRIB")		(= (tendoituong ssdt) "HATCH")	)	  (progn	(setq thongtin (entget ssdt)		  thongtin (suadinh thongtin)	)	(entmod thongtin)	  )	)	(if (= (tendoituong ssdt) "LWPOLYLINE")	  (progn		(setq thongtin (entget ssdt)		  thongtin (suadinhPL thongtin)		  	)	(entmod thongtin)	  )	)	(princ)  ))

Cám ơn bác rất nhiều, em đã lọ mọ mãi để dùng lệnh bo bán kính 2 đường thẳng hay bắt điểm vì cái tội chúng không cùng 1 hệ trục tọa độ, giừo em đã làm đc. 1 lần nữa cám ơn bác rất 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

vấn đề là như thế này - em nhận bản vẽ từ sếp - chuẩn bị đem sang 3dsmax thì gặp 1 lỗi ( của thằng vẽ 2d ) khi xoay trong không gian 3d thì bản vẽ lộ ra là ko cùng 1 mặt phẳng (chắc do thằng vẽ đồ lại hay sao đó)

cad1.jpg

 

cad2.jpg

 

có lệnh nào chuyển nó về 1 mặt phẳng như bản vẽ 2d bình thường ko mấy bác - nếu không em đồ lại từng chút 1 chắc chết quá

 

nguyên 1 bộ bản vẽ , tấm này ví dụ thôi hix hix

ANH ƠI ANH LÀM ĐƯỢC CHƯA. EM CŨNG BỊ NHƯ ANH VẬY. ANH CHỈ GIÚP EM CÁI.

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

×