Đến nội dung


Hình ảnh
- - - - -

Nhờ viết lệnh thay thế lệnh Objectscale


  • Please log in to reply
26 replies to this topic

#1 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 May 2011 - 11:35 AM

Mình muốn đổi tên của lệnh objectscale để dung cho tiện nhưng mình không muốn chọn cách sửa file acad.pgp vì 1 vài nguyên nhân
Chết dở ở chỗ là khi dùng hàm command gọi lệnh này, mình không làm cách nào để nó hiện hộp thoại lên như bình thường được. kể cả cách chạy thông qua 1 đoạn Scrip.
Các bác xem có cách nào giúp mình không?
  • 0

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


#2 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 16 May 2011 - 03:03 PM

Mình muốn đổi tên của lệnh objectscale để dung cho tiện nhưng mình không muốn chọn cách sửa file acad.pgp vì 1 vài nguyên nhân
Chết dở ở chỗ là khi dùng hàm command gọi lệnh này, mình không làm cách nào để nó hiện hộp thoại lên như bình thường được. kể cả cách chạy thông qua 1 đoạn Scrip.
Các bác xem có cách nào giúp mình không?

Bác Thaistreet cho hỏi tí: lệnh objectscale là lệnh gì, nó đâu có trong acad.pgp bác?
Có phải bác muốn hiện hộp thoại "acad.pgp - AutoCAD Alias Editor" bằng lisp?
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#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 May 2011 - 04:02 PM

ah, nếu bạn sử dụng cad 2008 trở lên và dùng các đối tuợng có thuộc tính annotative để dễ dàng trong quản lý tỷ lệ vẽ và tỷ lệ in ấn thì bạn mới sử dụng lệnh này.
đối tượng điều chỉnh của lệnh objectscale là các annotative object. bạn tham khảo bản vẽ mình post trong topic này
Vì lệnh này tên quá dài nên mình muốn thu ngắn lại bằng 1 lệnh tắt nào đó, AD chẳng hạn. cách đơn giản nhất là sửa file acad.pgp như mọi nguời thuờng dùng bằng cách thêm vào đó dòng AD, *Objectscale. nhưng mình không muốn dùng cách này bởi bởi mỗi lần cài lại cad là lại phải sửa lại nó, mặt khác nó cũng không tiện khi mình làm việc trên máy nguời khác. làm như vậy sẽ gây ra thay đổi cấu trúc lệnh cad của họ.
thay vì thế thì mình muốn đưa lệnh này vào bộ lisp của mình luôn để tiện sử dụng di động ý mà.
  • 0

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


#4 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 16 May 2011 - 04:43 PM

ah, nếu bạn sử dụng cad 2008 trở lên và dùng các đối tuợng có thuộc tính annotative để dễ dàng trong quản lý tỷ lệ vẽ và tỷ lệ in ấn thì bạn mới sử dụng lệnh này.
đối tượng điều chỉnh của lệnh objectscale là các annotative object. bạn tham khảo bản vẽ mình post trong topic này
Vì lệnh này tên quá dài nên mình muốn thu ngắn lại bằng 1 lệnh tắt nào đó, AD chẳng hạn. cách đơn giản nhất là sửa file acad.pgp như mọi nguời thuờng dùng bằng cách thêm vào đó dòng AD, *Objectscale. nhưng mình không muốn dùng cách này bởi bởi mỗi lần cài lại cad là lại phải sửa lại nó, mặt khác nó cũng không tiện khi mình làm việc trên máy nguời khác. làm như vậy sẽ gây ra thay đổi cấu trúc lệnh cad của họ.
thay vì thế thì mình muốn đưa lệnh này vào bộ lisp của mình luôn để tiện sử dụng di động ý mà.

Tôi dùng Cad2004+2007 nên không hiểu lệnh objectscale. Tuy nhiên, hình như là vầy bác nè:
1. Hình như là nếu copy AD, *Objectscale paste vào acad.pgp thì gõ lệnh AD cũng không được hay sao ấy. Chẳng hạn lệnh COPYM nếu copy CPM, *Copym paste vào acad.pgp thì gõ lệnh CPM cũng không được.
2. Để gọi các lệnh thuộc Express thì không thể dùng hàm command vì các lệnh này nằm trong file CUI chứ không phải PGP.
VD: thay vì viết (command "copym") thì phải viết (c:copym).
Không biết có đúng ý bác không. Và không biết có ngộ nhận điều nào không đây.
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#5 Thaistreetz

Thaistreetz

    biết lệnh adcenter

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

