It looks like you're new here. If you want to get involved, click one of these buttons!

Hi All, Is there a way to draw a line tangent to a 3D spline at some arbitrary point on the spline?

You can draw a line Perpendicular to a 3d spline in a specific plane, then perp to that in the intersection. You really need to know what plane you want the tangent in. Set the UCS the align your view.

Here is some Lisp code:

(defun KGA_Geom_VectorScale (vec scl) (mapcar '(lambda (a) (* a (float scl))) vec) ) (defun KGA_Geom_VectorUnit (vec / mag) (if (/= 0.0 (setq mag (distance '(0.0 0.0 0.0) vec))) (KGA_Geom_VectorScale vec (/ 1.0 mag)) ) ) (defun c:DrawTangent ( / doc enm len pt vec) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-endundomark doc) (vla-startundomark doc) (if (and (setq enm (car (entsel "\nSelect curve: "))) (setq pt (getpoint "\nPick point on curve: ")) (setq pt (vlax-curve-getclosestpointto enm pt)) (setq len (getdist "\nLength of line: ")) ) (progn (setq vec (KGA_Geom_VectorUnit (vlax-curve-getfirstderiv enm (vlax-curve-getparamatpoint enm pt))) vec (KGA_Geom_VectorScale vec (/ len 2.0)) ) (entmake (list '(0 . "LINE") (cons 10 (mapcar '- pt vec)) (cons 11 (mapcar '+ pt vec)) ) ) ) ) (vla-endundomark doc) (princ) )

Here is some Lisp code: [snip]

Excellent!

One of these days I really need to sit down to go through the VLAX- and associated documentation...

## Comments

You can draw a line Perpendicular to a 3d spline in a specific plane, then perp to that in the intersection.

You really need to know what plane you want the tangent in. Set the UCS the align your view.

Here is some Lisp code:

Excellent!

One of these days I really need to sit down to go through the VLAX- and associated documentation...