明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1613|回复: 10

[源码] 烦请高手指教

[复制链接]
发表于 2015-4-9 16:15:53 | 显示全部楼层 |阅读模式
本帖最后由 王航 于 2015-4-9 16:25 编辑

烦请高手指教,以下程序如何实现图片中的效果
(defun c:TT()
  (VL-LOAD-COM)
  (setq        AcadObject   (vlax-get-acad-object)
        AcadDocument (vla-get-ActiveDocument Acadobject)
        mSpace             (vla-get-ModelSpace Acaddocument)
  )
  ;;输入栽钉的数量
  (setq        prefix1        (vla-GetString
                  (vla-get-Utility AcadDocument)
                  :vlax-false
                  "请输入栽钉的数量:"
                )
  )
  (setq prefix (strcat prefix1 "-M"))

  ;;输入栽钉的长度
  (setq        suffix1        (vla-GetString
                  (vla-get-Utility AcadDocument)
                  :vlax-false
                  "请输入栽钉长度:"
                )
  )

  (setq suffix (strcat "×" suffix1  "栽钉"))

  ;;选择一个标注
  (setq dimObj1 (car (entsel)))
  (setq dimObj (vlax-ename->vla-object dimObj1))

  ;;添加前缀
  (vla-put-TextPrefix dimObj prefix)
  ;;添加后缀
  (vla-put-TextSuffix dimObj suffix)
  (princ)
)



本帖子中包含更多资源

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

x
发表于 2015-4-9 17:12:42 | 显示全部楼层
5-M6x16\X栽钉   \X 就是线下的意思, 注意是大写的X
 楼主| 发表于 2015-4-9 19:44:57 | 显示全部楼层
lucas_3333 发表于 2015-4-9 17:12
5-M6x16\X栽钉   \X 就是线下的意思, 注意是大写的X

我不明白您的意思。\X加到什么位置?
 楼主| 发表于 2015-4-9 20:06:00 | 显示全部楼层
本帖最后由 王航 于 2015-4-9 20:46 编辑
lucas_3333 发表于 2015-4-9 17:12
5-M6x16\X栽钉   \X 就是线下的意思, 注意是大写的X

(setq suffix (strcat "×" suffix1  "\X栽钉"))
我试了,还是不行的。
发表于 2015-4-9 21:47:21 | 显示全部楼层
晕,不是要你添加到后缀上
你试着建立一个标注,然后编辑标注,将标注值替换成 5-M6x16\X栽钉 ,你再看效果,你就会明白我的意思
 楼主| 发表于 2015-4-10 08:35:41 | 显示全部楼层
lucas_3333 发表于 2015-4-9 21:47
晕,不是要你添加到后缀上
你试着建立一个标注,然后编辑标注,将标注值替换成 5-M6x16\X栽钉 ,你再看效果 ...

多谢指导,我还没学到那么深的层次,不过还是要谢谢你。
 楼主| 发表于 2015-4-15 18:12:23 | 显示全部楼层
本帖最后由 王航 于 2015-4-15 18:49 编辑
lucas_3333 发表于 2015-4-9 17:12
5-M6x16\X栽钉   \X 就是线下的意思, 注意是大写的X

高手您好,能否在我现在程序的基础上实现我想要的效果呢?烦请不吝赐教,万分感激!为什么我加上“\X”后,不起作用呢,而在特性里修改后缀,加“\X”就可以实现,百思不得其解,很焦虑,帮帮忙,谢谢!
 楼主| 发表于 2015-4-16 08:14:01 | 显示全部楼层
lucas_3333 发表于 2015-4-9 21:47
晕,不是要你添加到后缀上
你试着建立一个标注,然后编辑标注,将标注值替换成 5-M6x16\X栽钉 ,你再看效果 ...

高手,您在吗,烦请帮帮忙,谢谢您!
发表于 2015-4-16 11:52:00 | 显示全部楼层
王航 发表于 2015-4-16 08:14
高手,您在吗,烦请帮帮忙,谢谢您!

千万不要叫我高手 , 我只是随便玩玩
这是你想要的吗?
  1. (defun c:TT()
  2.   (VL-LOAD-COM)
  3.   (setq        AcadObject   (vlax-get-acad-object)
  4.         AcadDocument (vla-get-ActiveDocument Acadobject)
  5.         mSpace             (vla-get-ModelSpace Acaddocument)
  6.   )
  7.   ;;输入栽钉的数量
  8.   (setq        prefix1        (vla-GetString
  9.                   (vla-get-Utility AcadDocument)
  10.                   :vlax-false
  11.                   "请输入栽钉的数量:"
  12.                 )
  13.   )
  14.   (setq prefix (strcat prefix1 "-M"))

  15.   ;;输入栽钉的长度
  16.   (setq        suffix1        (vla-GetString
  17.                   (vla-get-Utility AcadDocument)
  18.                   :vlax-false
  19.                   "请输入栽钉长度:"
  20.                 )
  21.   )

  22.   (setq suffix (strcat "×" suffix1  "\\X栽钉"))

  23.   ;;选择一个标注
  24.   (setq dimObj1 (car (entsel)))
  25.   (setq dimObj (vlax-ename->vla-object dimObj1))

  26.   ;;添加前缀
  27.   (vla-put-TextPrefix dimObj prefix)
  28.   ;;添加后缀
  29.   (vla-put-TextSuffix dimObj suffix)
  30.   (princ)
  31. )
 楼主| 发表于 2015-4-16 13:08:07 | 显示全部楼层
lucas_3333 发表于 2015-4-16 11:52
千万不要叫我高手 , 我只是随便玩玩
这是你想要的吗?

非常感谢您!终于实现了,您是怎么想到的呢?佩服!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 01:13 , Processed in 0.544690 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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