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

[Hỏi] Lệnh Polyline và Lwpolyne

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

Mọi người cho mình hỏi Lệnh POLYLINE và LWPOLYNE là 2 lệnh riêng biệt hay là cùng một lệnh. sự khác nhau của chúng là thế nào.

Tại sao khi mình vẽ lệnh PL trên cad R14 và cad 2007 khi LI lên thì nó hiển thị là LWPOLYLINE

mà ở cad 2004 khi vẽ lênh PL khi LI lên thì nó hiển thị là : POLYLINE

Thank!

  • 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

Mọi người cho mình hỏi Lệnh POLYLINE và LWPOLYNE là 2 lệnh riêng biệt hay là cùng một lệnh. sự khác nhau của chúng là thế nào.

Tại sao khi mình vẽ lệnh PL trên cad R14 và cad 2007 khi LI lên thì nó hiển thị là LWPOLYLINE

mà ở cad 2004 khi vẽ lênh PL khi LI lên thì nó hiển thị là : POLYLINE

Thank!

Nó chỉ là một lệnh ML sinh ra

Đoán: Có thể tên gốc ban đầu của nó trong CAD14 là POLYLINE , sang các phiên bản khác đời mới do có thêm một số chức năng sửa đổi chỉnh sửa bổ xung nó có thêm chữ LW thành LWPOLYNE

Giống như tên của một sản phẩm hàng hóa , nếu chỉ tiêu thụ trong nước thì người ta chỉ ghi là THICHO, còn sản phẩm đã nâng cấp để xuất khẩu thì người ta ghi thêm phía sau chữ ® nhỏ khoanh tròn: THITCHO®

 

THICHO và THITCHO® vẫn là thịt cầy!

  • 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

Nó chỉ là một lệnh ML sinh ra

 

THICHO và THITCHO® vẫn là thịt cầy!

 

Nếu nó là một vậy tại sao khi mình thực hiện một số LSP thì với LWPOLYLINE thì LSP thực hiện được còn với POLYLINE thì LSP lại không thực hiện được.?

