找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1687|回复: 18

[讨论]:为什么用entmod改变不了尺寸中的文字位置(组码11)

[复制链接]
发表于 2004-9-6 15:59:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
为什么用entmod改变不了尺寸中的文字位置(组码11)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 6530个

财富等级: 富甲天下

发表于 2004-9-6 17:00:36 | 显示全部楼层
标注的更改不是那么简单,使用Entmod改变标注文字位置是可以的,但需要这种标注样式的系统变量Dimtmove(dimstyle组码279)设置为2才可以。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-9-6 17:29:16 | 显示全部楼层
多谢长老指点。

我试了下,好像不行哦
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2004-9-6 19:17:48 | 显示全部楼层
再试试将标注的组码70值加上128。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-6 20:11:29 | 显示全部楼层
;;应该entmod块定义
;;Author: Mayfarth, Herman. Modified by AIdraft 6/9/04
(defun C:test (/ ename newpoint dimfirst ent elist etype)
  (setq        ename         (car (entsel "\n选择尺寸: "))
        newpoint (getpoint "\n文字新位置:")
        )
  ;;if ename is the entity name of the DIMENSION entity
  (setq dimfirst (tblsearch "BLOCK" (cdr (assoc 2 (entget ename)))))
;block table entry
  (setq ent (cdr (assoc -2 dimfirst)))
;extract first entity name in block
  (while (setq ent (entnext ent)) ;step through block definition
    (setq
      elist (entget ent)
      etype (cdr (assoc 0 elist))
      )
    (if        (= etype "MTEXT") ;find the first MTEXT
      ;;change the insertion point of MTEXT
      (entmod (subst (cons 10 newpoint) (assoc 10 elist) elist))
      )
    ) ;end while
  (entupd ename) ;update the MTEXT entity in the block definition
  )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2004-9-7 08:11:48 | 显示全部楼层
