Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu] Lisp tạo tỷ lệ cho Viewport và Lisp Copy base point.


  • Please log in to reply
18 replies to this topic

#1 quickandfine

quickandfine

    biết lệnh copy

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

Đã gửi 16 June 2012 - 05:00 PM

Chào các anh.
Em nhờ các anh viết hộ 3 đoạn lisp như sau:
1- Lisp tạo tỉ lệ cho khung Viewport.
Em mới biết tạo một viewport bên layout sau khi đã vẽ với tỉ lệ 1:1 (kích thước thật) của đối tượng bên model. Sau đó chuyển sang Layout dùng lệnh Mv tạo một khung viewpot.Để tạo tỉ lệ cho khung nhìn đó, giả sử là 1:50 em click đúp vào trong khung nhìn, gõ lệnh zoom chọn Scale rồi gõ tiếp 1/50xp. Nhưng như thế thì dài quá, em muốn nhờ các anh viết hộ em một đoạn lisp mà khi em tạo khung nhìn xong, click đúp vào trong khung đó, gõ lệnh tắt là VV, sau đó mình chỉ cần gõ tiếp 1/50 là xong, không cần zoom-Scale-1/50xp nữa.
2- Khi em muốn copy một đối tương từ bản vẽ này sang một bản vẽ khác, em copy base point bằng lệnh Clt+Shift+C, nay em muốn nó chỉ là CB thôi. Mong các anh giúp đỡ.
3-Giả sử em đang có một đối tượng được vẽ với giá trị Fit trong Dimension là 100 (Giả sử tên là D100), giờ em muốn chuyển sang tỷ lệ Fit là 200. (Giả sử tên là D200) thì em chọn cái D200 làm hiện hành và vào Dimension chọn Update rồi quét hết đối tượng đó. Em nhờ các anh làm giúp em đoạn lisp có chức năng như vậy với ạ. Lệnh tắt có thể là Du chẳng hạn. Vì em cũng hay phải thay đổi kiểu đó nên làm như kia cũng hơi mất thời gian.
Em xin cảm ơn ạ!
http://www.cadviet.c...2_view_port.dwg
  • 0

#2 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5679 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 16 June 2012 - 05:30 PM

IP của bạn nhìn quen quen ^^
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#3 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 903 Bài viết
Điểm đánh giá: 505 (tốt)

Đã gửi 16 June 2012 - 07:28 PM

1 - Bạn có sử dụng annotative object và annotation scale khi vẽ không? nếu có thì mình sẽ cho bạn cái của mình. nếu không thì bạn tiếp tục chờ sẽ có người có hứng viết cho bạn. yêu cầu của bạn sao lại "1/50" mà không "50" đi cho gọn? đã mất công thu gọn nó thì làm tới bến luôn đi chứ.

2 - Mình thấy đổi tên lệnh thế cũng chẳng nhanh hơn mà.
(defun c:cb (command "_copybase") (princ))

3 - Cái này mình không hiểu ý bạn lắm nên thôi không ý kiến.
  • 0

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD


#4 quickandfine

quickandfine

    biết lệnh copy

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

Đã gửi 17 June 2012 - 12:40 PM

1 - Bạn có sử dụng annotative object và annotation scale khi vẽ không? nếu có thì mình sẽ cho bạn cái của mình. nếu không thì bạn tiếp tục chờ sẽ có người có hứng viết cho bạn. yêu cầu của bạn sao lại "1/50" mà không "50" đi cho gọn? đã mất công thu gọn nó thì làm tới bến luôn đi chứ.

2 - Mình thấy đổi tên lệnh thế cũng chẳng nhanh hơn mà.
(defun c:cb (command "_copybase") (princ))

3 - Cái này mình không hiểu ý bạn lắm nên thôi không ý kiến.

