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

Đổi phím số thành chữ ở bàn phím

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

Chào các bác

Xin gởi lời chúc sức khỏe đến các bác. Các pác ơi! e có một ý kiến là khi mình vẽ một hình nào là mình phải nhập vào kích thước khoảng cách, ví dụ là mình một đường thẳng dài 100mm, sau khi mình nhập lệnh rồi tiếp đó là mình nhập kích thước vào là 100, mình phải nhập số 100 bên góc của bàn phím hoặc dãy số ở phía trên. Như vậy theo e nghỉ là mình hạn chế tốc độ vẽ, các bác có thể viết lip dùng các phím : Z,X,C,A,S,D,Q,W,E như các số 1,2,3,4,5,6,7,8,9 không, để mình tiện nhập kích thước, khoảng cách vào. Trong máy tính xách tách thì không có tổ hợp các phím số như góc trái của bàn phìm máy tính bàn, như vậy khi mình vẽ rất bất tiện khi mình nhập kích thước khoảng cách. Xin các bác chỉ e với, e cảm ơn nhiều

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
Chào các bác

Xin gởi lời chúc sức khỏe đến các bác. Các pác ơi! e có một ý kiến là khi mình vẽ một hình nào là mình phải nhập vào kích thước khoảng cách, ví dụ là mình một đường thẳng dài 100mm, sau khi mình nhập lệnh rồi tiếp đó là mình nhập kích thước vào là 100, mình phải nhập số 100 bên góc của bàn phím hoặc dãy số ở phía trên. Như vậy theo e nghỉ là mình hạn chế tốc độ vẽ, các bác có thể viết lip dùng các phím : Z,X,C,A,S,D,Q,W,E như các số 1,2,3,4,5,6,7,8,9 không, để mình tiện nhập kích thước, khoảng cách vào. Trong máy tính xách tách thì không có tổ hợp các phím số như góc trái của bàn phìm máy tính bàn, như vậy khi mình vẽ rất bất tiện khi mình nhập kích thước khoảng cách. Xin các bác chỉ e với, e cảm ơn nhiều

Bạn dùng lisp dưới đây:

(defun cv_getint (msg)
 (setq
   msg	(if msg
  msg
  ""
)
   str	(getstring nil msg)
 )
 (atoi (vl-string-translate "zxcasdqwev" "1234567890" str))
)
(setq getint cv_getint)

 

Lưu ý là: khi load lisp lên, ACAD sẽ hỏi

Assignment to protected symbol:

GETINT

Enter break loop?

Bạn nhớ trả lời là No.

 

