Đến nội dung


Hình ảnh
- - - - -

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)


  • Please log in to reply
6 replies to this topic

#1 phanthanh536

phanthanh536

    biết vẽ circle

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

Đã gửi 19 May 2014 - 11:01 AM

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.c...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)

  • 0

#2 phanthanh536

phanthanh536

    biết vẽ circle

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

Đã gửi 23 May 2014 - 04:02 PM

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.c...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


  • 0

#3 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 23 May 2014 - 09:15 PM

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)
)
 

  • 2

#4 phanthanh536

phanthanh536

    biết vẽ circle

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

Đã gửi 28 May 2014 - 03:00 PM

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


  • 0

#5 phanthanh536

phanthanh536

    biết vẽ circle

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

Đã gửi 21 January 2015 - 07:30 PM

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


  • 0

#6 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 22 January 2015 - 05:33 AM

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


  • 0

#7 phanthanh536

phanthanh536

    biết vẽ circle

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

Đã gửi 22 January 2015 - 07:20 AM

 
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


  • 0