Đến nội dung


Hình ảnh

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


  • Please log in to reply
15 replies to this topic

#1 xohaminh

xohaminh

    Chưa sử dụng CAD

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

Đã gửi 23 February 2012 - 09:09 AM

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

#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 23 February 2012 - 10:33 AM


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

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 23 February 2012 - 11:27 AM

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

Flatten convert 3DSpline --> LWpolyline, not 2DSpline?
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#4 Hai_YenLang

Hai_YenLang

    biết lệnh explore

  • Members
  • PipPipPipPipPipPip
  • 473 Bài viết
Điểm đánh giá: 149 (tàm tạm)

Đã gửi 23 February 2012 - 11:47 AM

Flatten convert 3DSpline --> LWpolyline, not 2DSpline?

X---> 2DSpline
Command: x EXPLODE
Select objects: 1 found
Select objects:
Cannot explode SPLINE
  • 0
Đức hạnh lớn nhất mà bên cạnh đó, mọi đức hạnh khác đều mờ nhạt đi, đó là không làm hại ai và tùy sức mà giúp đỡ mọi người "
Người cảnh sát điều tra hình sự giỏi là người biết được tất cả những hành vi thủ đoạn trộm cắp của bọn trộm cắp, nhưng lại dốt ăn cắp ăn trộm ...

#5 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 23 February 2012 - 11:50 AM

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).
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#6 Hai_YenLang

Hai_YenLang

    biết lệnh explore

  • Members
  • PipPipPipPipPipPip
  • 473 Bài viết
Điểm đánh giá: 149 (tàm tạm)

Đã gửi 23 February 2012 - 12:51 PM

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.
  • 0
Đức hạnh lớn nhất mà bên cạnh đó, mọi đức hạnh khác đều mờ nhạt đi, đó là không làm hại ai và tùy sức mà giúp đỡ mọi người "
Người cảnh sát điều tra hình sự giỏi là người biết được tất cả những hành vi thủ đoạn trộm cắp của bọn trộm cắp, nhưng lại dốt ăn cắp ăn trộm ...

#7 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 23 February 2012 - 01:35 PM

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.
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#8 Hai_YenLang

Hai_YenLang

    biết lệnh explore

  • Members
  • PipPipPipPipPipPip
  • 473 Bài viết
Điểm đánh giá: 149 (tàm tạm)

Đã gửi 23 February 2012 - 05:53 PM

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
  • 0
Đức hạnh lớn nhất mà bên cạnh đó, mọi đức hạnh khác đều mờ nhạt đi, đó là không làm hại ai và tùy sức mà giúp đỡ mọi người "
Người cảnh sát điều tra hình sự giỏi là người biết được tất cả những hành vi thủ đoạn trộm cắp của bọn trộm cắp, nhưng lại dốt ăn cắp ăn trộm ...

#9 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 23 February 2012 - 06:12 PM

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.
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#10 bilovingyou

bilovingyou

    biết zoom

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

Đã gửi 23 February 2012 - 06:35 PM

mặc dù ko hỉu nhưng vẫn vào tìm hỉu cho vui..hì hì
  • 0

#11 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 23 February 2012 - 08:29 PM

Đâ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))

  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#12 Hai_YenLang

Hai_YenLang

    biết lệnh explore

  • Members
  • PipPipPipPipPipPip
  • 473 Bài viết
Điểm đánh giá: 149 (tàm tạm)

Đã gửi 23 February 2012 - 08:52 PM

“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.
  • 0
Đức hạnh lớn nhất mà bên cạnh đó, mọi đức hạnh khác đều mờ nhạt đi, đó là không làm hại ai và tùy sức mà giúp đỡ mọi người "
Người cảnh sát điều tra hình sự giỏi là người biết được tất cả những hành vi thủ đoạn trộm cắp của bọn trộm cắp, nhưng lại dốt ăn cắp ăn trộm ...

#13 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 23 February 2012 - 09:03 PM

“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.
  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#14 Hai_YenLang

Hai_YenLang

    biết lệnh explore

  • Members
  • PipPipPipPipPipPip
  • 473 Bài viết
Điểm đánh giá: 149 (tàm tạm)

Đã gửi 23 February 2012 - 09:41 PM

Hình đã gửi
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
  • 0
Đức hạnh lớn nhất mà bên cạnh đó, mọi đức hạnh khác đều mờ nhạt đi, đó là không làm hại ai và tùy sức mà giúp đỡ mọi người "
Người cảnh sát điều tra hình sự giỏi là người biết được tất cả những hành vi thủ đoạn trộm cắp của bọn trộm cắp, nhưng lại dốt ăn cắp ăn trộm ...

#15 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 23 February 2012 - 09:49 PM

Hình đã gửi

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.
  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#16 Hai_YenLang

Hai_YenLang

    biết lệnh explore

  • Members
  • PipPipPipPipPipPip
  • 473 Bài viết
Điểm đánh giá: 149 (tàm tạm)

Đã gửi 23 February 2012 - 09:59 PM

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
  • 0
Đức hạnh lớn nhất mà bên cạnh đó, mọi đức hạnh khác đều mờ nhạt đi, đó là không làm hại ai và tùy sức mà giúp đỡ mọi người "
Người cảnh sát điều tra hình sự giỏi là người biết được tất cả những hành vi thủ đoạn trộm cắp của bọn trộm cắp, nhưng lại dốt ăn cắp ăn trộm ...