Đến nội dung


Hình ảnh
- - - - -

Với MPLot


  • Please log in to reply
9 replies to this topic

#1 kts.ngocquan

kts.ngocquan

    biết vẽ ellipse

  • Members
  • PipPip
  • 59 Bài viết
Điểm đánh giá: 36 (tàm tạm)

Đã gửi 25 January 2008 - 05:51 PM

Từ lệnh MPLot của CadViet mình có 1 chút yêu cầu nhỏ nhờ ae giúp đỡ :
- Mình muốn xin File Lisp của của nó để add vào file lisp của mình rồi mới chuyển sang .vlx
Các bạn CADViet giúp mình nhé
  • 0

#2 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 25 January 2008 - 06:10 PM

Từ lệnh MPLot của CadViet mình có 1 chút yêu cầu nhỏ nhờ ae giúp đỡ :
- Mình muốn xin File Lisp của của nó để add vào file lisp của mình rồi mới chuyển sang .vlx
Các bạn CADViet giúp mình nhé

Tiếc là không được!!!
  • 0

#3 kts.ngocquan

kts.ngocquan

    biết vẽ ellipse

  • Members
  • PipPip
  • 59 Bài viết
Điểm đánh giá: 36 (tàm tạm)

Đã gửi 27 January 2008 - 11:01 AM

Tiếc là không được!!!

:) Nhung cũng cảm ơn NH nhé !
  • 0

#4 ndtnv

ndtnv

    biết lệnh minsert

  • Members
  • PipPipPipPipPipPip
  • 437 Bài viết
Điểm đánh giá: 384 (khá)

Đã gửi 04 September 2009 - 02:27 PM

Từ lệnh MPLot của CadViet mình có 1 chút yêu cầu nhỏ nhờ ae giúp đỡ :
- Mình muốn xin File Lisp của của nó để add vào file lisp của mình rồi mới chuyển sang .vlx
Các bạn CADViet giúp mình nhé


MPlot: In hàng loạt bản vẽ trong cửa sổ hình chữ nhật
Dùng để in r hàng, c cột bản vẽ kích thước như nhau. Bản đầu tiên từ vị trí x0, y0
Kích thước mỗi cửa sổ rộng w, cao h. Khoảng cách các cửa sổ theo phương x là dw, phương y là dh

(defun Plot1 (ll ur)
(command "-PLOT" "Yes" "Model" "HP LJ 5200" "A4" "Millimeters" "Portrait" "No"
"Window" ll ur "1/200" "Center" "Yes" "sl.ctb" "Yes" "Wireframe" "no" "Yes" "Yes")
)

(defun MPlot (r c x0 y0 w h dw dh / i j x y om)
(setq y y0 om (getvar "OSMODE"))
(setvar "OSMODE" 0)
(repeat r
(setq x x0)
(repeat c
(Plot1 (list x y) (list (+ x w) (+ y h)))
(setq x (+ x dw))
)
(setq y (+ y dh))
)
(setvar "OSMODE" om)
)
Vì mỗi máy có cấu hình khác nhau, để in đúng các bạn đánh lệnh
Command: -PLOT
Detailed plot configuration? [Yes/No] : y
....
Sau đó nhập các từ khóa cần thiết. Để lấy cấu hình đúng, khi nào trong dòng Command có dấu [?]
các bạn đánh ? thì cad sẽ list các cấu hình, sau đó copy vào vị trí tương ứng trong hàm Plot1



VD về cách dùng hàm này
Lệnh MPlot: In hàng loạt bản vẽ
Dùng in r hàng, c cột với điểm đầu, kích thước cửa sổ và khoảng cách của các hàng, cột pick trên bản vẽ

Lệnh MPlotA: In hàng loạt bản vẽ đặt cạnh nhau trong vùng hình chữ nhật
Dùng in toàn bộ bản vẽ trong vùng hình chữ nhật. Pick điểm để chọn điểm gốc ,kích thước mỗi cửa sổ và khoảng cách của các hàng, cột


