明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 568|回复: 6

[提问] 标注文字偏移量怎么控制

[复制链接]
发表于 2024-10-27 12:01:54 | 显示全部楼层 |阅读模式
我想让标注文字偏移出尺寸界限一定距离,让文字清晰显示

现在我知道文字插入点位置,距离尺寸界限这个位置怎么确定,可以满足不同标注大小,文字大小都能合适

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2024-10-27 12:09:27 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2024-10-27 12:27:40 | 显示全部楼层

能实现,不过我不太喜欢这个样式,我想通过代码实现左边的样式

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2024-10-27 12:40:57 | 显示全部楼层
直接改多行文字的基点
 楼主| 发表于 2024-10-28 09:17:05 | 显示全部楼层
自己写了一段代码实现了想要的效果,谁有更好的方法,可以分享学习一下
  1. ;;;*****标注文字偏移*****
  2. (defun c:d1 (/ ang d data ent f h lst pt11 pt13 pt14 scale str wide)
  3.   (setvar "cmdecho" 0)
  4.   (vl-load-com)
  5.   ;;更新图元函数,这个是在论坛看到“G版”的函数修改的
  6.   (defun f (dim postion layer)
  7.     (setq el (entget dim)
  8.       el (subst (cons 70 (logior 70 128)) (assoc 70 el) el) ;改变位置
  9.       el (subst (cons 11 postion) (assoc 11 el) el) ;文字插入点
  10.       el (subst (cons 8 layer) (assoc 8 el) el) ;图层
  11.     )
  12.     (entmod el)
  13.   )
  14.   ;;创建标注获取需要参数
  15.   (command-s "DIMLINEAR" pause pause)
  16.   (setq ent (entlast) data (entget ent))
  17.   (setq str (rtos (cdr (Assoc 42 data)) 2 0))
  18.   (setq h (Vlax-Get(Vlax-Ename->Vla-Object ent) 'TextHeight))
  19.   (setq scale (getvar "DIMSCALE"))
  20.   (setq h (* h scale))
  21.   ;;获取标注文字的宽度
  22.   (setq lst (textbox (list '(0 . "TEXT") (cons 1 str) (cons 40 h) (cons 41 0.7)))) ;字宽设置以为0.7
  23.   (setq wide (abs (- (car (nth 0 lst)) (car (nth 1 lst)))))
  24.   ;;取得需要改变位置的数值
  25.   (setq pt11 (Cdr(Assoc 11 data)))
  26.   (setq pt13 (Cdr(Assoc 13 data)))
  27.   (setq pt14 (Cdr(Assoc 14 data)))
  28.   (setq ang (Cdr(Assoc 50 data)))
  29.   (if (= (fix ang) 1) (setq ang (* pi (/ 90 180.0))) (setq ang 0))  ;水平标注文字上移,数值标注文字右移
  30.   (setq d (distance pt13 pt14))
  31.   
  32.   (f ent (polar pt11 ang (+ (/ wide 2) (/ d 2) (/ scale 2))) "Dim")
  33.   (prin1)
  34. )

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

点评

发一下测试文件,试了下没试成功  发表于 2024-10-29 16:37
 楼主| 发表于 2024-10-30 15:06:18 | 显示全部楼层
本帖最后由 Qwer1243 于 2024-10-30 15:10 编辑

@429014673
你试验的图纸可能没有“Dim”图层,还有我这是高版本cad(2020),你可以把command-s改成command试试
附件是我测试的cad文件,你可以用来试试

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-22 20:13 , Processed in 0.200197 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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