(Cùng là hạt lúa, khi bỏ vỏ thì nó là hạt gạo, khi nấu chín thì nó lại gọi là cơm. sao không gọi sát lúa mà là sát gạo, là luộc gạo mà là nấu cơ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

Ketxu hiểu nôm na thế này : POLYLINE là Pline 3D, có cao độ từng điểm có thể thay đổi (Các vertex có thể thuộc các mặt phẳng khác nhau)

LWLPOLYLINE là Pline 2D, các vertex đều nằm chung trên 1 mặt phẳng

  • Vote tăng 3

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ếu nó là một vậy tại sao khi mình thực hiện một số LSP thì với LWPOLYLINE thì LSP thực hiện được còn với POLYLINE thì LSP lại không thực hiện được.?

(Cùng là hạt lúa, khi bỏ vỏ thì nó là hạt gạo, khi nấu chín thì nó lại gọi là cơm. sao không gọi sát lúa mà là sát gạo, là luộc gạo mà là nấu cơm)

1-Có thể có sự khác biệt về dòng của wieght của Polyline

Mã số: (0. "Polyline")

Mã số: (0. "LWPOLYLINE")

??

2- Sát gạo = Kết quả cuối cùng của việc sát lúa là ra gạo. Cơm và cháo khác với rau luộc . Rau luộc phải luộc vừa chín tới không luộc kỹ như ninh nhừ gạo thành cháo. Rau luộc xong phải vớt ngay ra rổ rá để ráo nước, vớt chậm màu của rau không xanh nhìn không sướng mắt.

Ketxu hiểu nôm na thế này : POLYLINE là Pline 3D, có cao độ từng điểm có thể thay đổi (Các vertex có thể thuộc các mặt phẳng khác nhau)

LWLPOLYLINE là Pline 2D, các vertex đều nằm chung trên 1 mặt phẳng

Cũng rất khó giả thích

-Gõ PL chỉ cho phép vẽ các điểm đồng phẳng, đang vẽ điểm ở mặt phẳng này, nhảy sang bắt điểm ở mặt phẳng khác ko được.

Lệnh PL (Polyline) vẽ được trên mặt phẳng OXY (x ≠ 0 , y ≠ 0, z = 0) và vẽ được trên mặt phẳng OYZ ( x =0 , y ≠ 0, z ≠ 0). Khi gõ Li để xem thì nó cùng được gọi LWPOLYLINE ???

Gõ 3DPOPLY : Vẽ được các điểm trên các mặt phẳng khác nhau. Khi gõ Li để xem thì nó gọi là POLYLINE.

 

-Kết luận: Khi xem thông tin trên Li phải hiểu rằng:

1- LWPOLYLINE là hình được vẽ bởi lệnh : Polyline

2- POLYLINE là hình được vẽ bởi lệnh : 3D Poliline

 

Tóm lại cơm là hình 3D, cháo là hình 2D!

  • 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

-Kết luận: Khi xem thông tin trên Li phải hiểu rằng:

1- LWPOLYLINE là hình được vẽ bởi lệnh : Polyline

2- POLYLINE là hình được vẽ bởi lệnh : 3D Poliline

1- LWPOLYLINE là hình được vẽ bởi lệnh : Pline (không có lệnh Polyline)

2- POLYLINE là hình được vẽ bởi lệnh : 3dpoly (không có lệnh 3dpolyline)

 

Mọi người cho mình hỏi Lệnh POLYLINE và LWPOLYNE là 2 lệnh riêng biệt hay là cùng một lệnh. sự khác nhau của chúng là thế nào.

Tại sao khi mình vẽ lệnh PL trên cad R14 và cad 2007 khi LI lên thì nó hiển thị là LWPOLYLINE

mà ở cad 2004 khi vẽ lênh PL khi LI lên thì nó hiển thị là : POLYLINE

Thank!

Cad 2004 thì LI vẫn là LWPOLYLINE! Không biết R14 thì LI sẽ ra cái gì? => thông tin này nguy hiểm quá!

  • Vote tăng 2

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

Cad 2004 thì LI vẫn là LWPOLYLINE! Không biết R14 thì LI sẽ ra cái gì? => thông tin này nguy hiểm quá!

 

Ở cad R14 khi LI lên thì cũng là LWPOLYLINE. Về cad thì mình vẫn còn tối tăm lắm. chỉ cài và sử dụng chưa biết hiệu chỉnh nhiều. nên cứ cài mặc định.

nên khi vẽ lệnh PL ở cad R14 và cad2007 li thì đều là LWPOLYLINE ( lấy được tọa độ các đỉnh của PL)

Còn ở cad 2004 nó chỉ là POLYLINE.

 

Tìm nửa ngày cuối cùng cũng được cái này. để đưa thằng PL ở cad2004 là LWPOLYLINE

Search một hồi thì ra cái này PLINETYPE

0 - POLYLINE

1 - LWPOLYLINE

  • 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

 

Ở cad R14 khi LI lên thì cũng là LWPOLYLINE. Về cad thì mình vẫn còn tối tăm lắm. chỉ cài và sử dụng chưa biết hiệu chỉnh nhiều. nên cứ cài mặc định.

nên khi vẽ lệnh PL ở cad R14 và cad2007 li thì đều là LWPOLYLINE ( lấy được tọa độ các đỉnh của PL)

Còn ở cad 2004 nó chỉ là POLYLINE.

 

Tìm nửa ngày cuối cùng cũng được cái này. để đưa thằng PL ở cad2004 là LWPOLYLINE

Hoá ra POLYLINE hay LWPOLYLINE là ở biến PLINETYPE, chứ cad 2004 hay 2007... thì không quan trọng.

Bạn check 2004 với Plinetype=0, tôi check 2004 với plinetype=1 nên khác nhau. Ái dà, cái này thì phải xem lại các lisp cũ thôi, kẻo nó lỗi hết.

  • 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

Hoá ra POLYLINE hay LWPOLYLINE là ở biến PLINETYPE, chứ cad 2004 hay 2007... thì không quan trọng.

Bạn check 2004 với Plinetype=0, tôi check 2004 với plinetype=1 nên khác nhau. Ái dà, cái này thì phải xem lại các lisp cũ thôi, kẻo nó lỗi hết.

Nếu có lỗi thì bạn thông báo cho mọi người để cả nhà cùng chữa hỏa. để nhà nước khỏi mất tiền để xây cho anh em ta căn biệt thự bằng đá phiến.

Nhân tiện cho mình hỏi luôn. Lisp đang chỉ thực hiện khi là LWPOLYLINE giờ muốn nó thực hiện luôn với POLYLINE thì làm thế nào.

VD lisp này của Mr. PhamThanhBinh. với POLYLINE thì ko thực hiện được

;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.com/forum/index.php?showtopic=63126&pid=195881&st=0entry195881

(defun c:gcoor (/ oldos k k1 p pl pls1 pmin pmax plst sc sh p1el ss1 ssl1 ssl2)
(Init)
(vl-load-com)
(command "undo" "be")
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
;;; Ve duong bao
;;;(command "pline")
;;;(While (setq p (getpoint "\n chon lan luot cac dinh cua duong bao"))
;;;	(command p)
;;;)
;;;(command "c")
(setq pl (car (entsel "\n Pick chon duong bao " ))
  pls1 (acet-ent-geomextents pl)
  pmin (list (* (1- (fix (/ (caar pls1) k1))) k1) (* (1- (fix (/ (cadar pls1) k1))) k1))
  pmax (list (* (1+ (fix (/ (caadr pls1) k1))) k1) (* (1+ (fix (/ (cadadr pls1) k1))) k1))
)
;;;;;;Tao danh sach diem grid
(setq plst (list pmin)
     	sc 1)
(while (<= (+ (car pmin) (* sc k1)) (car pmax))
 	(setq p (list (+ (car pmin) (* sc k1)) (cadr pmin))
    	plst (append plst (list p))
    	sc (1+ sc)
 	)
)
(foreach p plst
 	(setq sh 1)
 	(while (<= (+ (cadr p) (* sh k1)) (cadr pmax))
  	(setq p1 (list (car p) (+ (cadr p) (* sh k1)))
                 	plst (append plst (list p1))
                 	sh (1+ sh)
  	)
)
)
plst
;;;;;;;;;;; Tao grid
(setq el (entlast)
     	ss1 (ssadd))
(foreach p plst
(xy p)
)
;;;; Loc grid
(while (setq el (entnext el))
(setq ss1 (ssadd el ss1))
)
(setq ssl1 (acet-ss-to-list ss1))
(setq ppl (list)
par 0
pob (vlax-ename->vla-object pl) )
(while (<= par (vlax-curve-getendparam pob))
(setq pa (vlax-curve-getpointatparam pob par)
ppl (append ppl (list pa))
par (+ par 0.1)
)
)
(setq ssl2 (acet-ss-to-list (ssget "cp" ppl )))
(foreach x ssl1
(if (not (member x ssl2))
  (entdel x)
)
)


(setvar "osmode" oldos)
(command "undo" "e")
(Reinit)
)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;CT chich toa do tren ban do
;;;
(Defun Init()
(setvar "BLIPMODE" 0)
(setvar "CMDECHO" 0)
(setvar "LUPREC" 0)
(setq stl "standard")
(setq k (getint "\n nhap ty le ban do: ") k1 (/ k 10) ) (setq scale k)
(setq hi (* 0.002 scale))
(setq wi 0.9)
)
(Defun Reinit()
(setvar "BLIPMODE" 1)
(setvar "CMDECHO" 1)
(setvar "LUPREC" 4)
(princ)
)
(Defun XY( pt / x y xx yy  ptx pty)


(setq y (car pt))
(setq x (cadr pt))
(command "_Line"
         	(list (- y (* 0.0025 scale)) x 0.0)
         	(list (+ y (* 0.012 scale)) x 0.0) ""
)
(command "_Line"
         	(list y (- x (* 0.0025 scale)) 0.0)
         	(list y (+ x (* 0.0025 scale)) 0.0) ""
)
(setq xx (rtos x 2))
(setq yy (rtos y 2))
(setq pt y)
(setq y x)
(setq x pt)
(setq ptx (list (+ x (* 0.001 scale)) (- y (* 0.0025 scale)) 0.0))
(setq pty (list (+ x (* 0.0025 scale)) (+ y (* 0.001 scale)) 0.0))
(Maketext ptx 0 xx)
(Maketext pty 90 yy)

)
(Defun Maketext( diem ang string / etd)
(setq edt (list (cons 0 "text")
  	(cons 8 "GhichuTD")
  	(cons 62 5)
  	(cons 10 diem)
  	(cons 1 string)
  	(cons 7 stl)
  	(cons 40 hi)
  	(cons 41 wi)
  	(cons 50 (/ (* ang PI) 180.0))
)
)
(entmake edt)
)

  • 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

1- LWPOLYLINE là hình được vẽ bởi lệnh : Pline (không có lệnh Polyline)

2- POLYLINE là hình được vẽ bởi lệnh : 3dpoly (không có lệnh 3dpolyline)

Cảm ơn bác, em đã nhầm lẫn tên lệnh với tên biểu tượng của lệnh.

Dòng command chỉ nhận lệnh Pline và 3dpoly không nhận Polyline và 3D Polyline

 

nhmdd.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ếu có lỗi thì bạn thông báo cho mọi người để cả nhà cùng chữa hỏa. để nhà nước khỏi mất tiền để xây cho anh em ta căn biệt thự bằng đá phiến.

Nhân tiện cho mình hỏi luôn. Lisp đang chỉ thực hiện khi là LWPOLYLINE giờ muốn nó thực hiện luôn với POLYLINE thì làm thế nào.

VD lisp này của Mr. PhamThanhBinh. với POLYLINE thì ko thực hiện được

;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.com/forum/index.php?showtopic=63126&pid=195881&st=0entry195881

(defun c:gcoor (/ oldos k k1 p pl pls1 pmin pmax plst sc sh p1el ss1 ssl1 ssl2)
(Init)
(vl-load-com)
(command "undo" "be")
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
;;; Ve duong bao
;;;(command "pline")
;;;(While (setq p (getpoint "\n chon lan luot cac dinh cua duong bao"))
;;;	(command p)
;;;)
;;;(command "c")
(setq pl (car (entsel "\n Pick chon duong bao " ))
  pls1 (acet-ent-geomextents pl)
  pmin (list (* (1- (fix (/ (caar pls1) k1))) k1) (* (1- (fix (/ (cadar pls1) k1))) k1))
  pmax (list (* (1+ (fix (/ (caadr pls1) k1))) k1) (* (1+ (fix (/ (cadadr pls1) k1))) k1))
)
;;;;;;Tao danh sach diem grid
(setq plst (list pmin)
     	sc 1)
(while (<= (+ (car pmin) (* sc k1)) (car pmax))
 	(setq p (list (+ (car pmin) (* sc k1)) (cadr pmin))
		plst (append plst (list p))
		sc (1+ sc)
 	)
)
(foreach p plst
 	(setq sh 1)
 	(while (<= (+ (cadr p) (* sh k1)) (cadr pmax))
  	(setq p1 (list (car p) (+ (cadr p) (* sh k1)))
                 	plst (append plst (list p1))
                 	sh (1+ sh)
  	)
)
)
plst
;;;;;;;;;;; Tao grid
(setq el (entlast)
     	ss1 (ssadd))
(foreach p plst
(xy p)
)
;;;; Loc grid
(while (setq el (entnext el))
(setq ss1 (ssadd el ss1))
)
(setq ssl1 (acet-ss-to-list ss1))
(setq ppl (list)
par 0
pob (vlax-ename->vla-object pl) )
(while (<= par (vlax-curve-getendparam pob))
(setq pa (vlax-curve-getpointatparam pob par)
ppl (append ppl (list pa))
par (+ par 0.1)
)
)
(setq ssl2 (acet-ss-to-list (ssget "cp" ppl )))
(foreach x ssl1
(if (not (member x ssl2))
  (entdel x)
)
)


(setvar "osmode" oldos)
(command "undo" "e")
(Reinit)
)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;CT chich toa do tren ban do
;;;
(Defun Init()
(setvar "BLIPMODE" 0)
(setvar "CMDECHO" 0)
(setvar "LUPREC" 0)
(setq stl "standard")
(setq k (getint "\n nhap ty le ban do: ") k1 (/ k 10) ) (setq scale k)
(setq hi (* 0.002 scale))
(setq wi 0.9)
)
(Defun Reinit()
(setvar "BLIPMODE" 1)
(setvar "CMDECHO" 1)
(setvar "LUPREC" 4)
(princ)
)
(Defun XY( pt / x y xx yy  ptx pty)


(setq y (car pt))
(setq x (cadr pt))
(command "_Line"
         	(list (- y (* 0.0025 scale)) x 0.0)
         	(list (+ y (* 0.012 scale)) x 0.0) ""
)
(command "_Line"
         	(list y (- x (* 0.0025 scale)) 0.0)
         	(list y (+ x (* 0.0025 scale)) 0.0) ""
)
(setq xx (rtos x 2))
(setq yy (rtos y 2))
(setq pt y)
(setq y x)
(setq x pt)
(setq ptx (list (+ x (* 0.001 scale)) (- y (* 0.0025 scale)) 0.0))
(setq pty (list (+ x (* 0.0025 scale)) (+ y (* 0.001 scale)) 0.0))
(Maketext ptx 0 xx)
(Maketext pty 90 yy)

)
(Defun Maketext( diem ang string / etd)
(setq edt (list (cons 0 "text")
  	(cons 8 "GhichuTD")
  	(cons 62 5)
  	(cons 10 diem)
  	(cons 1 string)
  	(cons 7 stl)
  	(cons 40 hi)
  	(cons 41 wi)
  	(cons 50 (/ (* ang PI) 180.0))
)
)
(entmake edt)
)

Bạn có biết viết Lisp không?

Nếu bạn biết thì bạn có thể sử dụng lệnh Convert (command "Convert"........) để chuyển Polyline thành LWPolyline thì lúc đó chạy sẽ không bị lỗi nữa

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  

×