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  
phanthanh536

nhờ các bác viết giúp e lips pick 1 điểm xuất ra tọa độ dưới dạng (x;y)

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

e sưu tầm đc lips này nhưng e muốn tọa độ có dạng (x;y) với x,y đơn vị là mét. ví dụ: tọa độ (1225;3251) e muốn là (1.225;3.251)

http://www.cadviet.com/upfiles/3/126423_td.lsp

hình ảnh minh họa: http://upanh.biz/image/GTpH

(defun c:td( / get-x get-y oce xp yp rwc )
(setq oce (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setvar "luprec" 4)
(main)
(setvar "cmdecho" oce)
)
 
;;;----------------------------- Leader Placement Routine ---------------------
;;; Here is where the leaders are actually written to the database
;;; based upon the value of coordinates passed from module "MAIN" .
;;; Null points are ignored.
 
(defun do_put_leader( xp yp )
(command "_.leader" rwc pause "" yp xp "")
)
 
;;;----------------------------- xyz coordinate breakdown ----------------------
;;; This routine accepts a point from the calling function and breaks it down
;;; into X,Y values.
 
(defun get_xyz ( pt )
(setq xp (car pt) yp (cadr pt) )
(if xp (setq xp (strcat "X "(rtos xp))))
(if yp (setq yp (strcat "Y "(rtos yp))))
)
 
;;;-------------------Secondary main module------------------------------------
;;; Accepts the user input and allows the user to select many objects in
;;; succession.
 
(defun main()
(setq olddim (getvar "dimstyle"))
(setq a (getreal "\n Input Text Height for Annotation : <2.5> "))
(if (null a) (setq a 2.5))
(setvar "dimtxt" a)
(setq rwc(getpoint "\nSelect point: "))
(get_xyz rwc)
(do_put_leader xp yp )
(while rwc
(setq rwc(getpoint "\nSelect point: "))
(get_xyz rwc)
(do_put_leader xp yp )
)
(command "dimstyle" "restore" olddim)

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

 

e sưu tầm đc lips này nhưng e muốn tọa độ có dạng (x;y) với x,y đơn vị là mét. ví dụ: tọa độ (1225;3251) e muốn là (1.225;3.251)

http://www.cadviet.com/upfiles/3/126423_td.lsp

hình ảnh minh họa: http://upanh.biz/image/GTpH

(defun c:td( / get-x get-y oce xp yp rwc )
(setq oce (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setvar "luprec" 4)
(main)
(setvar "cmdecho" oce)
)
 
;;;----------------------------- Leader Placement Routine ---------------------
;;; Here is where the leaders are actually written to the database
;;; based upon the value of coordinates passed from module "MAIN" .
;;; Null points are ignored.
 
(defun do_put_leader( xp yp )
(command "_.leader" rwc pause "" yp xp "")
)
 
;;;----------------------------- xyz coordinate breakdown ----------------------
;;; This routine accepts a point from the calling function and breaks it down
;;; into X,Y values.
 
(defun get_xyz ( pt )
(setq xp (car pt) yp (cadr pt) )
(if xp (setq xp (strcat "X "(rtos xp))))
(if yp (setq yp (strcat "Y "(rtos yp))))
)
 
;;;-------------------Secondary main module------------------------------------
;;; Accepts the user input and allows the user to select many objects in
;;; succession.
 
(defun main()
(setq olddim (getvar "dimstyle"))
(setq a (getreal "\n Input Text Height for Annotation : <2.5> "))
(if (null a) (setq a 2.5))
(setvar "dimtxt" a)
(setq rwc(getpoint "\nSelect point: "))
(get_xyz rwc)
(do_put_leader xp yp )
(while rwc
(setq rwc(getpoint "\nSelect point: "))
(get_xyz rwc)
(do_put_leader xp yp )
)
(command "dimstyle" "restore" olddim)

có ai giúp e với ạ. e đang cần quá cơ. :v

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
Tot77    501

Có phải như vầy không.

 

 
(defun c:td( / get-x get-y oce xp yp rwc )
(setq oce (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setvar "luprec" 4)
(main)
(setvar "cmdecho" oce)
)
 
;;;----------------------------- Leader Placement Routine ---------------------
;;; Here is where the leaders are actually written to the database
;;; based upon the value of coordinates passed from module "MAIN" .
;;; Null points are ignored.
 
(defun do_put_leader( xyp )
(command "_.leader" rwc pause "" xyp "")
)
 
;;;----------------------------- xyz coordinate breakdown ----------------------
;;; This routine accepts a point from the calling function and breaks it down
;;; into X,Y values.
 
(defun get_xyz ( pt )
  (strcat "(" (rtos (* 0.001 (car pt)) 2 3) ";" (rtos (* 0.001 (cadr pt)) 2 3) ")"))
 
 
;;;-------------------Secondary main module------------------------------------
;;; Accepts the user input and allows the user to select many objects in
;;; succession.
 
(defun main()
(setq olddim (getvar "dimstyle"))
(setq a (getreal "\n Input Text Height for Annotation : <2.5> "))
(if (null a) (setq a 2.5))
(setvar "dimtxt" a)
  
(while (setq rwc (getpoint "\nSelect point: "))
  (do_put_leader (get_xyz rwc)) 
)
(command "dimstyle" "restore" olddim)
)
 
  • Vote tăng 2

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

 

Có phải như vầy không.

 

 
(defun c:td( / get-x get-y oce xp yp rwc )
(setq oce (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setvar "luprec" 4)
(main)
(setvar "cmdecho" oce)
)
 
;;;----------------------------- Leader Placement Routine ---------------------
;;; Here is where the leaders are actually written to the database
;;; based upon the value of coordinates passed from module "MAIN" .
;;; Null points are ignored.
 
(defun do_put_leader( xyp )
(command "_.leader" rwc pause "" xyp "")
)
 
;;;----------------------------- xyz coordinate breakdown ----------------------
;;; This routine accepts a point from the calling function and breaks it down
;;; into X,Y values.
 
(defun get_xyz ( pt )
  (strcat "(" (rtos (* 0.001 (car pt)) 2 3) ";" (rtos (* 0.001 (cadr pt)) 2 3) ")"))
 
 
;;;-------------------Secondary main module------------------------------------
;;; Accepts the user input and allows the user to select many objects in
;;; succession.
 
(defun main()
(setq olddim (getvar "dimstyle"))
(setq a (getreal "\n Input Text Height for Annotation : <2.5> "))
(if (null a) (setq a 2.5))
(setvar "dimtxt" a)
  
(while (setq rwc (getpoint "\nSelect point: "))
  (do_put_leader (get_xyz rwc)) 
)
(command "dimstyle" "restore" olddim)
)
 

e cám ơn bác rất nhiều. đúng là lips e cần. bác rảnh ko hôm nào đi uống bia với e nhé. e ở chợ Phùng Khoang. :v

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

 

Có phải như vầy không.

 

 
(defun c:td( / get-x get-y oce xp yp rwc )
(setq oce (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setvar "luprec" 4)
(main)
(setvar "cmdecho" oce)
)
 
;;;----------------------------- Leader Placement Routine ---------------------
;;; Here is where the leaders are actually written to the database
;;; based upon the value of coordinates passed from module "MAIN" .
;;; Null points are ignored.
 
(defun do_put_leader( xyp )
(command "_.leader" rwc pause "" xyp "")
)
 
;;;----------------------------- xyz coordinate breakdown ----------------------
;;; This routine accepts a point from the calling function and breaks it down
;;; into X,Y values.
 
(defun get_xyz ( pt )
  (strcat "(" (rtos (* 0.001 (car pt)) 2 3) ";" (rtos (* 0.001 (cadr pt)) 2 3) ")"))
 
 
;;;-------------------Secondary main module------------------------------------
;;; Accepts the user input and allows the user to select many objects in
;;; succession.
 
(defun main()
(setq olddim (getvar "dimstyle"))
(setq a (getreal "\n Input Text Height for Annotation : <2.5> "))
(if (null a) (setq a 2.5))
(setvar "dimtxt" a)
  
(while (setq rwc (getpoint "\nSelect point: "))
  (do_put_leader (get_xyz rwc)) 
)
(command "dimstyle" "restore" olddim)
)
 

Trộ ôi e vui quá, tìm mãi mới thấy bác.tình hình là ngày trước bác có viết hộ e cái líp như trên, nhưng do e làm bên trắc đạc bắt buộc phải xoay trục tọa độ như hình vẽ nên khi xuất tọa độ ra nó bị ngược, phải soi qua gương mới đọc đc, bác sửa giúp e với ạ,e cám ơn trước!!

 

126423_untitled_4.png

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
Tue_NV    3.841

Trộ ôi e vui quá, tìm mãi mới thấy bác.tình hình là ngày trước bác có viết hộ e cái líp như trên, nhưng do e làm bên trắc đạc bắt buộc phải xoay trục tọa độ như hình vẽ nên khi xuất tọa độ ra nó bị ngược, phải soi qua gương mới đọc đc, bác sửa giúp e với ạ,e cám ơn trước!!

126423_untitled_4.png

 

Bạn chuyển UCS về hệ World là được

 

Command: ucs

 

Current ucs name:  *WORLD*

Specify origin of UCS or [Face/NAmed/OBject/Previous/View/World/X/Y/Z/ZAxis] <World>: W

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 chuyển UCS về hệ World là được

 

Command: ucs

 

Current ucs name:  *WORLD*

Specify origin of UCS or [Face/NAmed/OBject/Previous/View/World/X/Y/Z/ZAxis] <World>: W

bắt buộc e phải dùng hệ tọa độ ngược đấy bác ạ. do cái máy toàn đạc nó mặc định sẵn như thế 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  

×