(XD::Mat:AlignCoordSys)从一个坐标系到另一个坐标系的变换矩阵
本帖最后由 newer 于 2018-4-2 14:37 编辑**** Hidden Message *****
具体应用:
(defun c:tt ()
(princ "\n拾取文字<退出>:")
(if (setq ss (ssget '((0 . "TEXT"))))
(progn (setq i -1)
(while (setq e (ssname ss (setq i (1+ i))))
(setq box (textbox (entget e))
p1(car box)
p3(cadr box)
p2(list (car p3) 0.0 0.0)
p4(list (car p1) (cadr p3) 0.0)
box (list p1 p2 p3 p4)
obj (vlax-ename->vla-object e)
ori (vla-get-insertionpoint obj)
ori (xd::vla:variant->value ori)
ang (vla-get-rotation obj)
vx(mapcar '- (polar ori ang 1.0) ori)
vx(xd::vec:normalize vx)
vy(xd::vec:perp vx)
mat (xd::mat:aligncoordsys (list ori vx vy) 0)
box (xd::object:transform box mat)
)
(entmake (list '(0 . "LWPOLYLINE")
'(100 . "AcDbEntity")
'(410 . "Model")
'(100 . "AcDbPolyline")
'(62 . 2)
'(90 . 4)
'(70 . 1)
(cons 10 (car box))
(cons 10 (cadr box))
(cons 10 (caddr box))
(cons 10 (last box))
)
)
)
)
)
(princ)
)
关于文字框坐标变换的理解见:
http://bbs.xdcad.net/forum.php?mod=redirect&goto=findpost&ptid=715211&pid=3660800&fromuid=5280
看收集一下能不解决我的问题..真是不懂矩阵呢..
q3_2006 发表于 2018-4-1 19:01
看收集一下能不解决我的问题..真是不懂矩阵呢..
这个就是解决你那个文本框的。
marting 发表于 2018-4-1 19:07
这个就是解决你那个文本框的。
非常感激!
矩阵门外汉,进来学习下.
不懂矩阵呢
没学习啊 XDAPI里有不少矩阵的函数 ynhh 发表于 2018-4-1 20:00
不懂矩阵呢
没学习啊
不用懂矩阵的数学原理,知道用怎么构建,怎么变换的函数就够了。不清楚的可以单独到LISP论坛发帖。
感谢高手分享程序!!!
感谢高手分享程序!!! 多谢分享! 支持一下顶你哦 非常感谢大师!!! r矩阵不太会 看看再说,也许以后能用上