Jump to content

How to add more than one testexpr to IF?


Recommended Posts

Posted

How can I add more than one testexpr to IF?

(if [testexpr1 AND testexpr2] progn1 (if [testexpr3 AND testexpr4] progn2 (if [testexpr5 AND testexpr6] progn3 progn4)))

 

for example

 

(Defun C:ColDim ()

(setq p1 (getpoint "\nPick Center point."))

(setq p2 (getpoint "\nPick Corner point."))

(if ( (cadr p1) (cadr p2)) condtn1

(if (

(if (> (car p1) (car p2)) and (

(if (> (car p1) (car p2)) and (> (cadr p1) (cadr p2)) condtn4

))))

 

(defun condtn1 ()

)

 

(defun condtn2 ()

)

 

(defun condtn3 ()

)

 

(defun condtn4 ()

)

(princ)

)

 

  • Replies 25
  • Created
  • Last Reply

Top Posters In This Topic

  • asos2000

    13

  • Lee Mac

    10

  • BearDyugin

    2

  • Tharwat

    1

Top Posters In This Topic

Posted Images

Posted
Returns the logical AND of the supplied arguments

 

(and [expr ...])

Arguments

 

expr

Any expression.

 

Return Values

 

Nil, if any of the expressions evaluate to nil; otherwise T. If and is issued without arguments, it returns T.

(Defun C:ColDim ()
(setq p1 (getpoint "\nPick Center point."))
(setq p2 (getpoint "\nPick Corner point."))
(if(and (< (car p1) (car p2))(> (cadr p1) (cadr p2))) condtn1 
(if(and (< (car p1) (car p2))(< (cadr p1) (cadr p2))) condtn2 
(if(and (> (car p1) (car p2))(< (cadr p1) (cadr p2))) condtn3
(if(and (> (car p1) (car p2))(> (cadr p1) (cadr p2))) condtn4
)))) 

(defun condtn1 ()
)

(defun condtn2 ()
)

(defun condtn3 ()
)

(defun condtn4 ()
)
(princ)
)

Posted

What I want is.

The user will pick the intersection point p1 then pick the corner to add the dimension p2, and the second point location will specify the direction of the dimension

 

(defun c:test2 ()

(setq p1 (getpoint "\nPick Center point."))

(setq p2 (getpoint "\nPick Corner point."))

(setq txt (getstring "\n Column Number: "))

 

(if(and (> (car p1) (car p2))(

(progn

(setq p3 (list (max (car p1)(car p2))(max (cadr p1)(cadr p2))))

(setq p4 (list (min (car p1)(car p2))(max (cadr p1)(cadr p2))))

(setq p5 (list (min (car p1)(car p2))(min (cadr p1)(cadr p2))))

(setq p6 (list (- (min (car p3)(car p4)) 400)(+ 400 (max (cadr p4)(cadr p5)))))

(command "_.dimlinear" "_non" p3 "_non" p4 "_non" (polar p3 (/ pi 2.) 400) )

(command "_.dimlinear" "_non" p4 "_non" p5 "_non" (polar p5 pi 400) )

(entmakex (list (cons 0 "TEXT")

(cons 1 txt)

(cons 40 (getvar "textsize"))

(cons 10 p6)))

))

 

(if(and (

(progn

(setq p3 (list (max (car p1)(car p2))(max (cadr p1)(cadr p2))))

(setq p4 (list (min (car p1)(car p2))(max (cadr p1)(cadr p2))))

(setq p5 (list (min (car p1)(car p2))(min (cadr p1)(cadr p2))))

(setq p6 (list (- (min (car p3)(car p4)) 400)(+ 400 (max (cadr p4)(cadr p5)))))

(command "_.dimlinear" "_non" p3 "_non" p4 "_non" (polar p3 (/ pi 2.) 400) )

(command "_.dimlinear" "_non" p4 "_non" p5 "_non" (polar p5 pi 400) )

(entmakex (list (cons 0 "TEXT")

(cons 1 txt)

(cons 40 (getvar "textsize"))

(cons 10 p6)))

))

 

(if(and (

(progn

(setq p3 (list (max (car p1)(car p2))(max (cadr p1)(cadr p2))))

(setq p4 (list (max (car p1)(car p2))(max (cadr p1)(cadr p2))))

(setq p5 (list (max (car p1)(car p2))(min (cadr p1)(cadr p2))))

(setq p6 (list (- (min (car p3)(car p4)) 400)(+ 400 (max (cadr p4)(cadr p5)))))

(command "_.dimlinear" "_non" p3 "_non" p4 "_non" (polar p3 (/ pi 2.) 400) )

(command "_.dimlinear" "_non" p4 "_non" p5 "_non" (polar p5 pi 400) )

(entmakex (list (cons 0 "TEXT")

(cons 1 txt)

(cons 40 (getvar "textsize"))

(cons 10 p6)))

))

 

(if(and (> (car p1) (car p2))(> (cadr p1) (cadr p2)))

(progn

(setq p3 (list (max (car p1)(car p2))(max (cadr p1)(cadr p2))))

(setq p4 (list (min (car p1)(car p2))(max (cadr p1)(cadr p2))))

(setq p5 (list (min (car p1)(car p2))(min (cadr p1)(cadr p2))))

(setq p6 (list (- (min (car p3)(car p4)) 400)(+ 400 (max (cadr p4)(cadr p5)))))

(command "_.dimlinear" "_non" p3 "_non" p4 "_non" (polar p3 (/ pi 2.) 400) )

(command "_.dimlinear" "_non" p4 "_non" p5 "_non" (polar p5 pi 400) )

(entmakex (list (cons 0 "TEXT")

(cons 1 txt)

(cons 40 (getvar "textsize"))

(cons 10 p6)))

)))

 

I hope that to be in right direction

 

PS - The points not finalized yet

- This is second routine for me.

Dim-02.png

Posted

(defun c:test2 ()
(setq p1 (getpoint "\nPick Center point."))
(setq p2 (getpoint "\nPick Corner point."))
(setq txt (getstring "\n Column Number: "))
 (setq p3 (list (car p2)(cadr p1)))
 (setq p4 (list (car p1)(cadr p2)))
 (setq p5 (polar p3 (angle p1 p3) 400))
 (setq p6 (polar p4 (angle p1 p4) 400))
 (setq p7 (polar p2 (angle p1 p2) 565.68542495))
(command "_.dimlinear" "_non" p2 "_non" p3 "_non" p5 )
(command "_.dimlinear" "_non" p2 "_non" p4 "_non" p6 )
(entmakex (list (cons 0 "TEXT") 
(cons 1 txt)
(cons 40 (getvar "textsize"))
(cons 10 p7)))
)

Why text - entmakex, but dimension - command?

Posted

Another method:

 

[b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] c:test [b][color=RED]([/color][/b][b][color=BLUE]/[/color][/b] *error* DIMOFF P1 P2 P3 P4 SPC TXT UFLAG[b][color=RED])[/color][/b]
 [b][color=RED]([/color][/b][b][color=BLUE]vl-load-com[/color][/b][b][color=RED])[/color][/b]

 [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] DimOff [b][color=#009999]400.0[/color][/b][b][color=RED])[/color][/b] [i][color=#990099];; Dimension Offset Distance[/color][/i]

 [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] *error* [b][color=RED]([/color][/b]msg[b][color=RED])[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]and[/color][/b] uFlag [b][color=RED]([/color][/b][b][color=BLUE]vla-EndUndoMark[/color][/b] doc[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]or[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]wcmatch[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]strcase[/color][/b] msg[b][color=RED])[/color][/b] [b][color=#a52a2a]"*BREAK,*CANCEL*,*EXIT*"[/color][/b][b][color=RED])[/color][/b]
       [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=#a52a2a]"\n** Error: "[/color][/b] msg [b][color=#a52a2a]" **"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]

 [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] doc [b][color=RED]([/color][/b][b][color=BLUE]cond[/color][/b] [b][color=RED]([/color][/b]doc[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=RED]([/color][/b][b][color=BLUE]vla-get-ActiveDocument[/color][/b]
                          [b][color=RED]([/color][/b][b][color=BLUE]vlax-get-Acad-Object[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]

       spc [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]zerop[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-get-activespace[/color][/b] doc[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
             [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]=[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-get-mspace[/color][/b] doc[b][color=RED])[/color][/b] [b][color=Blue]:vlax-true[/color][color=RED])[/color][/b]
               [b][color=RED]([/color][/b][b][color=BLUE]vla-get-modelspace[/color][/b] doc[b][color=RED])[/color][/b]
               [b][color=RED]([/color][/b][b][color=BLUE]vla-get-paperspace[/color][/b] doc[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
             [b][color=RED]([/color][/b][b][color=BLUE]vla-get-modelspace[/color][/b] doc[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]         

 [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]and[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] p1 [b][color=RED]([/color][/b][b][color=BLUE]getpoint[/color][/b] [b][color=#a52a2a]"\nPick Center Point: "[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
          [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] p2 [b][color=RED]([/color][/b][b][color=BLUE]getpoint[/color][/b] [b][color=#a52a2a]"\nPick Corner Point: "[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
          [b][color=RED]([/color][/b][b][color=BLUE]/=[/color][/b] [b][color=#a52a2a]""[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] txt [b][color=RED]([/color][/b][b][color=BLUE]getstring[/color][/b] [b][color=#a52a2a]"\nColumn Number: "[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b]
     [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] uFlag [b][color=RED]([/color][/b][b][color=BLUE]not[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-StartUndoMark[/color][/b] doc[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]

     [b][color=RED]([/color][/b][b][color=BLUE]apply[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]function[/color][/b] [b][color=Blue]vla-AddDimRotated[/color][color=RED])[/color][/b]
            [b][color=RED]([/color][/b][b][color=BLUE]append[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] spc[b][color=RED])[/color][/b]
                    [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b]
                      [b][color=RED]([/color][/b][b][color=BLUE]function[/color][/b] [b][color=Blue]vlax-3D-point[/color][color=RED])[/color][/b]
                      [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b]  p3 [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] p1[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] p2[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]caddr[/color][/b] p1[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] p2
                            [b][color=RED]([/color][/b][b][color=BLUE]polar[/color][/b] p3 [b][color=RED]([/color][/b][b][color=BLUE]angle[/color][/b] p1 p3[b][color=RED])[/color][/b] DimOff[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
                    [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#009999]0.[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]

     [b][color=RED]([/color][/b][b][color=BLUE]apply[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]function[/color][/b] [b][color=Blue]vla-AddDimRotated[/color][color=RED])[/color][/b]
            [b][color=RED]([/color][/b][b][color=BLUE]append[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] spc[b][color=RED])[/color][/b]
                    [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b]
                      [b][color=RED]([/color][/b][b][color=BLUE]function[/color][/b] [b][color=Blue]vlax-3D-point[/color][color=RED])[/color][/b]
                      [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] p2 [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b]  p4 [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] p2[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] p1[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]caddr[/color][/b] p1[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
                               [b][color=RED]([/color][/b][b][color=BLUE]polar[/color][/b] p4 [b][color=RED]([/color][/b][b][color=BLUE]angle[/color][/b] p1 p4[b][color=RED])[/color][/b] DimOff[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
                    [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]/[/color][/b] [b][color=BLUE]pi[/color][/b] [b][color=#009999]2.[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]

     [b][color=RED]([/color][/b][b][color=BLUE]vla-AddText[/color][/b] spc txt
       [b][color=RED]([/color][/b][b][color=BLUE]vlax-3D-point[/color][/b]
         [b][color=RED]([/color][/b][b][color=BLUE]polar[/color][/b] p2 [b][color=RED]([/color][/b][b][color=BLUE]angle[/color][/b] p1 p2[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]sqrt[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]*[/color][/b] [b][color=#009999]2.[/color][/b] DimOff Dimoff[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]getvar[/color][/b] [b][color=#a52a2a]"TEXTSIZE"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]              

     [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] uFlag [b][color=RED]([/color][/b][b][color=BLUE]vla-EndUndoMark[/color][/b] doc[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]

 [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
     

     

Posted

Thanks LEE

First of all I would like to thank you for this good lisp

Second I tired to seach in help about the VLA functions but not found but found in VBA section, So Could you explain some of this functions.

Posted
Thanks LEE

First of all I would like to thank you for this good lisp

Second I tired to seach in help about the VLA functions but not found but found in VBA section, So Could you explain some of this functions.

 

The explanation for the functions is written for VBA, so you just have to make the connection to Visual LISP. The arguments and their order are given :)

Posted

So you add VLA to convert to VBA

Posted
So you add VLA to convert to VBA

 

Not always - but the methods and properties are similar.

Posted

So

What is the usage of each part?

and Can I add this parts at the begining of each lisp?

(defun *error* (msg)

(and uFlag (vla-EndUndoMark doc))

(or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")

(princ (strcat "\n** Error: " msg " **")))

(princ))

this part to deal with the error messages

but should not be StartUndoMark

 

(setq doc (cond (doc) ((vla-get-ActiveDocument

(vlax-get-Acad-Object))))

to create an object in autocad

 

spc (if (zerop (vla-get-activespace doc))

(if (= (vla-get-mspace doc) :vlax-true)

(vla-get-modelspace doc)

(vla-get-paperspace doc))

(vla-get-modelspace doc)))

Is this part to allow the object to be drawn in modelspace and papaerspace?

Posted
this part to deal with the error messages

but should not be StartUndoMark

 

The vla-EndUndoMark completes the Undo pair, should the routine crash before EndUndomark is evaluated.

 

to create an object in autocad

 

This part gets the Document object from the AutoCAD Application Object - see the Object model structure in the help.

 

Is this part to allow the object to be drawn in modelspace and papaerspace?

 

This just gets the active space, whether it be Model, Paper or Model through a Viewport.

  • 1 month later...
Posted

I am trying to add a loop but not working, I dont know why

 

(defun c:test (/ *error* DIMOFF P1 P2 P3 P4 SPC TXT UFLAG)

(vl-load-com)

 

(setq DimOff (getreal "\n What is Drawing Scale? 1:"))

(defun *error* (msg)

(and uFlag (vla-EndUndoMark doc))

(or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")

(princ (strcat "\n** Error: " msg " **")))

(princ))

(setq doc (cond (doc) ((vla-get-ActiveDocument

(vlax-get-Acad-Object))))

spc (if (zerop (vla-get-activespace doc))

(if (= (vla-get-mspace doc) :vlax-true)

(vla-get-modelspace doc)

(vla-get-paperspace doc))

(vla-get-modelspace doc)))

(while

(if (and (setq p1 (getpoint "\nPick Axes Crossing Point: "))

(setq p2 (getpoint "\nPick Corner Point: "))

)

(progn

(setq uFlag (not (vla-StartUndoMark doc)))

(apply (function vla-AddDimRotated)

(append (list spc)

(mapcar

(function vlax-3D-point)

(list (setq p3 (list (car p1) (cadr p2) (caddr p1))) p2

(polar p3 (angle p1 p3) (* DimOff 8))))

'(0.)))

(apply (function vla-AddDimRotated)

(append (list spc)

(mapcar

(function vlax-3D-point)

(list p2 (setq p4 (list (car p2) (cadr p1) (caddr p1)))

(polar p4 (angle p1 p4) (* DimOff 8))))

(list (/ pi 2.))))

(vla-AddText spc txt

(vlax-3D-point

(polar p2 (angle p1 p2) (sqrt (* 2. (* DimOff 8) (* DimOff 8))))) (getvar "TEXTSIZE"))

(setq uFlag (vla-EndUndoMark doc))))

(princ)

)

)

Posted

In your code the whole IF statement will need to return T for it to loop, and you wouldn't be able to exit if it did.

 

Much easier:

 

(defun c:test (/ *error* DIMOFF P1 P2 P3 P4 SPC TXT UFLAG)
 (vl-load-com)

 (setq DimOff 400.0) ;; Dimension Offset Distance

 (defun *error* (msg)
   (and uFlag (vla-EndUndoMark doc))
   (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
       (princ (strcat "\n** Error: " msg " **")))
   (princ))

 (setq doc (cond (doc) ((vla-get-ActiveDocument
                          (vlax-get-Acad-Object))))

       spc (if (zerop (vla-get-activespace doc))
             (if (= (vla-get-mspace doc) :vlax-true)
               (vla-get-modelspace doc)
               (vla-get-paperspace doc))
             (vla-get-modelspace doc)))         

 (while (and (setq p1 (getpoint "\nPick Center Point: "))
             (setq p2 (getpoint "\nPick Corner Point: "))
             (/= "" (setq txt (getstring "\nColumn Number: "))))

     (setq uFlag (not (vla-StartUndoMark doc)))

     (apply (function vla-AddDimRotated)
            (append (list spc)
                    (mapcar
                      (function vlax-3D-point)
                      (list (setq  p3 (list (car p1) (cadr p2) (caddr p1))) p2
                            (polar p3 (angle p1 p3) DimOff)))
                    '(0.)))

     (apply (function vla-AddDimRotated)
            (append (list spc)
                    (mapcar
                      (function vlax-3D-point)
                      (list p2 (setq  p4 (list (car p2) (cadr p1) (caddr p1)))
                               (polar p4 (angle p1 p4) DimOff)))
                    (list (/ pi 2.))))

     (vla-AddText spc txt
       (vlax-3D-point
         (polar p2 (angle p1 p2) (sqrt (* 2. DimOff Dimoff)))) (getvar "TEXTSIZE"))              

     (setq uFlag (vla-EndUndoMark doc)))

 (princ))

Posted

Could we delete colum no request

 

(and (setq p1 (getpoint "\nPick Axes Crossing Point: "))

(setq p2 (getpoint "\nPick Corner Point: "))

(/= "" (setq txt (getstring "\nColumn Number: ")))

)

 

I added ; next to the line but the loop not working

Posted
Could we delete colum no request

 

 

 

I added ; next to the line but the loop not working

 

Because it is part of the AND statement.

 

Should there be no Column text also then?

Posted

Lee

is it ok

(defun c:test (/ *error* DIMOFF P1 P2 P3 P4 SPC TXT UFLAG)

(vl-load-com)

(setq DimOff 400.0) ;; Dimension Offset Distance

(defun *error* (msg)

(and uFlag (vla-EndUndoMark doc))

(or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")

(princ (strcat "\n** Error: " msg " **")))

(princ))

(setq doc (cond (doc) ((vla-get-ActiveDocument

(vlax-get-Acad-Object))))

spc (if (zerop (vla-get-activespace doc))

(if (= (vla-get-mspace doc) :vlax-true)

(vla-get-modelspace doc)

(vla-get-paperspace doc))

(vla-get-modelspace doc)))

(while (and (setq p1 (getpoint "\nPick Center Point: "))

(setq p2 (getpoint "\nPick Corner Point: "))

;(/= "" (setq txt (getstring "\nColumn Number: ")))

)

(setq uFlag (not (vla-StartUndoMark doc)))

(apply (function vla-AddDimRotated)

(append (list spc)

(mapcar

(function vlax-3D-point)

(list (setq p3 (list (car p1) (cadr p2) (caddr p1))) p2

(polar p3 (angle p1 p3) DimOff)))

'(0.)))

(apply (function vla-AddDimRotated)

(append (list spc)

(mapcar

(function vlax-3D-point)

(list p2 (setq p4 (list (car p2) (cadr p1) (caddr p1)))

(polar p4 (angle p1 p4) DimOff)))

(list (/ pi 2.))))

;(vla-AddText spc txt

; (vlax-3D-point

; (polar p2 (angle p1 p2) (sqrt (* 2. DimOff Dimoff)))) (getvar "TEXTSIZE"))

(setq uFlag (vla-EndUndoMark doc)))

(princ))

 

There is a question

How to post the lisp with the same format as lisp editor?

Posted

Asos,

 

Use

 tags instead of  tags to post code.

 

Read here:

http://www.cadtutor.net/forum/showthread.php?t=9184

 

To get the colours of the Visual LISP Editor, I wrote a LISP to read the LISP file and write out code with the colour added. :)

Posted

You should be change your name to Lisp MAc instead of Lee Mac

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