Đến nội dung


Hình ảnh

[ hỏi ] cách nối đường 3D để có 1 đường 3d kín


  • Please log in to reply
17 replies to this topic

#1 hakhoailang

hakhoailang

    biết lệnh rotate

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

Đã gửi 20 November 2012 - 11:11 PM

e có 2 đường 3D song song với nhau . và để tạo 1 3D kín e đã dùng lệnh 3P ( bắt điểm chính xác) để vẽ 2 cái PL 3D mới chặn ngay 2 đầu hở của 2 cái 3D cũ song song đấy .
sau đó dùng lệnh F để đóng kín như trong 2D nhưng ko dc .
các bác cho e giải pháp để chiến đấu cái vướng mắc này tí .
  • 0

#2 Hoan1111

Hoan1111

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2587 Bài viết
Điểm đánh giá: 692 (tốt)

Đã gửi 20 November 2012 - 11:19 PM

e có 2 đường 3D song song với nhau . và để tạo 1 3D kín e đã dùng lệnh 3P ( bắt điểm chính xác) để vẽ 2 cái PL 3D mới chặn ngay 2 đầu hở của 2 cái 3D cũ song song đấy .
sau đó dùng lệnh F để đóng kín như trong 2D nhưng ko dc .
các bác cho e giải pháp để chiến đấu cái vướng mắc này tí .

Đóng kín được tốt sao lại không ??? Bác em thử gửi file hình vẽ lên xem "2 đường 3D song song với nhau" kiểu gì???
  • 0

66 Câu Phật Học Cho Cuộc Sống : http://ngocchinh.com...-cho-cuoc-song/

Gió đưa cây cải về trời / Rau răm ở lại chịu lời đắng cay...

 

 


#3 hakhoailang

hakhoailang

    biết lệnh rotate

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

Đã gửi 20 November 2012 - 11:37 PM

đây là file 3d http://www.cadviet.c.../3/71598_3d.dwg
  • 0

#4 hakhoailang

hakhoailang

    biết lệnh rotate

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

Đã gửi 20 November 2012 - 11:39 PM

bác xem hộ e tí sao e lại ko dc híc
  • 0

#5 Hoan1111

Hoan1111

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2587 Bài viết
Điểm đánh giá: 692 (tốt)

Đã gửi 21 November 2012 - 12:37 AM

đây là file 3d http://www.cadviet.c.../3/71598_3d.dwg

Tại 2 đầu mà bác em nối cạnh mầu trắng hai đoạn mầu đỏ không // với nhau nó chéo nhau nên không thể Fillet được!
Có thể dễ dàng kiểm tra bằng cách vẽ một đoạn thẳng và cách đường mầu trắng một đoạn rồi dùng lệnh trim cắt >>> Sau đó copy đoạn nọ sang đoạn kia sẽ thấy là chúng chéo nhau:
Hình đã gửi
  • 0

66 Câu Phật Học Cho Cuộc Sống : http://ngocchinh.com...-cho-cuoc-song/

Gió đưa cây cải về trời / Rau răm ở lại chịu lời đắng cay...

 

 


#6 hakhoailang

hakhoailang

    biết lệnh rotate

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

Đã gửi 21 November 2012 - 08:51 AM

có cách nào để nó nối lại dc ko bác nhỉ . để nó là 1 PL kín
  • 0

#7 Hoan1111

Hoan1111

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2587 Bài viết
Điểm đánh giá: 692 (tốt)

Đã gửi 21 November 2012 - 09:10 AM

có cách nào để nó nối lại dc ko bác nhỉ . để nó là 1 PL kín

Sử dụng lệnh 3DPOLY vẽ thủ công lại tất cả là được
  • 0

66 Câu Phật Học Cho Cuộc Sống : http://ngocchinh.com...-cho-cuoc-song/

Gió đưa cây cải về trời / Rau răm ở lại chịu lời đắng cay...

 

 


#8 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 21 November 2012 - 09:42 AM

có cách nào để nó nối lại dc ko bác nhỉ . để nó là 1 PL kín

Dùng lisp thì có thể được, chứ cad chắc 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.


#9 hakhoailang

hakhoailang

    biết lệnh rotate

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

Đã gửi 21 November 2012 - 02:30 PM

có nhiều cái thủ công ko thể dc ấy chứ có khoảng nghìn điểm sao picsk hết . với lại cao độ chắc gì đã chuẩn . híc

