Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu ] Lisp Xoay Viewport tùy ý


  • Please log in to reply
34 replies to this topic

#21 lp_hai

lp_hai

    biết lệnh measure

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

Đã gửi 13 July 2012 - 09:19 AM

- MB ko có chuyện stop hẳn mới vẽ MĐ MC...Như vậy là phe này chạy ra chạy vô mấy cái Xref & Block liên tục vì ko thể vẽ cái nào dứt điểm ngay đc. Trời ah, File nào cần chỉnh thì phải chỉnh, có gì mà lạ, hơn nữa công trình lớn thì nên "Chia để trị" mỗi người phụ một việc cùng lúc, cần tham chiếu cái gì thay đổi thì Xref vào mà xem

- Phe này làm tăng gấp 2 thậm chí gấp 4 gấp 5 lần số File...số file tăng nhưng mỗi file nhẹ. Bạn nghĩ cái nào tiện hơn, đôi khi mấy ông điện nước quan tâm MB nhiều hơn vậy mà lúc nào cũng phải kè kè theo cái MĐ MC làm chi cho nặng file...Ở công ty mình thậm chí mỗi File chỉ có một BV, vì thế 10 MB phải nằm trong 10 BV khác nhau -tất nhiên là file Sheet (trong đó gồm những Xref khác nhau....) Mình không quan tâm các bộ phận khác họ làm thế nào, chỉ quan tâm nội dung mình gủi họ có đúng hay không. Vì vậy chỉ cần File Sheet trình bày Ok là xong. Họ muốn làm gì với nó thì họ có file Xref điện nước của họ...

-Ông này ko vẽ mà chỉ soi , nên MB MĐ MC tách ra là ông này dễ đi tù nhất. Ổng muồn xem gì thì xref vào mà xem

- Phe này lỗi kỹ thuật về hình họa nhiều nhất , thể hiện hồ sơ với Font Text...Cái này do người quản lý từ đầu không thống nhất tiêu chuẩn, Cty không có Template, không có quy chuẩn....=> không thể chấp nhận đối với một công ty chuyên nghiệp :)

-Còn nếu Xref MB vô thì phe này sợ regen nhất cty vì cứ chạy ra lại chạy vô Xref Tại sao vậy nhỉ! Bạn test thử cái này nhé: File thứ nhất gồm MB và MĐ, file thứ 2 gồm MB và Xref MĐ, bạn thử xem file nào nhẹ hơn????
  • 0
Hình đã gửi

#22 NTD

NTD

    biết lệnh rotate

  • Members
  • PipPipPip
  • 135 Bài viết
Điểm đánh giá: 11 (tàm tạm)

Đã gửi 13 July 2012 - 09:35 AM

