插入时旋转块
大家好,我有一系列的线路从一端连接到另一端。我想做两件事:
1) 在每条直线中心附近的垂直平分线上放置一个文本,给出直线的长度。
2) 在与该线对齐的每条线的中心插入一个块(箭头)。
我可以做第二个,但第一个不适用于以下情况,无论我用什么角度来代替0,
块以相同的原始旋转显示。
;(setq plst1(list pt pt1 alfa dis))
;(setq plist(cons plst1 plist))
(defun draw1()
(mapcar '(lambda(a) (command "_insert" "arrow" (car a) 1 1 0)) plist)
(mapcar '(lambda(a) (command "_text" "_non"(car a) 0.6 (* (caddr a) 57.3) (rtos (cadddr a) 2 2))) plist)
(princ)
)
有办法解决这个问题吗?。
提前感谢。
芦荟 你好
为了对齐块,我们应该知道块的旋转。
如果你能上传一张显示结果的样本图,那将非常有帮助。 我建议查看(entmake)箭头插入
;|
Assuming :
The BLOCK "ARROW" exists in the current drawing
The arrow direction points 0 degrees X axis WCS
sp = Start Point
ep = End Point
|;
(entmake (list (cons 0 "INSERT")
(cons 2 "ARROW")
(cons 10 (mapcar '(lambda (a b) (* (+ a b) 0.5)) sp ep))
(cons 50 (angle sp ep))))
-大卫 感谢David和Tharwat的回复。
将代码修改如下:
(mapcar’(lambda(a)(entmake(list(cons 0“INSERT”)(cons 2“ARROW”)(cons 10(car a))(cons 50(caddr aϨ)))plist)
效果完美。这是一张照片。
很高兴它成功了-大卫
页:
[1]