Cảm ơn bac Thaistreetz đã giúp đỡ.
1-Về đoạn lisp đầu tiên, nếu mà chỉ cần gõ là 50 thôi thì càng tốt. Em thì cứ nghĩ là phải có 1/50 mới được. Em cũng không biết annotative object và annotation scale là gì cả. Em mới biết cách tạo tỷ lệ bên layout cho viewport như cách em nói thôi.Nếu có đoạn lisp giống như em đang làm thì tốt. Nhưng em sẽ tìm hiểu thêm về annotative object và annotation scale mà bác gợi ý.
3-Đoạn lisp thứ 3 thì em không biết em nói thế có rõ không nữa. Nhưng bác xem hộ em trong File Cad em gửi sau đây xem có dễ hiểu hơn không thì bác giúp em với nhé
.http://www.cadviet.c..._dim_update.dwg
  • 0

#5 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 17 June 2012 - 01:31 PM

Cảm ơn bac Thaistreetz đã giúp đỡ.
.......
3-Đoạn lisp thứ 3 thì em không biết em nói thế có rõ không nữa. Nhưng bác xem hộ em trong File Cad em gửi sau đây xem có dễ hiểu hơn không thì bác giúp em với nhé
.http://www.cadviet.c..._dim_update.dwg

3. Cái này đâu nhất thiết phải dùng Lisp:
C1: Set dim hiện hành D50 chẳng hạn. Dùng lệnh : -dimstyle
Command: -DIMSTYLE

Current dimension style: KTDMCAT1-25 Annotative: No
Enter a dimension style option
[ANnotative/Save/Restore/STatus/Variables/Apply/?] <Restore>: a -> Gõ a
Select objects: Specify opposite corner: 15 found -> Quét chọn đối tượng
Select objects:

C2: Quét chọn toàn bộ đối tượng -> Thò chuột lên thanh Toolbar (thanh style) -> Chọn Dim cần thiết lập -> Xong
  • 0

#6 quickandfine

quickandfine

    biết lệnh copy

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

Đã gửi 17 June 2012 - 05:01 PM

3. Cái này đâu nhất thiết phải dùng Lisp:
C1: Set dim hiện hành D50 chẳng hạn. Dùng lệnh : -dimstyle
Command: -DIMSTYLE

Current dimension style: KTDMCAT1-25 Annotative: No
Enter a dimension style option
[ANnotative/Save/Restore/STatus/Variables/Apply/?] <Restore>: a -> Gõ a
Select objects: Specify opposite corner: 15 found -> Quét chọn đối tượng
Select objects:

C2: Quét chọn toàn bộ đối tượng -> Thò chuột lên thanh Toolbar (thanh style) -> Chọn Dim cần thiết lập -> Xong

Cảm ơn các bác.
Nhưng sao không thấy bác nào nhắc đến đoạn lisp đầu tiên em nói nhỉ. Có bác nào giúp em với!
  • 0

#7 quickandfine

quickandfine

    biết lệnh copy

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

Đã gửi 17 June 2012 - 05:09 PM

IP của bạn nhìn quen quen ^^

Acount kia vì có lần cho một người bạn nên giờ nhiều người biết pass quá, cả ở những diễn đàn khác nữa anh ạ.Từ bây giờ em chuyển sang acount này anh Ket nhé.
  • 0

#8 Detailing

Detailing

    biết lệnh imageclip

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

Đã gửi 17 June 2012 - 10:28 PM

Cảm ơn các bác.
Nhưng sao không thấy bác nào nhắc đến đoạn lisp đầu tiên em nói nhỉ. Có bác nào giúp em với!

chỉnh trong 2 cái chỗ màu đỏ thử xem sao
Hình đã gửi
  • 0

Ideas don't matter, execution does!

1908412_308002392716743_8165279281236341


#9 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 903 Bài viết
Điểm đánh giá: 505 (tốt)

Đã gửi 18 June 2012 - 11:18 AM

Chủ topic không biết sử dụng annotative object và annotation scale mà Detaling.
Yêu cầu 1 thì chỉ đơn giản thế này thôi. mình viết qua để dùng tạm, bỏ qua bước kiểm tra điều kiện môi trường áp dụng.
@chủ topic: hãy đảm bảo khi dùng lệnh này viewport của bạn không bị khóa
(defun c:vz (/ zxp)
(if (setq zxp (getreal "- Nhap ty le zoom 1:"))
(command "zoom" (strcat "1/" (rtos zxp 2 0) "xp")))
(princ))
Ví dụ: Nếu muốn zoom viewport tỷ lệ 1:50xp thì bạn gõ lệnh và nhập 50 là ok
  • 0

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD


