Jump to content

distance to attribute block


bkkar_55

Recommended Posts

Hi all

I'm Looking for a lisp to get distance from 2 points (by user) and insert the result to attribute block

After surfing I found this code

(defun c:FOO (/ pt)
 (if (setq pt (getpoint "\nSpecify base point: "))
   (while (and (not (initget 32))
               (/= nil (setq pt2 (getpoint pt "\nSpecify point to measure: "))))
     (prompt (strcat "\n  >>  Distance  >>  " (rtos (distance pt pt2) 2 2))))
   (prompt "\n** Invalid point ** "))
 (princ))

created by BlackBox

Link to comment
Share on other sites

This could be a better front end :

 

[b][color=BLACK]([/color][/b]defun c:ptd [b][color=FUCHSIA]([/color][/b]/ p1 p2 d3 d2 dx dy dz[b][color=FUCHSIA])[/color][/b]
 [b][color=FUCHSIA]([/color][/b]initget 1[b][color=FUCHSIA])[/color][/b]
 [b][color=FUCHSIA]([/color][/b]setq p1 [b][color=NAVY]([/color][/b]getpoint [color=#2f4f4f]"\n1st Point:   "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
 [b][color=FUCHSIA]([/color][/b]initget 1[b][color=FUCHSIA])[/color][/b]
 [b][color=FUCHSIA]([/color][/b]setq p2 [b][color=NAVY]([/color][/b]getpoint p1 [color=#2f4f4f]"\n2nd Point:   "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]

 [b][color=FUCHSIA]([/color][/b]setq d3 [b][color=NAVY]([/color][/b]distance p1 p2[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
 [b][color=FUCHSIA]([/color][/b]setq d2 [b][color=NAVY]([/color][/b]distance [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]car p1[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]cadr p1[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
                    [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]car p2[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]cadr p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
 [b][color=FUCHSIA]([/color][/b]princ [b][color=NAVY]([/color][/b]strcat [color=#2f4f4f]"\n3D="[/color] [b][color=MAROON]([/color][/b]rtos d3 2 2[b][color=MAROON])[/color][/b]
                [color=#2f4f4f]"\t2D="[/color] [b][color=MAROON]([/color][/b]rtos d2 2 2[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]

 [b][color=FUCHSIA]([/color][/b]setq dx [b][color=NAVY]([/color][/b]- [b][color=MAROON]([/color][/b]max [b][color=GREEN]([/color][/b]car p1[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]car p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]min [b][color=GREEN]([/color][/b]car p1[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]car p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
 [b][color=FUCHSIA]([/color][/b]setq dy [b][color=NAVY]([/color][/b]- [b][color=MAROON]([/color][/b]max [b][color=GREEN]([/color][/b]cadr p1[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]cadr p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]min [b][color=GREEN]([/color][/b]cadr p1[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]cadr p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
 [b][color=FUCHSIA]([/color][/b]setq dz [b][color=NAVY]([/color][/b]- [b][color=MAROON]([/color][/b]max [b][color=GREEN]([/color][/b]caddr p1[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]caddr p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]min [b][color=GREEN]([/color][/b]caddr p1[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]caddr p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
 [b][color=FUCHSIA]([/color][/b]princ [b][color=NAVY]([/color][/b]strcat [color=#2f4f4f]"\nX Axis:"[/color] [b][color=MAROON]([/color][/b]rtos dx 2 2[b][color=MAROON])[/color][/b]
                [color=#2f4f4f]"\tY Axis:"[/color] [b][color=MAROON]([/color][/b]rtos dy 2 2[b][color=MAROON])[/color][/b]
                [color=#2f4f4f]"\tZ Axis:"[/color] [b][color=MAROON]([/color][/b]rtos dz 2 2[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
 [b][color=FUCHSIA]([/color][/b]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]

 

  • Is everything WCS ?
  • Do you have the attributed block ?
  • What exactly are you looking for as far as values and format ?

 

 

-David

Link to comment
Share on other sites

I think that he may be expecting something like this:

(defun C:test ( / *error* lst e )
(defun *error* (msg) (princ "\nSorry that I forced you to press Esc, to exit!") (princ))
(if (and (car (setq lst (list (getpoint "\nFirst point: ")))) (apply 'and (setq lst (append lst (list (getpoint "\nSecond point: " (car lst)))))))
	(while 
		(not 
			(and 
				(setq e (car (nentsel (strcat "\nDistance to fill is: \"" (rtos (apply 'distance lst)) "\" units, Select text/mtext/attrib."))))
				(vl-position (cdr (assoc 0 (entget e))) '("TEXT" "MTEXT" "ATTRIB"))
				(not (vl-catch-all-error-p (vl-catch-all-apply 'vla-put-TextString (list (vlax-ename->vla-object e) (rtos (apply 'distance lst))))))		
			)
		)
		e
	)
)
(princ)
);| defun |; (or vlax-get-acad-object (vl-load-com)) (princ)

Link to comment
Share on other sites

thanks a lot David Bethel and Grrr..:):)

After Private chatting with Tharwat.:notworthy::notworthy::notworthy: He successfully solved my request

I Appreciate your good effort

thank's all

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...