Từ giờ trở đi, khi nhập một số tự nhiên bằng hàm getint, bạn có thể nhập zxcasdqwev thay cho 1234567890. Đoạn mã trên chỉ hiệu nghiệm với lisp, không có tác động đến các lệnh có sẵn của ACAD (ví dụ như lệnh DIV yêu cầu nhập số nguyê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
Bạn dùng lisp dưới đây:

(defun cv_getint (msg)
 (setq
   msg	(if msg
  msg
  ""
)
   str	(getstring nil msg)
 )
 (atoi (vl-string-translate "zxcasdqwev" "1234567890" str))
)
(setq getint cv_getint)

 

Lưu ý là: khi load lisp lên, ACAD sẽ hỏi

Assignment to protected symbol:

GETINT

Enter break loop?

Bạn nhớ trả lời là No.

 

Từ giờ trở đi, khi nhập một số tự nhiên bằng hàm getint, bạn có thể nhập zxcasdqwev thay cho 1234567890. Đoạn mã trên chỉ hiệu nghiệm với lisp, không có tác động đến các lệnh có sẵn của ACAD (ví dụ như lệnh DIV yêu cầu nhập số nguyên).

Chào bác! e rất cám ơn bác đã quan tâm và giúp đỡ đến topic của e nhưng khi e loadlisp lên thì không thấy ACAD hỏi gì hết nên có lẻ vậy e thực hiện lệnh không được. Bác có chỉ là nhập một số tự nhiên bằng hàm getint nhưng e không biết nhập một số tự nhiên bằng hàm getint như thế nào, bác vui lòng chỉ rõ ra dùm e . E không biết gởi lời cảm ơn đến bác như thế nào để bày tỏ lòng ngưỡng mộ của e với bác e chỉ còn cách xin gởi lời cảm ơn và chúc sức khỏe đến với bá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
Chào bác! e rất cám ơn bác đã quan tâm và giúp đỡ đến topic của e nhưng khi e loadlisp lên thì không thấy ACAD hỏi gì hết nên có lẻ vậy e thực hiện lệnh không được. Bác có chỉ là nhập một số tự nhiên bằng hàm getint nhưng e không biết nhập một số tự nhiên bằng hàm getint như thế nào, bác vui lòng chỉ rõ ra dùm e . E không biết gởi lời cảm ơn đến bác như thế nào để bày tỏ lòng ngưỡng mộ của e với bác e chỉ còn cách xin gởi lời cảm ơn và chúc sức khỏe đến với bác

 

Chào bạn Cadviet244,

Bạn chớ có lo lắng quá, lisp này chạy tốt mặc dù chả có thông bác như bác Hoành đã nói. Có thể tại cái Cad của bác ấy nó to hơn nên nó mới cẩn thận đến thế, còn cái cad 2004 của mình nó cũng phớt lờ luôn cái cảnh báo của bác Hoành, vậy nhưng nó vẫn chạy phe phé bạn ạ.

Bạn nói chưa biết xài lệnh getint thì mình xin giới thiệu cho bạn cái lý lịch trích ngang nhà nó thế này nhé:

1/- Hò văn tèn: GETINT (Giới tính: Tùy người xài)

2/- Ngày tháng năm sinh: Không nhớ

3/- Quê quán: Xứ Hoa kỳ hay Tây tàu gì đó.

4/- Năng lực: Có thể xài thoải mái để nhập các số nguyên từ -32...... đến 32..........

5/- Cá tính: Chỉ xài được theo cú pháp như sau: (getint [prompt]) trong đó [prompt] là dòng nhắc người dùng

Không thích đèo bòng với các em tham số.

Chỉ khoái các anh (hay em) còn NGUYÊN, còn lại là ứ ừ tuốt

 

6/- Anh chị em ruột: (GETSTRING) (GETREAL) (GETPOINT) (GETDIS) (GETANGLE)

..........................................................

 

Nhìn chung anh em nhà này chuyên dùng để nhập dữ liệu vào cad từ dòng nhắc của cad hay từ các đối tượng được chọn trong màn hình cad.

Ví dụ thế này nhé:

Để nhập giá trị của biến a là một số nguyên, bạn làm như sau:

1/- Gõ vào dòng lệnh command của cad các ký tự sau : (setq a (getint "/n Ban hay nhap mot so nguyen : "))

2/- Nhấn Enter.

Màn hình sẽ hiển thị : Ban hay nhap mot so nguyen : (Nếu bạn không khoái nhắc tuồng thì bạn chỉ việc xóa béng cái chuỗi prompt trong dòng lệnh đi, nhưng nhớ là phải để lại hai cái dấu ngoặc móc để thể hiện là có chuỗi nhắc trống nhé. Bằng không lisp sẽ ngoẻo)

3/- Nhập cái số nguyên mà bạn muốn gán cho cô nàng biến a của bạn . (ví dụ: 1234)

4/- Enter phát nữa cho chúng nó cưới nhau. Thế là xong.

Vậy là bạn có một cặp vợ chồng oai phết rồi ( a , 1234) cô a đã có chồng là 1234, cấm có đi lăng nhăng được nữa. Bây giờ muốn cho cô a một ông chồng mới bạn chỉ cần làm một tờ hôn thú khác (dùng một hàm gán biến khác) chứ chả phải li dị li diếc gì. Dễ òm mà.

Để kiểm tra xem có đúng vậy không, bạn gõ !a trên dòng lệnh command, thế là ông chồng cô ấy sẽ lòi ra thôi. (Trong ví dụ trên là 1234)

 

Cái lisp của bác Hoành sẽ cho phép bạn nhập số 1234 bằng cách gõ zxca trong dòng command sau khi nhập (getint "") ở dòng nhắc lệnh command và Enter.

 

Bây giờ thì bạn thử xài xem nhé. Cái nàng Getint này cũng dễ thương ra phết bạn ạ. Nếu thấy khoái bạn hãy làm quen thêm với anh chị em nhà cô ấy nghen.

 

Chúc bạn sớm kết thân được với họ hàng nhà lisp.

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
Chào bạn Cadviet244,

Bạn chớ có lo lắng quá, lisp này chạy tốt mặc dù chả có thông bác như bác Hoành đã nói. Có thể tại cái Cad của bác ấy nó to hơn nên nó mới cẩn thận đến thế, còn cái cad 2004 của mình nó cũng phớt lờ luôn cái cảnh báo của bác Hoành, vậy nhưng nó vẫn chạy phe phé bạn ạ.

Bạn nói chưa biết xài lệnh getint thì mình xin giới thiệu cho bạn cái lý lịch trích ngang nhà nó thế này nhé:

1/- Hò văn tèn: GETINT (Giới tính: Tùy người xài)

2/- Ngày tháng năm sinh: Không nhớ

3/- Quê quán: Xứ Hoa kỳ hay Tây tàu gì đó.

4/- Năng lực: Có thể xài thoải mái để nhập các số nguyên từ -32...... đến 32..........

5/- Cá tính: Chỉ xài được theo cú pháp như sau: (getint [prompt]) trong đó [prompt] là dòng nhắc người dùng

Không thích đèo bòng với các em tham số.

Chỉ khoái các anh (hay em) còn NGUYÊN, còn lại là ứ ừ tuốt

 

6/- Anh chị em ruột: (GETSTRING) (GETREAL) (GETPOINT) (GETDIS) (GETANGLE)

..........................................................

 

Nhìn chung anh em nhà này chuyên dùng để nhập dữ liệu vào cad từ dòng nhắc của cad hay từ các đối tượng được chọn trong màn hình cad.

Ví dụ thế này nhé:

Để nhập giá trị của biến a là một số nguyên, bạn làm như sau:

1/- Gõ vào dòng lệnh command của cad các ký tự sau : (setq a (getint "/n Ban hay nhap mot so nguyen : "))

2/- Nhấn Enter.

Màn hình sẽ hiển thị : Ban hay nhap mot so nguyen : (Nếu bạn không khoái nhắc tuồng thì bạn chỉ việc xóa béng cái chuỗi prompt trong dòng lệnh đi, nhưng nhớ là phải để lại hai cái dấu ngoặc móc để thể hiện là có chuỗi nhắc trống nhé. Bằng không lisp sẽ ngoẻo)

3/- Nhập cái số nguyên mà bạn muốn gán cho cô nàng biến a của bạn . (ví dụ: 1234)

4/- Enter phát nữa cho chúng nó cưới nhau. Thế là xong.

Vậy là bạn có một cặp vợ chồng oai phết rồi ( a , 1234) cô a đã có chồng là 1234, cấm có đi lăng nhăng được nữa. Bây giờ muốn cho cô a một ông chồng mới bạn chỉ cần làm một tờ hôn thú khác (dùng một hàm gán biến khác) chứ chả phải li dị li diếc gì. Dễ òm mà.

Để kiểm tra xem có đúng vậy không, bạn gõ !a trên dòng lệnh command, thế là ông chồng cô ấy sẽ lòi ra thôi. (Trong ví dụ trên là 1234)

 

Cái lisp của bác Hoành sẽ cho phép bạn nhập số 1234 bằng cách gõ zxca trong dòng command sau khi nhập (getint "") ở dòng nhắc lệnh command và Enter.

 

Bây giờ thì bạn thử xài xem nhé. Cái nàng Getint này cũng dễ thương ra phết bạn ạ. Nếu thấy khoái bạn hãy làm quen thêm với anh chị em nhà cô ấy nghen.

 

Chúc bạn sớm kết thân được với họ hàng nhà lisp.

Chào pác Bình

Em rất cảm ơn, cảm ơn pác lắm pác ơi, em làm được rùi cảm giác làm được trong người nó đã đã thế nào đó, mấy bữa nay e cứ trông chờ có pác nào ra tay nghĩa hiệp giúp e hok thế là trời thương có pác B giúp rùi hehehe, pác B thật là dể thương và dui tính nưã ước gì có thể làm việc được cùng pác nhỉ, công ty pác mà có tuyển người làm đồ họa là e nhất quyết nhảy vô liền hihi. Một lần nữa em xin vòng 2 tay lại và gật đầu cảm ơn pác Bình nhá. Chúc pác dồi dào sức khỏe và yêu đời

  • 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


×