明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1657|回复: 1

求助vla-put-HorizontalTextPosition函数的问题

[复制链接]
发表于 2005-11-11 09:33:00 | 显示全部楼层 |阅读模式

我在一本vlisp词典的光盘文件里面提取的一个关于vla-put-HorizontalTextPosition函数的程序,但是运行起来总是提示错误,函数如下:



(defun C:E23()


;;; 这个范例在模型空间中建立一个对齐式标注
;;; 接着以各种不同的水平对齐轮流处理
;;; 标注文字


  (VL-LOAD-COM)


  (setq AcadObject(vlax-get-acad-object)


        AcadDocument(vla-get-ActiveDocument AcadObject)


        mSpace(vla-get-ModelSpace AcadDocument)


  )


;;; 定义标注


  (setq pnt1(vlax-3d-point (list 50 50 0)))


  (setq pnt2(vlax-3d-point (list 90 50 0)))


  (setq location(vlax-3d-point (list 5 7 0)))


;;; 在模型空间中建立一个对齐式标注对象


  (setq dimObj(vla-AddDimAligned mSpace pnt1 pnt2 location))


  (vla-ZoomExtents AcadObject)


;;; 读取显示当前的文字位置


  (setq Case(vla-get-HorizontalTextPosition dimObj))


  (COND


    ((= Case 0) (setq currValue "居中"))


    ((= Case 1) (setq currValue "和第一条界线对齐"))


    ((= Case 2) (setq currValue "和第二条界线对齐"))


    ((= Case 3) (setq currValue "超过第一条界线对齐"))


    ((= Case 4) (setq currValue "超过第二条界线对齐"))


  )


  (princ (STRCAT "标注为: " currValue "\n"))


  (PROMPT "<Enter>进行:")(VL-CMDF pause)


;;; 强制标注文字和第一条界线对齐


  (vla-put-HorizontalTextPosition dimObj acFirstExtensionLine)


  (vla-Regen AcadDocument acAllViewports)


  (princ "标注文字当前和第一条界线对齐\n")


  (PROMPT "<Enter>进行:")(VL-CMDF pause)


;;; 强制标注文字和第二条界线对齐


  (vla-put-HorizontalTextPosition dimObj acSecondExtensionLine)


  (vla-Regen AcadDocument acAllViewports)


  (princ "标注文字当前和第二条界线对齐\n")


  (princ)


)


 


这到底是怎么回事啊?


请各位大侠解答一下。

发表于 2005-11-11 13:55:00 | 显示全部楼层
  1. vla-put-HorizontalTextPosition
  2. 函数
  3. 功能
  4. 设定标注文字的水平对正方式。
  5. 语法及参数
  6. (vla-put-HorizontalTextPosition Object Value)
  7. Object
  8. Dim3PointAngular,
  9. DimAligned,
  10. DimAngular,
  11. DimDiametric,
  12. DimRadial,
  13. DimRotated
  14. 这个属性适用的对象。
  15. Value
  16. acDimHorizontalJustification
  17. 列举     ; 读/写
  18. acHorzCentered:
  19. 文字放置在界线之间并沿着标注线向中心对齐
  20. acFirstExtensionLine:
  21. 文字在第一条界线旁边
  22. acSecondExtensionLine:
  23. 文字沿着第二条界线
  24. acOverFirstExtension:
  25. 文字在上方并和第一条界线对齐
  26. acOverSecondExtension:
  27. 文字在上方并和第二条界线对齐
  28. 说明
  29. 这个属性会取代给定标注的DIMJUST系统变量值。
  30. 范例
  31. (defun Example_HorizontalTextPosition ()
  32. ;;; 这个范例在模型空间中建立一个对齐式标注
  33. ;;; 接着以各种不同的水平对齐轮流处理
  34. ;;; 标注文字
  35.   (VL-LOAD-COM)
  36.   (setq AcadObject   (vlax-get-acad-object)
  37. AcadDocument (vla-get-ActiveDocument AcadObject)
  38. mSpace      (vla-get-ModelSpace AcadDocument)
  39.   )
  40. ;;; 定义标注
  41.   (setq pnt1 (vlax-3d-point (list 50 50 0)))
  42.   (setq pnt2 (vlax-3d-point (list 90 50 0)))
  43.   (setq location (vlax-3d-point (list 5 7 0)))
  44. ;;; 在模型空间中建立一个对齐式标注对象
  45.   (setq dimObj (vla-AddDimAligned mSpace pnt1 pnt2 location))
  46.   (vla-ZoomExtents AcadObject)
  47. ;;; 读取显示当前的文字位置
  48.   (setq Case (vla-get-HorizontalTextPosition dimObj))
  49.   (COND
  50.     ((= Case 0) (setq currValue "居中"))
  51.     ((= Case 1) (setq currValue "和第一条界线对齐"))
  52.     ((= Case 2) (setq currValue "和第二条界线对齐"))
  53.     ((= Case 3) (setq currValue "超过第一条界线对齐"))
  54.     ((= Case 4) (setq currValue "超过第二条界线对齐"))
  55.   )
  56.   (princ (STRCAT "标注为: " currValue "\n"))
  57.   (PROMPT "<Enter>进行:")
  58.   (VL-CMDF pause)
  59. ;;; 强制标注文字和第一条界线对齐
  60.   (vla-put-HorizontalTextPosition dimObj acFirstExtensionLine)
  61.   (vla-Regen AcadDocument acAllViewports)
  62.   (princ "标注文字当前和第一条界线对齐\n")
  63.   (PROMPT "<Enter>进行:")
  64.   (VL-CMDF pause)
  65. ;;; 强制标注文字和第二条界线对齐
  66.   (vla-put-HorizontalTextPosition
  67.     dimObj
  68.     acSecondExtensionLine
  69.   )
  70.   (vla-Regen AcadDocument acAllViewports)
  71.   (princ "标注文字当前和第二条界线对齐\n")
  72.   (princ)
  73. )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-8-9 05:47 , Processed in 0.157574 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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