two functions at once?

Discussion in 'AutoCAD' started by XPLODE, Mar 4, 2004.

  1. XPLODE

    XPLODE Guest

    First of all please don't laugh :) I am learning! I am posting a little bit of code I wrote all by myself. I would like to know how I can draw a line at the same time I am getting my two points for the getdist function. Make sense? If not let me know. Thanks!

    (defun c:n ()
    (prompt "Pick between to spots: ")
    (setq a (getdist))
    (prompt "Enter elevation: ")
    (setq b (getreal))
    (prompt "Enter elevation: ")
    (setq c (getreal))
    (setq d (- b c))
    (setq e (/ d a))
    (prompt "Enter elevation: ")
    (setq f (getreal))
    (prompt "Enter elevation: ")
    (setq g (getreal))
    (setq h (- f g))
    (setq i (/ h e)))
     
    XPLODE, Mar 4, 2004
    #1
  2. How about something like this (in simple macro language for a pop or tablet
    or screen menu item -- adjust as appropriate if you're putting it in a
    "defun")?

    (setq pt1 (getpoint)) \(setq pt2 (getpoint)) \LINE !pt1 !p2 ;(setq dist1
    (distance pt1 pt2))

    Kent Cooper
     
    Kent Cooper, AIA, Mar 4, 2004
    #2
  3. XPLODE

    XPLODE Guest

    Thanks Bob and Kent. Either direction of attack I think will work fine. It gives me two ways to go about it and I think I can figure out both ways to my solution. Great advice! Thanks.
     
    XPLODE, Mar 4, 2004
    #3
  4. XPLODE

    Adesu Guest

    Hi XPLODE, you can try this below

    ; midline is draw of midline
    ; Design by Ade Suharna <>
    ; 5 October 2004
    ; Program no.100/10/2004
    (defun c:midline (/ p1 p2 p3 p4 p5 p6 p7 p8
    p5mid p6mid p7mid p8mid)
    (setq oldosmode (getvar "osmode")) ; get osmode setting
    (setvar "osmode" 2) ; osmode set to 0
    (setq oldcmdecho (getvar "cmdecho")) ; get cmdecho setting
    (setvar "cmdecho" 0) ; cmdecho set to 0
    (setq p1 (getpoint "\nCLICK FIRST LOCATION: "))
    (setq p2 (getpoint P1 "\nCLICK SECOND LOCATION: "))
    (setq p3 (getpoint P2 "\nCLICK THIRD LOCATION: "))
    (setq p4 (getpoint P3 "\nCLICK FOURT LOCATION: "))
    (command "_line" p1 p2 p3 p4 "c" "")
    (while
    (setq p5 (entsel))
    (setq p5mid (osnap (cadr p5) "mid"))
    (setq p6 (entsel))
    (setq p6mid (osnap (cadr p6) "mid"))
    (setq p7 (entsel))
    (setq p7mid (osnap (cadr p7) "mid"))
    (setq p8 (entsel))
    (setq p8mid (osnap (cadr p8) "mid"))
    (command "_line" p5mid p6mid p7mid p8mid "c" "")
    )
    (setvar "osmode" oldosmode) ; return setting
    (setvar "cmdecho" oldcmdecho) ; return setting
    (princ)
    )



    gives me two ways to go about it and I think I can figure out both ways to
    my solution. Great advice! Thanks.
     
    Adesu, Oct 7, 2004
    #4
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.