jfh1
路人甲
路人甲
  • 注册日期2004-05-07
  • 发帖数38
  • QQ
  • 铜币57枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2300回复:7

[推荐]实体坐标标注程序

楼主#
更多 发布于:2004-07-12 13:16
<P><FONT color=#ee1111>  下面是本人写的一段小程序,保证可以运行,只是个别机子上可能要加以修改--有关字体的地方!</FONT></P>
<P>;贾氏坐标注记程序;适合各种实体!!!各位可以稍加修改后用于,实体坐标存储、点号标注等<br>(defun C:zJ()   <br>        (setvar "cmdecho" 0)<br>        (setvar "osmode" 0)<br>        (COMMAND "-STYLE" "TTST" "SIMKAI.TTF" 0 0.9 0 "N" "N""")</P>
<P>        (setq SC (GETREAL "请输入标注字高<1.0>:"))<br>        (if (= sc nil)<br>            (setq sc 1)<br>   )<br>        (setq LABLE (entget(car (entsel "请选择要标注的实体:"))))<br>   (command "color" 5"")<br>        (while (SETQ la1 (assoc '10 LABLE))</P>
<P>          (SETQ la (CDR la1))<br>          (SETQ JJX (rtos (cadr la) 2 3))<br>(SETQ JJX (strcat "X=" JJX))<br>          (SETQ JJY (rtos (car la) 2 3))<br>(SETQ JJY (strcat "Y=" JJY))<br>     ;求标注文字的最大长度<br>   (setq lenx (* (+ (strlen jjx) 1) sc))<br>   (setq leny (* (+ (strlen jjy) 1) sc))<br>   (if (< lenx leny)<br>       (setq lenx leny)<br>     )<br>     ;求标注线水平段的长度<br>   (setq lenx (* lenx 0.65))<br>          (setq lb (list (+ (car la) (* 2 sc)) (+ (cadr la) (* 2 sc))))<br>          (setq lc (list (+ (car lb) lenx) (cadr lb)))<br>          (COMMAND "PLINE" la lb lc"")<br>          (command "Text" "j" "bl"  (list (+ (car lb) (* 0.5 sc)) (+ (cadr lb) (* 0.4 sc))) (* 1 sc) 0 JJX)<br>   (command "Text" "j" "tl"  (list (+ (car lb) (* 0.5 sc)) (- (cadr lb) (* 0.5 sc))) (* 1 sc) 0 JJy)<br>          (setq LABLE (CDR (MEMBER LA1 LABLE) ))<br>         )<br>   (command "color" "BYLAYER" "")<br>  )</P><img src="images/post/smile/dvbbs/em02.gif" />
[此贴子已经被作者于2005-6-7 21:52:51编辑过]
喜欢0 评分0
游客

返回顶部