asos2000 Posted January 10, 2010 Posted January 10, 2010 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) ) Quote
BearDyugin Posted January 10, 2010 Posted January 10, 2010 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) ) Quote
Lee Mac Posted January 10, 2010 Posted January 10, 2010 I would look to use COND in this situation Quote
asos2000 Posted January 10, 2010 Author Posted January 10, 2010 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. Quote
BearDyugin Posted January 10, 2010 Posted January 10, 2010 (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? Quote
Lee Mac Posted January 10, 2010 Posted January 10, 2010 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] Quote
asos2000 Posted January 11, 2010 Author Posted January 11, 2010 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. Quote
Lee Mac Posted January 11, 2010 Posted January 11, 2010 Thanks LEEFirst 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 Quote
asos2000 Posted January 11, 2010 Author Posted January 11, 2010 So you add VLA to convert to VBA Quote
Lee Mac Posted January 11, 2010 Posted January 11, 2010 So you add VLA to convert to VBA Not always - but the methods and properties are similar. Quote
asos2000 Posted January 11, 2010 Author Posted January 11, 2010 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? Quote
Lee Mac Posted January 11, 2010 Posted January 11, 2010 this part to deal with the error messagesbut 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. Quote
asos2000 Posted February 18, 2010 Author Posted February 18, 2010 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 ))) '(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) ) ) Quote
Lee Mac Posted February 18, 2010 Posted February 18, 2010 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)) Quote
asos2000 Posted February 18, 2010 Author Posted February 18, 2010 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 Quote
Lee Mac Posted February 18, 2010 Posted February 18, 2010 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? Quote
asos2000 Posted February 21, 2010 Author Posted February 21, 2010 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? Quote
Lee Mac Posted February 21, 2010 Posted February 21, 2010 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. Quote
asos2000 Posted February 21, 2010 Author Posted February 21, 2010 You should be change your name to Lisp MAc instead of Lee Mac Quote
Lee Mac Posted February 21, 2010 Posted February 21, 2010 You should change your name from Lee Mac to Lisp Mac haha Quote
Recommended Posts
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.