明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1513|回复: 15

属性块文字跑位问题2020版本

[复制链接]
发表于 2024-2-23 11:50:38 | 显示全部楼层 |阅读模式
属性块文字跑位问题2020版本
附件求解

发表于 2024-2-26 10:26:18 | 显示全部楼层
ferious 发表于 2024-2-24 10:51
问题来源:是这样的,打开2020文件,无移动操作,该属性块文字不显示,故而发布打印无法显示。
问题解决 ...

如果显示没问题只是位置跑偏,原位移动就可以解决,MOVE  0,0  0,0
如果是后台生成的,由于无法准确计算对齐点,可以先在一个临时块内生成后再复制到目标空间就不会产生跑偏的问题也无需计算对齐点坐标
如果直接不显示需要换字体
回复 支持 1 反对 0

使用道具 举报

发表于 2024-2-23 21:56:34 | 显示全部楼层
本帖最后由 hao3ren 于 2024-2-23 21:57 编辑
  1. ;;;(gxl-blk-att2init ent) 图块属性还原归位
  2. ;测试 (gxl-blk-att2init (car(entsel "\n选择图块")))
  3. (defun gxl-blk-att2init (ent /     obj   inspt
  4.         Ownerobj    atts   objs
  5.         attinspt    rot   xscale
  6.         yscale    zscale  Alignment
  7.         Backward    ObliqueAngle  Rotation
  8.         TextAlignmentPoint
  9.         TextGenerationFlag   UpsideDown
  10.         TrueColor
  11.        )
  12.   (if (= 'ename (type ent))
  13.     (setq obj (vlax-ename->vla-object ent))
  14.     (setq obj ent)
  15.     )
  16.   (setq Ownerobj (vla-Item (vla-get-blocks (vla-get-ActiveDocument(vlax-get-acad-object))) (vla-get-name obj)))
  17.   (vlax-for a Ownerobj
  18.     (setq objs (cons a objs))
  19.     )
  20.   (setq objs (reverse objs))
  21.   (setq rot (vla-get-Rotation obj)
  22. xscale (vla-get-XScaleFactor obj)
  23. yscale (vla-get-yScaleFactor obj)
  24. zscale (vla-get-zScaleFactor obj)
  25. )
  26.   (vla-put-Rotation obj 0)
  27.   (vla-put-XScaleFactor obj 1)
  28.   (vla-put-yScaleFactor obj 1)
  29.   (vla-put-zScaleFactor obj 1)
  30.   (setq atts (vla-GetAttributes obj)
  31. atts (safearray-value(vlax-variant-value atts))
  32. inspt (vlax-safearray->list(vlax-variant-value (vla-get-InsertionPoint obj)))
  33. )
  34.   (if atts
  35.     (progn
  36.       (foreach att atts
  37. (vl-some '(lambda (x) (= (GXL-CATCHAPPLY vla-get-TagString (list (setq Ownerobj x))) (vla-get-TagString att)))  objs)
  38. (setq attinspt (vlax-safearray->list (vlax-variant-value(vla-get-InsertionPoint Ownerobj))))
  39. (setq Alignment (vla-get-Alignment Ownerobj)
  40.        Backward (vla-get-Backward Ownerobj)
  41.        ObliqueAngle (vla-get-ObliqueAngle Ownerobj)
  42.        Rotation (vla-get-Rotation Ownerobj)
  43.        TextAlignmentPoint (vla-get-TextAlignmentPoint Ownerobj)
  44.        TextGenerationFlag (vla-get-TextGenerationFlag Ownerobj)
  45.        UpsideDown(vla-get-UpsideDown Ownerobj)
  46.        TrueColor (vla-get-TrueColor Ownerobj)
  47.        )

  48.       (vla-put-Alignment att Alignment)
  49.       (vla-put-Backward att Backward)
  50.       (vla-put-ObliqueAngle att ObliqueAngle)
  51.       (vla-put-Rotation att Rotation)
  52.       (VL-CATCH-ALL-APPLY 'vla-put-TextGenerationFlag (list att TextGenerationFlag))
  53.       (vla-put-Alignment att Alignment)
  54.       (vla-put-UpsideDown att UpsideDown)
  55.       (vla-put-TrueColor att TrueColor)
  56.       (VL-CATCH-ALL-APPLY ‘vla-put-TextAlignmentPoint (list att (vlax-3d-point (mapcar '+ inspt (vlax-safearray->list (vlax-variant-value TextAlignmentPoint))))))
  57.       )
  58.       (vla-put-Rotation obj rot)
  59.       (vla-put-XScaleFactor obj XScale)
  60.       (vla-put-yScaleFactor obj yScale)
  61.       (vla-put-zScaleFactor obj zScale)
  62.       )
  63.     )
  64.   )
  65. (defun gxl-CatchApply (fun args / rtn )
  66.   (if
  67.     (not
  68.       (vl-catch-all-error-p
  69.         (setq rtn
  70.           (vl-catch-all-apply (function fun) args)
  71.         )
  72.       )
  73.     )
  74.     rtn
  75.   )
  76. )
  77. ;;;属性复位 编制 Gu_xl 2011.05.15
  78. (defun c:initatt ()
  79.   (while (setq ss (ssget '((0 . "insert"))))
  80.     (setq n (sslength ss))
  81.     (repeat n
  82.       (gxl-blk-att2init (ssname ss (setq n (1- n))))
  83.       )
  84.     )
  85.   (princ)
  86.   )

回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2024-2-24 10:17:17 | 显示全部楼层
总结如下:

1,各种方案链接如下
    1.1 坛友,取之于明, http://bbs.mjtd.com/thread-189253-1-1.html    博客园 https://www.cnblogs.com/JJBox/p/10226119.html
    1.2  代码方案
    1.3 12代cpu问题
    1.4 几百年前的方案  都写了几百年了  https://www.cnblogs.com/JJBox/p/10226119.html
    1.5 其他或是字体问题?
2, 这种情况我用的是选择全部类似属性块,然后移动0.001后就可以,是否不需要代码?
如何解决发布打印时,保证文字不跑位问题?而不是打开之后,再用程序调整或者换字体解决?
3,感谢诸位,元宵节快乐!
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2024-2-23 11:55:38 | 显示全部楼层

属性块文字跑位问题2020版本

属性块文字跑位问题2020版本
附件求解

本帖子中包含更多资源

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

x
发表于 2024-2-23 16:50:16 | 显示全部楼层
看了半天没看懂你什么东西跑了
发表于 2024-2-23 18:41:12 | 显示全部楼层
【求助】CAD2023怎么经常文字会变,然后点击一下又恢复 - AutoCAD 2024 下载及新功能 - AutoCAD论坛 - 明经CAD社区 - Powered by Discuz!  http://bbs.mjtd.com/thread-189253-1-1.html
发表于 2024-2-23 18:42:43 | 显示全部楼层
我用浩辰打开正常,不会变
发表于 2024-2-23 18:44:41 | 显示全部楼层
我用浩辰打开正常,不会变的
 楼主| 发表于 2024-2-24 10:18:53 | 显示全部楼层
有无定论,非人云亦云?
 楼主| 发表于 2024-2-24 10:27:34 | 显示全部楼层
试了改字体,2020cad打开,好像可行

附图

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2024-11-25 15:01 , Processed in 0.189867 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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