发个移动文字并旋转指定方向的程序
<p>;小林电气---林树才</p><p>(vl-load-com)<br/>;(getstr str1)取得文字<br/>(defun getstr(str1 / e obj col )<br/>(initget 1 )<br/>(setq e (entsel (strcat "\n" str1 ":")))<br/> (setq obj (vlax-ename->vla-object (car e)))<br/> (if (>= (vla-get-color obj ) 256)<br/> (setq col 1)<br/> (setq col (+ 1 (vla-get-color obj )))<br/> );end if<br/> (vla-put-color obj col )<br/>(princ (vla-get-textstring obj))<br/>)<br/>(defun rtd (angg)<br/> (/ (* angg 180.0) pi))<br/> <br/>(defun movejxbz( pt1 pangle str )<br/> (command "color" "6")<br/> (setvar "TEXTSIZE" 25)<br/> (command "style" "" "" 25 "" "" "" "" nil)<br/> (IF (> (CDR (ASSOC 40 (TBLSEARCH "STYLE" (GETvar "TEXTSTYLE")))) 0.0)<br/> (VL-CMDF "TEXT" PT1 (rtd pangle) str)<br/> (VL-CMDF "TEXT" PT1 25 (rtd pangle) str)<br/> )<br/> (command "color" "BYLAYER") <br/>(princ)<br/>)<br/>(defun c:222( / pangle pt1 str)<br/> (setq str (getstr "选取要移动的文本"))<br/> (setq pt1 (getpoint "\n新的放置点"))<br/> (setq pangle (getangle pt1 "\n方向"))<br/> (movejxbz pt1 pangle str)<br/> ) </p> <p>看不懂...楼主说的功能,应该几句就可以搞定的,用alisp 就行了</p><p>搞什么...没必要用到vl</p><p>还用到vla-get-textstring obj</p><p>哪里抄的吗???呵呵</p> 代码不重要,重要的是思想,不管什么途径得来的代码,取之于"明",用之于"明".在写程序时尽量使用通用的函数,比较方便. 是的,代码不重要,重要的是思想。可无论如何为了一个小功能而去写一大堆的所谓通用函数,我是看不出有什么思想。
(defun C:222 (/ SS ENT PT1 PT2)
(and
(setq SS (entsel "\n点取要移动的文本"))
(setq ENT (entget (car SS)))
(= (cdr (assoc 0 ENT)) "TEXT")
(setq PT1 (getpoint "\n新的放置点: "))
(entmod (setq ENT (subst (cons 10 PT1) (assoc 10 ENT) ENT)))
(setq PT2 (getpoint PT1 "\n方向: "))
(entmod (subst (cons 50 (angle PT1 PT2)) (assoc 50 ENT) ENT))
)
(princ)
)
zml84 发表于 2007-9-12 15:15 static/image/common/back.gif
是的,代码不重要,重要的是思想。
可无论如何为了一个小功能而去写一大堆的所谓通用函数,我是看不出有什么 ...
zml84的程序很实用,改图相当方便。只是欠缺对多行文字的修改,希望能补充和完善一下就更好用了 恩恩。。确实没必要这么厂~~~~~
好东东,下载了
页:
[1]