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.
Đăng nhập để thực hiện theo  
47c1

Cho hỏi về Stretch và Offset trong cad 2007

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

47c1    1

-Em đang dùng cad 2007.Em muốn kéo dãn đối tượng có Hatch bằng lệnh Stretch (bản vẽ đã hatch rồi) nên không chỉnh được Associative thành chọn.

Vậy muốn kéo dãn đối tượng có hatch nên làm thế nào.

-Câu thứ 2 về Offset. em muốn Offset nhiều đối tượng cùng 1 lúc vậy làm thế nào. Theo cùng một chiều và một khoảng cách.

  • 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
bejero    0
-Em đang dùng cad 2007.Em muốn kéo dãn đối tượng có Hatch bằng lệnh Stretch (bản vẽ đã hatch rồi) nên không chỉnh được Associative thành chọn.

Vậy muốn kéo dãn đối tượng có hatch nên làm thế nào.

-Câu thứ 2 về Offset. em muốn Offset nhiều đối tượng cùng 1 lúc vậy làm thế nào. Theo cùng một chiều và một khoảng cách.

 

1 - mình vẫn dùng lệnh Stretch kéo cả vùng hatch và hatch bên trong bình thường

 

2 - Offset liên tiếp thì mình ko biết có không nhưng với yêu cầu như thế thì mình dùng lệnh Array.

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
47c1    1
1 - mình vẫn dùng lệnh Stretch kéo cả vùng hatch và hatch bên trong bình thường

 

2 - Offset liên tiếp thì mình ko biết có không nhưng với yêu cầu như thế thì mình dùng lệnh Array.

1. vậy là cad của mình bị lỗi?

2. hoàn toàn khác nhau. Array theo phuơng X,Y còn Offset theo phuơng vuông góc.ok?

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
ketxu    2.653

1.Bạn có thể hatch lại,hoặc dùng lisp để chuyển hatch về chế độ Associative (khuyến cáo tỉ lệ bị thay đổi),chứ CAD hoàn toàn k có lỗi

2.Theo 1 chiều của bạn,thực ra đối với định nghĩa trực quan của bạn thì dễ,còn với CAD thì không dễ chút nào, nên có khả năng nhầm lẫn cao.

  • 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
47c1    1
1.Bạn có thể hatch lại,hoặc dùng lisp để chuyển hatch về chế độ Associative (khuyến cáo tỉ lệ bị thay đổi),chứ CAD hoàn toàn k có lỗi

2.Theo 1 chiều của bạn,thực ra đối với định nghĩa trực quan của bạn thì dễ,còn với CAD thì không dễ chút nào, nên có khả năng nhầm lẫn cao.

Thế nên mình đang hỏi là có lệnh Offset cho nhiều đối tượng không đó mà?

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
47c1    1
Có lisp,nhưng mình e sẽ k đúng hướng bạn "nghĩ" :undecided:

Xin hỏi anh ketxu là cad cao hơn 2007 có làm được điều em muốn ko?

1.Ko cần hatch lại

2.Lisp có tác dụng như offset tức là mình quét nhiều đối tượng rồi offset xuống hoặc lên với 1 độ dài mình chọn.

Có vẻ là cad cũng hơi khó làm chuyện offset này vậy sao?

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
ketxu    2.653

Bạn chịu khó search là sẽ có những thứ mình cần hoặc gần cần ngay ^^.Mình chưa có dịp dùng CAD đời cao hơn nên đành chờ các cao kiến khác

1.Bạn dùng lisp hma-hmna của bác.... Tuệ (phải không ạ) để chuyển đổi qua lại giữa các hatch.

2. Banạn search trên mạng và tìm cái phù hợp với nhu cầu của mình

Dưới đây là 2 ví dụ đây

 

;; free lisp from cadviet.com

