Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đăng nhập để thực hiện theo  
xohaminh

Làm thế nào để chuyển những đường Spline dạng 3d về 2d

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

phamthanhbinh    3.123

 

Ai biết thì giúp mình cách để chuyển những đường Spline dạng 3d về 2d. Thanks!

Hề hề hề,

Bạn đã thử xài lệnh flatten trong Express tools chưa hè????

  • 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
Doan Van Ha    2.676

X---> 2DSpline

Command: x EXPLODE

Select objects: 1 found

Select objects:

Cannot explode SPLINE

Spline 2D hoặc 3D đều không explode được. Vấn đề là câu hỏi: chuyển 3DSpline thành 2D nhưng không rõ là 2DSpline hay Lwpolyline?

Muốn 3DSpline sang 2DSpline chắc phải dùng lisp (viết cũng đơn giản thô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
Hai_YenLang    150

Spline 2D hoặc 3D đều không explode được. Vấn đề là câu hỏi: chuyển 3DSpline thành 2D nhưng không rõ là 2DSpline hay Lwpolyline?

Muốn 3DSpline sang 2DSpline chắc phải dùng lisp (viết cũng đơn giản thôi).

Em không hiểu Spline 2D hoặc 3D như thế nào, bác có thể cho ví dụ minh họa được không?

Ngay cả câu hỏi của chủ thớt cũng lờ mờ khó hiểu, không rõ ràng : "Làm thế nào để chuyển những đường Spline dạng 3d về 2d" (?)

Rất có thể đơn giản là chủ thớt chỉ hỏi về những cách nhìn trực quan: Visual styles?

 

Em hiểu nôm na là có một đường spline người ta nằm trong mặt phẳng cao độ Z= 0, người ta đã biến có độ dầy bằng cách dùng lệnh EXTRUDE với cao độ nào đó và gọi nó là "Spline dạng 3D". Muốn nó quay lại Spline liền thổ như ban đầu bắt buộc phải EXPLODE rồi xóa tất cả những gì nằm ngoài Z=0.

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
Doan Van Ha    2.676

Em không hiểu Spline 2D hoặc 3D như thế nào, bác có thể cho ví dụ minh họa được không?

Ngay cả câu hỏi của chủ thớt cũng lờ mờ khó hiểu, không rõ ràng : "Làm thế nào để chuyển những đường Spline dạng 3d về 2d" (?)

Rất có thể đơn giản là chủ thớt chỉ hỏi về những cách nhìn trực quan: Visual styles?

 

Em hiểu nôm na là có một đường spline người ta nằm trong mặt phẳng cao độ Z= 0, người ta đã biến có độ dầy bằng cách dùng lệnh EXTRUDE với cao độ nào đó và gọi nó là "Spline dạng 3D". Muốn nó quay lại Spline liền thổ như ban đầu bắt buộc phải EXPLODE rồi xóa tất cả những gì nằm ngoài Z=0.

1). Tất cả object đều có thể nằm trong không gian 2D hoặc 3D. Spline 3D là đường Spline mà các điểm của nó có Z khác 0, không nhất thiết là Z bằng nhau. Chúng được dùng nhiều để vẽ các đường đồng mức của địa hình (khi đó Z bằng nhau).

VD: vẽ Spline từ '(0 0 0) đến '(1 1 1).

2). Bắt buộc phải explode là không đúng! Có nhiều cách. Không biết các lệnh Cad có làm được không nhưng lisp thì làm đượ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
Hai_YenLang    150

1- Các điểm của Spline đồng phẳng hoặc không phẳng , dễ dàng đưa về Z=0 bằng lệnh Flatten.===> không có ý nghĩa về mặt kỹ thuật vì tọa độ điểm của chúng bị thay đổi

2- Hình như là không có lệnh nào làm cho mặt 3D face hoàn thổ lại khi đã EXTRUDE

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
Doan Van Ha    2.676

1- Các điểm của Spline đồng phẳng hoặc không phẳng , dễ dàng đưa về Z=0 bằng lệnh Flatten.===> không có ý nghĩa về mặt kỹ thuật vì tọa độ điểm của chúng bị thay đổi

2- Hình như là không có lệnh nào làm cho mặt 3D face hoàn thổ lại khi đã EXTRUDE

1). Lệnh Flatten đưa spline về lwpolyline nhưng điểm thay đổi. Tuy nhiên lisp thì đưa spline 3D về 2D mà chỉ thay đổi Z thôi, nên rất có ý nghĩa về mặt kỹ thuật.

2). Về các mặt tôi ít tìm hiểu nên 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
Doan Van Ha    2.676

Đây là lisp chuyển các 3DSpline thành 2DSpline.

