与曲线相切
您好,如何在曲线上放置切线,使直线(楼梯)成直角。曲线是样条曲线,我尝试了很多不同的方法,包括使其成为一条多边形线,但切线处的线是问题所在。下图显示了问题所在谢谢
使用ARC命令,在拾取第一个圆弧的第三个点后,单击enter或空格键返回圆弧,以下圆弧将与第一个相切,再次单击enter并继续拾取圆弧 可以使用块(楼梯踏步)尝试“测量”命令。
或者这会有所帮助
;;PLPERP.lsp starts a polyline perpendicular to any 2D curve at
;; the point picked.
;;Allows direct distance entry for first polyline segment, then
;; restores previous ortho setting and snap angle (if any).
;;by Bill Gillissbill dot gilliss at aya.yale.edu
;;3/20/2008
;;Comments and suggestions always welcome.
(defun c:plperp ( / e en obj param p1 p2 wp1 sa oldortho oldsnapang oldosmode olderror)
(setq oldortho (getvar "orthomode")
oldsnapang (getvar "snapang")
oldosmode (getvar "osmode")
olderror *error*
)
(setq e (entsel "Select curve at point to start perpendicular (OSNAPS welcome):"))
(setq en (car e) p1 (cadr e)) ;UCS point
(setq p1 (osnap p1 "_nea"))
(setq obj (vlax-ename->vla-object en))
(setq param (vlax-curve-getParamAtPoint obj (trans p1 1 0)));WCS point
(setq fderiv (vlax-curve-getFirstDeriv obj param))
(setq sa (+ (* pi 0.5) (angle (trans '(0.0 0.0 0.0) 0 1) (trans fderiv 0 1))))
(setvar "snapang" sa)
(setvar "orthomode" 1)
(setq p2 (getpoint p1 "\nNext point:"))
(setvar "orthomode" oldortho)
(setvar "snapang" oldsnapang)
(setvar "osmode" oldosmode)
(setq *error* olderror)
(command "pline" p1 p2)
);defun
(defun *error* (msg)
(setvar "orthomode" oldortho)
(setvar "snapang" oldsnapang)
(setvar "osmode" oldosmode)
(setq *error* olderror)
)
(prompt "PLPERP loaded.")
(princ)
使用相切圆,而不是样条曲线。 当试图绘制一条直线到一条圆弧或一条多段线的曲线段时,我通常从圆弧段的“中心”开始,然后在需要的地方结束,稍后进行修剪。这确保了直线与圆弧垂直。 有没有可能解释得简单一点,因为我不擅长计算机辅助设计,我是通过尝试创造出来的。建议我使用样条曲线,因为它可以创建与我的手绘相同的最佳平滑曲线。对不起,我应该知道怎么做,但你的帮助是非常收到。谢谢 绘制楼梯踏板长度的垂直线(例如4’)
使用底端点(基点)在直线上绘制一个块。称之为踏步
使用以下测量命令 非常感谢,马上修好了
页:
[1]