Đến nội dung


Hình ảnh

hỏi han về cái bắt tâm hình vuông mà cài osnap không được


  • Please log in to reply
45 replies to this topic

#1 fengstupid

fengstupid

    biết pan

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

Đã gửi 22 May 2011 - 06:08 PM

Chào các bác.cho e hỏi,e đang học autocad 2007,e chỉnh bắt trng osnap rồi mà e dùng lệnh rec vẽ hình vuông mà chỉnh shift + center mà không bắt dc cái tâm hình vuông là sao,các bác giúp e vối
  • 0

#2 pdle

pdle

    biết lệnh mtext

  • Members
  • PipPipPipPip
  • 286 Bài viết
Điểm đánh giá: 124 (tàm tạm)

Đã gửi 22 May 2011 - 07:24 PM

Chào các bác.cho e hỏi,e đang học autocad 2007,e chỉnh bắt trng osnap rồi mà e dùng lệnh rec vẽ hình vuông mà chỉnh shift + center mà không bắt dc cái tâm hình vuông là sao,các bác giúp e vối

Cái center có bắt cho hình vuông hả bạn, mình tưởng nó chỉ bắt cho hình tròn, cung tròn hoặc ellipse chứ ?
Đối với những hình như hình chữ nhật, hoặc hình vuông, bạn có thể bắt tâm của chúng bằng cách dùng m2p (middle two points). Bạn chọn midpoint của 2 cạnh góc vuông đối diện là xong :D
  • 2
Share your knowledge. It is a way to achieve immortality !

***

PS: Nếu bài viết của mình có ích, xin hãy "Bình chọn cho bài viết này" nhé :D

#3 fengstupid

fengstupid

    biết pan

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

Đã gửi 22 May 2011 - 08:42 PM

cảm ơn anh,e dùng lệnh line kẻ 2 đường chéo rồi bắt giao điểm làm tâm rùi xáo đi vậy,cứ tưởng bắt dc tâm hình vuông,giờ mới bít mình gà quáhehe
  • 0

#4 hoàngbìnhan

hoàngbìnhan

    biết lệnh move

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

Đã gửi 22 May 2011 - 09:08 PM

Chào các bác.cho e hỏi,e đang học autocad 2007,e chỉnh bắt trng osnap rồi mà e dùng lệnh rec vẽ hình vuông mà chỉnh shift + center mà không bắt dc cái tâm hình vuông là sao,các bác giúp e vối

Hehee...
  • 0

#5 pdle

pdle

    biết lệnh mtext

  • Members
  • PipPipPipPip
  • 286 Bài viết
Điểm đánh giá: 124 (tàm tạm)

Đã gửi 22 May 2011 - 09:19 PM

cảm ơn anh,e dùng lệnh line kẻ 2 đường chéo rồi bắt giao điểm làm tâm rùi xáo đi vậy,cứ tưởng bắt dc tâm hình vuông,giờ mới bít mình gà quáhehe

Thế này nhá, bạn không cần phải làm thế với hình vuông đâu. Bạn có thể làm như sau:
Hình đã gửi
Giả sử bạn cần vẽ một đường thẳng từ tâm hình vuông này. Bạn gõ lệnh line trên commandline:
Command: l
LINE Specify first point: m2p
First point of mid:<Bạn chọn pt1>
Second point of mid:<Bạn chọn pt2>, sẽ nhận được đường thẳng bạn cần vẽ bắt đầu từ tâm hình vuông :D
  • 3
Share your knowledge. It is a way to achieve immortality !

***

PS: Nếu bài viết của mình có ích, xin hãy "Bình chọn cho bài viết này" nhé :D

#6 xuanhaithanhhoa

xuanhaithanhhoa

    biết lệnh break

  • Members
  • PipPipPipPip
  • 223 Bài viết
Điểm đánh giá: 23 (tàm tạm)

Đã gửi 22 May 2011 - 10:30 PM

Thế này nhá, bạn không cần phải làm thế với hình vuông đâu. Bạn có thể làm như sau:
Hình đã gửi
Giả sử bạn cần vẽ một đường thẳng từ tâm hình vuông này. Bạn gõ lệnh line trên commandline:
Command: l
LINE Specify first point: m2p
First point of mid:<Bạn chọn pt1>
Second point of mid:<Bạn chọn pt2>, sẽ nhận được đường thẳng bạn cần vẽ bắt đầu từ tâm hình vuông :D

