Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu] Nhờ sửa giúp đoạn code gọi khung tyle


  • Please log in to reply
7 replies to this topic

#1 phamthe

phamthe

    biết vẽ polygon

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

Đã gửi 16 June 2015 - 02:10 PM

mình loay hoay sửa mà không biết thay đổi chỗ nào để có được chỗ pick điểm hiện khung sơ bộ vị trí khung tyle vừa khung nào ở vị trí tâm khung. cái code minh gửi kèm thì vị trí pick điểm ở góc bên trái dưới, giờ mình muốn pick điểm là vị trí tâm rectang như hình đính kèm. Nhờ bạn sửa giúp với, cảm ơn ban nhiều!

http://www.cadviet.c...116810_bv_1.lsp

116810_bv_1.jpg


  • 0

#2 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 17 June 2015 - 10:39 AM

mình loay hoay sửa mà không biết thay đổi chỗ nào để có được chỗ pick điểm hiện khung sơ bộ vị trí khung tyle vừa khung nào ở vị trí tâm khung. cái code minh gửi kèm thì vị trí pick điểm ở góc bên trái dưới, giờ mình muốn pick điểm là vị trí tâm rectang như hình đính kèm. Nhờ bạn sửa giúp với, cảm ơn ban nhiều!

http://www.cadviet.c...116810_bv_1.lsp

116810_bv_1.jpg

Hề hề hề,

1/- Diễn đàn bị lỗi gì mà mình không thể copy code vào bài viết được.mà để gỏ code thì nhảy con trỏ lung tung cả Đề nghị admin kiểm tra lại.

2/- Chủ thớt có thể tự sửa lại các hàm xác định các điểm p1 và p2 trong các hàm (taokhung ....) Do diễn đàn bị lỗi nên mình không thể hướng dẫn chủ thớt cụ thể được. Nếu chủ thớt có thể thì liên hệ với mình qua mail, mình sẽ chỉ rõ.


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

phamthe

    biết vẽ polygon

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

Đã gửi 17 June 2015 - 10:43 AM

setq P1 (list (+ (car D) 84) (cadr D))) ;;; 84 là cạnh ngang

(setq P2 (list (car D) (+ (cadr D) 112))) ;;; 112 là cạnh đứng

anh bình ơi, thay chỗ nào để điểm pick là tâm của hình chữ nhật bung ra chứ không phải là góc trái bên dưới hình chữ nhật bung ra như đoạn code trên anh nhỉ?


  • 0

#4 phamthe

phamthe

    biết vẽ polygon

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

Đã gửi 17 June 2015 - 11:23 AM

đúng rồi, bây giờ cần xác định thêm điểm pick tâm của hình chữ nhật!


  • 0

#5 quocmanh04tt

quocmanh04tt

    biết lệnh imageclip

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

Đã gửi 17 June 2015 - 11:24 AM

Mình đang Post nhưng ko đủ được, lỗi DD.

  • + HCN của bạn được vẽ qua 2 điểm P1 và P2
  • + Điểm P1, P2 được xác định từ điểm D (điểm pick).
  • + Xác định điểm P1:
  • - (setq P1 (list (+ (car D) 84) (cadr D)))
  • Trong đó: (+ (car D) 84) là hoành độ của P1 lấy bằng hoành độ của điểm D tức là (car D) cộng thêm 84, (cadr D) là tung độ của P1 chính là tung độ của D.
  • + Xác định điểm P2:
  • - (setq P1 (list (car D) (+(cadr D) 112)))
  • Trong đó: (car D) là hoành độ của P1 lấy bằng hoành độ của điểm D tức là (car D), (cadr D) là tung độ của D cộng thêm 112 = tung độ của P1: (+ (cadr D) 112). 
Hy vọng bạn sẽ tự làm được.

  • 1

#6 quocmanh04tt

quocmanh04tt

    biết lệnh imageclip

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

Đã gửi 17 June 2015 - 11:28 AM

Hy vọng bạn sẽ tự làm được. Bạn xác định lại điểm P1, P2.


  • 0

#7 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 17 June 2015 - 11:58 AM

setq P1 (list (+ (car D) 84) (cadr D))) ;;; 84 là cạnh ngang

(setq P2 (list (car D) (+ (cadr D) 112))) ;;; 112 là cạnh đứng

anh bình ơi, thay chỗ nào để điểm pick là tâm của hình chữ nhật bung ra chứ không phải là góc trái bên dưới hình chữ nhật bung ra như đoạn code trên anh nhỉ?

Hề hề hề,

Đúng là cần sửa ở các dòng code này.

Với code này thì khung chữ nhật được vẽ theo hai điểm từ góc phải dưới tới góc trái trên và nhận điểm pick là điểm góc trái dưới.

Để cho điểm pick là tâm của khung chữ nhật bạn sẽ phải thay ví trí của hai điểm p1 và p2 cho phù hợp.

Cụ thể trong trường hợp này, có thể làm như sau:

 (setq p1 (list (+ (car D) 42) (+ (card D) 56)))

(setq p2 (list (- (car D) 42) (- (card D) 56)))

Như vậy khung chữ nhật sẽ được tạo từ điểm góc trên bên phải tới góc dưới bên trái và nhận điểm pick làm tâm.

Với suy luận tương tự bạn có thể thay thành việc tạo khung từ điểm góc trên bên trái tới điểm góc dứoi bên phải  .......

Và bạn cũng có thể tự sửa được với các khung còn lại.

Chỉ thay những dòng code này và không cần đụng tới các dòng code khác vì nó không ảnh hưởng tới kết quả của bạn.

Hy vọng bạn thành công.


  • 1
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#8 phamthe

phamthe

    biết vẽ polygon

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

Đã gửi 17 June 2015 - 02:17 PM

cảm ơn các anh, em sửa được rồi!


  • 0