Đã gửi 17 May 2011 - 12:12 AM

Hình như bác DVH chưa bao giờ sử dụng file acad.pgp để đổi tên 1 lệnh thì fải.
- Số 1 của bác: Vì bác chưa cập nhật lại file acad.pgp cho cad, có 3 cách: khởi động lại cad; dùng lệnh reinit; đơn giản hơn nữa là sửa nội dung acad.pgp bằng express > tool > command alias editor nó sẽ tự cập nhật lại acad.pgp luôn
- Số 2 của bác: chỗ này thì bác ngộ nhận thật. ObjectScale là lệnh của cad, không fải của Express. thêm nữa là dù cho nó có là lệnh của cad đi nữa thì không fải lệnh nào của cad cũng có thể viết duới dạng 1 hàm lisp kiểu (C:tenlenh... lệnh này cũng vậy.
PS: có thể bác cho là tôi hơi nhiều chuyện, nhưng giờ này mà bác còn lạch cạch với cad2007 thì tự bác đã tạo ra những thiệt thòi lớn cho mình trong nghề rồi đấy. đừng quá đề cao Lisp, Các bản cad đời cao hơn cung cấp rất nhiều công cụ tốt để giảm gánh nặng công việc mà bác cứ ngồi đó, mòn đít viết lisp cũng không bằng đâu.
  • 0

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


#6 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 May 2011 - 05:36 AM

Mình muốn đổi tên của lệnh objectscale để dung cho tiện nhưng mình không muốn chọn cách sửa file acad.pgp vì 1 vài nguyên nhân
Chết dở ở chỗ là khi dùng hàm command gọi lệnh này, mình không làm cách nào để nó hiện hộp thoại lên như bình thường được. kể cả cách chạy thông qua 1 đoạn Scrip.
Các bác xem có cách nào giúp mình không?

Good morning!
Bạn có thể tạo 1 tổ hợp phím tắt Keyboard shortcut cho lệnh objectscale bằng 1 file cui
  • 1

#7 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 17 May 2011 - 08:23 AM

Hình như bác DVH chưa bao giờ sử dụng file acad.pgp để đổi tên 1 lệnh thì fải.
- Số 1 của bác: Vì bác chưa cập nhật lại file acad.pgp cho cad, có 3 cách: khởi động lại cad; dùng lệnh reinit; đơn giản hơn nữa là sửa nội dung acad.pgp bằng express > tool > command alias editor nó sẽ tự cập nhật lại acad.pgp luôn
- Số 2 của bác: chỗ này thì bác ngộ nhận thật. ObjectScale là lệnh của cad, không fải của Express. thêm nữa là dù cho nó có là lệnh của cad đi nữa thì không fải lệnh nào của cad cũng có thể viết duới dạng 1 hàm lisp kiểu (C:tenlenh... lệnh này cũng vậy.
PS: có thể bác cho là tôi hơi nhiều chuyện, nhưng giờ này mà bác còn lạch cạch với cad2007 thì tự bác đã tạo ra những thiệt thòi lớn cho mình trong nghề rồi đấy. đừng quá đề cao Lisp, Các bản cad đời cao hơn cung cấp rất nhiều công cụ tốt để giảm gánh nặng công việc mà bác cứ ngồi đó, mòn đít viết lisp cũng không bằng đâu.

Tôi không nghĩ bác là người quá nhiều chuyện.
  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#8 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 17 May 2011 - 08:44 AM

Lần trước có một bác bảo đặt lệnh tắt Extrim trong acad.pgp e đã buồn lắm rồi ^^. Cái objectscale này cũng oái ăm bác nhỉ ^^
P/S : đề nghị bác Bụi trả e 1 vote >"<
  • 2

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


#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 17 May 2011 - 06:55 PM

@bác Tue_NV: làm cách đó cũng không khác việc chỉnh sửa acad.pgp là mấy. có lẽ đúng là em không còn sự lựa chọn nào cho truờng hợp này.
@ketxu: tớ trả rồi đấy nhá :lol:
  • 0

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


#10 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 May 2011 - 09:21 PM

@bác Tue_NV: làm cách đó cũng không khác việc chỉnh sửa acad.pgp là mấy. có lẽ đúng là em không còn sự lựa chọn nào cho truờng hợp này.
@ketxu: tớ trả rồi đấy nhá :lol:

Khi làm máy tính ở người khác -> Bạn dùng lệnh cuiload để Load file cui của bạn vào. Sử dụng xong rồi thì cuiunload file cui của bạn ra. Chả có ảnh hưởng gì đến ai. :rolleyes:
Còn không thì bạn sử dụng thử cái này xem có được không?
(defun c:obs()
(initdia)
(command "objectscale")
)

  • 1

#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 17 May 2011 - 09:50 PM

He he, ngon rồi bác ơi! giờ em mới biết hàm initdia. cảm ơn bác
  • 0

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


#12 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 17 May 2011 - 09:55 PM

Còn không thì bạn sử dụng thử cái này xem có được không?
(defun c:obs()
(initdia)
(command "objectscale")
)

Gớm, bác chạ test chán chê r mới post chứ lại còn xem có được hay không nữa :lol:
Chắc một lisp ơ nào gặp vấn đề này cũng nghĩ ngay tới việc xơi bác in ít đi a này, thế mà AutoDesk Help thì :

(initdia [dialogflag])
Currently, the following commands make use of the initdia function: ATTDEF, ATTEXT, BHATCH, BLOCK, COLOR, IMAGE, IMAGEADJUST, INSERT, LAYER, LINETYPE, MTEXT, PLOT, RENAME, STYLE, TOOLBAR, and VIEW.

Quả là làm nhọc công anh em ^^. Help nhiều lúc thiếu sót đến ngớ ngẩn ???
  • 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


#13 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 May 2011 - 10:05 PM

Gớm, bác chạ test chán chê r mới post chứ lại còn xem có được hay không nữa :lol:
Chắc một lisp ơ nào gặp vấn đề này cũng nghĩ ngay tới việc xơi bác in ít đi a này, thế mà AutoDesk Help thì :
....
Quả là làm nhọc công anh em ^^. Help nhiều lúc thiếu sót đến ngớ ngẩn ???

Vì trong help viết vậy, mình thì thử được rồi, không dám chắc máy của các bạn có sử dụng được không nên mới viết như dậy.
  • 0

#14 Thaistreetz

Thaistreetz

    biết lệnh adcenter

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

Đã gửi 17 May 2011 - 11:23 PM

không fải help thiếu sót ngớ ngẩn đâu. tại nội dung này đuợc viết từ thời cad muời mấy gì đó. trong khi qua mỗi đời cad lại có thêm rất nhiều lệnh. nguời viết help chắc cũng không thể luờng hết đuợc những thay đổi này cho từng mục trong help
  • 0

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


#15 tranduyquang25111

tranduyquang25111

    biết vẽ ellipse

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

Đã gửi 18 May 2011 - 11:21 PM

Nhân tiện các bác add hộ em cái lisp đổi mấy lệnh Breakline và Tcase của express tool thành BRE và TCA với. Em thử dùng comand thường như đổi các lệnh khác thì không được.
  • 0

#16 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 May 2011 - 12:56 AM

bạn viết như thế này
(defun c:Bre nil (c:Breakline))
(defun c:Tca nil (c:Tcase))
các lệnh khác trong express bạn có thể làm tuơng tự.
PS: có thể có 1 số lệnh không viết đuợc theo kiểu này nhé
  • 0

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


#17 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 19 May 2011 - 07:13 PM

bạn viết như thế này
(defun c:Bre nil (c:Breakline))
(defun c:Tca nil (c:Tcase))
các lệnh khác trong express bạn có thể làm tuơng tự.
PS: có thể có 1 số lệnh không viết đuợc theo kiểu này nhé

Bác cho e hỏi ý nghĩa của cái chữ Nil với ^^
  • 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


#18 790312

790312

    biết lệnh fillet

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

Đã gửi 19 May 2011 - 07:33 PM

Nhờ bác cách sửa lệnh CAL như thế nào?Thanks
  • 0

#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 May 2011 - 09:28 PM

lệnh cal cũng tuơng tự thế mà bạn
ví dụ bạn muốn đổi lệnh thành CAC chẳng hạn: (defun c:CAC nil (c:cal))
@ketxu: bạn thử gõ 2 ký tự () vào command thử xem. Mình đại lãn, viết như thế fải giữ shift rồi gõ 9+0, khó hơn là nil nên viết nó = nil cho nhanh ý mà :P
  • 2

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


#20 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 19 May 2011 - 09:40 PM

lệnh cal cũng tuơng tự thế mà bạn
ví dụ bạn muốn đổi lệnh thành CAC chẳng hạn: (defun c:CAC nil (c:cal))
....

Nên thêm cái này nữa:
(defun c:CAC nil
(if (not cal) (arxload "geomcal"))(c:cal))
  • 1