; Chuyen cac duong 3DSpline thanh cac duong 2DSpline.
; Doan Van Ha - CadViet.com, 23-02-2012.
(defun C:HA( / lstent ss lst0 lstz)
(if (setq lstent (acet-ss-to-list (setq ss (ssget '((0 . "SPLINE"))))))
 (progn
  (foreach ent lstent
(setq lst0 nil)
(setq lstz (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 11)) (entget ent))))
(foreach p lstz
	(setq p (list (car p) (cadr p) 0.0))
	(setq lst0 (cons p lst0)))
(reverse lst0)
(entmake (append (list '(0 . "SPLINE") '(100 . "AcDbEntity") '(100 . "AcDbSpline") (cons 71 3) (cons 74 (length lst0))) (mapcar (function (lambda (p) (cons 11 p))) lst0))))))
(acet-ss-entdel ss)
(princ))

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
Hai_YenLang    150

“Làm thế nào để chuyển những đường Spline dạng 3d về 2d “ câu hỏi này vẫn chưa rõ ràng lắm nên đã gây hiểu lầm:

Nếu là Spline có Z khác không (tạm gọi là hình 3D) câu hỏi phải toát lên ý chính là đưa cao độ về Z= 0. Khi đưa về Z= 0 nó biến thành lwpolyline và phải dùng lip nó mới là Splin như bác đã nói.

Cách hiểu của em là hình 3D là hình được vẽ có có chiều dầy( 3D face) hoặc có độ dầy và cao độ (vật thể đặc) có thể thay đổi được cách nhìn trực quan Visual styles. Cách làm của bác Phamthanhbinh áp dụng được trong trường hợp 3D face, chỉ khác là nó bị biến thành lwpolyline.

Trong AutoCAD có hai lệnh Polyline (nét vẽ có độ dầy) và lệnh Polysolid (nét vẽ có độ đầy và độ cao). Các điểm của Polyline có cao độ Z khác nhau rất khó gọi nó là hình 3D.

Dùng lệnh Polysolid >> thay đổi được bề rộng, chiều cao tùy ý >> Chon đường Spline >> sẽ được spline có chiều rộng và chiếu cao (gọi là hình 3D)

 

Cuối cùng vẫn phải là chờ đợi câu trả lời của chủ thớt.

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
Doan Van Ha    2.676

“Làm thế nào để chuyển những đường Spline dạng 3d về 2d “ câu hỏi này vẫn chưa rõ ràng lắm nên đã gây hiểu lầm:

Nếu là Spline có Z khác không (tạm gọi là hình 3D) câu hỏi phải toát lên ý chính là đưa cao độ về Z= 0. Khi đưa về Z= 0 nó biến thành lwpolyline và phải dùng lip nó mới là Splin như bác đã nói.

Cách hiểu của em là hình 3D là hình được vẽ có có chiều dầy( 3D face) hoặc có độ dầy và cao độ (vật thể đặc) có thể thay đổi được cách nhìn trực quan Visual styles. Cách làm của bác Phamthanhbinh áp dụng được trong trường hợp 3D face, chỉ khác là nó bị biến thành lwpolyline.

Trong AutoCAD có hai lệnh Polyline (nét vẽ có độ dầy) và lệnh Polysolid (nét vẽ có độ đầy và độ cao). Các điểm của Polyline có cao độ Z khác nhau rất khó gọi nó là hình 3D.

Dùng lệnh Polysolid >> thay đổi được bề rộng, chiều cao tùy ý >> Chon đường Spline >> sẽ được spline có chiều rộng và chiếu cao (gọi là hình 3D)

Cuối cùng vẫn phải là chờ đợi câu trả lời của chủ thớt.

Bạn xem ở menu sổ xuống có lệnh "3D Polyline", với biểu tượng là cái hình lò xo. Không cần rộng, dày, mỏng thì vẫn là đối tượng 3D.

Bạn đang nói tới MẶT 3D, còn ĐƯỜNG 3D nữ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
Hai_YenLang    150

sdwtq235sffw.jpg

Em hiểu đường 3d xét về bản chất nó vẫn là mặt 3D vì khi dùng lệnh Copy face nó chấp nhận thực hiện lệnh.

Em lăn tăn về cách gọi vì thế em chỉ dám nói là: Các điểm của Polyline có cao độ Z khác nhau rất khó gọi nó là hình 3D.

Biểu tượng có hình lò xo là lệnh Helix: vẽ xong đường dẫn xoắn ốc như hình vẽ > vẽ tiếp tiết diện của lò xo > gõ tiếp lệnh SWEEP để tạo lò xo có đường kính.

 

Lisp này sẽ giúp bạn : (theo giống ý của Xuantran)

1. Chọn các 3DPOLY

2 -> Lisp sẽ convert 3D polyline to Polyline cho bạn

Đây :

(defun c:c3d2d( / ssg ss  from to cur)(setq ssg (ssget '((0 . "POLYLINE"))) i 0 ss (ssadd))(while (< i (sslength ssg))(setq frome (entlast))(setq e (ssname ssg i))(command "explode" e "") (setq toe (entlast)) (setq cur frome)(while (not (eq cur toe)) (setqcur (entnext cur)ss (ssadd cur ss)))(command "PEDIT" "m" ss "" "Y" "j" "0" "")(setq i (1+ i)))(princ))

Nguồn: Giúp đỡ về lệnh Convert 3D polyline to Polyline http://www.cadviet.c...showtopic=14133

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
Doan Van Ha    2.676

sdwtq235sffw.jpg

 

Em lăn tăn về cách gọi vì thế em chỉ dám nói là: Các điểm của Polyline có cao độ Z khác nhau rất khó gọi nó là hình 3D.

Biểu tượng có hình lò xo là lệnh Helix: vẽ xong đường dẫn xoắn ốc như hình vẽ > vẽ tiếp tiết diện của lò xo > gõ tiếp lệnh SWEEP để tạo lò xo có đường kính.

 

 

Nguồn: Giúp đỡ về lệnh Convert 3D polyline to Polyline http://www.cadviet.c...showtopic=14133

1). Lệnh 3D Polyline cơ! Mặc dầu lệnh Helix cũng vẽ đường 3D.

2). Trích dẫn của bạn chẳng ăn nhập: bài toán là chuyển 3D Spline chứ không phải chuyển Polyline.

  • 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
Hai_YenLang    150

Em trích dẫn ra để minh hoa cho câu em đã viết ở bài trước:{“Làm thế nào để chuyển những đường Spline dạng 3d về 2d “ câu hỏi này vẫn chưa rõ ràng lắm nên đã gây hiểu lầm}

Câu hỏi của chủ đề tương tự là: Giúp đỡ về lệnh Convert 3D polyline to Polyline

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  

×