Đến nội dung


Hình ảnh
- - - - -

[ yêu cầu ] lisp cắt dim có đường dóng xiên góc ?


  • Please log in to reply
12 replies to this topic

#1 girl

girl

    biết vẽ spline

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

Đã gửi 06 August 2013 - 09:02 AM

Cut dim là một việc làm rất quan trọng của CAD rồi, trường hợp đường dóng thẳng góc với vật thể được đo thì đã có lisp cut dim, nhưng khi đường dóng xiên một góc a nào đó với vật thể đo mà mình muốn cut dim sao cho chân đường dóng thẳng theo phương x hoặc thẳng theo phương y thì chưa làm được. Xin cadviet viết giúp em cái lisp cut dim cho đối tượng dim có đường dóng xiên góc a với vật thể đo ? Em xin chân thành cảm ơn !


  • 1

#2 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 06 August 2013 - 09:10 AM

Cut dim là một việc làm rất quan trọng của CAD rồi, trường hợp đường dóng thẳng góc với vật thể được đo thì đã có lisp cut dim, nhưng khi đường dóng xiên một góc a nào đó với vật thể đo mà mình muốn cut dim sao cho chân đường dóng thẳng theo phương x hoặc thẳng theo phương y thì chưa làm được. Xin cadviet viết giúp em cái lisp cut dim cho đối tượng dim có đường dóng xiên góc a với vật thể đo ? Em xin chân thành cảm ơn !

 

Gửi file mẫu lên đi bạn


  • 0

#3 girl

girl

    biết vẽ spline

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

Đã gửi 06 August 2013 - 02:46 PM

đây là link tải đường dim xiên đó ạ ! 

http://www.mediafire...4qmimoodgwon2pc


  • 0

#4 girl

girl

    biết vẽ spline

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

Đã gửi 08 August 2013 - 01:48 PM

không anh nào giúp em ạ ?


  • 0

#5 girl

girl

    biết vẽ spline

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

Đã gửi 11 August 2013 - 10:34 AM

Pro nào nghiên cứu giúp em cái lisp cắt dim này đi ạ ?


  • 0

#6 ndtnv

ndtnv

    biết lệnh minsert

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

Đã gửi 13 August 2013 - 02:47 PM

Khi cắt Dim xiên mà chiều dài 2 chân không bằng nhau thì kết quả sẽ không đúng, vì vậy lisp không xử lý trường hợp này

 

(defun Dxf(n g) (cdr (assoc n g)))
(defun C:Tod ( / a b g k ls e m n l p q) ; Trim oblique dim
    (setq ls (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget (list (cons 0 "Dimension")))))))
    (setq p (trans (getpoint "\nChon Diem :" ) 1 0))
  (foreach e ls    (setq g (entget e) )
        (if (> 2 (setq k (rem (Dxf 70 g) 32)))
            (progn
              (setq l (Dxf 10 g) m (Dxf 13 g) n (Dxf 14 g) a (angle n m))
                (if (= k 0)(setq b (Dxf 50 g)))
                (if (not (equal n l))
                    (if (or (= k 1) (equal a b 1e-8)(equal a (+ b pi) 1e-8))
                        (progn
                            (setq q (inters l n p (polar p a 100) nil))
                            (setq g (subst (cons 14 q) (assoc 14 g) g))
                            (setq g (subst (cons 13 (polar q a (distance m n))) (assoc 13 g) g))
                      (entmod g )
                    ))
                )
     ) ))
    (redraw)
)

  • 1

#7 girl

girl

    biết vẽ spline

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

Đã gửi 13 August 2013 - 03:01 PM

vâng. Ở bài toán của em là nếu mà vẽ đúng thì các điểm bắt đầu của chân dim chỉ nằm thẳng hàng theo phương x hoặc phương y chứ không có trường hợp chân không thẳng hàng x hoặc y. còn cái minh họa e gửi lên là do cách vẽ bị sai thôi ạ.


  • 0

#8 quang_lac

quang_lac

    biết lệnh mirror

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

Đã gửi 13 August 2013 - 05:16 PM

cách đơn giản nhất là dùng lệnh cắt dim khi dim thằng trước sau đó mới sài lệnh oblique

http://www.cadviet.c...im_xien_goc.dwg


  • 0

#9 girl

girl

    biết vẽ spline

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

Đã gửi 14 August 2013 - 07:12 AM

Vâng ! Cách của bạn hay đó !


  • 0

#10 ndtnv

ndtnv

    biết lệnh minsert

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

Đã gửi 14 August 2013 - 08:12 AM

cách đơn giản nhất là dùng lệnh cắt dim khi dim thằng trước sau đó mới sài lệnh oblique

http://www.cadviet.c...im_xien_goc.dwg

Đó là bạn test trên bản vẽ chỉ có dim, nếu trên bản vẽ có hình thì chân dim kéo dài sẽ lệch khỏi vị trí cũ.

 

Xem lại code thì thấy (and (= k 0) là thừa nên đã edit lại ở trên


  • 0

#11 quang_lac

quang_lac

    biết lệnh mirror

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

Đã gửi 14 August 2013 - 09:24 AM

Đó là bạn test trên bản vẽ chỉ có dim, nếu trên bản vẽ có hình thì chân dim kéo dài sẽ lệch khỏi vị trí cũ.

 

Xem lại code thì thấy (and (= k 0) là thừa nên đã edit lại ở trên

bạn ví dụ 1 bản vẽ đi


  • 0

#12 girl

girl

    biết vẽ spline

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

Đã gửi 14 August 2013 - 10:26 AM

ví dụ 1 file : http://www.mediafire...givxnjcexdkkqm5

đây là bản vẽ nước ngoài, sử dụng font Nhật nên các bạn mở lên có thể lỗi font !


  • 0

#13 quang_lac

quang_lac

    biết lệnh mirror

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

Đã gửi 14 August 2013 - 11:52 AM

ví dụ 1 file : http://www.mediafire...givxnjcexdkkqm5

đây là bản vẽ nước ngoài, sử dụng font Nhật nên các bạn mở lên có thể lỗi font !

 

:) làm theo cách của mình đi cứ Dim thẳng và cắt chân dim trước sau đó mới sài lệnh Oligue


  • 0