elevation and points.

Discussion in 'AutoCAD' started by Jon Baker, Jun 15, 2004.

  1. Jon Baker

    Jon Baker Guest

    I asked earlier about extracting the calculated z elevation and using the x and y from a selected point (PT2). well I added it to my lisp routine and it kinda works. it however does not work with my osnaps. is there any way to get the osnaps to work and to get the lisp routine to work properly?

    thank you.
    lisp below my signature.

    --

    Jonathan J. Baker
    Carroll & Lange, Inc.
    Professional Engineers & Land Surveyors
    Lakewood, Colorado
    ~~~~~~~~~~~~
    (defun c:elez ( / *ERROR* pt1 v1) ;BLANK VARIABLES

    (defun *Error* (strErr)
    (setvar "TextEval" txtev)
    (setvar "CLayer" clay)
    (setvar "CmdEcho" echo)
    (SETVAR "OSMODE" OSMD)
    (setvar "blipmode" blp)
    (princ)
    ) ;_ closes ERROR EXCEPTION defun
    (setq ;saves current SYSTEM VARIABLES
    echo (getvar "CmdEcho")
    clay (getvar "CLayer")
    txtev (getvar "TextEval")
    OSMD (GETVAR "OSMODE")
    blp (getvar "blipmode")
    )



    (princ "\n***Property of Jon Baker, have fun***")
    (while T ; do this forever until cancelled

    (SETVAR "BLIPMODE" 1)
    (setq
    clay (getvar "CLayer")
    pt1 (if pt2 pt2 (getpoint "\nPick Start Point:"))
    pt2 (getpoint "\nPick Point for Spot Elevation:")
    d1 (distance pt1 pt2)
    mid (list
    (/ (+ (car pt1) (car pt2)) 2)
    (/ (+ (cadr pt1) (cadr pt2)) 2)
    ; (/ (+ (caddr pt1) (caddr pt2)) 2)
    )
    )
    (if (= tval nil)
    (setq tval 2.0)
    )

    (princ "\nEnter the Slope Between Two Points in Percent Form (Use - for downward): <")
    (princ tval)
    (princ ">: ")
    (setq temp1 (getreal))
    (if (/= temp1 nil)
    (setq tval temp1)
    )

    (if (= v1 nil)
    (setq v1 10)
    (setq v1 (atof tv))
    )
    (princ "\nEnter the Elevation at Starting Point: <")
    (princ v1)
    (princ ">: ")
    (setq temp1 (getreal))
    (if (/= temp1 nil)
    (setq v1 temp1)
    )

    (setq pt1x (car pt1) pt2x (car pt2))
    (if (< pt2x pt1x)
    (setq mirrorpt pt1)
    (setq mirrorpt pt2)
    )

    (setq
    sl1 (/ TVAL 100)
    pt3 (getpoint "\nPick insertion point of elevation text:")
    v2 (* d1 sl1)
    tv (rtos (+ v2 v1) 2 1)
    JON1 (RTOS TVAL 2 0)
    JON2 (strcat JON1 "%")
    el (+ v2 v1)
    )
    (COMMAND "-MTEXT" MID "J" "MC" "R" MIRRORPT "W" 0 JON2 "")
    (command "_.leader" pt2 pt3 "" tv "")


    (setvar "TextEval" 1)
    (if (tblsearch "LAYER" "PNT-SPOTSHOT")
    (command "._LAYER" "_THAW" "PNT-SPOTSHOT" "_ON" "PNT-SPOTSHOT" "_SET" "PNT-SPOTSHOT" "")
    (command "._LAYER" "_MAKE" "PNT-SPOTSHOT" "")
    )
    (command "_.point" (list (car pt2) (cadr pt2) el))

    (setvar "CLayer" clay)
    );end while
    (*error* nil)
    (princ);quiet exit

    )
     
    Jon Baker, Jun 15, 2004
    #1
  2. Jon Baker

    Jon Baker Guest

    well it seems that I played around with the osmode and got it to work..

    can a god or goddess double check my code??

    again new code below sig..

    thank you sooo much..

    --

    Jonathan J. Baker
    Carroll & Lange, Inc.
    Professional Engineers & Land Surveyors
    Lakewood, Colorado
    ~~~~~~~~~~~

    (defun c:elez ( / *ERROR* pt1 v1 pt2 el) ;BLANK VARIABLES

    (defun *Error* (strErr)
    (setvar "TextEval" txtev)
    (setvar "CLayer" clay)
    (setvar "CmdEcho" echo)
    (SETVAR "OSMODE" OSMD)
    (setvar "blipmode" blp)
    (princ)
    ) ;_ closes ERROR EXCEPTION defun
    (setq ;saves current SYSTEM VARIABLES
    echo (getvar "CmdEcho")
    clay (getvar "CLayer")
    txtev (getvar "TextEval")
    OSMD (GETVAR "OSMODE")
    blp (getvar "blipmode")
    )



    (princ "\n***Property of Jon Baker, have fun***")
    (while T ; do this forever until cancelled

    (SETVAR "BLIPMODE" 1)
    (setvar "osmode" 2049)
    (setq
    clay (getvar "CLayer")
    pt1 (if pt2 pt2 (getpoint "\nPick Start Point:"))
    pt2 (getpoint "\nPick Point for Spot Elevation:")
    d1 (distance pt1 pt2)
    mid (list
    (/ (+ (car pt1) (car pt2)) 2)
    (/ (+ (cadr pt1) (cadr pt2)) 2)
    ; (/ (+ (caddr pt1) (caddr pt2)) 2)
    )
    )
    (if (= tval nil)
    (setq tval 2.0)
    )

    (setvar "osmode" 0)

    (princ "\nEnter the Slope Between Two Points in Percent Form (Use - for downward): <")
    (princ tval)
    (princ ">: ")
    (setq temp1 (getreal))
    (if (/= temp1 nil)
    (setq tval temp1)
    )

    (if (= v1 nil)
    (setq v1 10)
    (setq v1 (atof tv))
    )
    (princ "\nEnter the Elevation at Starting Point: <")
    (princ v1)
    (princ ">: ")
    (setq temp1 (getreal))
    (if (/= temp1 nil)
    (setq v1 temp1)
    )

    (setq pt1x (car pt1) pt2x (car pt2))
    (if (< pt2x pt1x)
    (setq mirrorpt pt1)
    (setq mirrorpt pt2)
    )

    (setq
    sl1 (/ TVAL 100)
    pt3 (getpoint "\nPick insertion point of elevation text:")
    v2 (* d1 sl1)
    tv (rtos (+ v2 v1) 2 1)
    JON1 (RTOS TVAL 2 0)
    JON2 (strcat JON1 "%")
    el (+ v2 v1)
    )
    (COMMAND "-MTEXT" MID "J" "MC" "R" MIRRORPT "W" 0 JON2 "")
    (command "_.leader" pt2 pt3 "" tv "")


    (setvar "TextEval" 1)
    (if (tblsearch "LAYER" "PNT-SPOTSHOT")
    (command "._LAYER" "_THAW" "PNT-SPOTSHOT" "_ON" "PNT-SPOTSHOT" "_SET" "PNT-SPOTSHOT" "")
    (command "._LAYER" "_MAKE" "PNT-SPOTSHOT" "")
    )
    (command "_.point" (list (car pt2) (cadr pt2) el))

    (setvar "CLayer" clay)
    );end while
    (*error* nil)
    (princ);quiet exit

    )
     
    Jon Baker, Jun 15, 2004
    #2
  3. Jon Baker

    Rudy Tovar Guest

    Use 'entmake' or 'vla' functions to create the mtext or any object.

    Any object being passed with command line will be affected by the running
    osnap.

    Whereas if you use 'entmake' and 'vla' funtions, the running osnaps have no
    affect on them.
    --

    AUTODESK
    Authorized Developer
    http://www.Cadentity.com
    MASi


    "Jon Baker" <jbakerNOcarroll-langeSPAMcom> wrote in message
    well it seems that I played around with the osmode and got it to work..

    can a god or goddess double check my code??

    again new code below sig..

    thank you sooo much..

    --

    Jonathan J. Baker
    Carroll & Lange, Inc.
    Professional Engineers & Land Surveyors
    Lakewood, Colorado
    ~~~~~~~~~~~

    (defun c:elez ( / *ERROR* pt1 v1 pt2 el) ;BLANK VARIABLES

    (defun *Error* (strErr)
    (setvar "TextEval" txtev)
    (setvar "CLayer" clay)
    (setvar "CmdEcho" echo)
    (SETVAR "OSMODE" OSMD)
    (setvar "blipmode" blp)
    (princ)
    ) ;_ closes ERROR EXCEPTION defun
    (setq ;saves current SYSTEM VARIABLES
    echo (getvar "CmdEcho")
    clay (getvar "CLayer")
    txtev (getvar "TextEval")
    OSMD (GETVAR "OSMODE")
    blp (getvar "blipmode")
    )



    (princ "\n***Property of Jon Baker, have fun***")
    (while T ; do this forever until cancelled

    (SETVAR "BLIPMODE" 1)
    (setvar "osmode" 2049)
    (setq
    clay (getvar "CLayer")
    pt1 (if pt2 pt2 (getpoint "\nPick Start Point:"))
    pt2 (getpoint "\nPick Point for Spot Elevation:")
    d1 (distance pt1 pt2)
    mid (list
    (/ (+ (car pt1) (car pt2)) 2)
    (/ (+ (cadr pt1) (cadr pt2)) 2)
    ; (/ (+ (caddr pt1) (caddr pt2)) 2)
    )
    )
    (if (= tval nil)
    (setq tval 2.0)
    )

    (setvar "osmode" 0)

    (princ "\nEnter the Slope Between Two Points in Percent Form (Use - for
    downward): <")
    (princ tval)
    (princ ">: ")
    (setq temp1 (getreal))
    (if (/= temp1 nil)
    (setq tval temp1)
    )

    (if (= v1 nil)
    (setq v1 10)
    (setq v1 (atof tv))
    )
    (princ "\nEnter the Elevation at Starting Point: <")
    (princ v1)
    (princ ">: ")
    (setq temp1 (getreal))
    (if (/= temp1 nil)
    (setq v1 temp1)
    )

    (setq pt1x (car pt1) pt2x (car pt2))
    (if (< pt2x pt1x)
    (setq mirrorpt pt1)
    (setq mirrorpt pt2)
    )

    (setq
    sl1 (/ TVAL 100)
    pt3 (getpoint "\nPick insertion point of elevation text:")
    v2 (* d1 sl1)
    tv (rtos (+ v2 v1) 2 1)
    JON1 (RTOS TVAL 2 0)
    JON2 (strcat JON1 "%")
    el (+ v2 v1)
    )
    (COMMAND "-MTEXT" MID "J" "MC" "R" MIRRORPT "W" 0 JON2 "")
    (command "_.leader" pt2 pt3 "" tv "")


    (setvar "TextEval" 1)
    (if (tblsearch "LAYER" "PNT-SPOTSHOT")
    (command "._LAYER" "_THAW" "PNT-SPOTSHOT" "_ON" "PNT-SPOTSHOT" "_SET"
    "PNT-SPOTSHOT" "")
    (command "._LAYER" "_MAKE" "PNT-SPOTSHOT" "")
    )
    (command "_.point" (list (car pt2) (cadr pt2) el))

    (setvar "CLayer" clay)
    );end while
    (*error* nil)
    (princ);quiet exit

    )
     
    Rudy Tovar, Jun 15, 2004
    #3
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.