bác DOAN VAN HA có thể giúp e cái lisp dc ko
thank bác
  • 0

#10 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 21 November 2012 - 02:41 PM

Đây là cái lisp của "người ta", dùng để nối các 3D Line thành 3D Polyline. Tôi đã test thử trên bản vẽ của bạn, thấy OK, nhưng lâu thì khỏi nói, vì polyline của bạn vô vàn điểm!
Cách dùng:
1). Vẽ 2 LINE nối 2 đầu của cặp POLYLINE.
2). EXPLODE 2 POLYLINE ra thành 1 mớ LINE.
3). Load và dùng lisp: chọn tất cả đối tượng gồm: 2 line + đống line do explode sinh ra => pha cà phê nhâm nhi ít phút => có 1 POLYLINE liền nhau.

;; Routine to convert 3d lines to as few as possable 3d polylines
;; CAB 12/23/03
;;
;; Collect all lines into a selection set
;; Create a list of end points
;; Walk through end points and find matches
;; Create a list of points then make into plines
;;
(defun c:3dp (/ sslines lc ssl lep en end end1 end2 ptr 3dll pt)

(if (setq sslines (ssget '((0 . "LINE"))))
(prompt "\nWorking, Please Wait.")
(progn
(prompt "\nNo Lines Found. ")
(exit)
)
)
(setq usercmd (getvar "CMDECHO"))
(setvar "CMDECHO" 0)
(setq useros (getvar "osmode"))
(setvar "osmode" 0)
(setq lc 0
ssl (sslength sslines)
lep (list)
3dcnt 0 ; # of 3d lines
fuzz 0 ; change as needed
)
(prompt (strcat "\n" (rtos (/ ssl 2) 2 0) " lines found."))
(command "undo" "begin")
(while (< lc ssl) ; make a list of line end points
(setq en (entget (ssname sslines lc))
lep (cons (cdr (assoc 11 en)) lep)
lep (cons (cdr (assoc 10 en)) lep)
lc (1+ lc)
) ; inc pointer
) ; end while

(while lep
;; lep is a collection of line end points
(setq end1 (car lep) ; get one end
end2 (cadr lep) ; get the other end
lep (cddr lep) ; remove that line from list
3dll (list)
3dll (cons end2 3dll)
3dll (cons end1 3dll); 3dll is the first segment of 3d poly line
ptr 0 ; pointer
)
;;
(while (<= (1+ ptr) (length lep))
(setq end (nth ptr lep)) ; get a line end point from list
(cond
((equal end end1 fuzz) ; found a matching point
(if (/= (/ ptr 2.0) (fix (/ ptr 2.0))) ; end of line
;; get pevious point
(setq 3dll (cons (nth (1- ptr) lep) 3dll); add to begining of 3dll
end1 (car 3dll)
lep (remove_pt (1- ptr) ptr)
) ; remove the end points from the list
;; else begining of line
;; get next point
(setq 3dll (cons (nth (1+ ptr) lep) 3dll)
end1 (car 3dll)
lep (remove_pt ptr (1+ ptr))
) ; remove the end points from the list
) ; endif
(setq ptr 0) ; reset pointer
) ; end cond 1

((equal end end2 fuzz)
(if (/= (/ ptr 2.0) (fix (/ ptr 2.0))) ; end of line
;; get pevious point
(setq 3dll (append 3dll (list (nth (1- ptr) lep))); add to end of 3dll
end2 (nth (1- ptr) lep)
lep (remove_pt (1- ptr) ptr)
)
;; else begining of line
;; get next point
(setq 3dll (append 3dll (list (nth (1+ ptr) lep)))
end2 (nth (1+ ptr) lep)
lep (remove_pt ptr (1+ ptr))
)
) ; endif
(setq ptr 0) ; reset pointer
) ; end cond 2
(t
(setq ptr (1+ ptr)) ; inc pointer
)
) ; end cond stmt
) ; end while
;;;=====================================================
;;; Draw 3d poly here using points collected in 3dll
;;;=====================================================
(if 3dll
(progn
(command "3dpoly")
(foreach pt 3dll
(command pt)
)
(command "")
(setq 3dcnt (1+ 3dcnt))
)
); endif
) ; end while
(command "_erase" sslines "")
(command "undo" "end")
(prompt (strcat "\n" (rtos 3dcnt 2 0) " 3dPoly lines created."))
(prompt "\nProcess complete.\n")
(setvar "osmode" useros)
(setvar "CMDECHO" usercmd)
) ; end defun main

(defun remove_pt (first sec / cnt llen newlist)
(setq cnt 0
llen (length lep)
newlist (list)
)
(while (< cnt llen)
(if (and (/= cnt first) (/= cnt sec))
(setq newlist (cons (nth cnt lep) newlist))
)
(setq cnt (1+ cnt))
); end while
(reverse newlist)
); end defun

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


#11 hakhoailang

hakhoailang

    biết lệnh rotate

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

Đã gửi 21 November 2012 - 04:34 PM

cảm ơn bác khi x ra công nhận là có nghìn điểm híc . cũng may là e timdc hướng giải quyết . ko phải EXPLODE nó ra mà rất nhanh . Dùng chính công cụ đẻ nó ra . nối 2 đường chặn nó lại bác ạ.
  • 0

#12 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 21 November 2012 - 04:38 PM

Nối kiểu gì thế? Không dùng lisp à? Hay sửa lisp?
  • 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.


#13 Hoan1111

Hoan1111

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2587 Bài viết
Điểm đánh giá: 692 (tốt)

Đã gửi 21 November 2012 - 08:38 PM

có nhiều cái thủ công ko thể dc ấy chứ có khoảng nghìn điểm sao picsk hết . với lại cao độ chắc gì đã chuẩn . híc

bác DOAN VAN HA có thể giúp e cái lisp dc ko
thank bác

:D :D :D :D
Đúng là như vậy! Nhưng ở trường hợp khác cơ!
"e có 2 đường 3D song song với nhau . và để tạo 1 3D kín e đã dùng lệnh 3P ( bắt điểm chính xác) để vẽ 2 cái PL 3D mới chặn ngay 2 đầu hở của 2 cái 3D cũ song song đấy ."
Khi em Hoằn kiểm tra
thì nó lại chéo nhau chứ quyết không chịu song song mới gọi là ...thẳng mực tầu đau...thân gỗ mới gọi là buồn cưới (cờ ươi cươi sắc cưới) bác em à !!!
  • 0

66 Câu Phật Học Cho Cuộc Sống : http://ngocchinh.com...-cho-cuoc-song/

Gió đưa cây cải về trời / Rau răm ở lại chịu lời đắng cay...

 

 


#14 hakhoailang

hakhoailang

    biết lệnh rotate

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

Đã gửi 22 November 2012 - 09:52 AM

em dùng cái pm mà e vẽ ra cái đó . ko cần X ra cũng chẳng cần điều kiện . đánh lệnh nối pl 3d chọn pl các pl đó là nối vo tư . nhẹ nhà như mây .chắc đây là công cụ của cái pm mà em dùng để thiết kế . e nghĩ đây là 1 đoạn mã gì đó của pm để xử lý những trường hợp thế này . đây e gửi các bác cái file mà e ko hề phải x nó ra .
mất 1s để đánh lệnh 1s để nối 1 s để đóng kín pl nếu cần thiết e làm video cho các bác xem .http://www.cadviet.c.../71598_3d_1.dwg
  • 0

#15 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 22 November 2012 - 10:00 AM

pm là gì vậy?
  • 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.


#16 hiepttr

hiepttr

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1298 Bài viết
Điểm đánh giá: 518 (tốt)

Đã gửi 22 November 2012 - 10:05 AM

đồng chí này viết tắt chữ phần mềm đó bác ah!
  • 1

Có vợ dù dữ dù hiền , bạn đều có lợi
_ Nếu vợ hiền, bạn sẽ là người đàn ông sung sướng
_ Nếu vợ dữ, bạn sẽ thành ... triết gia !

Bergson


#17 hakhoailang

hakhoailang

    biết lệnh rotate

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

Đã gửi 22 November 2012 - 02:26 PM

phần mềm bác ạ .
  • 0

#18 Hoan1111

Hoan1111

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2587 Bài viết
Điểm đánh giá: 692 (tốt)

Đã gửi 22 November 2012 - 03:00 PM

phần mềm bác ạ .

Óe ! Thế mờ em cứ tưỡng : PM tiếng anh viết tắt của chữ private message
  • 0

66 Câu Phật Học Cho Cuộc Sống : http://ngocchinh.com...-cho-cuoc-song/

Gió đưa cây cải về trời / Rau răm ở lại chịu lời đắng cay...