Đến nội dung


Hình ảnh
- - - - -

[Hỏi] lệnh viết "độ phút giây" trong lisp


  • Please log in to reply
13 replies to this topic

#1 dunguss3581

dunguss3581

    biết lệnh rotate

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

Đã gửi 29 March 2012 - 10:10 PM

Xinh hỏi trong lisp viêt 59°58'39" như thế nào? anh em nao biết chỉ dùm nhé. cảm ơn nhiều
  • 0

#2 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 29 March 2012 - 11:17 PM

Xinh hỏi trong lisp viêt 59°58'39" như thế nào? anh em nao biết chỉ dùm nhé. cảm ơn nhiều

Chưa hiểu ý bạn hỏi???
Nếu là biểu diễn số đo một góc thành text như bạn nói thì dùng (angtos a 1 0)
Nều là chuyển text trên của bạn thành giá trị số đo của góc theo radians thì dùng hàm (angtof ....)
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#3 dunguss3581

dunguss3581

    biết lệnh rotate

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

Đã gửi 29 March 2012 - 11:54 PM

Chưa hiểu ý bạn hỏi???
Nếu là biểu diễn số đo một góc thành text như bạn nói thì dùng (angtos a 1 0)
Nều là chuyển text trên của bạn thành giá trị số đo của góc theo radians thì dùng hàm (angtof ....)

ý mình là: 59,5 độ thì dùng hàm gì đổi ra 59 độ 30 phút 00 giây. sau đó thể hiện 59°30'00" trên bản vẽ như thế nao?
  • 0

#4 dovananh.xd

dovananh.xd

    biết lệnh offset

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

Đã gửi 30 March 2012 - 01:10 AM

ý mình là: 59,5 độ thì dùng hàm gì đổi ra 59 độ 30 phút 00 giây. sau đó thể hiện 59°30'00" trên bản vẽ như thế nao?

bạn vào Modify của Dimension Style, trong thẻ Primary Units, trong mục Units fomat chọn Decimal Degrees nếu muốn là 59.5 độ; chọn là Degrees minute second nếu muốn là 59 độ 30'...
  • 0

#5 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 30 March 2012 - 08:06 AM

Xinh hỏi trong lisp viêt 59°58'39" như thế nào? anh em nao biết chỉ dùm nhé. cảm ơn nhiều

VD: vẽ Text tại điểm (0,0) cao là 2 và góc quay là 0:
(command "text" '(0 0) 2 0 "59\U+00B058'39\"") => 59°58'39"
  • 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.


#6 dunguss3581

dunguss3581

    biết lệnh rotate

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

Đã gửi 30 March 2012 - 09:30 AM

VD: vẽ Text tại điểm (0,0) cao là 2 và góc quay là 0:
(command "text" '(0 0) 2 0 "59\U+00B058'39\"") => 59°58'39"


VD: vẽ Text tại điểm (0,0) cao là 2 và góc quay là 0:
(command "text" '(0 0) 2 0 "59\U+00B058'39\"") => 59°58'39"

bạn ơi mình nạp code của bạn vào dòng nhắc lệnh không chạy như ý muốn. phần ký hiệu độ không đúng
  • 0

#7 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 30 March 2012 - 09:35 AM

bạn ơi mình nạp code của bạn vào dòng nhắc lệnh không chạy như ý muốn. phần ký hiệu độ không đúng

Nó ra cái gì, post lên xem?
  • 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.


#8 dunguss3581

dunguss3581

    biết lệnh rotate

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

Đã gửi 30 March 2012 - 09:39 AM

Nó ra cái gì, post lên xem?


Nó ra cái gì, post lên xem?

Hình đã gửi
  • 0

#9 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 30 March 2012 - 09:56 AM

Acad <=2006 thì dùng cái này xem:
(command "text" '(0 0) 2 0 (strcat "59" (chr 176) "58'39\""))
Hoặc:
(command "text" '(0 0) 2 0 (strcat "59" (chr 186) "58'39\""))
  • 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.


#10 gia_bach

gia_bach

    biết lệnh adcenter

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

Đã gửi 30 March 2012 - 11:08 AM

ý mình là: 59,5 độ thì dùng hàm gì đổi ra 59 độ 30 phút 00 giây. sau đó thể hiện 59°30'00" trên bản vẽ như thế nao?


Tham khảo :


(setq string "59.5")
(setq real (atof string)) ; -> 59.5
(setq radian (* pi (/ real 180.0))) ; -> 1.03847
(setq dophutgiay (angtos radian 1 3)); -> "59d30'0\""
  • 1

#11 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 30 March 2012 - 11:31 AM

ý mình là: 59,5 độ thì dùng hàm gì đổi ra 59 độ 30 phút 00 giây. sau đó thể hiện 59°30'00" trên bản vẽ như thế nao?

Kết hợp vừa chuyển đổi vừa ghi ra text thì ví dụ thế này:

(defun C:HA ( / goc dpg)
(setq goc (getreal "\nNhap gia goc [do_thap_phan]: "))
(setq dpg (vl-string-subst (chr 176) "d" (angtos (* pi (/ goc 180.0)) 1 3)))
(command "text" "non" '(0 0) 2 0 dpg)
(princ))

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


#12 dunguss3581

dunguss3581

    biết lệnh rotate

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

Đã gửi 30 March 2012 - 03:07 PM

cảm ơn các bạn rất nhiều
  • 0

#13 dunguss3581

dunguss3581

    biết lệnh rotate

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

Đã gửi 30 March 2012 - 03:09 PM

Kết hợp vừa chuyển đổi vừa ghi ra text thì ví dụ thế này:


(defun C:HA ( / goc dpg)
(setq goc (getreal "\nNhap gia goc [do_thap_phan]: "))
(setq dpg (vl-string-subst (chr 176) "d" (angtos (* pi (/ goc 180.0)) 1 3)))
(command "text" "non" '(0 0) 2 0 dpg)
(princ))


Kết hợp vừa chuyển đổi vừa ghi ra text thì ví dụ thế này:


(defun C:HA ( / goc dpg)
(setq goc (getreal "\nNhap gia goc [do_thap_phan]: "))
(setq dpg (vl-string-subst (chr 176) "d" (angtos (* pi (/ goc 180.0)) 1 3)))
(command "text" "non" '(0 0) 2 0 dpg)
(princ))

bạn có thể giúp tôi tính góc của một đỉnh trong tam giác có 3 đỉnh p1, p2, p3 không? hàm angle sử dụng thế nào vậy?
  • 0

#14 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 30 March 2012 - 03:13 PM

bạn có thể giúp tôi tính góc của một đỉnh trong tam giác có 3 đỉnh p1, p2, p3 không? hàm angle sử dụng thế nào vậy?

Nếu bạn hỏi như vậy thì qua chuyên mục này, chứ trả lời ở đây là sai topic
[Hỏi] Cùng nhau học 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.