doro
发表于 2011-10-24 19:30:19
这个很有用 拜一拜
yjr111
发表于 2011-10-25 02:56:24
本帖最后由 yjr111 于 2011-10-25 03:17 编辑
矩阵研究了几天,忽然迷茫了。。。今天看highflybir的块切线的程序,忽然灵感来了:难道牛顿定律有了,我还要去重新发明牛顿定律不成!?哈哈,直接拿来主义,稍加修改,搞定!!
自己就写了这么一点:(完整下载在下面)
(defun c:yxpq(/ e1 e2 ee eee s11p11 ang1 ang2 an lst11 JIAODU1JIAODU2 JIAODU3)
(vl-load-com)
(setvar "cmdecho" 0)
(setq e1 (car(setq ee(nentselp"\n 请选择要对齐的物体:"))))
(setq s11 (entget e1))
(if (wcmatch(cdr(assoc 0 s11))"*TEXT")
(progn
(setq p11 (cdr(assoc 10 s11)))
(setq ang1 (cdr(assoc 50 s11))))
(progn
(setq lst11(nentselp (setq p11(cadr ee))))
(qvxianjiaodu lst11 )
(setq ang1 an))
)
(SETQ JIAODU1 (* (/ ang1 PI)180))
(setq an nil)
(setq e2 (car(setq eee(nentselp"\n 请选择物体要对齐的曲线"))))
(setq lst11(nentselp (cadr eee)))
(qvxianjiaodu lst11 )
(setq ang2 an)
(SETQ JIAODU2 (* (/ ang2 PI)180))
(setq an nil)
;;;;;;;;;;;;;;旋转平移;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(IF (> (LENGTH ee)2) (PROGN (SETQ e1 (CAAR (REVERSE ee)))
(setq p11 (cdr(assoc 10 (ENTGET e1)))
jiaodu3 (*(/(cdr(assoc 50 (ENTGET e1)))PI)180))))
(setq jiaodu (- jiaodu2 jiaodu1))
(cond
((and(and e1 e2)(> (LENGTH ee)2))
(command "_.rotate" e1 "" p11 (- jiaodu jiaodu3))
(command"_.MOVE" e1 ""p11pause))
(t(command "_.rotate" e1 "" p11 jiaodu )
(command"_.MOVE" e1 ""p11pause))
)
(princ)
)
图片演示:
highflybir
发表于 2011-10-25 07:19:56
本帖最后由 highflybir 于 2011-10-25 07:23 编辑
yjr111 发表于 2011-10-25 02:56 http://bbs.mjtd.com/static/image/common/back.gif
矩阵研究了几天,忽然迷茫了。。。今天看highflybir的块切线的程序,忽然灵感来了:难道牛顿定律有了,我还 ...
楼主的好思路。
照此思路下去,楼主可以继续对块内文字和属性处理下去。希望楼主得到一个自己解决的,比别人的并不差的程序。
我下面提供一个自己的lisp,以供楼主参考。主要用来取得块属性的包围框。
Gu_xl
发表于 2011-10-25 10:28:54
就需要有这样的钻研精神,自己才能进步!楼主加油哦!
yjr111
发表于 2011-10-25 12:35:33
哈哈,飞版说得对!币币那是必须要送的!
zhb236623
发表于 2011-10-26 21:28:16
好东东是要顶的,顶起来大家看。。。。。。。
fergus1987
发表于 2011-10-27 08:53:02
貌似只能对齐单行字?
coco25825
发表于 2011-10-28 09:26:06
回复楼上,经实验都可
T_T
发表于 2012-1-18 02:55:26
学习矩阵啊,矩阵啊
whenevo
发表于 2012-1-20 11:07:53
这个用align命令不能实现吗?
页:
1
2
[3]
4
5
6
7
8
9
10
11