- Thưa bác là em đã nói rõ là cty vẫn xài Xref mà, trước 3 phe nay 1 phe vẫn xài như thường nhưng chỉ xref cái nào mà bản thân mỗi ng ko phải thường xuyên thay đổi mà là ng khác thay đổi vì đó là đầu việc của ng ta : VD xref Khung tên thì đương nhiên rồi , Các đầu việc như Trần Sàn Điện Nước Xref cả cái Files nặng nhất là MB+MD+MC.dwg cơ mà sau đó dùng Fiter Layer tat Off hay đóng băng Layer, thậm chí dùng Xclip để thấy mỗi cái MB mà ko thấy 1 cái gì của MĐ MC cho dù tất cả layer đêu đc On
- Files nặng nhất là MB+MD+MC.dwg là File đầu tầu thường chỉ giao cho 1 ng làm thôi, chỉ xref những thứ ít thay đổi nhất như khung tên văn bản quy phạm , MB hiện trạng + các bản vẽ của các nhà thầu phụ như MBS-Thang Máy-ĐiềuHòaThôngGió....chỉ khoảng từng đó thôi đã mệt rồi bây h tự mình làm ra 1 loat các files Xref nữa gủi ngược trở lại các bộ môn ư ? Thường là KTS chủ trì sẽ phải trưc tiếp vẽ file MB+MD+MC.dwg đó, cty có đến mấy chục đầu việc 1 lúc , 1 KTS chủ trì làm 1 lúc khoảng ít nhất 3 công trình 1 lúc , đi theo Phe 1 để làm như bác thì khi gấp lên mang về nhà mà vẽ , tất nhiên đc , nhưng Xref đường dẫn mà nhầm lẫn thì quá tội . Rồi lại chuyện 1 chủ trì quản lý kiểu Xref vẽ trong khoảng 10 Files 1 dự án , 3 dự án sẽ là 30 Files , tất cả gửi cái ông GDKT ông ý cáu là đúng , ng ta già cả rồi bắt ng ta phải biết Xref thạo CAD như mình ư , mình học ông ý bao thứ còn chưa xong đâu dám dạy ông ý về cách quản lý Files , quản lý hồ sơ phải ntn
- Mà nếu KTS chủ trì nhờ ng khác vẽ cái MCắt chính chẳng hạn thì ko cần biết ng đc nhờ vẽ theo phe nào , đúng hạn nôp bài đây anh còn đưa vô File MB+MD+MC.dwg của anh để anh xoay MCắt của chú ra rồi soi trước khi ông GĐKT ông ý mắng cả 2 anh em
- Topic đã đi đến chỗ tranh luận nên theo phe nào trong 3 phe trong khi cái em mong muốn ở post 1 thì chưa đạt hết đc , mong các bác xem xét cho !
  • 0

#23 NTD

NTD

    biết lệnh rotate

  • Members
  • PipPipPip
  • 135 Bài viết
Điểm đánh giá: 11 (tàm tạm)

Đã gửi 13 July 2012 - 10:22 AM

Em muốn các bác viết 1 Lisp hỗ trợ em làm theo cách 2 sao cho khi em gọi lệnh để xoay view Lisp sẽ ko tự động zoom Extents mà sẽ cho em chọn 1 điểm làm tâm xoay cho chọn hướng xoay bất kỳ( Bằng cách dùng chuột , nên ưu tiên cách này & bằng cách nhập từ bàn phím góc xoay ) và điểm xoay đó sẽ là tâm điểm của Viweport tĩnh sau khi kết thúc lệnh nhất là zoom Scale ko thay đổi so với viewport trước + UCS cũng thay đổi sao cho XY tương ứng với View cuối cùng ko bị xoay chéo đi thì tốt quá . Đăc biệt các bác ko cho nó tự động regen bản vẽ trong bất kỳ trường hợp nào hộ em nha . Nếu đc thì Lisp nên có thêm chế độ Object để lúc bảo chọn tâm xoay thi enter 1 phát sẽ ra chế độ chọn đối tượng để zoom Object sau khi đã xoay view bằng cách chỉ hướng hay gõ góc xoay, Và cả chế độ Window để chọn của sổ và xoay view với tâm Window đó sau khi chỉ hướng hay gõ góc xoay ( tất nhiên 2 chế độ này sẽ làm Zoom Scale thay đổi ) . 2 chế độ thêm vô này như là của lệnh zoom đó
Mời các bác xuống núi . Em xin cảm ơn tất cả ý kiến & Lisp các bác viết cho


Đỏ : Lisp đã có Lisp ( tuy cách dung chuột chon hướng xoay chưa trực quan ==> dễ nhầm XY lộn xoay quanh Z , nên hướng ko như UCS quốc tế , cái nay may mà em có Lisp UCS theo View hiên thồi nên em ko lo ) , em xin cảm ơn bác lp_hai rất nhiều
Xanh : chưa có Lisp giải quyết đc , mong các bác xem xét giúp em vài code
  • 0

#24 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 13 July 2012 - 10:31 AM

1. Bỏ cái kiểu chử to và màu chói đó đi. Bạn cần gấp thì kệ bạn đừng làm người khác phải khó chịu khi nhìn cái bài viết ko giống các bài khác như thế.
2. Muốn người khác ngậm miệng viết ứng dụng theo ý mình mà ko chỉ đường khác theo quan điểm của họ là làm được mà k cần lisp thì tốt nhất là bỏ tiền ra thuê.
3...
  • 1

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#25 NTD

