Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
kiwi

Lấy toạ độ X,Y cùng lúc

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

Khi dùng lệnh DOR(ordinate) chỉ có thể lấy được toạ độ X hoặc Y làm thế nào để có thể cùng lúc lấy được toạ độ của cả X,Y

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
Lệnh ID thì được.

Lệnh ID chỉ xem được toạ độ , không thể sử dụng như text được, các bác có cách nào khác không ?

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
Lệnh ID chỉ xem được toạ độ , không thể sử dụng như text được, các bác có cách nào khác không ?

Giải pháp dùng lisp: Mình dùng lệnh DIMORDINATE của bạn chỉ khác là bạn chỉ cần chọn điểm 1 lần thì nó tự làm 2 lần cho x và y.

 

(defun c:LTD ()

(command "undo" "be")

(setq a (getpoint "\nChon diem: "))

(setq luubatdiem (getvar "osmode"))

(setvar "osmode" 0)

(setq b (list (+ (car a) 1) (caDr a)))

(setq c (list (car a) (+ (caDr a) 1)))

(command ".DIMORDINATE" a "x" c)

(command ".DIMORDINATE" a "y" b)

(setvar "osmode" luubatdiem)

(command "undo" "end")

(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
Giải pháp dùng lisp: Mình dùng lệnh DIMORDINATE của bạn chỉ khác là bạn chỉ cần chọn điểm 1 lần thì nó tự làm 2 lần cho x và y.

 

(defun c:LTD ()

(command "undo" "be")

(setq a (getpoint "\nChon diem: "))

(setq luubatdiem (getvar "osmode"))

(setvar "osmode" 0)

(setq b (list (+ (car a) 1) (caDr a)))

(setq c (list (car a) (+ (caDr a) 1)))

(command ".DIMORDINATE" a "x" c)

(command ".DIMORDINATE" a "y" :cheers:

(setvar "osmode" luubatdiem)

(command "undo" "end")

(princ)

)

em cảm ơn bác nhiều lắm nhưng bác có thể viết thêm jùm em một chút nữa để X,Y cùng nằm theo phương Y được không, em muốn có mũi tên dưới toạ độ nữa (giống lệnh LE có text ở bên trên là tọa độ X,Y ).Có thể kéo thoải mái để đat tại vị trí thích hợp( cái bác viết cho em kich vô là ra toạ độ liền ko thể kéo đi như khi dùng lênh DOR được). Mong bác giúp giù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
em cảm ơn bác nhiều lắm nhưng bác có thể viết thêm jùm em một chút nữa để X,Y cùng nằm theo phương Y được không, em muốn có mũi tên dưới toạ độ nữa (giống lệnh LE có text ở bên trên là tọa độ X,Y ).Có thể kéo thoải mái để đat tại vị trí thích hợp( cái bác viết cho em kich vô là ra toạ độ liền ko thể kéo đi như khi dùng lênh DOR được). Mong bác giúp giùm

Thật tình mình không dùng lệnh Dor bao giờ nên chỉ giúp bạn được vậy thôi các vấn đề khác mình chịu.

Mình sửa lại để bạn chọn điểm viết kết quả luôn.

 

(defun c:LTD ()

(command "undo" "be")

(setq a (getpoint "\nChon diem: "))

(setq b (getpoint "\nChon diem viet ket qua: "))

(setq luubatdiem (getvar "osmode"))

(setvar "osmode" 0)

(command ".DIMORDINATE" a "x" b)

(command ".DIMORDINATE" a "y" b)

(setvar "osmode" luubatdiem)

(command "undo" "end")

(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
Thật tình mình không dùng lệnh Dor bao giờ nên chỉ giúp bạn được vậy thôi các vấn đề khác mình chịu.

Mình sửa lại để bạn chọn điểm viết kết quả luôn.

 

(defun c:LTD ()

(command "undo" "be")

(setq a (getpoint "\nChon diem: "))

(setq b (getpoint "\nChon diem viet ket qua: "))

(setq luubatdiem (getvar "osmode"))

(setvar "osmode" 0)

(command ".DIMORDINATE" a "x" :cheers:

(command ".DIMORDINATE" a "y" :cheers:

(setvar "osmode" luubatdiem)

(command "undo" "end")

(princ)

)

em muốn như thế này bác ơi

http://www.cadviet.com/upfiles/TOA_D0.dwg

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
em muốn như thế này bác ơi

http://www.cadviet.com/upfiles/TOA_D0.dwg

Bạn dùng lisp này. Lệnh XY:

 

(defun C:XY( / p1 p2)
(setq
    p1 (getpoint "\nFirst point:")
    p2 (getpoint p1 "\nNext point:")
)
(command "qleader" p1 p2 "" "" (strcat (rtos (car p1)) "\\P" (rtos (cadr p1))) "")
(princ)
)

  • 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
Bạn dùng lisp này. Lệnh XY:

 

(defun C:XY( / p1 p2)
(setq
    p1 (getpoint "\nFirst point:")
    p2 (getpoint p1 "\nNext point:")
)
(command "qleader" p1 p2 "" "" (strcat (rtos (car p1)) "\\P" (rtos (cadr p1))) "")
(princ)
)

bác ơi sao số không nằm trên mũi tên hả bác, và cái này không chỉnh sửa trong Dimention được .

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
bác ơi sao số không nằm trên mũi tên hả bác, và cái này không chỉnh sửa trong Dimention được .

Bạn hãy nói rõ số nằm trên mũi tên thì sẽ cách mũi tên một khoảng bằng bao nhiêu? và chỉnh sửa trong Dimension như thế nào?

Bạn hãy nói rõ ý của bạn nhé.

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
Bạn hãy nói rõ số nằm trên mũi tên thì sẽ cách mũi tên một khoảng bằng bao nhiêu? và chỉnh sửa trong Dimension như thế nào?

Bạn hãy nói rõ ý của bạn nhé.

Dạ, em muốn chỉnh sửa trong Dimention Style (số thập phân...) và em muốn text nằm fía trên như trong bản vẽ em gởi đó bác. Cái này có thể sửa tai PR(text) nhưng fải sửa từng cái, em muốn lam nhanh hơn, Bac xem giúp em với

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
Dạ, em muốn chỉnh sửa trong Dimention Style (số thập phân...) và em muốn text nằm fía trên như trong bản vẽ em gởi đó bác. Cái này có thể sửa tai PR(text) nhưng fải sửa từng cái, em muốn lam nhanh hơn, Bac xem giúp em với

Chào bạn kiwi,

Bạn hãy xem thêm về tác dụng của lisp với việc ghi kích thước ở đây.

 

http://www.cadviet.com/forum/index.php?sho...205&st=1420

 

Đối với việc dùng lisp để tạo kích thước thì cái dimassoc là không còn tác dụng nữa bạn ạ. Do vậy bạn muốn nó như thế nào thì phải đưa thẳng nó vào trong lisp chứ không thể dùng dimension style để chỉnh sửa nó. Và khi đó tất cả các vị trí dimension mà bạn dùng lisp sẽ có hình ảnh là như nhau trừ khi bạn thay đổi lisp theo từng vị trí ghi kích thước.

 

Bạn nên chú ý khi sử dụng các lisp này nhé.

Chúc bạn thành công trong công việc.

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
Dạ, em muốn chỉnh sửa trong Dimention Style (số thập phân...) và em muốn text nằm fía trên như trong bản vẽ em gởi đó bác. Cái này có thể sửa tai PR(text) nhưng fải sửa từng cái, em muốn lam nhanh hơn, Bac xem giúp em với

Bạn thử lại với lisp này:

(defun C:XY( / p1 p2)
(setq
    p1 (getpoint "\nFirst point:")
    p2 (getpoint p1 "\nNext point:")
)
(setvar "dimtad" 1)
(command "leader" p1 p2 "a" (strcat (rtos (car p1)) "\\P" (rtos (cadr p1))) "")
(princ)
)

 

Muốn bao nhiêu chữ số thập phân, bạn vào Format - Units - Length - Precision... (phải thiết lập Units trước khi dùng XY, và chỉ cần 1 lần)

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
Bạn thử lại với lisp này:

(defun C:XY( / p1 p2)
(setq
    p1 (getpoint "\nFirst point:")
    p2 (getpoint p1 "\nNext point:")
)
(setvar "dimtad" 1)
(command "leader" p1 p2 "a" (strcat (rtos (car p1)) "\\P" (rtos (cadr p1))) "")
(princ)
)

 

Muốn bao nhiêu chữ số thập phân, bạn vào Format - Units - Length - Precision... (phải thiết lập Units trước khi dùng XY, và chỉ cần 1 lần)

cảm ơn bác nhiều lắm , em làm được rồi

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  

×