bác trả lời rất hay :lol:
  • 1

#7 pdle

pdle

    biết lệnh mtext

  • Members
  • PipPipPipPip
  • 286 Bài viết
Điểm đánh giá: 124 (tàm tạm)

Đã gửi 22 May 2011 - 10:33 PM

bác trả lời rất hay :lol:

Chào xuanhaithanhhoa,
Bạn bảo mình trả lời hay, mà không thấy bình chọn, làm mình không biết là bạn có khen thật không đây, hay là... :rolleyes:
  • 1
Share your knowledge. It is a way to achieve immortality !

***

PS: Nếu bài viết của mình có ích, xin hãy "Bình chọn cho bài viết này" nhé :D

#8 xuanhaithanhhoa

xuanhaithanhhoa

    biết lệnh break

  • Members
  • PipPipPipPip
  • 223 Bài viết
Điểm đánh giá: 23 (tàm tạm)

Đã gửi 22 May 2011 - 10:44 PM

Chào xuanhaithanhhoa,
Bạn bảo mình trả lời hay, mà không thấy bình chọn, làm mình không biết là bạn có khen thật không đây, hay là... :rolleyes:

hì,quên mất là diễn đàn nàh mình có cái nút xanh xanh bác nhỉ,
thank bác 1 phát nào.haha
  • 0

#9 quangkim

quangkim

    biết zoom

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

Đã gửi 23 May 2011 - 12:31 AM

Thế này nhá, bạn không cần phải làm thế với hình vuông đâu. Bạn có thể làm như sau:
Hình đã gửi
Giả sử bạn cần vẽ một đường thẳng từ tâm hình vuông này. Bạn gõ lệnh line trên commandline:
Command: l
LINE Specify first point: m2p
First point of mid:<Bạn chọn pt1>
Second point of mid:<Bạn chọn pt2>, sẽ nhận được đường thẳng bạn cần vẽ bắt đầu từ tâm hình vuông :D


mình cũng đồng ý cách của bác pdle nhưng sao lại phải bắt trung điểm hai cạnh đối diện cho khó vậy, tôi vẫn sử dụng lệnh m2p nhưng bắt hai điểm là hai đỉnh đối diện nhau của hình vuông có phải dể hơn không!
Hình đã gửi
  • 0

#10 pdle

pdle

    biết lệnh mtext

  • Members
  • PipPipPipPip
  • 286 Bài viết
Điểm đánh giá: 124 (tàm tạm)

Đã gửi 23 May 2011 - 02:26 AM

hì,quên mất là diễn đàn nàh mình có cái nút xanh xanh bác nhỉ,
thank bác 1 phát nào.haha

Hình như chưa thank sờ anh ạ :)

mình cũng đồng ý cách của bác pdle nhưng sao lại phải bắt trung điểm hai cạnh đối diện cho khó vậy, tôi vẫn sử dụng lệnh m2p nhưng bắt hai điểm là hai đỉnh đối diện nhau của hình vuông có phải dể hơn không!

Nhất trí với phương án của anh :D
  • 0
Share your knowledge. It is a way to achieve immortality !

***

PS: Nếu bài viết của mình có ích, xin hãy "Bình chọn cho bài viết này" nhé :D

#11 hoan2182

hoan2182

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2646 Bài viết
Điểm đánh giá: 832 (rất tốt)

Đã gửi 23 May 2011 - 05:24 AM

Chào xuanhaithanhhoa,
Bạn bảo mình trả lời hay, mà không thấy bình chọn, làm mình không biết là bạn có khen thật không đây, hay là... :rolleyes:

Chắc chắn là ....chưa hay nên chưa thank :rolleyes:
Còn một cách bắt điểm nữa cực hay không cần phải gõ lệnh: m2p mà vẫn bắt điểm cực nhanh luôn!
Em chưa nói cách làm vội để anh suy nghĩ cho vui!

  • 0

Gió đưa cây cải về trời

Rau răm ở lại chịu lời đắng cay...


#12 hoan2182

hoan2182

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2646 Bài viết
Điểm đánh giá: 832 (rất tốt)

Đã gửi 23 May 2011 - 09:00 AM