NTD

    biết lệnh rotate

  • Members
  • PipPipPip
  • 135 Bài viết
Điểm đánh giá: 11 (tàm tạm)

Đã gửi 13 July 2012 - 10:47 AM

- Gớm bác duy quá lời , em chỉ sợ topic tranh luận theo 3phe đi sai hướng lạc chủ đề thôi chứ có có bảo ai ngậm miệng lại ko đc nêu lên quan điểm của họ đâu mà sao bác nói em nặng lời thế
- Đâu phải cứ có tiền mà có Lisp dùng , em đang muốn mua 1 ứng dụng rât tuyêt vời trên này của bác Detailing , mà tác giả hình như chưa có ý định bán vì sản phẩm chưa thật hoàn chỉnh theo ý đồ của tác giả , có lẽ vậy
  • 1

#26 nataca

nataca

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 712 Bài viết
Điểm đánh giá: 553 (tốt)

Đã gửi 13 July 2012 - 10:57 AM

Em là Kiến Trúc Sư , em vẽ Mặt Bằng nhà xong thì muốn vẽ tiếp Mặt Bên + Măt Cắt Ngang của nhà ( các hinh chiếu có hướng chiếu so với Măt Bằng là đi từ bên trái hay bên phải nhìn vào ,các bác đừng nhầm lẫn khái niệm với Mặt Đứng & Mặt Cắt Dọc nhé , 2 cái đấy em ko có vấn đề gì) thì em có 2 cách : Làm hết bên Model Space nha , ko muốn chơi Paper Space đâu
Mời các bác xuống núi . Em xin cảm ơn tất cả ý kiến & Lisp các bác viết cho

Theo mình bạn hoàn toàn giải quyết việc này được nhờ vào chế độ view bên paper mà chẳng khác gì đang vẽ trong model, không việc gì phải dùng đến lisp cả.
Nó đáp ứng được yêu cầu:
- Xoay được mặt bằng để vẽ mặt bên, mặt cắt
- Đảm bảo chỉ có 1 mặt bằng duy nhất (không phải copy hay block... gì cả) nên đảm bảo cả việc tham chiếu và sửa đổi.
Để làm được điều trên:
- Mời bạn sang tab Layout
- Bạn tạo cho mình một View zoom về vị trí mặt bằng (gọi là V1)
- Copy View vừa tạo sang một bên để tý nữa vẽ mặt bên, mặt cắt (gọi là V2)
- Xoay view mặt bằng với lệnh ALIGNSPACE hay lệnh nào tùy bạn miễn là xoay được mặt bằng theo ý muốn. Zoom center V1 theo tỷ lệ thích hợp (nhớ lưu tỷ lệ zoom này_ gọi là Z1)
- Sang V2, Zoom center về giá trị Z1 (đảm bảo chuẩn kích thước so với V1), rồi Pan đến vị trí hợp lý để vẽ mặt bên, mặt cắt
- Bước cuối cùng để việc vẽ bên paper như model là bạn khóa view V1, V2 lại để không thể zoom và Pan (bằng cách quét chọn vào V1, V2 rồi nhấn vào biểu tượng khóa view ở góc dưới bên phải màn hình autocad hoặc Ctrl+1 rồi sửa thuộc tính Display lock của 2 view này thành yes)
- Giờ bạn lick đúp vào V2 để vẽ trên đó bình thường (không khác việc bạn vẽ bên Model tý nào)
  • 1

#27 Detailing

Detailing

    biết lệnh imageclip

  • Members
  • PipPipPipPipPipPipPip
  • 667 Bài viết
Điểm đánh giá: 278 (khá)

Đã gửi 13 July 2012 - 11:11 AM

Theo mình bạn hoàn toàn giải quyết việc này được nhờ vào chế độ view bên paper mà chẳng khác gì đang vẽ trong model, không việc gì phải dùng đến lisp cả.

