注册 登录
明经CAD社区 返回首页

鱼与熊掌的个人空间 http://www.mjtd.com/?7304311 [收藏] [复制] [分享] [RSS]

日志

属性文字归位.

已有 623 次阅读2014-12-13 15:39 |系统分类:应用| 联系方式, Email, 软件

  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. )

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

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

GMT+8, 2024-5-21 00:22 , Processed in 0.134861 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部