(defun C:MPlot ( / r c p0 p1 p2 x y dw dh)
(setq r (getint "\nSo hang :") c (getint "\nSo cot :"))
(setq p0 (getpoint "\nGoc duoi trai cua so dau tien:") x (car p0) y (cadr p0))
(setq p1 (getpoint "\nGoc tren trai cua so dau tien:"))
(setq p2 (getpoint "\nGoc duoi trai cua so hang 2 cot 2:"))
(setq w (- (car p1) x) h (- (cadr p1) y))
(setq dw (- (car p2) x) dh (- (cadr p2) y))
(if (or (<= w 0) (<= h 0))
(progn (princ "\nNhap sai diem") (quit))
)
(if (<= dw 0 ) (setq c 1))
(if (<= dh 0 ) (setq r 1))
(MPlot r c x y w h dw dh )
)
Nếu các cửa sổ in nằm cạnh nhau thì dùng hàm sau sẽ tự động tính số hàng và cột
(defun C:MPlotA ( / r c p0 p1 p2 x y w h dw dh)
(setq p0 (getpoint "\nGoc duoi trai cua so dau tien:") x (car p0) y (cadr p0))
(setq p1 (getpoint "\nGoc tren phai cua so dau tien:"))
(setq p2 (getpoint "\nGoc tren phai cua so cuoi cung:"))
(setq w (- (car p1) x) h (- (cadr p1) y))
(setq dw (- (car p2) x) dh (- (cadr p2) y))
(if (or (<= w 0) (<= h 0) (<= dw 0) (<= dh 0))
(progn (princ "\nNhap sai diem") (quit))
)
(setq r (fix (+ 0.5 (/ dh h ) )))
(setq c (fix (+ 0.5 (/ dw w ) )))
(MPlot r c x y w h w h )
)
Hoặc dùng kiểu load trực tiếp code từ cửa sổ lisp
(MPlot 2 3 0 0 42000.0 59400.0 42000.0 59400.0)
  • 1

#5 ceddtu

ceddtu

    biết vẽ spline

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

Đã gửi 13 May 2010 - 03:04 PM

Command: mpl

Select objects: Specify opposite corner: 2 found
1 was filtered out.

Select objects:

1=1.00
Yes or No, please.

Yes or No, please.
; error: An error has occurred inside the *error* functionFunction cancelled
Save changes to page setup [Yes/No]?
Proceed with plot [Yes/No] : n
Lệnh MPL của mình bị lỗi như thế này , có ai giúp mình đc ko, mình cảm ơn nhiều nhé
  • 0
Đời vắng mẹ hiền không phụ nữ.
Anh hùng thi sĩ hỏi còn đâu !

#6 huunhan202

huunhan202

    Chưa sử dụng CAD

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

Đã gửi 15 September 2010 - 01:10 AM

Mình vừa cài Mplot của bác Nguyễn Hoành. Minh chon in kieu Block, chọn Plot selected thi bị báo lỗi sau:

"Command: mpl
Select objects: Specify opposite corner: 9 found

Select objects:

1=1.36
Yes or No, please.

Yes or No, please.
; error: An error has occurred inside the *error* functionFunction cancelled
Save changes to page setup [Yes/No]? y Proceed with plot [Yes/No] :
Effective plotting area: 290.70 wide by 413.81 high
Effective plotting area: 290.70 wide by 354.12 high

Plotting viewport 4.

Plotting viewport 1.

Grid too dense to display"

Không có bản in nào ra cả.
Bác Nguyễn Hoành xem gíup mình nhé.
Thanks.
  • 0

#7 vqhoang0810qn

vqhoang0810qn

    Chưa sử dụng CAD

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

Đã gửi 11 June 2012 - 08:52 AM

Mình cũng viết vài lisp chuyên dùng cho cầu đường. Có viết lệnh in. Chưa xem lisp MPlot của bác NH nên không biết, nhưng in theo kiểu in liên tục của TDT thì mệt lắm, phải sắp xếp khung in, rồi xoay cùng 1 chiều, đúng kích cỡ, nên nhiều khi muốn in khung lớn nhỏ lộn xộn hoặc cái dọc cái nằm ngang, rồi cái nào trước cái nào sau nữa ... nên cũng hơi bất tiện. Bạn nào cần pm yahoo mình gởi cho. Vì mình mới mày mò nên còn kém không dám post lên đây mấy bác cười cho.
  • 1

#8 vqhoang0810qn

vqhoang0810qn

    Chưa sử dụng CAD

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

Đã gửi 11 June 2012 - 10:25 AM

À tiện đây cho mình hỏi, vì sao một số bản vẽ dùng hàm vlax-curve-getPointAtDist thì điểm bắt chính xác trên curve. Một số nó lại bắt không chính xác. Nghĩa là nó không nằm trên Curve.
  • 0

#9 danhdat810

danhdat810

    biết pan

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

Đã gửi 27 July 2012 - 01:31 PM

Tiếc là không được!!!

anh hoành cho em hỏi cách in(cách chọn thông số) bằng lệnh mplot này như thế nào vậy!thanks anh
  • 0

#10 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 27 July 2012 - 07:51 PM

Cách dùng giống như lệnh plot bình thường mà.

Chỉ khác là thay vì phải bắt điểm thì chọn block hoặc rectangle.
  • 0