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