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

Lisp xoay bản vẽ trong khung chữ nhật Layout

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

Có ai không giúp mình với!

Cảm ơn trước

Mình đánh

 

MVSETUP      enter

ALINGN          enter

ROTATE        enter

chọn điểm gốc xoay    enter

đánh góc xoay: 45      enter

thì nó xoay

Nhưng khi viết Lisp:

 

 

(command " MVsetup" "Align" ".rotate" (list 0 0) 45)

thì nó lại báo:  unknown MVSETUP

xin mọi người chỉ giáo cho

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

MVSETUP không phải là lệnh gốc của Cad nên không thể dùng hàm command để gọi nó được.

Nó là 1 lệnh Lisp nên chỉ có thể gọi bằng (c:mvsetup).

Để có thể gọi với các tham số kèm theo như của bạn thì bạn cần xâm nhập vào hàm c:mvsetup để tìm hiểu, ở file "mvsetup.lsp" thuộc thư mục support của cad.

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

 

MVSETUP không phải là lệnh gốc của Cad nên không thể dùng hàm command để gọi nó được.

Nó là 1 lệnh Lisp nên chỉ có thể gọi bằng (c:mvsetup).

Để có thể gọi với các tham số kèm theo như của bạn thì bạn cần xâm nhập vào hàm c:mvsetup để tìm hiểu, ở file "mvsetup.lsp" thuộc thư mục support của cad.

Mình vào đây nhưng thấy "mvsetup.lsp" dài quá không tìm ra

Có ai biết không chỉ giáo chi mình với

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

theo gợi ý của a Doan Van Ha thì mình gọi dc lệnh mvsetup ra nhưng k gọi được những option của nó  :D  :D  :D

(command (c:mvsetup) "align" "Rotate" (list 0 0 0)  "45" "")

bắt đầu từ chỗ align trở đi nó cứ bắt nhập trong màn hình như bình thường  :angry2:  :angry2:  :angry2: , mình gửi lên xem bạn có sáng kiến gì không.

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

theo gợi ý của a Doan Van Ha thì mình gọi dc lệnh mvsetup ra nhưng k gọi được những option của nó  :D  :D  :D

(command (c:mvsetup) "align" "Rotate" (list 0 0 0)  "45" "")

bắt đầu từ chỗ align trở đi nó cứ bắt nhập trong màn hình như bình thường  :angry2:  :angry2:  :angry2: , mình gửi lên xem bạn có sáng kiến gì không.

Gợi ý của bạn mình cũng bị thế chưa ra cách nào

Cái này chắc bác Kakung làm rồi nhờ bác cho ý kiến

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

theo gợi ý của a Doan Van Ha thì mình gọi dc lệnh mvsetup ra nhưng k gọi được những option của nó  :D  :D  :D

(command (c:mvsetup) "align" "Rotate" (list 0 0 0)  "45" "")

bắt đầu từ chỗ align trở đi nó cứ bắt nhập trong màn hình như bình thường  :angry2:  :angry2:  :angry2: , mình gửi lên xem bạn có sáng kiến gì không.

Bạn ơi mình thử rồi cũng k được

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ôi đã nói ở trên là: lệnh lisp không thể dùng trong hàm command mà sao 2 bạn cứ cố nhét nó vào rồi rên rỉ là không được!

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

ừ cảm ơn Hà vì mình Là lisp gà mờ mà

Gà mờ nhìu khi sẽ phát minh ra được những thứ không ngờ,  :D  :D  :D tiếp tục nghiên cứu đi bạn, cố nhét thì nó sẽ vào  :lol:

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

Gà mờ mà dám vào bới cái lisp dài nghìn trang này thì cũng đáng phục đó :D :D :D

Đừng dại mà nghe lời Namvanvo là đứt đuôi con "lòng lọc" đó :lol:

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

Có đây:

(vl-load-com)

(vla-put-twistangle(vlax-ename->vla-object(car(entsel))) (/ pi 4))

Em chỉnh lại cái xoay trong

khung chữ nhật Layout

