明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 7686|回复: 16

批量标注多线段长度程序修改

[复制链接]
发表于 2013-2-4 14:41:38 | 显示全部楼层 |阅读模式
原程序如下:
(defun c:bcplbz ()
  (CMDLASC0)
(setq ss (ssget '((0 . "*LINE")))
i  -1
  )
(mkla "线长标注" 4)
(while (setq s1 (ssname ss (setq i (1+ i))))
   (setq ptlst (uptlst s1))
    (while (setq pt1 (car ptlst))
      (if (setq ptlst (cdr ptlst))
(progn
   (setq pt2   (car ptlst)
  tx    (rtos (distance pt1 pt2) 2 2)
  ang   (rad2ang (angle pt1 pt2))
  pt-tx (PT-RIGHT pt1 pt2 (* sc 100))
   )
   (command "text" "j" "BC" pt-tx (* sc 50) ang tx)
)
      )
    )
  )
(CMDLA1)
)
要求自定义标注的字体大小,该怎么修改
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-2-4 15:57:26 | 显示全部楼层
  1. (defun c:bcplbz ( / ang hh i pt1 pt2 ptlst pt-tx s1 sc ss tx)
  2.   (cmdlasc0)
  3.   (setq hh (getdist "文字高度:")
  4.        ss (ssget '((0 . "*LINE")))
  5.         i -1
  6.   )
  7.   (mkla "线长标注" 4)
  8.   (while (setq s1 (ssname ss (setq i (1+ i))))
  9.     (setq ptlst (uptlst s1))
  10.     (while (setq pt1 (car ptlst))
  11.       (if (setq ptlst (cdr ptlst))
  12.         (progn
  13.           (setq pt2 (car ptlst)
  14.                 tx (rtos (distance pt1 pt2) 2 2)
  15.                 ang (rad2ang (angle pt1 pt2))
  16.                 pt-tx (pt-right pt1 pt2 (* sc 100))
  17.           )
  18.           (command "text" "j" "BC" pt-tx hh ang tx)
  19.         )
  20.       )
  21.     )
  22.   )
  23.   (cmdla1)
  24. )

 楼主| 发表于 2013-2-4 16:49:20 | 显示全部楼层
【KAIXIN】 发表于 2013-2-4 15:57

好像无法运行
发表于 2013-2-4 16:56:08 | 显示全部楼层
香田里浪人 发表于 2013-2-4 16:49
好像无法运行

这个是你自己的源程序,
那么多的自定义函数,如果没有这些自定义函数,又怎么能用呢?
 楼主| 发表于 2013-2-4 20:32:04 | 显示全部楼层
原程序可运行,可是按老兄的方法修改后无法运行。
发表于 2013-5-25 20:35:22 | 显示全部楼层
香田里浪人 发表于 2013-2-4 20:32
原程序可运行,可是按老兄的方法修改后无法运行。

是的,同样的问题
发表于 2013-6-4 07:50:07 | 显示全部楼层
都不能用!
发表于 2013-6-23 17:46:35 | 显示全部楼层
楼主放出来的程序,运行命令是什么?bcplbz?加载后无法运行啊
 楼主| 发表于 2013-6-23 19:30:03 | 显示全部楼层
hehaidizhi 发表于 2013-6-23 17:46
楼主放出来的程序,运行命令是什么?bcplbz?加载后无法运行啊

试试这个:
(defun c:bcplbz ()
  (CMDLASC0)
(setq ss (ssget '((0 . "*LINE")))
i  -1
  )
(command "layer" "M" "长度标注" "C" "4" "" "LT" "CONTINUOUS" "" "");设置一个标注图层
(command "style" "Style1" "仿宋_GB2312" "" "1.0" "0" "N" "N")
(defun maketext (txt pt)             ; 生成文字子函数
    (entmake (list '(0 . "TEXT") (cons 10 pt) (cons 40 TextHeight) (cons 1 txt) '(41 . 0.8)'(7 . "宋体")))
  )
(while (setq s1 (ssname ss (setq i (1+ i))))
   (setq ptlst (uptlst s1))
    (while (setq pt1 (car ptlst))
      (if (setq ptlst (cdr ptlst))
(progn
   (setq pt2   (car ptlst)
  tx    (rtos (distance pt1 pt2) 2 2)
  ang   (rad2ang (angle pt1 pt2))
  pt-tx (PT-RIGHT pt1 pt2 (* sc 100))
   )
   (command "text" "j" "BC" pt-tx (* sc 100) ang tx)
)
      )
    )
  )
(CMDLA1)
)
发表于 2013-6-23 20:12:39 | 显示全部楼层
OK,试一下,谢谢啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-23 09:01 , Processed in 0.194701 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表