Cho em hỏi: làm thế nào để bắt điểm được trọng tâm của hình của hình 5 giác, 7 giác, cửu giác ngoại tiếp đường tròn???
  • 0

Gió đưa cây cải về trời

Rau răm ở lại chịu lời đắng cay...


#13 calendar08

calendar08

    biết vẽ arc

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

Đã gửi 23 May 2011 - 09:42 AM

Chào các bác.cho e hỏi,e đang học autocad 2007,e chỉnh bắt trng osnap rồi mà e dùng lệnh rec vẽ hình vuông mà chỉnh shift + center mà không bắt dc cái tâm hình vuông là sao,các bác giúp e vối


Ý tưởng của bạn rất hay để để nghị bên Autodesk làm thêm chế độ này :lol:
  • 0

#14 hoan2182

hoan2182

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2646 Bài viết
Điểm đánh giá: 832 (rất tốt)

Đã gửi 23 May 2011 - 10:38 AM

@ anh calendar08 : Anh chưa biết đó thôi, Autodesk sẽ không dại dột làm theo chế độ ...như anh đã trả lời bài viết của anh fengstupid đâu!
Không cần phải gõ m2p như cách làm của anh pdle , cũng không phải cần shift + Sủng gì hết vẫn bắt được tâm của hình chữ nhật một cách nhanh nhất trong tất cả các loại nhanh!
Anh suy nghĩ thêm và thử làm nhé (có thể coi đây là câu đố cũng được em sẽ ra đáp án sau)
  • 0

Gió đưa cây cải về trời

Rau răm ở lại chịu lời đắng cay...


#15 3d.decor

3d.decor

    biết vẽ arc

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

Đã gửi 23 May 2011 - 11:29 AM

mình dùng bảo lỗi không dùng được
mình dùng cad 2012
bác xem hộ với


Command: C
Pick chon doi tuong lay trong tam :*Cancel*
; error: Function cancelled
  • 0

#16 fengstupid

fengstupid

    biết pan

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

Đã gửi 23 May 2011 - 11:29 AM

Tue_NV chưa biết cách làm với CAD. Nhưng hình như là không có.
Lisp sau có thể bắt trọng tâm của một đa giác kín bất kì


