本帖最后由 作者 于 2008-11-26 21:44:27 编辑

我希望能有个小程序,可以将修改过的“标注文字”以特殊颜色显示。见附件,图中尺寸334为修改过的“标注文字”,其余标注文字为默认值。谢谢!

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

2008-11-26

根据七楼之前的总结,最后编好的lsp如下,但最近发现不能用于CAD 2008,特来向各位再次求助。先谢谢了。

;尺寸修改过的特殊颜色标出change text color

;一、标注文本改成"%%c<>"、"M<>x0.75"之类的,由于有<>,

;    标注会随修改自动更新,这种情况下文字颜色也保持不变。

;二、当text override 中不含<>时实际测量长度是100,

;    text override 的不是文本是100,而是40或者一个文本等,显示为紫色。

;三、实际测量长度是100,text override 的文本也是100,显示为蓝色

(defun c:ctc ()

(setvar "cmdecho" 0)

(command "undo" "be")

(setq ss (ssget '((0 . "DIMENSION"))))

(setq l (sslength ss))

(setq    i 0

j 0

)

(repeat l

(setq ent (ssname ss i))

(setq obj (vlax-ename->vla-object ent))

(setq txt (vla-get-TextOverride obj))

(setq mea (vla-get-Measurement obj))

(if    (/= txt "")

;_标注文本为M<>x0.75、M10.0x0.75的样式

(cond ((= (substr txt 1 1) "M")

(setq k 2)

(if (/= (substr txt 2 1) "

(progn

(while    (and (> (ascii (substr txt k 1)) 46)

(< (ascii (substr txt k 1)) 57)

)

(setq k (1+ k))

)

(setq txt1 (substr txt 2 (- k 2)))

(if (not (equal (atof txt1) mea 0.0001))

(vla-put-TextColor obj 3)

)

(setq j (1+ j))

)

)

)

;_标注文本为%%c<>、%%C6.0 的样式

((= (substr txt 1 1) "%")

(if (not (= (substr txt 4 1) "

(setq j (modify-color obj txt mea 4 j))

)

)

;_标注文本为6-%%c<>、6-%%C1.2 的样式

((= (substr txt 2 1) "-")

(if (= (substr txt 3 1) "%")

(if (not (= (substr txt 6 1) "

(setq j (modify-color obj txt mea 6 j))

)

(if (not (= (substr txt 3 1) "

(setq j (modify-color obj txt mea 3 j))

)

)

)

;_标注文本为<>、6.0的形式

(T

(if (not (= (substr txt 1 1) "

(setq j (modify-color obj txt mea 1 j))

)

)

)

)

(setq i (1+ i))

)

(command "undo" "e")

(setvar "cmdecho" 1)

(if (= j 0)

(princ "\n 程序执行完毕,未发现手工修改过的尺寸!")

(princ (strcat "\n 共发现" (rtos j) "个尺寸被修改过"))

)

(princ)

)

(defun modify-color (obj0 txt0 mea0 k0 j0 / jj txt11)

(setq txt11 (substr txt0 k0))

(if (equal (atof txt11) mea0 0.0001)

(vla-put-TextColor obj0 5)

(vla-put-TextColor obj0 6)

)

(setq jj (1+ j0))

jj

)

cad标注文字避让lisp_[LISP]求助-如何特殊显示修改过的标注文字相关推荐

  1. cad标注文字避让lisp_请教大家如何将标注标准设定“文字位置设置为置中”

    请教大家如何将标注标准设定"文字位置设置为置中"非常感谢. ;;;**************************** ACAD标注标准设定.LSP ************* ...

  2. 文字避让图形的lisp_你可能不知道的前端算法之文字避让(inMap)

    前言 inMap 是一款基于 canvas 的大数据可视化库,专注于大数据方向点线面的可视化效果展示.目前支持散点.围栏.热力.网格.聚合等方式:致力于让大数据可视化变得简单易用. 在地理信息可视化中 ...

  3. lisp 线性标注自动避让_CAD局部放大图如何标注对应的尺寸,才能保持尺寸值不变...

    点击上方头条号"机械设计一点通"关注我们,每天学习一个机械设计相关知识点 在机械图纸绘制中,经常会有一些零件的局部特征因为在原图比例下看不清楚对应的结构特征,以及不便于标注相应的尺 ...

  4. lisp 线性标注自动避让_《数据标注工程》第一章学习笔记及作业:数据标注概述...

    第一章:数据标注概述 一.数据标注的起源与发展 1.人工智能行业的发展 AI的概念:意指让机器具有像人一般的智能行为(1956年,达特茅斯会议,由约翰·麦卡锡提出) AI的发展:60多年来,浮浮沉沉. ...

  5. 天正lisp文件夹_天正启动时加载那些lisp_怎么在启动CAD时自动加载Lisp的工具和插件...

    怎么在启动 CAD 时自动加载 Lisp 的工具和插件 网上有很多非常有用的 CAD 插件, 能给绘图带来很多便利. 这些 工具手动加载后就可以执行, 但每次用的时候都要加载挺麻烦的, 能 不能在启动 ...

  6. 天正启动时加载那些lisp_天正启动时加载那些lisp_启动CAD时自动加载Lisp的工具和插件的方法?...

    互联网上有许多非常有用的CAD插件,可以为绘图带来很多便利. 这些工具可以在手动加载后执行,但是每次使用它们都麻烦. 启动软件时,您可以加载常用插件吗? 当然,有不止一种方法. 方法1:添加到启动组 ...

  7. 天正启动时加载那些lisp_启动CAD时自动加载Lisp的工具和插件的方法?

    互联网上有许多非常有用的CAD插件,可以为绘图带来很多便利. 这些工具可以在手动加载后执行,但是每次使用它们都麻烦. 启动软件时,您可以加载常用插件吗? 当然,有不止一种方法. 方法1:添加到启动组 ...

  8. 天正启动时加载那些lisp_怎么在启动CAD时自动加载Lisp的工具和插件?

    原标题:怎么在启动CAD时自动加载Lisp的工具和插件? 网上有很多非常有用的CAD插件,能给绘图带来很多便利.这些工具手动加载后就可以执行,但每次用的时候都要加载挺麻烦的,能不能在启动软件的时候把自 ...

  9. lisp 标记形心_DXF组码来生成标注样式(标注文字样式、标注箭头样式)

    本文介绍AutoLisp用DXF组码来生成标注样式(标注文字样式.标注箭头样式)方法. 一.先生成标注文本样式(若已存在则忽略此步) 说明:用DXF组码生成标注样式中的标注文字样式时,其DXF参考中组 ...

最新文章

  1. 再发布一个windows live writer 插件 图标信息框 wlw plugin icon info frame
  2. linux启动sql server数据库,SQL Server数据库启动过程详解及启动不起来的问题分析及解决方法...
  3. poj1364(差分约束+Bellman-ford)
  4. 认识网页:html + css + JavaScript
  5. c#与科学计算之一:发掘 C# 特性赋予科学计算项目以威力(转贴)
  6. 试图使用removebg工具的在线网站去除图片背景时遇到的错误
  7. 云原生数据库POLARDB专场“硬核”解析
  8. html高度随宽度编号,纯css实现容器高度随宽度等比例变化的四种解决方案
  9. Ubuntu 10.4速配指南
  10. 常用的比较排序算法总结
  11. asp.net关于上传文件修改文件名的方法
  12. Linux入门之磁盘管理(3)文件系统挂载
  13. 性能测试--jmeter如何发送post请求【4】
  14. 新浪微博相册图片外链限制,图床不显示解决方法总结!
  15. Ubuntu下安装rsh实现无密码访问
  16. 计算机地图制图原理与算法,计算机地图制图原理与算法基础.ppt
  17. c++ 十六进制打印
  18. fiilt1左耳无法同步_【FIIL T1 蓝牙耳机使用总结】功能|操作|闪连|防水|音质_摘要频道_什么值得买...
  19. 假定1km长的CSMA/CD网络的数据率为1Gb/s。设信号在网络上的传播速率为200000km/s。求能够使用此协议的最短帧长。
  20. java后台接收微信小程序发送的post请求参数

热门文章

  1. 梁定郊推行贿赠之关键六个字
  2. 中基鸿业工薪家庭如何理财
  3. 计算机应用基础综合检测卷b,计算机应用基础试卷B
  4. Cocos2d-x 3.10 sdk 升级至 Cocos2d-x sdk 3.17.1 simulator 编译问题汇总
  5. Java屌炸天学习路线图
  6. 自媒体生存现状调查:僧多粥少,集体焦虑
  7. android tablelayout 多行,android – 自定义TableLayout,行中有多个TextView
  8. Linux开发:快速开发游戏的9个关键!
  9. 关于Android中图片大小、内存占用与drawable文件夹关系的研究与分析
  10. PHP+学生成绩管理系统 毕业设计-附源码201829