#10 Detailing

Detailing

    biết lệnh imageclip

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

Đã gửi 18 June 2012 - 11:29 AM

Chủ topic không biết sử dụng annotative object và annotation scale mà Detaling.

chỉ cần sửa standard scale ở khung màu đỏ ở trên hoặc khung màu đỏ ở dưới là dc, chỉ thay đổi viewport scale ko liên quan gì đến annotations
p/s: cái palette đó là bảng properties của CAD (mở bằng Ctrl + 1)
  • 0

Ideas don't matter, execution does!

1908412_308002392716743_8165279281236341


#11 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 903 Bài viết
Điểm đánh giá: 505 (tốt)

Đã gửi 18 June 2012 - 12:46 PM

chỉ thay đổi viewport scale ko liên quan gì đến annotations

Ngược lại, thậm chí còn liên quan chặt chẽ. Nếu bạn biết sử dụng và kết hợp tốt 3 yếu tố: Viewport scale - Object scale - Annotation scale thì bạn sẽ thấy việc sử dụng Annotative object tạo ra hiệu quả sử dụng tuyệt vời đến mức nào.

Cũng chỉ đơn giản là zoom scale viewport như trên thôi, nhưng khi ứng dụng cho Annotative object thì mình fải viết nó phức tạp như thế này:

