画斜矩形
工作上有时候经常要碰到画角度和周边线段一致的非水平模式下的矩形,久而久之就想还是弄个命令方便点。与水平方向上的矩形不同,给定了对角上两点后有无数个矩形,故还需要指定角度。附上源码,源码比较粗糙,没考虑容错或者特例,仅供参考下,一部分源码引用了版主的函数源码。 不知道咋回事,桌子公司的三维软件的草图那么方便,怎么不想办法移植到autocad里面来(defun c:tt ()
"参照角度画矩形"
(defun AngleAtPoint (s1 pt / pa)
(setq pt (vlax-curve-getclosestpointto s1 pt)
pa (vlax-curve-getparamatpoint s1 pt)
)
(angle pt (mapcar '+ pt (vlax-curve-getfirstderiv s1 pa)))
)
(if (and (setq p1 (getpoint "\n请输入斜矩形第一点: "))
(setq p2 (getpoint p1 "\n请输入斜矩形对角点:"))
(setq e (entsel "\n参照角度边线: "))
)
(progn
(setq s1 (car e)
pt (osnap (cadr e) "nea")
rad (AngleAtPoint s1 pt)
p2a (polar p2 (+ rad (* pi 0.5)) 1)
p1a (polar p1 (+ rad (* pi 0.5)) 1)
p12 (inters p1 (polar p1 rad 1) p2 p2a nil)
p21 (inters p2 (polar p2 rad 1) p1 p1a nil)
)
(command "pline" p1 p12 p2 p21 "c")
)
)
(princ)
)
看起来,挺实用的
收藏备用
看起来,挺实用的
收藏备用 收藏备用,支持源码 挺好用的,多谢分享 收藏备用,支持源码 收藏备用,支持源码 能搞个动态的会更方便 好用,提高效率
页:
[1]
2