PaulS00 Posted July 20, 2012 Share Posted July 20, 2012 Hello, So today I was creating a road centerline to make into an alignment. The road has many curves. So I was making circles and connecting them with lines while snapping from tangent to tangent. So far, so good. Went I go to trim the circles using the lines I drew tangent to tangent, it says that there are no intersecting edges. WTF? When I zoom way in, the line is not touching the circle. Now, I know that visually that is NBD. When I run a distance check, snapping from endpoint to perpendicular, there is a measurement of zero. UGH! So to get work done I've been having to break the circle and the 2 points, then erase the rest. This is such a PITA and I've never had anything like this happen. -Thanks P.S. I'm running Civil 3D 2013. The top line is the circle, the bottom is the line tangent to it. Quote Link to comment Share on other sites More sharing options...
Dadgad Posted July 20, 2012 Share Posted July 20, 2012 Maybe you could use the EXTEND command instead, still tedious, but less so. If you do a REGEN do the lines meet the circles? Quote Link to comment Share on other sites More sharing options...
rickh Posted July 21, 2012 Share Posted July 21, 2012 You might try just drawing a polyline over your already drawn lines and circles. This way, you could just keep switching from line mode to arc mode. I normally make the alignments from a polyline anyway. To ensure tangency when you go from arc mode back to line mode, just select 'length' after selecting 'line', and continue to the next point. Your lines and arcs of the polyline should always be tangent this way. Hope it helps some. Quote Link to comment Share on other sites More sharing options...
SLW210 Posted July 23, 2012 Share Posted July 23, 2012 Are you drawing LINES or PLINES? LINES work much better for TAN to TAN. Quote Link to comment Share on other sites More sharing options...
PaulS00 Posted July 23, 2012 Author Share Posted July 23, 2012 Are you drawing LINES or PLINES? LINES work much better for TAN to TAN. I tried that and it helped with respect to going from tan to tan, but it didn't help with trimming the circles. I also made sure that none of the circles, arcs, lines had Z values. Quote Link to comment Share on other sites More sharing options...
SLW210 Posted July 23, 2012 Share Posted July 23, 2012 Works fine here, can you post a .dwg that is doing this? Are you letting the cursor hover on the circles till ...Deferred Tangent is displayed in the tool tip? Two Circles, two Lines Tan to Tan and then Trim. [ATTACH=CONFIG]36107[/ATTACH] Quote Link to comment Share on other sites More sharing options...
BIGAL Posted July 27, 2012 Share Posted July 27, 2012 Sounds like you would be better of doing line line then fillet, ok if you dont know radius thanks to Alanjt here is a dynamic radius lisp that allows you to drag the arc size. Once you get it about right I would use List and then erase arc and change radius to a true value eg 201.375 becomes 200 and re fillet. (defun c:DyF (/ *error* _pnt AT:GetSel vl ov ent plst elst gr sp) ;; Dynamic Fillet ;; Alan J. Thompson, 03.07.11 / 03.09.11 (vl-load-com) (defun *error* (msg) (redraw) (and vl (mapcar (function setvar) vl ov)) (and elst (mapcar (function redraw) elst '(4 4))) (if (and msg (not (wcmatch (strcase msg) "*BREAK*,*CANCEL*,*QUIT*,"))) (princ (strcat "\nError: " msg)) ) ) (defun _pnt (p) (trans (list (car p) (cadr p)) 0 1)) (defun AT:GetSel (meth msg fnc / ent) ;; meth - selection method (entsel, nentsel, nentselp) ;; msg - message to display (nil for default) ;; fnc - optional function to apply to selected object ;; Ex: (AT:GetSel entsel "\nSelect arc: " (lambda (x) (eq (cdr (assoc 0 (entget (car x)))) "ARC"))) ;; Alan J. Thompson, 05.25.10 (setvar 'ERRNO 0) (while (progn (setq ent (meth (cond (msg) ("\nSelect object: ") ) ) ) (cond ((eq (getvar 'ERRNO) 7) (princ "\nMissed, try again.")) ((eq (type (car ent)) 'ENAME) (if (and fnc (not (fnc ent))) (princ "\nInvalid object!") ) ) ) ) ) ent ) (if (setq ent (car (AT:GetSel entsel "\nSelect arc: " (lambda (x) (if (eq "ARC" (cdr (assoc 0 (entget (car x))))) (vl-every (function (lambda (p / ss) (if (setq ss (ssget "_C" p p '((0 . "LINE")))) (setq elst (cons (ssname ss 0) elst)) ) ) ) (setq plst (list (_pnt (vlax-curve-getStartPoint (car x))) (_pnt (vlax-curve-getEndPoint (car x))) ) ) ) ) ) ) ) ) (progn (setq ov (mapcar (function getvar) (setq vl '("CMDECHO" "FILLETRAD")))) (while (progn (setq gr (grread T 15 0)) (cond ((eq 5 (car gr)) (redraw) (grdraw (setq sp (trans (vlax-curve-getStartPoint ent) 0 1)) (cadr gr) 1 -1) (princ (strcat "\rFillet radius: " (rtos (setvar 'FILLETRAD (distance sp (cadr gr)))) " " ) ) (if (vl-cmdf "_.fillet" (list (car elst) (car plst)) (list (cadr elst) (cadr plst))) (progn (entdel ent) (setq ent (entlast))) T ) ) ) ) ) ) ) (*error* nil) (princ) ) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.