; 06. zoom theo t&#251; l&#214;
(defun C:VZ (/ zxp KC KC1 NAME PT vpObj tyle)
(if (setq zxp (getreal (TCVN3-Unicode "- Nh&#203;p t&#251; l&#214; zoom: 1:")))
(progn
(if (eq (vla-get-DisplayLocked (setq vpObj (vlax-ename->vla-object (acet-currentviewport-ename)))) :vlax-true) (vla-put-DisplayLocked vpObj :vlax-False))
(cond ((and (= (getvar "TILEMODE") 0) (> (getvar "CVPORT") 1))
(Add-ScaleList (setq tyle (strcat "1:" (rtos zxp 2 0))))(setvar "cannoscale" tyle)
(setq zxp (strcat "1/" (rtos zxp 2 0) "xp"))
(command "zoom" zxp))
((and (= (getvar "TILEMODE") 0) (= (getvar "CVPORT") 1))
(setq PT (cadr (grread 't 15)) KC 999999999999999999)
(foreach ssn (ss->list(ssget "c" (get-coordinate-screen "BR") (get-coordinate-screen "TL") '((0 . "VIEWPORT"))))
(if (> KC (setq KC1 (distance PT (dxf 10 ssn)))) (setq KC KC1 name ssn)))
(command "mspace")
(if name (setvar "cvport" (dxf 69 name)))
(vla-put-DisplayLocked (vlax-ename->vla-object name) :vlax-false)
(Add-ScaleList (setq tyle (strcat "1:" (rtos zxp 2 0)))) (setvar "cannoscale" tyle)
(setq zxp (strcat "1/" (rtos zxp 2 0) "xp"))
(command "zoom" zxp) (princ))
(t (Prompt (TCVN3-Unicode "** L&#214;nh n&#181;y ch&#216; &#174;&#173;&#238;c s&#246; d&#244;ng trong Layout **"))))))
(princ))
(defun Add-ScaleList ( tyle / dic lst)
(setq lst '("A0" "A1" "A2" "A3" "A4" "A5" "A6" "A7" "A8" "A9"
"B0" "B1" "B2" "B3" "B4" "B5" "B6" "B7" "B8" "B9"
"C0" "C1" "C2" "C3" "C4" "C5" "C6" "C7" "C8" "C9"
"D0" "D1" "D2" "D3" "D4" "D5" "D6" "D7" "D8" "D9"
"E0" "E1" "E2" "E3" "E4" "E5" "E6" "E7" "E8" "E9"
"F0" "F1" "F2" "F3" "F4" "F5" "F6" "F7" "F8" "F9"
"G0" "G1" "G2" "G3" "G4" "G5" "G6" "G7" "G8" "G9"))
(if (setq dic (dictsearch(namedobjdict) "ACAD_SCALELIST"))
(if (not (member Tyle (mapcar'(lambda(x)(cdr(assoc 300 (entget x)))) (dxf-etg-m 350 dic))))
(entmod (append dic (list (cons 3 (cadr (member (cdadr (reverse dic)) lst)))(cons 350 (entmakex (list '(0 . "SCALE")'(102 . "{ACAD_REACTORS")'(102 . "}")'(100 . "AcDbScale")'(70 . 0)(cons 300 tyle)'(140 . 1.0)(cons 141 (atoi (substr tyle 3 (strlen tyle))))'(290 . 0))))))))))

  • 0

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD


#12 Detailing

Detailing

    biết lệnh imageclip

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

Đã gửi 18 June 2012 - 02:14 PM

Ngược lại, thậm chí còn liên quan chặt chẽ. Nếu bạn biết sử dụng và kết hợp tốt 3 yếu tố: Viewport scale - Object scale - Annotation scale thì bạn sẽ thấy việc sử dụng Annotative object tạo ra hiệu quả sử dụng tuyệt vời đến mức nào.

Bạn chủ topic chỉ cần thay viewport scale thôi mà ????
  • 0

Ideas don't matter, execution does!

1908412_308002392716743_8165279281236341


#13 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 903 Bài viết
Điểm đánh giá: 505 (tốt)

Đã gửi 18 June 2012 - 03:47 PM

Bạn đọc lại post 1 của bạn ấy để hiểu chính xác bạn ấy muốn gì.
- Viewport scale là hệ số tỷ lệ đơn vị vẽ của viewport đó so với model. hệ số này thay đổi ngay khi ta cuộn zoom chuột mà không khóa viewport. (command "zoom" "scale" "HesoTyle layout/model")
- Nếu chỉnh sửa như trong hình bạn post thì đó là sửa hệ số annotation scale của viewport, bạn nhầm lẫn 2 cái này. (setvar "cannoscale" "scale in ScaleList")
  • 0

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD


#14 Detailing

Detailing

    biết lệnh imageclip

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

Đã gửi 18 June 2012 - 04:28 PM

Bạn đọc lại post 1 của bạn ấy để hiểu chính xác bạn ấy muốn gì.
- Viewport scale là hệ số tỷ lệ đơn vị vẽ của viewport đó so với model. hệ số này thay đổi ngay khi ta cuộn zoom chuột mà không khóa viewport. (command "zoom" "scale" "HesoTyle layout/model")
- Nếu chỉnh sửa như trong hình bạn post thì đó là sửa hệ số annotation scale của viewport, bạn nhầm lẫn 2 cái này. (setvar "cannoscale" "scale in ScaleList")

Chào các anh.
Em nhờ các anh viết hộ 3 đoạn lisp như sau:
1- Lisp tạo tỉ lệ cho khung Viewport.
Em mới biết tạo một viewport bên layout sau khi đã vẽ với tỉ lệ 1:1 (kích thước thật) của đối tượng bên model. Sau đó chuyển sang Layout dùng lệnh Mv tạo một khung viewpot.Để tạo tỉ lệ cho khung nhìn đó, giả sử là 1:50 em click đúp vào trong khung nhìn, gõ lệnh zoom chọn Scale rồi gõ tiếp 1/50xp. Nhưng như thế thì dài quá, em muốn nhờ các anh viết hộ em một đoạn lisp mà khi em tạo khung nhìn xong, click đúp vào trong khung đó, gõ lệnh tắt là VV, sau đó mình chỉ cần gõ tiếp 1/50 là xong, không cần zoom-Scale-1/50xp nữa.

Không biết ý bạn chủ topic có hiống trong clip ko.
cách 1 theo cách bạn chủ topic trình bày
cách 2: sửa giá trị như mình nêu ở post trên
=> kết quả là như nhau.
Clip

http://www.youtube.com/watch?v=86jS1htOQgc
  • 0

Ideas don't matter, execution does!

1908412_308002392716743_8165279281236341


#15 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 903 Bài viết
Điểm đánh giá: 505 (tốt)

Đã gửi 18 June 2012 - 05:30 PM

Không hề như nhau đâu Detailing ạ.
- Cách 1: không quan tâm đến scalelist. với bất kỳ tỷ lệ nào nhập vào ta vẫn zoom được. bản chất việc làm này không liên quan gì đến annotation scale, nó đã được hỗ trợ từ lâu trong các bản cad cũ có hỗ trợ layout.
- Cách 2: Cái này bao gồm 2 lệnh. Đầu tiên nó thực hiện lệnh zoom scale viewport (cách 1) với tỷ lệ đúng bằng tỷ lệ mà bạn muốn thay đổi. sau đó nó mới thiết lập annotation scale của viewport đó.
Vậy bạn phải hiểu việc làm này như thế nào? Bản chất việc làm này là bạn thay đổi tỷ lệ vẽ của các đối tượng annotative trong viewport đó. tuy nhiên chính vì đang trong viewport chứ không phải model nên để đảm bảo tính đúng đắn của kích thước các đối tượng vẽ ra cad thực hiện bước thiết lập tỷ lệ zoom của viewport cho bạn luôn. Nghĩa là cách 1 chỉ là 1 phần công việc của cách 2.
Minh họa vui 1 chút cho dễ hiểu: Bạn chủ topic bảo, tôi muốn học để lấy bằng cấp 3. Và bạn khuyên bạn ấy: "Vậy mày học để lấy bằng đại học đi, mày sẽ có bằng cấp 3" :D

Việc thiết lập theo cách này sẽ bị giới hạn bởi chính danh sách tỷ lệ (scalelist). nếu bạn muốn thiết lập tỷ lệ không có trong scalelist thì bắt buộc bạn phải thực hiện thêm 1 bước là "add scale to scalelist" bởi vậy nó không phải là thứ mà chủ topic cần. (do không sử dụng annotative object và annotation scale)

Lisp mình post bên trên chính là việc thực hiện tuần tự theo cách 2 này. nhưng đảm bảo có thể thiết lập được bất kỳ tỷ lệ nào mình muốn mà không cần thủ công "add scale to scalelist". Tất nhiên nó chỉ phục vụ cho những ai sử dụng annotation scale, cad cũ thì nghỉ khỏe.
  • 0

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD


#16 quickandfine

quickandfine

    biết lệnh copy

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

Đã gửi 19 June 2012 - 08:24 AM

Không hề như nhau đâu Detailing ạ.
- Cách 1: không quan tâm đến scalelist. với bất kỳ tỷ lệ nào nhập vào ta vẫn zoom được. bản chất việc làm này không liên quan gì đến annotation scale, nó đã được hỗ trợ từ lâu trong các bản cad cũ có hỗ trợ layout.
- Cách 2: Cái này bao gồm 2 lệnh. Đầu tiên nó thực hiện lệnh zoom scale viewport (cách 1) với tỷ lệ đúng bằng tỷ lệ mà bạn muốn thay đổi. sau đó nó mới thiết lập annotation scale của viewport đó.
Vậy bạn phải hiểu việc làm này như thế nào? Bản chất việc làm này là bạn thay đổi tỷ lệ vẽ của các đối tượng annotative trong viewport đó. tuy nhiên chính vì đang trong viewport chứ không phải model nên để đảm bảo tính đúng đắn của kích thước các đối tượng vẽ ra cad thực hiện bước thiết lập tỷ lệ zoom của viewport cho bạn luôn. Nghĩa là cách 1 chỉ là 1 phần công việc của cách 2.
Minh họa vui 1 chút cho dễ hiểu: Bạn chủ topic bảo, tôi muốn học để lấy bằng cấp 3. Và bạn khuyên bạn ấy: "Vậy mày học để lấy bằng đại học đi, mày sẽ có bằng cấp 3" :D

Việc thiết lập theo cách này sẽ bị giới hạn bởi chính danh sách tỷ lệ (scalelist). nếu bạn muốn thiết lập tỷ lệ không có trong scalelist thì bắt buộc bạn phải thực hiện thêm 1 bước là "add scale to scalelist" bởi vậy nó không phải là thứ mà chủ topic cần. (do không sử dụng annotative object và annotation scale)

Lisp mình post bên trên chính là việc thực hiện tuần tự theo cách 2 này. nhưng đảm bảo có thể thiết lập được bất kỳ tỷ lệ nào mình muốn mà không cần thủ công "add scale to scalelist". Tất nhiên nó chỉ phục vụ cho những ai sử dụng annotation scale, cad cũ thì nghỉ khỏe.

Chào các bác.
Em xin cảm ơn các bác đã quan tâm giúp đỡ em.
Vì em chưa hiểu gì về Anotation scale và object scale. Mà trước mắt em chỉ muốn tạo tỷ lệ cho một viewport bằng cách gõ lệnh từ bàn phím nhanh hơn, Yêu cầu này thì đoạn lisp ngắn phía trên của bác Thái đã đáp ứng được rồi. Em sẽ tìm hiểu thêm theo ý kiến của bác Detailing.
Không biết các bác thế nào chứ em thì em muốn các việc được gõ lệnh từ bàn phím cho tiện hơn (với em). Như đoạn lisp thứ 2 em xin giúp đỡ chẳng hạn, đoạn lisp Update dimension ấy, việc đó có thể không cần dùng lisp nhưng em muốn vì em thích dùng lệnh hơn thôi ạ
Một lần nữa cảm ơn các bác nhiều!
  • 0

#17 Detailing

Detailing

    biết lệnh imageclip

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

Đã gửi 19 June 2012 - 09:15 AM

Minh họa vui 1 chút cho dễ hiểu: Bạn chủ topic bảo, tôi muốn học để lấy bằng cấp 3. Và bạn khuyên bạn ấy: "Vậy mày học để lấy bằng đại học đi, mày sẽ có bằng cấp 3" :D

Hì, bạn nói đúng nhưng phần ví dụ chưa sát, mình lấy ví dụ thế này bạn coi sát hơn ko nhe: Bạn chủ bảo tôi muốn save bản vẽ (bạn bảo load / copy vào command (command ".save" "")) mình bảo vào File -> Save (có thể save thành dxf, dwt, ....) :D
Phần còn lại mình ko bàn nữa vì mỗi ng mỗi ý, thích lisp thích lệnh, thích toolbar, thích ribbon,....
  • 0

Ideas don't matter, execution does!

1908412_308002392716743_8165279281236341


#18 lp_hai

lp_hai

    biết lệnh measure

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

Đã gửi 19 June 2012 - 02:02 PM

- Viewport scale là hệ số tỷ lệ đơn vị vẽ của viewport đó so với model. hệ số này thay đổi ngay khi ta cuộn zoom chuột mà không khóa viewport. (command "zoom" "scale" "HesoTyle layout/model")
- Nếu chỉnh sửa như trong hình bạn post thì đó là sửa hệ số annotation scale của viewport, bạn nhầm lẫn 2 cái này. (setvar "cannoscale" "scale in ScaleList")


Bác Thai nói đúng nhưng chưa đủ lắm, bình thường em muốn chỉnh tỉ lệ của Viewport thì cũng chỉ mở bảng Properties rồi chọc ngoáy nó thôi, nếu thay đổi tại ô Standard scale thì đúng là làm thay đổi Annotation scale và ảnh hưởng đến những đối tượng có annotation. Nhưng chỉ thay đổi tại ô Custom scale thì annotation vẫn giữ nguyên bác ah.
  • 1
Hình đã gửi

#19 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 903 Bài viết
Điểm đánh giá: 505 (tốt)

Đã gửi 19 June 2012 - 07:28 PM

uh. đúng như lp_hai nhận xét. Tại vì trước giờ mình chỉ sử dụng lisp cho công việc này nên ko quan tâm nhiều đến bảng properties của viewport nên không biết. Dù sao với nhu cầu tổng quát: thay đổi scale của viewport đồng thời vẫn đảm bảo thỏa mãn các yêu cầu dành cho annotations thì giải pháp lisp của mình vẫn tốt hơn bất kỳ phương pháp nào mà cad cung cấp. Nhanh - gọn - nhẹ và không bị giới hạn bởi danh sách tỷ lệ annotations. Cải tạo những gì cad cung cấp cho tốt hơn là hứng thú lập trình lisp của mình ^^
  • 0

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD