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

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

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

vanvu    0

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

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
Nguyen Hoanh    4.524
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")

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
vanvu    0

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

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
Nguyen Hoanh    4.524
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).

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


×