(defun centre(dt / cen)
(if (or (= (cdr(assoc 0 (entget dt))) "REGION")
(and (wcmatch (cdr(assoc 0 (entget dt))) "*POLYLINE")
(= (cdr(assoc 70 (entget dt))) 1)
)
)
(if (and (wcmatch (cdr(assoc 0 (entget dt))) "*POLYLINE")
(= (cdr(assoc 70 (entget dt))) 1)
)
(Progn
(command "copy" dt "" '(0 0 0) "@")
(command "region" dt "")
(setq dt (entlast))
(setq cen (vlax-get (vlax-ename->vla-object dt) 'Centroid))
(entdel dt)
)
(setq cen (vlax-get (vlax-ename->vla-object dt) 'Centroid))
)

)
cen
)
(defun c:c() (centre (car(entsel "\n Pick chon doi tuong lay trong tam :"))))

Cách bắt trọng tâm của 1 đa giác kín như sau : (trong 1 lệnh)
1. Apload Lisp
2. Vẽ 1 Line với điểm đầu là trọng tâm của 1 đa giác

Command: L -> Gõ L
LINE Specify first point: 'c -> Gõ 'c

Pick chon doi tuong lay trong tam : -> Pick vào hình cần lấy trọng tâm
(22.0409 20.9165)

Specify next point or [Undo]: -> Điểm kê tiếp của lệnh LINE
Specify next point or [Undo]:

Để lấy trọng tâm ở 1 lệnh khác cũng gõ 'c

Lisp trên cũng là 1 lời giải :rolleyes:

cảm ơn bác
  • 0

#17 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 23 May 2011 - 11:32 AM

mình dùng bảo lỗi không dùng được
mình dùng cad 2012
bác xem hộ với


Command: C
Pick chon doi tuong lay trong tam :*Cancel*
; error: Function cancelled

Đã sửa lại. Cac bạn chạy thử xem :

(defun centre(dt / cen)
;;copyright by Tue_NV
(vl-load-com)
(if (or (= (cdr(assoc 0 (entget dt))) "REGION")
(and (wcmatch (cdr(assoc 0 (entget dt))) "*POLYLINE")
(= (cdr(assoc 70 (entget dt))) 1)
)
)
(if (and (wcmatch (cdr(assoc 0 (entget dt))) "*POLYLINE")
(= (cdr(assoc 70 (entget dt))) 1)
)
(Progn
(setq cen (vlax-get (car (vlax-invoke (vla-get-modelspace (vla-get-activedocument(vlax-get-acad-object)))
'addregion (list (vlax-ename->vla-object dt)))) 'Centroid))
(entdel (entlast))
)
(setq cen (vlax-get (vlax-ename->vla-object dt) 'Centroid))
)

)
cen
)
(defun c:cen() (centre (car(entsel "\n Pick chon doi tuong lay trong tam :"))))

Mình sợ đặt lệnh chữ C trùng với lệnh của các bạn.
Các bạn sử dụng lệnh CEN để tìm trọng tâm
Trong 1 lệnh khác để tìm trọng tâm của 1 đa giác bất kì nhấn 'CEN
  • 5

#18 pdle

pdle

    biết lệnh mtext

  • Members
  • PipPipPipPip
  • 286 Bài viết
Điểm đánh giá: 124 (tàm tạm)

Đã gửi 23 May 2011 - 12:21 PM

Đã sửa lại. Cac bạn chạy thử xem :
Mình sợ đặt lệnh chữ C trùng với lệnh của các bạn.
Các bạn sử dụng lệnh CEN để tìm trọng tâm
Trong 1 lệnh khác để tìm trọng tâm của 1 đa giác bất kì nhấn 'CEN

Một điều rất hay ở đây là anh Tue_NV đã tạo được lệnh kiểu transparent command. Em đang băn khoăn là không biết dùng cơ chế nào để tạo ra được cái này ạ ?
  • 0
Share your knowledge. It is a way to achieve immortality !

***

PS: Nếu bài viết của mình có ích, xin hãy "Bình chọn cho bài viết này" nhé :D

#19 gia_bach

gia_bach

    biết lệnh adcenter

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

Đã gửi 23 May 2011 - 12:57 PM

Một điều rất hay ở đây là anh Tue_NV đã tạo được lệnh kiểu transparent command. Em đang băn khoăn là không biết dùng cơ chế nào để tạo ra được cái này ạ ?

Rất hay !
thanks Tue_NV .
  • 0

#20 pdle

pdle

    biết lệnh mtext

  • Members
  • PipPipPipPip
  • 286 Bài viết
Điểm đánh giá: 124 (tàm tạm)

Đã gửi 23 May 2011 - 02:19 PM

Đã sửa lại. Cac bạn chạy thử xem :
Mình sợ đặt lệnh chữ C trùng với lệnh của các bạn.
Các bạn sử dụng lệnh CEN để tìm trọng tâm
Trong 1 lệnh khác để tìm trọng tâm của 1 đa giác bất kì nhấn 'CEN

Sau khi ngâm cứu cái lisp này của anh Tue_NV, em có thắc mắc là: tạo sao lại có cen, không có đóng ngoặc, mở ngoặc ở đây ạ? Phải chăng nó là dùng cho transparent command ?
;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.c...showtopic=42651
(defun centre(dt / cen)
(vl-load-com)
(if (or (= (cdr(assoc 0 (entget dt))) "REGION")
(and (wcmatch (cdr(assoc 0 (entget dt))) "*POLYLINE")
(= (cdr(assoc 70 (entget dt))) 1)
)
)
(if (and (wcmatch (cdr(assoc 0 (entget dt))) "*POLYLINE")
(= (cdr(assoc 70 (entget dt))) 1)
)
(Progn
(setq cen (vlax-get (car (vlax-invoke (vla-get-modelspace (vla-get-activedocument(vlax-get-acad-object)))
'addregion (list (vlax-ename->vla-object dt)))) 'Centroid))
(entdel (entlast))
)
(setq cen (vlax-get (vlax-ename->vla-object dt) 'Centroid))
)

)
cen
)
(defun c:cen() (centre (car(entsel "\n Pick chon doi tuong lay trong tam :"))))
  • 0
Share your knowledge. It is a way to achieve immortality !

***

PS: Nếu bài viết của mình có ích, xin hãy "Bình chọn cho bài viết này" nhé :D