Em xin bổ sung thêm 2 command VPMAX VPMIN nữa.
  • 0

Ideas don't matter, execution does!

1908412_308002392716743_8165279281236341


#28 lp_hai

lp_hai

    biết lệnh measure

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

Đã gửi 13 July 2012 - 11:25 AM

Code này có thể Zoom center và chọn lại scale của view trước khi xoay, dựa vào Viewsize và chọn center của view
Còn về UCS thay đổi theo View mới, theo mình hợp lý hơn là vẫn theo view trước đó, vì khi này ta ghi dim text ko bị đảo lộn.
Rengen thì mình pó tay, vì dùng lệnh Plan của CAD thì nó mặt định đi theo rồi. hic

(defun c:AS(/ p goc vs)
(setq p (getpoint "\nSpecify Center")
goc (getreal "\nangle: ")
vs (getvar "viewsize")
p (trans p 1 0))
(command "ucs" "z" (* -1 goc) "")
(command "plan" "")
(command "zoom" "c" (trans p 0 1) vs)
(princ)
)

  • 0
Hình đã gửi

#29 NTD

NTD

    biết lệnh rotate

  • Members
  • PipPipPip
  • 135 Bài viết
Điểm đánh giá: 11 (tàm tạm)

Đã gửi 13 July 2012 - 04:45 PM

Code này có thể Zoom center và chọn lại scale của view trước khi xoay, dựa vào Viewsize và chọn center của view
Còn về UCS thay đổi theo View mới, theo mình hợp lý hơn là vẫn theo view trước đó, vì khi này ta ghi dim text ko bị đảo lộn.
Rengen thì mình pó tay, vì dùng lệnh Plan của CAD thì nó mặt định đi theo rồi. hic

Lisp chon tâm rồi nhâp góc xoay view này ngon rồi bác ạ ,
Bác thêm cho em trường hợp chọn góc xoay bằng chuột với . Nhưng bác đừng làm theo kiểu chon 2 điểm như cái lúc trước em thấy dùng ko trưc quan Xin bác có thể lam theo kiểu 3 điểm : chọn điểm A làm tâm , chọn điẻm B , chọn điểm C Enter dẫn đễn AB trùng AC ==> view đc xoay 1 góc BAC .

PS: bác sửa cả Lisp xoay kiểu chon đối tượng dùng chuột đê xoay theo 3 điểm như em vừa nói xong nhé

Có bác lo cho topic này em sướng rồi , cảm ơn bác nhiều
  • 0

#30 lp_hai

lp_hai

    biết lệnh measure

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

Đã gửi 16 July 2012 - 09:05 AM

Bạn xem lại dòng này: AB trùng AC ==> view đc xoay 1 góc BAC ==> góc quay luôn dương (??). Mình viết theo kiểu Align space của cad:

(defun c:ACS(/ p1 p2 p3 goc vs)
(setq p1 (getpoint "\nChon Tam")
p2 (getpoint p1 "\nChon Phuong hien tai")
p3 (getpoint p1 "\nChon Phuong moi")
goc (-(angle p3 p1)(angle p2 p1))
vs (getvar "viewsize")
p1 (trans p1 1 0))
(command "ucs" "z" (/(* 180 goc)pi) "")
(command "plan" "")
(command "zoom" "c" (trans p1 0 1) vs)
(princ)
)

P/s Có bác lo cho topic này em sướng rồi , cảm ơn bác nhiều bạn mà viết như thế này là đã bỏ qua biết bao ý kiến của nhiều bác khác trong diễn đàn, mà cách giải quyết của họ có thể nhanh gọn và hay hơn của mình gấp nhiều lần. Bạn rút kinh nghiệm nhá!
  • 2
Hình đã gửi

#31 NTD

NTD

    biết lệnh rotate

  • Members
  • PipPipPip
  • 135 Bài viết
Điểm đánh giá: 11 (tàm tạm)

Đã gửi 17 July 2012 - 08:47 PM

