明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 8696|回复: 18

[提问] 郁闷,属性块中的文字怎么会无故跑偏?

[复制链接]
发表于 2014-12-7 12:56 | 显示全部楼层 |阅读模式
5明经币
本帖最后由 半听可乐 于 2014-12-11 23:48 编辑

我做了个属性块,块中有个属性文字有时候不知道怎么回事会不在设定的位置上(刚开始都是好的,过段时间位置就变了),很苦恼,求大神解答一下!

附图01中图名位置正确,过段时间图名的位置就跑偏了,如附图02

附件: 您需要 登录 才可以下载或查看,没有账号?注册
发表于 2014-12-7 14:50 | 显示全部楼层
字体问题吧,双击编辑一下就可以恢复, 有时重新打开图纸也会恢复
回复

使用道具 举报

发表于 2014-12-7 15:18 | 显示全部楼层
有可能是字体问题,很多时候有些问题没法解决重开cad又没问题
回复

使用道具 举报

发表于 2014-12-7 16:11 | 显示全部楼层
希望大神们做个调整属性快位置的lisp
回复

使用道具 举报

 楼主| 发表于 2014-12-7 20:51 | 显示全部楼层
vectra 发表于 2014-12-7 14:50
字体问题吧,双击编辑一下就可以恢复, 有时重新打开图纸也会恢复

不是字体问题,同一台电脑啊,软件版本也是一样的,重开图和编辑文字都试过就是不行
回复

使用道具 举报

 楼主| 发表于 2014-12-7 20:52 | 显示全部楼层
hao3ren 发表于 2014-12-7 15:18
有可能是字体问题,很多时候有些问题没法解决重开cad又没问题

朋友,不是字体问题哦
回复

使用道具 举报

发表于 2014-12-7 22:52 | 显示全部楼层
是块的问题,重开CAD再进入块编辑显示就没问题,直接不保存退出快编辑再保存图纸
回复

使用道具 举报

 楼主| 发表于 2014-12-8 08:00 | 显示全部楼层
zzc83 发表于 2014-12-7 22:52
是块的问题,重开CAD再进入块编辑显示就没问题,直接不保存退出快编辑再保存图纸

你说的方法我试过了,没用,不是块的问题,因为附图中的两个块明明就是同一个图块,怎么会不一样呢?
回复

使用道具 举报

发表于 2014-12-8 10:28 | 显示全部楼层
找到G版的,你试一下吧
回复

使用道具 举报

发表于 2014-12-8 10:29 | 显示全部楼层
  1. 图块属性文字归位
  2. 软件作者联系方式  Email: Gu_xl@sohu.com
  3. --------------------------------------------------------------------------------

  4. ;;;(gxl-blk-att2init ent) 图块属性还原归位
  5. ;;;测试 (gxl-blk-att2init (car(entsel "\n选择图块")))
  6. (defun gxl-blk-att2init        (ent               /             obj
  7.                          inspt               Ownerobj             atts
  8.                          objs               attinspt             rot
  9.                          xscale               yscale             zscale
  10.                          Alignment     Backward             ObliqueAngle
  11.                          Rotation      TextAlignmentPoint
  12.                          TextGenerationFlag             UpsideDown
  13.                          TrueColor
  14.                         )
  15.   (if (= 'ename (type ent))
  16.     (setq obj (vlax-ename->vla-object ent))
  17.     (setq obj ent)
  18.   )
  19.   (setq        Ownerobj
  20.          (vla-Item (vla-get-blocks
  21.                      (vla-get-ActiveDocument (vlax-get-acad-object))
  22.                    )
  23.                    (vla-get-name obj)
  24.          )
  25.   )
  26.   (vlax-for a Ownerobj
  27.     (setq objs (cons a objs))
  28.   )
  29.   (setq objs (reverse objs))
  30.   (setq        rot    (vla-get-Rotation obj)
  31.         xscale (vla-get-XScaleFactor obj)
  32.         yscale (vla-get-yScaleFactor obj)
  33.         zscale (vla-get-zScaleFactor obj)
  34.   )
  35.   (vla-put-Rotation obj 0)
  36.   (vla-put-XScaleFactor obj 1)
  37.   (vla-put-yScaleFactor obj 1)
  38.   (vla-put-zScaleFactor obj 1)
  39.   (setq        atts  (vla-GetAttributes obj)
  40.         atts  (safearray-value (vlax-variant-value atts))
  41.         inspt (vlax-safearray->list
  42.                 (vlax-variant-value (vla-get-InsertionPoint obj))
  43.               )
  44.   )
  45.   (if atts
  46.     (progn
  47.       (foreach att atts
  48.         (vl-some '(lambda (x)
  49.                     (= (GXL-CATCHAPPLY
  50.                          vla-get-TagString
  51.                          (list (setq Ownerobj x))
  52.                        )
  53.                        (vla-get-TagString att)
  54.                     )
  55.                   )
  56.                  objs
  57.         )
  58.         (setq attinspt (vlax-safearray->list
  59.                          (vlax-variant-value
  60.                            (vla-get-InsertionPoint Ownerobj)
  61.                          )
  62.                        )
  63.         )
  64.         (setq Alignment                 (vla-get-Alignment Ownerobj)
  65.               Backward                 (vla-get-Backward Ownerobj)
  66.               ObliqueAngle         (vla-get-ObliqueAngle Ownerobj)
  67.               Rotation                 (vla-get-Rotation Ownerobj)
  68.               TextAlignmentPoint (vla-get-TextAlignmentPoint Ownerobj)
  69.               TextGenerationFlag (vla-get-TextGenerationFlag Ownerobj)
  70.               UpsideDown         (vla-get-UpsideDown Ownerobj)
  71.               TrueColor                 (vla-get-TrueColor Ownerobj)
  72.         )

  73.         (vla-put-Alignment att Alignment)
  74.         (vla-put-Backward att Backward)
  75.         (vla-put-ObliqueAngle att ObliqueAngle)
  76.         (vla-put-Rotation att Rotation)
  77.         (VL-CATCH-ALL-APPLY
  78.           'vla-put-TextGenerationFlag
  79.           (list att TextGenerationFlag)
  80.         )
  81.         (vla-put-Alignment att Alignment)
  82.         (vla-put-UpsideDown att UpsideDown)
  83.         (vla-put-TrueColor att TrueColor)
  84.         (vla-put-TextAlignmentPoint
  85.           att
  86.           (vlax-3d-point
  87.             (mapcar '+
  88.                     inspt
  89.                     (vlax-safearray->list
  90.                       (vlax-variant-value TextAlignmentPoint)
  91.                     )
  92.             )
  93.           )
  94.         )
  95.       )
  96.       (vla-put-Rotation obj rot)
  97.       (vla-put-XScaleFactor obj XScale)
  98.       (vla-put-yScaleFactor obj yScale)
  99.       (vla-put-zScaleFactor obj zScale)
  100.     )
  101.   )
  102. )
  103. ;;;属性复位 编制 Gu_xl 2011.05.15
  104. (defun c:initatt ()
  105.   (while (setq ss (ssget '((0 . "insert"))))
  106.     (setq n (sslength ss))
  107.     (repeat n
  108.       (gxl-blk-att2init (ssname ss (setq n (1- n))))
  109.     )
  110.   )
  111.   (princ)
  112. )
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 04:12 , Processed in 0.290336 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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