zhaoxt 发表于 2022-11-25 23:37:19

画斜矩形

工作上有时候经常要碰到画角度和周边线段一致的非水平模式下的矩形,久而久之就想还是弄个命令方便点。与水平方向上的矩形不同,给定了对角上两点后有无数个矩形,故还需要指定角度。附上源码,源码比较粗糙,没考虑容错或者特例,仅供参考下,一部分源码引用了版主的函数源码。

sunny_8848 发表于 2022-11-28 16:51:02

不知道咋回事,桌子公司的三维软件的草图那么方便,怎么不想办法移植到autocad里面来

xyp1964 发表于 2022-11-26 13:14:13


(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)
)

lxl217114 发表于 2022-11-26 00:11:10

看起来,挺实用的
收藏备用

中国梦 发表于 2022-11-26 06:22:02


看起来,挺实用的
收藏备用

技术工作室 发表于 2022-11-26 07:28:31

收藏备用,支持源码

sunny_8848 发表于 2022-11-26 07:45:21

挺好用的,多谢分享

ZYX2129 发表于 2022-11-26 08:42:14

收藏备用,支持源码

行天下 发表于 2022-11-26 11:08:52

收藏备用,支持源码

bai2000 发表于 2022-11-26 11:55:35

能搞个动态的会更方便

zmzk 发表于 2022-11-27 19:26:37

好用,提高效率
页: [1] 2
查看完整版本: 画斜矩形