最初由 aidraft 发布
[B];;应该entmod块定义
;;Author: Mayfarth, Herman. Modified by AIdraft 6/9/04
(defun C:test (/ ename newpoint dimfirst ent elist etype)
  (setq        ename         (car (entsel "\n选择尺寸: "))
        newpoint (getpoint... [/B]

好主意,我竟然忘了,Acad的这个“影子”功能太强大了,不仅仅是标注,在其他地方也有类似的踪迹。
使用下面的几句代码可以将层“0”的颜色改为红色,这是不使用command函数的方法,也是使用的“影子”(tblobjname)。
  1. (setq aa (entget (tblobjname "layer" "0")))
  2. (setq aa (subst '(62 . 1) (assoc 62 aa) aa))
  3. (entmod aa)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-21 15:50:38 | 显示全部楼层
ll_j长老:你好,可以将你的思路用到修改style上么?看看这里吧http://www.xdcad.net/forum/showthread.php?s=&threadid=259197
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2004-9-21 19:43:47 | 显示全部楼层
修改定义字体是可以的,我前几天试过,但对现在的TTF字体好像有问题,将“宋体”“仿宋_GB2312”等改变为shx文件可以,但改回来就不行了,替换的组码3为“simsun.ttf”(实际文件是“simsun.ttc”)、“simfang.ttf”,系统就不认了。好像在什么地方记忆“宋体=simsun.ttf”,而没有记忆“simsun.ttf=宋体”。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-21 21:40:01 | 显示全部楼层
我遇到和楼上同样的问题。
而且在R14下面,如果文字样式中的字体为“仿宋_GB2312"(我只试过这一种字体)的时候,发现样式的组码3的值竟然为空。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-22 16:09:45 | 显示全部楼层
我是这样来修改标注文字位置的。
提供源程序如下:
顺便请哪位高手帮我把的那个小错误改进。


  1. ;;;       =============================================
  2. ;;;       |         尺寸标注数字位置修改软件          |
  3. ;;;       |           Update: 2003.10.28              |
  4. ;;;       =============================================

  5. (defun chgterr (s)
  6.   (if (/= s "命令被取消")                ; If an error (such as CTRL-C) occurs
  7.     (princ (strcat "\n错误: " s))        ; while this command is active...
  8.   )
  9.   (setvar "CMDECHO" 0)
  10.   (command "undo" "e")
  11.   (setq p nil)                                ; Free selection set
  12.   (setq *error* olderr)                        ; Restore old *error* handler
  13.   (princ)
  14. )

  15. (defun c:bx (/ xzsx ss xzs n stm)

  16.   (princ (strcat "\n***尺寸标注数字位置修改软件V031028  葛磊***"))
  17.   (princ (strcat "\n        [共享软件,版权所有]"))
  18.   (princ)

  19.   (command "undo" "be")
  20.   (setq        olderr        *error*                        ; Initialize variables
  21.         *error*        chgterr
  22.   )

  23.   (setvar "cmdecho" 0)

  24.   (initget "Z C S X")
  25.   (setq XZSX (getkword "\n上移S / 下移X / 左移Z / 右移C / <居中>"))


  26.   (setq ss (ssget '((0 . "DIMENSION"))))
  27.   (if ss                                ; 如果选取到了实体
  28.     (progn
  29.       (setq xzs (sslength ss))                ;xzs---选择实体的个数
  30.       (setq n 1)                        ;n---实体数
  31.       (while (<= n xzs)                        ;对选取的字符串逐个进行处理
  32.         (setq stm (ssname ss (1- n)))        ;stm---实体名称
  33. ;;;dimoverride 指定临时标注系统变量设置来替代当前标注设置
  34. ;;;dimtad 控制文字相对尺寸线的垂直位置
  35.         (cond
  36.           ((OR (= XZSX "s") (= XZSX "S"))
  37.            (command "_.dimoverride" "_dimtad" 1 "" stm "")
  38.            (command "_.dimoverride" "_dimGAP" 400 "" stm "")
  39.           )
  40.           ((OR (= XZSX "X") (= XZSX "x"))
  41.            (command "_.dimoverride" "_dimGAP" 100 "" stm "")
  42.            (command "_.dimoverride" "_dimtad" 2 "" stm "")
  43.           )
  44.           ((equal XZSX nil)
  45.            (command "_.dimoverride" "_dimtad" 1 "" stm "")
  46.            (command "_.dimoverride" "_dimGAP" 100 "" stm "")
  47.            (command "_.dimoverride" "_dimjust" 0 "" stm "" "_.dimtedit" stm "_h")
  48.           )
  49.         )
  50.         (setq n (+ 1 n))                ;下一个实体
  51.       )                                        ;while
  52.     )                                        ;progn
  53.   )                                        ;if

  54.   (setq *error* olderr)                        ; Restore old *error* handler
  55.   (command "undo" "e")

  56.   (princ (strcat "\n***尺寸标注数字位置修改软件V031028  葛磊***"))
  57.   (princ (strcat "\n        [共享软件,版权所有]"))
  58.   (princ)
  59. )


  60. ;;;V030724新增功能
  61. ;;;   1、新建程序,受XDSOFT的启发,最初是为了使尺寸标注中数字的位置改变后能自动归位。
  62. ;;;      事实上是参考了CAD菜单中该功能的程序基础上加以改进。并实现了使数字高出,以
  63. ;;;      避开重叠在一起的标注。TSSD中该功能是使数字向两侧偏。
  64. ;;;   2、数字下降程序有点小问题,也许只能通过计算坐标来实现。

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-3 15:08:03 | 显示全部楼层
楼上的朋友:经过我的试验,你的程序在下移的时候没问题呀。(见图)
可是,你的程序有问题的是你不应该用具体的数值来决定移动的距离,这样有可能会造成某些过大、过小的尺寸线出现问题。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-8 11:03:25 | 显示全部楼层
  1、程序下移数字时的问题出现在标注起始点在下方时(针对上图而言),它保持不动。
  2、关于使用了具体数值的问题,是这样的:原来写这个程序只是自己用,没考虑那么多关于通用性的问题。回头我就将它改正。
  3、关于左右方向移动的问题,暂时还没时间考虑。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-8 11:28:32 | 显示全部楼层
他山之石:如果你要完成你的如此功能,按照我的思路不应该用系统变量的形式,而是用(cons 1x newpt) 然后entmod,等等,至于那些需要改变,就应该研究试验一下了(即所谓程序的核心)。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-9 16:16:14 | 显示全部楼层

Re: [讨论]:为什么用entmod改变不了尺寸中的文字位置(组码11)

最初由 lzy9788 发布
[B]为什么用entmod改变不了尺寸中的文字位置(组码11) [/B]


  URLJIT:正是因为楼主提出了这个问题。所以我贴了我的程序进来。你的建议我会考虑的,也许可以利用ENTMOD的,以前我没试过,是参考了晓东的程序思路编的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-9 20:02:03 | 显示全部楼层
可能是dimstyle的问题,我也发现了,有时候是可以的,有时候却不可以。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-27 11:51 , Processed in 0.207895 second(s), 61 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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