@ lp_hai : Lisp chạy rất nuột , cảm ơn bạn , tuổi trẻ mà tài cao thế . Mình soi code mãi mà chưa học đc . Tham gia đội bóng cadviet đi , đóng quỹ bóng xong là mình hậu tạ rồi ...nhờ chỉ bảo dài dài :D
http://www.cadviet.c...showtopic=65326
  • 0

#32 lp_hai

lp_hai

    biết lệnh measure

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

Đã gửi 18 July 2012 - 08:45 AM

Haiz, em cũng muốn tham gia lắm, nhưng sợ tốn "tiền máy bay" hehheheh, vì ở trong SG bác ợ.
Về code thì trong đó toàn những cái cơ bản và quá đơn giả so với các bác khác, nói em tài cao sợ các bá ý cười. heheheh
Sao trong nam không thành lập một đội rồi cuối năm giao lưu với các vùng khác cà?
  • 0
Hình đã gửi

#33 HUNGMETRO

HUNGMETRO

    biết vẽ line

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

Đã gửi 24 May 2013 - 08:48 AM

Bạn xem lại dòng này: AB trùng AC ==> view đc xoay 1 góc BAC ==> góc quay luôn dương (??). Mình viết theo kiểu Align space của cad:

(defun c:ACS(/ p1 p2 p3 goc vs)
  (setq p1 (getpoint "\nChon Tam")
p2 (getpoint p1 "\nChon Phuong hien tai")
p3 (getpoint p1 "\nChon Phuong moi")
goc (-(angle p3 p1)(angle p2 p1))
vs (getvar "viewsize")
p1 (trans p1 1 0))
  (command "ucs" "z" (/(* 180 goc)pi) "")
  (command "plan" "")
  (command "zoom" "c" (trans p1 0 1) vs)
  (princ)
  )

P/s Có bác lo cho topic này em sướng rồi , cảm ơn bác nhiều bạn mà viết như thế này là đã bỏ qua biết bao ý kiến của nhiều bác khác trong diễn đàn, mà cách giải quyết của họ có thể nhanh gọn và hay hơn của mình gấp nhiều lần. Bạn rút kinh nghiệm nhá!

Bữa nay vào trang này thấy bạn viết đoạn lisp này mang về thử thấy chạy tuyệt quá, mình rất thích thanks bạn nha


  • 0

#34 hoquangvinh

hoquangvinh

    biết lệnh mirror

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

Đã gửi 18 August 2015 - 03:44 PM

Bạn xem lại dòng này: AB trùng AC ==> view đc xoay 1 góc BAC ==> góc quay luôn dương (??). Mình viết theo kiểu Align space của cad:

(defun c:ACS(/ p1 p2 p3 goc vs)
  (setq p1 (getpoint "\nChon Tam")
p2 (getpoint p1 "\nChon Phuong hien tai")
p3 (getpoint p1 "\nChon Phuong moi")
goc (-(angle p3 p1)(angle p2 p1))
vs (getvar "viewsize")
p1 (trans p1 1 0))
  (command "ucs" "z" (/(* 180 goc)pi) "")
  (command "plan" "")
  (command "zoom" "c" (trans p1 0 1) vs)
  (princ)
  )
P/s Có bác lo cho topic này em sướng rồi , cảm ơn bác nhiều bạn mà viết như thế này là đã bỏ qua biết bao ý kiến của nhiều bác khác trong diễn đàn, mà cách giải quyết của họ có thể nhanh gọn và hay hơn của mình gấp nhiều lần. Bạn rút kinh nghiệm nhá!

 

đúng là hôm nay mới thấy cái này hay hơn hẳn mấy cái mặc định ucs và mvsetup của cad nhưng bác có thể phát triển nó lên nữa ko ạ

em có biết cad 2014 nó quay viewport bằng lệnh ro luôn, đời của nó cao quá mà máy thì hơi cùi nên ko theo được

lisp mình có thể làm được tương tự như vậy không ạ


  • 0

#35 tankuljt

tankuljt

    Chưa sử dụng CAD

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

Đã gửi 20 November 2015 - 01:01 AM

tuyệt lp_hai

cảm ơn


  • 0