Rated 5/5 based on 240179 internet user reviews

Đến nội dung


Hình ảnh
- - - - -

Lệnh vẽ và xóa đường thẳng bằng lisp


  • Please log in to reply
4 replies to this topic

#1 vanvu

vanvu

    Chưa sử dụng CAD

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

Đã gửi 18 September 2007 - 11:34 PM

em mới học lập trình lisp.xin hỏi chút về lệnh lisp
mình mún vẽ trong cad đường thẳng,nhưng là đường nét đứt và sau khi nhấn enter thì mất các đường mà mình đã vẽ.
không biết dùng lệnh nào để vẽ và dùng lệnh nào để sóa
cám ơn nhiều
  • 0

#2 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 3841 Bài viết
Điểm đánh giá: 4355 (đỉnh cao)

Đã gửi 19 September 2007 - 07:12 AM

em mới học lập trình lisp.xin hỏi chút về lệnh lisp
mình mún vẽ trong cad đường thẳng,nhưng là đường nét đứt và sau khi nhấn enter thì mất các đường mà mình đã vẽ.
không biết dùng lệnh nào để vẽ và dùng lệnh nào để sóa
cám ơn nhiều

Bạn dùng lệnh grdraw. với cú pháp (grdraw from to color [highlight]).
- from là điểm bắt đầu
- to là điểm kết thúc
- color là màu (theo bảng màu của autocad, 1: red, 2 yellow,...)
- highlight: tô nét đứt hay không? (0 = không tô)

Ví dụ: (grdraw (list 0.0 0.0) (list 100.0 100.0) 1 1) sẽ vẽ một đường thẳng trên màn hình từ điểm (0.0,0.0) đến (100.0,100.0) với màu đỏ và nét đứt.

muốn xóa đường line này đi, bạn dùng lệnh redraw của autocad: (command ".redraw")
  • 0

#3 vanvu

vanvu

    Chưa sử dụng CAD

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

Đã gửi 21 September 2007 - 03:39 PM

Bác gì ấy ơi,vấn đề của em vậy nè: lấy điểm đầu và lấy điểm cuối sau đó dùng lệnh của bác dể vẽ nhưng đâu có được

(setq StartPt (getpoint "\nStartpoint: "))
(setq EndPt (getpoint StartPt "\nEndpoint: "))
(grdraw ( startPt ) ( EndPt ) 1 1)

giả sử mình mún vẽ liên tiếp nhiều đường.Sau đó sóa chúng đồng loạt thì sao
Bác làm ơn chỉ lun.Cám ơn nhiều
  • 0

#4 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 3841 Bài viết
Điểm đánh giá: 4355 (đỉnh cao)

Đã gửi 21 September 2007 - 04:17 PM

Bác gì ấy ơi,vấn đề của em vậy nè: lấy điểm đầu và lấy điểm cuối sau đó dùng lệnh của bác dể vẽ nhưng đâu có được

(setq StartPt (getpoint "\nStartpoint: "))
(setq EndPt (getpoint StartPt "\nEndpoint: "))
(grdraw ( startPt ) ( EndPt ) 1 1)

giả sử mình mún vẽ liên tiếp nhiều đường.Sau đó sóa chúng đồng loạt thì sao
Bác làm ơn chỉ lun.Cám ơn nhiều

Xin lỗi chưa hiểu ý bạn. Ý bạn là vẽ các đoạn trên màn hình (không tạo đối tượng) hay là vẽ các đối tượng line?

Đoạn mã trên của tôi dùng để vẽ các đoạn trên màn hình (không tạo đối tượng line). Tuy vậy, cách dùng của bạn bị sai cú pháp. Đúng là:
(setq StartPt (getpoint "\nStartpoint: "))
(setq EndPt (getpoint StartPt "\nEndpoint: "))
(grdraw startPt EndPt 1 1)

Nếu muốn vẽ nhiều đoạn thẳng thì dùng đoạn mã này nhiều lần hoặc dùng 1 lệnh grvecs với cú pháp:
(grvecs list) trong đó list là 1 tập hợp dạng (màu1 pa1 pb1 màu2 pa2 pb2 ...)
ví dụ mã lệnh:
(grvecs (list 1 '(0 0) '(100 100) 2 '(100 100) '(200 200))
sẽ vẽ 2 đoạn thẳng, đoạn đầu màu đỏ từ (0,0) đến (100,100) đoạn thứ 2 màu vàng từ (100,100) đến (200,200).
  • 0

#5 vanvu

vanvu

    Chưa sử dụng CAD

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

Đã gửi 21 September 2007 - 07:22 PM

Em đã được như ý nguyện.Cúm ơn bác rất nhiều á
  • 0