(defun c:hma ()
(setvar "hpassoc" 1)
(setvar "osmode" 512)
(setq ddd (entsel "\nChuyen Hatch : Non-associative -> associative"))
(while 
(null ddd)
(princ "\nDoi tuong khong phai la Hatch! Chon lai")
(setq ddd (entsel "\nChon Hatch mau :"))
)

(setq ename ddd
elist (entget (car ename))
etyp (cdr (assoc 0 elist))
old (getvar "clayer")
);setq

(if (/= etyp "HATCH")
(prompt "\nKHONG PHAI DOI TUONG HATCH! HAY THU LAI!")
(progn
(setq layn (cdr (assoc 8 elist)))
(setvar "HPNAME" (cdr (assoc 2 elist)))
))

(if (= (setvar "HPNAME" (cdr (assoc 2 elist))) "SOLID")
(Progn

(setq pt1 (cadr ddd))
(setvar "clayer" layn)
(entdel (car ename))
(command "bhatch" pt1 "")
(setvar "clayer" old)
))

(if (/= (setvar "HPNAME" (cdr (assoc 2 elist))) "SOLID")
(Progn

;(setq pt1 (getpoint "\nCHON MOT DIEM TRONG VUNG SE HATCH: "))
(setq pt1 (cadr ddd))
(setvar "clayer" layn)
(entdel (car ename))
(command "bhatch" pt1 "")
(setvar "clayer" old)

);progn
);if
(princ)
);defun
;;;;;;;;;;;;;
(defun c:hmna ()
(setvar "hpassoc" 0)
(setvar "osmode" 512)
(setq ddd (entsel "\nChuyen Hatch : associative -> Non-associative"))
(while 
(null ddd)
(princ "\nDoi tuong khong phai la Hatch! Chon lai")
(setq ddd (entsel "\nChon Hatch mau :"))
)

(setq ename ddd
elist (entget (car ename))
etyp (cdr (assoc 0 elist))
old (getvar "clayer")
);setq

(if (/= etyp "HATCH")
(prompt "\nKHONG PHAI DOI TUONG HATCH! HAY THU LAI!")
(progn
(setq layn (cdr (assoc 8 elist)))
(setvar "HPNAME" (cdr (assoc 2 elist)))
))

(if (= (setvar "HPNAME" (cdr (assoc 2 elist))) "SOLID")
(Progn

(setq pt1 (cadr ddd))
(setvar "clayer" layn)
(entdel (car ename))
(command "bhatch" pt1 "")
(setvar "clayer" old)
))

(if (/= (setvar "HPNAME" (cdr (assoc 2 elist))) "SOLID")
(Progn

;(setq pt1 (getpoint "\nCHON MOT DIEM TRONG VUNG SE HATCH: "))
(setq pt1 (cadr ddd))
(setvar "clayer" layn)
(entdel (car ename))
(command "bhatch" pt1 "")
(setvar "clayer" old)

);progn
);if
(princ)
);defun

 

(defun c:mOff (/ ss tmp safe lst)
 (vl-load-com)
 (or *moff (setq *moff 10.0))

 (setq doc (vla-get-ActiveDocument
             (vlax-get-acad-object)))

 (if (setq ss (ssget '((0 . "ARC,CIRCLE,ELLIPSE,*LINE"))))
   (progn
     (initget 6)
     (and (setq tmp (getdist (strcat "\nSpecify Offset  : ")))
          (setq *moff tmp))
     (vla-StartUndoMark doc)

     (foreach var (mapcar (function (lambda (x) (vla-offset x *moff)))
                          (mapcar 'vlax-ename->vla-object
                                  (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))))

       (cond ((                      (setq safe (vlax-variant-value var)) 1))
              (setq lst (cons (vlax-safearray->list safe) lst)))))

     (foreach Obj (setq lst (apply 'append lst))

       (if (vl-some
             (function
               (lambda (x)
                 (vlax-invoke obj 'IntersectWith x acExtendNone)))
             (vl-remove Obj lst))
         (vla-put-color Obj acred)))
     (vla-EndUndoMark doc)))

 (princ))

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
ketxu    2.653

P/S : nếu chơi sang,bạn có thể dùng Dynamic Offset Pro của bác Lee Mac đây, đảm bảo phù hợp yêu cầu multi Offset ^^

 

Dynamic Offset

 

P/S : sao cái ông này hay chơi Dynamic thế, làm mìn dùng toàn giật >"

  • 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
47c1    1
P/S : nếu chơi sang,bạn có thể dùng Dynamic Offset Pro của bác Lee Mac đây, đảm bảo phù hợp yêu cầu multi Offset ^^

 

Dynamic Offset

 

P/S : sao cái ông này hay chơi Dynamic thế, làm mìn dùng toàn giật >"<

Đã check thử cad 2008 và thấy có thêm chức năng Annotative nhưng hình như vẫn không làm gì với Hatch mà ko cho S từ đầu.

Dù sao cũng Thank bác Ketxu nhiều. Tại em là bên Thủy lợi nhiều mặt cắt ngang quá mà bị thay đổi thiết kế.Cũng biết là Hatch lại sẽ được nhưng hơi bất tiện nên muốn nhờ các cao thủ.

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
duyhoa_8905    0

P/S : nếu chơi sang,bạn có thể dùng Dynamic Offset Pro của bác Lee Mac đây, đảm bảo phù hợp yêu cầu multi Offset ^^

 

Dynamic Offset

 

P/S : sao cái ông này hay chơi Dynamic thế, làm mìn dùng toàn giật >"<

 

Thanks bác! cái dynamic offset rất hay.

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

Đăng nhập để thực hiện theo  

×