明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3652|回复: 13

[基础] 如何在標註尺寸中快速加入∅符號

  [复制链接]
发表于 2011-5-29 18:13 | 显示全部楼层 |阅读模式
如图,这种情况如何用lisp程序来修改我原本的想法是想利用entsel
但是只读到图元之类的东西,无法修改
请各位帮忙一下


另外标注的精确度也可以修改吗
就是原本是小数一位的精度
然后直接用lisp改为小数两位。

虽然精确度用滑鼠右键就可以修改了
但是想把他写成lisp直接打快捷键,这样方便多

本帖子中包含更多资源

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

x
发表于 2011-5-29 18:28 | 显示全部楼层
%%c,但可能受到字体限制
发表于 2011-5-29 18:47 | 显示全部楼层
;加直径改小数位
(defun c:tt  ()
  (setvar "cmdecho" 0)
  (setq s (car(entsel)))
  (command "_.dimoverride" "dimdec" "4" "" s "")
  (setq ss (entget s))
  (setq ss (subst (cons 1 "%%c<>") (assoc 1 ss) ss))
  (entmod ss)
  (entupd ss)
  (PRINC)
)
发表于 2011-5-29 19:18 | 显示全部楼层
(defun C:fD()
  (setq cmd(getvar "cmdecho"))
  (setvar "cmdecho" 0)
(setvar "DIMZIN" 2)
(setvar "dimdec" 2)
  (COMMAND "_DIMLINEAR" PAUSE PAUSE "T" "%%c<>" )
  (setvar "cmdecho" cmd)
  (princ)
)
发表于 2011-5-29 19:50 | 显示全部楼层
(defun c:tt ()
  (vl-load-com)
  (if
    (setq en (car (entsel)))
     (vla-put-textprefix
       (vlax-ename->vla-object en)
       "%%C"
     )
  )
)
发表于 2011-5-29 19:50 | 显示全部楼层
如果有字体,比如探索者的字体,%%130 %%131 %%132
 楼主| 发表于 2011-5-29 22:22 | 显示全部楼层
本帖最后由 lead009 于 2011-5-29 22:30 编辑

回复 啵浪鼓 的帖子

你的程序我試了一下,功能是我要的,但是有些差異
我想的是

1.增加符號&#8709;
2.改變精確度

這兩個程序是分開的
因為精確度的修改,在地方會用到,常常一張圖裡面有些要改成小數第3位 有的要改成第2位   1位  整數的
所以
如能夠使用者輸入"位數"太棒了。


我後來又把你的程序修改了一下,
希望說是可以用框選的方式。但是不知為何REAPEAT回圈只跑了一圈就壞了,能否幫我看一下
  1. (defun C:dc1()
  2.   (setvar "cmdecho" 0)
  3.   (setq n 0)
  4.   (setq ss(ssget));;
  5.   (repeat (sslength ss)
  6.     (print "000")
  7.     (setq en(ssname ss n));;取出來即為x物件
  8.     (setq data (entget en))
  9.     (setq data(subst (cons 1 "%%C<>") (assoc 1 data) data))
  10.     (entmod data)
  11.     (entupd data)
  12.     (setq n(+ n 1))
  13.   );re
  14. (prin1)
  15. )





 楼主| 发表于 2011-5-29 22:24 | 显示全部楼层
回复 lenlenq 的帖子

感謝你的程序,跟我想像中的一樣
但是你的寫法我還沒學過,有機會再向你討教了
发表于 2011-5-29 23:46 | 显示全部楼层
本帖最后由 chpmould 于 2011-5-29 23:48 编辑
lead009 发表于 2011-5-29 22:22
回复 啵浪鼓 的帖子

你的程序我試了一下,功能是我要的,但是有些差異


我目前用的,支持框选...应符合你要求...内包含 (尺寸增加直径)(尺寸取消直径)(尺寸文字放大)(尺寸修改精度)

本帖子中包含更多资源

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

x
发表于 2011-5-30 00:40 | 显示全部楼层
回复 lead009 的帖子

怎么贴上色代码,没搞过,不懂'

;;;加直径改小数位
(defun C:dc1 (/ sum n ss en data)
  (setvar "cmdecho" 0)
  (setq sum (getint "\n 输入尺寸精度 <默认2位> :"))
  (setq n 0)
  (setq ss(ssget))
  (if ss
    (progn
      (if sum
        (command "_.dimoverride" "dimdec" sum "" ss "")
        (command "_.dimoverride" "dimdec" 2 "" ss "")
      )
      (repeat (sslength ss)
        (setq en(ssname ss n));;取出來即為x物件
        (setq data (entget en))
        (setq data(subst (cons 1 "%%C<>") (assoc 1 data) data))
        (entmod data)
        (entupd en)
        (setq n(+ n 1))
      );end repeat
    ) ;end progn
  ) ;end if
  (command "REDRAW")
  (prin1)
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-20 23:57 , Processed in 0.284868 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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