banner



How To Draw A Line Using Degrees Minutes Seconds In Autocad

If y'all want to utilise bearings and distances, here'southward one I made upwardly for use at home where I don't have Civil3D working.

          (defun c:LineByDirection ( / *error* vars vals done p1 p2 quad bearing ang d)    ;; John F. Uhden, Sea Girt, NJ, USA    ;; Program draws lines past bearing and distance (like Land Desktop and C3D)      ;; v1.0 (4-20-2020)    ;; Bearing format is DD.MMSS but you can skip inbound the SS if it is zero.    ;; Quadrants are one=NE, 2=SE, iii=SW, and 4=NW.     (gc)    (vl-load-com)    (princ "\nLineByDirection (c)2020, John F. Uhden")    (defun *fault* (error)      (mapcar 'setvar vars vals)      (vla-endundomark *medico*)      (cond        ((non error))        ((wcmatch (strcase mistake) "*QUIT*,*Abolish*"))        (ane (princ (strcat "\nERROR: " fault)))      )      (princ)    )    (setq vars '(cmdecho))    (setq vals (mapcar 'getvar vars))    (or *acad* (setq *acad* (vlax-become-acad-object)))    (or *doc* (setq *doctor* (vla-go-ActiveDocument *acad*)))    (vla-endundomark *medico*)    (vla-startundomark *doc*)    (mapcar 'setvar vars '(0))    (control "_.skillful" (getvar "expert")) ;; dummy command    (defun @bearing2angle (quad begetting / dpos dd mm ss ang)       (if (setq dpos (vl-string-search "." begetting))          (progn             (setq dd (read (substr bearing i dpos)))             (or (setq mm (read (substr bearing (+ dpos 2) ii)))(setq  mm 0))             (or (setq ss (read (substr bearing (+ dpos four))))(setq ss 0))          )          (setq dd (read begetting) mm 0 ss 0)       )       (setq ang (+ (* (/ dd 180.0) pi) (* (/ mm 180.0 60)  pi) (* (/ ss 180.0 60 60) pi)))       (cond         ((= quad "one")(setq ang (- (* 0.5 pi) ang)))         ((= quad "2")(setq ang (+ (* 1.5 pi) ang)))         ((= quad "three")(setq ang (- (* 1.v pi) ang)))         ((= quad "4")(setq ang (+ (* 0.five pi) ang)))       )       ang    )    ;; Brainstorm the action:    (if (setq p1 (getpoint "\nStarting signal: "))      (while (non done)        (initget "1 2 3 4")        (or          (and            (setq quad (getkword "\nQuadrant (i,2,three,iv): "))            (setq begetting (getstring "\nBearing (DD.MMSS): "))            (setq ang (@bearing2angle quad bearing))            (setq d (getreal "\nDistance: "))            (setq p2 (polar p1 ang d))            (vl-cmdf "_.line" "_non" p1 "_non" p2 "")            (setq p1 p2)          )          (setq washed i)        )      )    )    (*error* nil)  )  (defun c:LBD ()(c:LineByDirection))                  

John F. Uhden

Source: https://forums.autodesk.com/t5/autocad-forum/can-t-draw-a-line-with-degrees-minutes-seconds-autocad-2020/td-p/9837942

Posted by: farrelllifflosight.blogspot.com

0 Response to "How To Draw A Line Using Degrees Minutes Seconds In Autocad"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel