PDA

View Full Version : Obtaining "Current Isoplane value" for lisping


ReachAndre
2008-06-20, 07:23 PM
Hello all,
I am trying to set up a routine for one of our designers/engineers. Not TOO familiar with Acad and I would like to keep him 2d. I am trying to setup his text to be shown Isometrically.

How do I obtain the current "Isoplane"? I did not see the value in my Variables.

ex:
(defun c:itxt ()
(if (= ISOPLANE "Isoplane Top")
(blah blah blah programming)
)
(princ))


Thanks all,
Andre



Thanks all

Lions60
2008-06-20, 08:52 PM
The variable SNAPISOPAIR is what you are looking for.
Values Returned
0 = Left Isoplane
1 = Top Isoplane
2 = Right Isoplane


(defun c:itxt ()
(setq ISOPLANE(getvar "SNAPISOPAIR"))
(if (= ISOPLANE 1)
(alert "You are on Isoplane Top")
)
(princ)
)

ReachAndre
2008-06-20, 09:24 PM
Thank you, that works great.

Not that it means much to you guys but here is the code incase it helps someone else out.

Depending on what Isoplane the user is in and what angle they pick, this program inserts a specific block with attributes.


(defun c:cfmc (/ csnapisopair ocfm osize ofpm cattdia cinsname)
(setq cattdia (getvar "attdia"))
(setq cinsname (getvar "insname"))
(if (= (getvar "snapisopair") 0)
(cfmtextiso0))
(if (= (getvar "snapisopair") 1)
(cfmtextiso1))
(if (= (getvar "snapisopair") 2)
(cfmtextiso2))

(setvar "attdia" cattdia)
(setvar "insname" cinsname)
(princ))


(defun cfmtextiso0 (/ cfmcip cfmcrta cinsname cfmcin cfmcinfull ocfm osize ofpm)
(setq cinsname (getvar "insname"))
(setq cfmcip (getpoint "pickpoint for isnertion of CFM text: "))
(setq cfmcrta (* 180.0 (/ (getangle "specify angle for text" cfmcip) pi)))

(if (not cfm) (setq cfm "XXX"))
(if (not size) (setq size "XXX"))
(if (not fpm) (setq fpm "XXX"))
(setq ocfm cfm)
(setq osize size)
(setq ofpm fpm)
(if (= (setq cfm (getstring T(strcat "\nenter cfm value <" ocfm ">: "))) "")
(setq cfm ocfm))
(if (= (setq size (getstring T(strcat "\nenter cfm value <" osize">: "))) "")
(setq size osize))
(if (= (setq fpm (getstring T(strcat "\nenter cfm value <" ofpm">: "))) "")
(setq fpm ofpm))

(if (<= cfmcrta 180)
(setq cfmcin "CFM ISO 090")
)
(if (> cfmcrta 180)
(setq cfmcin "CFM ISO 0330")
)
(setq cfmcinfull (strcat "T:/AEI CAD/Mechanical/Symbols/" cfmcin ".dwg"))
(command "-insert" cfmcinfull "s" (getvar "dimscale") cfmcip 0)
(command (strcat cfm " CFM") size (strcat fpm " FPM"))
(setvar "insname" cinsname)
(princ))



(defun cfmtextiso1 (/ cfmcip cfmcrta cinsname cfmcin cfmcinfull ocfm osize ofpm)
(setq cinsname (getvar "insname"))
(setq cfmcip (getpoint "pickpoint for isnertion of CFM text: "))
(setq cfmcrta (* 180.0 (/ (getangle "specify angle for text" cfmcip) pi)))

(if (not cfm) (setq cfm "XXX"))
(if (not size) (setq size "XXX"))
(if (not fpm) (setq fpm "XXX"))
(setq ocfm cfm)
(setq osize size)
(setq ofpm fpm)
(if (= (setq cfm (getstring T(strcat "\nenter cfm value <" ocfm ">: "))) "")
(setq cfm ocfm))
(if (= (setq size (getstring T(strcat "\nenter cfm value <" osize">: "))) "")
(setq size osize))
(if (= (setq fpm (getstring T(strcat "\nenter cfm value <" ofpm">: "))) "")
(setq fpm ofpm))

(if (> cfmcrta 90)
(setq cfmcin "CFM ISO 1330")
)
(if (<= cfmcrta 90)
(setq cfmcin "CFM ISO 130")
)

(setq cfmcinfull (strcat "T:/AEI CAD/Mechanical/Symbols/" cfmcin ".dwg"))
(command "-insert" cfmcinfull "s" (getvar "dimscale") cfmcip 0)
(command (strcat cfm " CFM") size (strcat fpm " FPM"))
(setvar "insname" cinsname)
(princ))

(defun cfmtextiso2 (/ cfmcip cfmcrta cinsname cfmcin cfmcinfull ocfm osize ofpm)
(setq cinsname (getvar "insname"))
(setq cfmcip (getpoint "pickpoint for isnertion of CFM text: "))
(setq cfmcrta (* 180.0 (/ (getangle "specify angle for text" cfmcip) pi)))


(if (not cfm) (setq cfm "XXX"))
(if (not size) (setq size "XXX"))
(if (not fpm) (setq fpm "XXX"))
(setq ocfm cfm)
(setq osize size)
(setq ofpm fpm)

(if (= (setq cfm (getstring T(strcat "\nenter cfm value <" ocfm ">: "))) "")
(setq cfm ocfm))
(if (= (setq size (getstring T(strcat "\nenter cfm value <" osize">: "))) "")
(setq size osize))
(if (= (setq fpm (getstring T(strcat "\nenter cfm value <" ofpm">: "))) "")
(setq fpm ofpm))

(if (<= cfmcrta 45)
(setq cfmcin "CFM ISO 230")
)
(if (> cfmcrta 45)
(setq cfmcin "CFM ISO 290")
)
(setq cfmcinfull (strcat "T:/AEI CAD/Mechanical/Symbols/" cfmcin ".dwg"))
(command "-insert" cfmcinfull "s" (getvar "dimscale") cfmcip 0)
(command (strcat cfm " CFM") size (strcat fpm " FPM"))
(setvar "insname" cinsname)
(princ))

Thanks again,
Andre