đưa lệnh của bác Kakung vào mà k được nhờ Bác và mọi người chỉ giáo

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


http://www.cadviet.com/upfiles/3/123341_inmodellayoutdefpointsall_kvp.lsp

 

Em chỉnh lại cái xoay trong

khung chữ nhật Layout

đưa lệnh của bác Kakung vào mà k được nhờ Bác và mọi người chỉ giáo

Em chỉnh lại cái xoay trong

khung chữ nhật Layout

đưa lệnh của bác Kakung vào mà k được nhờ Bác và mọi người chỉ giáo

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

Bạn thử Lisp này xem:

(defun C:test( / n vp)
  (vl-load-com)
  (if (= (getvar "Tilemode") 0)
    (progn
      (if (/= (getvar "cvport") 1) (command "PSPACE"))
      (setq vp(car(entsel "\n Select viewport:")))
      (setq n(cdr(assoc 69 (entget vp))))
      (command "MSPACE")
      (setvar "cvport" n)
      (vla-put-twistangle (vlax-ename->vla-object vp) (/ pi 4))
      (command "Zoom" "E")
      )
    (alert "\n Chuyen sang Layout truoc khi chay Lisp!")
    )
  (princ)
  )

 

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

Nhưng người nhận thì chưa chịu LIKE kịp thời  :D

 

Nhưng người nhận thì chưa chịu LIKE kịp thời  :D

 

Nhưng người nhận thì chưa chịu LIKE kịp thời  :D

 

Nhưng người nhận thì chưa chịu LIKE kịp thời  :D

 

Nhưng người nhận thì chưa chịu LIKE kịp thời  :D

 

Nhưng người nhận thì chưa chịu LIKE kịp thời  :D

 

Nhưng người nhận thì chưa chịu LIKE kịp thời  :D

 

Nhưng người nhận thì chưa chịu LIKE kịp thời  :D

 

Nhưng người nhận thì chưa chịu LIKE kịp thời  :D

Đúng thế bác nhưng dù sao cũng phải cảm ơn trước vì các bác đã bớt chút thời gian, công sức, chất xám vào đÂy mà

Cái test mới của bác KaKung em chạy nó ra thế này:

 Select viewport:; error: AutoCAD variable setting rejected: "cvport" nil

Chà có mỗi cái xoay trong layout mà khó ghê nhỉ!

  • 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

Sài thử Lisp này xem :

 

(defun c:rv( / n vp)
  (vl-load-com)
  (if (= (getvar "Tilemode") 0)
    (progn
      (if (/= (getvar "cvport") 1)
	(vla-Put-MSpace (vla-Get-ActiveDocument (vlax-Get-Acad-Object)) :vlax-False))
      (prompt "\nChont viewport can xuay: ")
      (if (and (setq ss (ssget ":S+." '((0 . "VIEWPORT"))))
	       (setq ang (getangle "\nNhap goc xuay: ")))
	(vla-Put-TwistAngle (vlax-EName->vla-Object (ssname ss 0)) ang) ) )      
    (alert "\n Chuyen sang Layout truoc khi chay Lisp!")    )
  (princ)  )
  • 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

 

Sài thử Lisp này xem :

 

(defun c:rv( / n vp)
  (vl-load-com)
  (if (= (getvar "Tilemode") 0)
    (progn
      (if (/= (getvar "cvport") 1)
	(vla-Put-MSpace (vla-Get-ActiveDocument (vlax-Get-Acad-Object)) :vlax-False))
      (prompt "\nChont viewport can xuay: ")
      (if (and (setq ss (ssget ":S+." '((0 . "VIEWPORT"))))
	       (setq ang (getangle "\nNhap goc xuay: ")))
	(vla-Put-TwistAngle (vlax-EName->vla-Object (ssname ss 0)) ang) ) )      
    (alert "\n Chuyen sang Layout truoc khi chay Lisp!")    )
  (princ)  )

Nó ra thế này bạn ạ:

Select viewport:; error: bad argument type: numberp: nil

  • 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

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


×